Introduction
Beagle is a software package for phasing genotypes and for imputing
ungenotyped markers. Beagle version 5.2 provides significantly faster
genotype phasing than version 5.1
Citation
If you use Beagle in a published analysis, please report the program
version and cite the appropriate article.
The Beagle 5.2 genotype imputation method is described in:
B L Browning, Y Zhou, and S R Browning (2018). A one-penny imputed
genome from next generation reference panels. Am J Hum Genet
103(3):338-348. doi:10.1016/j.ajhg.2018.07.015
The most recent reference for Beagle's phasing method is:
S R Browning and B L Browning (2007) Rapid and accurate haplotype
phasing and missing data inference for whole genome association
studies by use of localized haplotype clustering. Am J Hum Genet
81:1084-1097. doi:10.1086/521987
This reference will be updated when the Beagle version 5 phasing
method is published.
## Description
Racon is intended as a standalone consensus module to correct raw
contigs generated by rapid assembly methods which do not include a
consensus step. The goal of Racon is to generate genomic consensus
which is of similar or better quality compared to the output generated
by assembly methods which employ both error correction and consensus
steps, while providing a speedup of several times compared to those
methods. It supports data produced by both Pacific Biosciences and
Oxford Nanopore Technologies.
Racon can be used as a polishing tool after the assembly with **either
Illumina data or data produced by third generation of
sequencing**. The type of data inputed is automatically detected.
Racon takes as input only three files: contigs in FASTA/FASTQ format,
reads in FASTA/FASTQ format and overlaps/alignments between the reads
and the contigs in MHAP/PAF/SAM format. Output is a set of polished
contigs in FASTA format printed to stdout. All input files **can be
compressed with gzip** (which will have impact on parsing time).
Racon can also be used as a read error-correction tool. In this
scenario, the MHAP/PAF/SAM file needs to contain pairwise overlaps
between reads **including dual overlaps**.
A **wrapper script** is also available to enable easier usage to the
end-user for large datasets. It has the same interface as racon but
adds two additional features from the outside. Sequences can be
**subsampled** to decrease the total execution time (accuracy might be
lower) while target sequences can be **split** into smaller chunks and
run sequentially to decrease memory consumption. Both features can be
run at the same time as well.
## Users' Guide
Minimap2 is a versatile sequence alignment program that aligns DNA or
mRNA sequences against a large reference database. Typical use cases
include: (1) mapping PacBio or Oxford Nanopore genomic reads to the
human genome; (2) finding overlaps between long reads with error rate
up to ~15%; (3) splice-aware alignment of PacBio Iso-Seq or Nanopore
cDNA or Direct RNA reads against a reference genome; (4) aligning
Illumina single- or paired-end reads; (5) assembly-to-assembly
alignment; (6) full-genome alignment between two closely related
species with divergence below ~15%.
For ~10kb noisy reads sequences, minimap2 is tens of times faster than
mainstream long-read mappers such as BLASR, BWA-MEM, NGMLR and
GMAP. It is more accurate on simulated long reads and produces
biologically meaningful alignment ready for downstream analyses. For
>100bp Illumina short reads, minimap2 is three times as fast as
BWA-MEM and Bowtie2, and as accurate on simulated data. Detailed
evaluations are available from the minimap2 paper or the preprint.
Release 2.18-r1015 (9 April 2021)
---------------------------------
This release fixes multiple rare bugs in minimap2 and adds additional
functionality to paftools.js.
Changes to minimap2:
* Bugfix: a rare segfault caused by an off-by-one error (#489)
* Bugfix: minimap2 segfaulted due to an uninitilized variable (#622 and #625).
* Bugfix: minimap2 parsed spaces as field separators in BED (#721). This led
to issues when the BED name column contains spaces.
* Bugfix: minimap2 `--split-prefix` did not work with long reference names
(#394).
* Bugfix: option `--junc-bonus` didn't work (#513)
* Bugfix: minimap2 didn't return 1 on I/O errors (#532)
* Bugfix: the `de:f` tag (sequence divergence) could be negative if there were
ambiguous bases
* Bugfix: fixed two undefined behaviors caused by calling memcpy() on
zero-length blocks (#443)
* Bugfix: there were duplicated SAM @SQ lines if option `--split-prefix` is in
use (#400 and #527)
* Bugfix: option -K had to be smaller than 2 billion (#491). This was caused
by a 32-bit integer overflow.
* Improvement: optionally compile against SIMDe (#597). Minimap2 should work
with IBM POWER CPUs, though this has not been tested. To compile with SIMDe,
please use `make -f Makefile.simde`.
* Improvement: more informative error message for I/O errors (#454) and for
FASTQ parsing errors (#510)
* Improvement: abort given malformatted RG line (#541)
* Improvement: better formula to estimate the `dv:f` tag (approximate sequence
divergence). See DOI:10.1101/2021.01.15.426881.
* New feature: added the `--mask-len` option to fine control the removal of
redundant hits (#659). The default behavior is unchanged.
Changes to mappy:
* Bugfix: mappy caused segmentation fault if the reference index is not
present (#413).
* Bugfix: fixed a memory leak via 238b6bb3
* Change: always require Cython to compile the mappy module (#723). Older
mappy packages at PyPI bundled the C source code generated by Cython such
that end users did not need to install Cython to compile mappy. However, as
Python 3.9 is breaking backward compatibility, older mappy does not work
with Python 3.9 anymore. We have to add this Cython dependency as a
workaround.
Changes to paftools.js:
* Bugfix: the "part10-" line from asmgene was wrong (#581)
* Improvement: compatibility with GTF files from GenBank (#422)
* New feature: asmgene also checks missing multi-copy genes
* New feature: added the misjoin command to evaluate large-scale misjoins and
megabase-long inversions.
Although given the many bug fixes and minor improvements, the core algorithm
stays the same. This version of minimap2 produces nearly identical alignments
to v2.17 except very rare corner cases.
Now unimap is recommended over minimap2 for aligning long contigs against a
reference genome. It often takes less wall-clock time and is much more
sensitive to long insertions and deletions.
(2.18: 9 April 2021, r1015)
Miniasm is a very fast OLC-based *de novo* assembler for noisy long
reads. It takes all-vs-all read self-mappings (typically by minimap)
as input and outputs an assembly graph in the GFA format. Different
from mainstream assemblers, miniasm does not have a consensus step. It
simply concatenates pieces of read sequences to generate the final
unitig sequences. Thus the per-base error rate is similar to the raw
input reads.
So far miniasm is in early development stage. It has only been tested
on a dozen of PacBio and Oxford Nanopore (ONT) bacterial data
sets. Including the mapping step, it takes about 3 minutes to assemble
a bacterial genome. Under the default setting, miniasm assembles 9 out
of 12 PacBio datasets and 3 out of 4 ONT datasets into a single
contig. The 12 PacBio data sets are [PacBio E. coli
sample][PB-151103], [ERS473430][ERS473430], [ERS544009][ERS544009],
[ERS554120][ERS554120], [ERS605484][ERS605484],
[ERS617393][ERS617393], [ERS646601][ERS646601],
[ERS659581][ERS659581], [ERS670327][ERS670327],
[ERS685285][ERS685285], [ERS743109][ERS743109] and a deprecated PacBio
E. coli data set. ONT data are acquired from the Loman Lab.
For a *C. elegans* PacBio data set (only 40X are used, not the whole
dataset), miniasm finishes the assembly, including reads overlapping,
in ~10 minutes with 16 CPUs. The total assembly size is 105Mb; the N50
is 1.94Mb. In comparison, the HGAP3 produces a 104Mb assembly with N50
1.61Mb. This dotter plot gives a global view of the miniasm assembly
(on the X axis) and the HGAP3 assembly (on Y). They are broadly
comparable. Of course, the HGAP3 consensus sequences are much more
accurate. In addition, on the whole data set (assembled in ~30 min),
the miniasm N50 is reduced to 1.79Mb. Miniasm still needs
improvements.
Miniasm confirms that at least for high-coverage bacterial genomes, it
is possible to generate long contigs from raw PacBio or ONT reads
without error correction. It also shows that minimap can be used as a
read overlapper, even though it is probably not as sensitive as the
more sophisticated overlapers such as MHAP and DALIGNER. Coupled with
long-read error correctors and consensus tools, miniasm may also be
useful to produce high-quality assemblies.
## Algorithm Overview
1. Crude read selection. For each read, find the longest contiguous region
covered by three good mappings. Get an approximate estimate of read
coverage.
2. Fine read selection. Use the coverage information to find the good regions
again but with more stringent thresholds. Discard contained reads.
3. Generate a string graph. Prune tips, drop weak overlaps and
collapse short bubbles. These procedures are similar to those
implemented in short-read assemblers.
4. Merge unambiguous overlaps to produce unitig sequences.
## Limitations
1. Consensus base quality is similar to input reads (may be fixed with a
consensus tool).
2. Only tested on a dozen of high-coverage PacBio/ONT data sets (more testing
needed).
3. Prone to collapse repeats or segmental duplications longer than input reads
(hard to fix without error correction).
This reverts the recent changes again. I did not see that libXcursor
has been added in the meantime by someone else.
I also verfied that libxcb ends up in the work/.buildink as indirect dependency.
So both added entries in Makefile are gone again.
curl and libcurl 7.77.0
This release includes the following changes:
o configure: make the TLS library choice(s) explicit [3]
o curl: ignore options asking for SSLv2 or SSLv3 [10]
o hsts: enable by default [8]
o SSL: support in-memory CA certs for some backends [85]
o vtls: refuse setting any SSL version [9]
This release includes the following bugfixes:
o CVE-2021-22297: schannel cipher selection surprise [132]
o CVE-2021-22298: TELNET stack contents disclosure [131]
o CVE-2021-22901: TLS session caching disaster [130]
o AmigaOS: add functions definitions for SHA256 [126]
o build: fix compilation for Windows UWP platform [82]
o c-hyper: don't write to set.writeheader if null [67]
o c-hyper: fix handling of zero-byte chunk from hyper [39]
o c-hyper: handle body on HYPER_TASK_EMPTY [104]
o checksrc: complain on == NULL or != 0 checks in conditions [20]
o CI/cirrus: add shared and static Windows release builds [102]
o cmake: add CURL_ENABLE_EXPORT_TARGET option [133]
o cmake: check for getppid and utimes [87]
o cmake: detect CURL_SA_FAMILY_T [124]
o cmake: fix two invokes result in different curl_config.h [123]
o cmake: make libcurl output filename configurable [41]
o cmake: Use multithreaded compilation on VS 2008+ [122]
o config: remove now-unused macros [107]
o configure: if asked for, fail if ldap is not found [109]
o configure: provide --with-openssl, deprecate --with-ssl [15]
o conn: add 'attach' to protocol handler, make libssh2 use it [119]
o connect: use CURL_SA_FAMILY_T for portability [34]
o ConnectionExists: respect requests for h1 connections better
o cookie: CURLOPT_COOKIEFILE set to NULL switches off cookies [1]
o curl-wolfssl.m4: without custom include path, assume /usr/include [116]
o curl: include libmetalink version in --version output [111]
o Curl_http_header: check for colon when matching Persistent-Auth [51]
o Curl_http_input_auth: require valid separator after negotiation type [52]
o Curl_input_digest: require space after Digest [50]
o curl_mprintf.3: add description [73]
o curl_setup: provide the shutdown flags wider [33]
o curl_url_set.3: add memory management information [38]
o CURLcode: add CURLE_SSL_CLIENTCERT [47]
o CURLOPT_CAPATH.3: defaults to a path, not NULL [103]
o CURLOPT_IPRESOLVE: preventing wrong IP version from being used [125]
o CURLOPT_POSTFIELDS.3: clarify how it gets the size of the data [40]
o data_pending: check only SECONDARY socket for FTP(S) transfers [117]
o docs/TheArtOfHttpScripting: fix markdown links [129]
o docs: camelcase it like GitHub everywhere [62]
o docs: cookies from HTTP headers need domain set [121]
o docs: fix typo in fail-with-body doc [63]
o docs: improve INTERNALS.md regarding getsock cb [105]
o docs: replace dots with dashes in markdown enums [101]
o easy: ignore sigpipe in curl_easy_send [69]
o FILEFORMAT: mention sectransp as a feature [89]
o GIT-INFO: suggest using autoreconf instead of buildconf [96]
o github: add a workflow with libssh2 on macOS using cmake [81]
o github: inhibit deprecated declarations for clang on macOS [118]
o GnuTLS: don't allow TLS 1.3 for versions that don't support it [77]
o gnutls: make setting only the MAX TLS allowed version work [83]
o gskit: fix CURL_DISABLE_PROXY build [57]
o gskit: fix undefined reference to 'conn' [58]
o hostip.h: remove declaration of unimplemented function [108]
o hostip: remove the debug code for LocalHost [113]
o http2: call the handle-closed function correctly on closed stream [37]
o http2: fix a resource leak in push_promise() [54]
o http2: fix resource leaks in set_transfer_url() [55]
o http2: make sure pause is done on HTTP [120]
o http2: move the stream error field to the per-transfer storage [36]
o http2: skip immediate parsing of payload following protocol switch [90]
o http2: use nghttp2_session_upgrade2 instead of nghttp2_session_upgrade [91]
o HTTP3.md: fix nghttp2's HTTP/3 server port [21]
o HTTP3.md: make the ngtcp2 build use the quictls fork [98]
o http: deal with partial CONNECT sends [97]
o http: fix the check for 'Authorization' with Bearer [53]
o http: limit the initial send amount to used upload buffer size [99]
o http: reset the header buffer when sending the request [61]
o http: use offsets inst of integer literals for header parsing [95]
o INSTALL: add IBM i specific quirks [75]
o krb5/name_to_level: replace checkprefix with curl_strequal [49]
o krb5: don't use 'static' to store PBSZ size response [23]
o krb5: remove the unused 'overhead' function [35]
o lib/hostip6.c: make NAT64 address synthesis on macOS work [135]
o lib1564.c: enable last wakeup test part on Windows [26]
o lib: fix 0-length Curl_client_write calls [60]
o lib: fix some misuse of curlx_convert_UTF8_to_tchar [64]
o libcurl-security.3: be careful of setuid [66]
o libcurl-security.3: don't try to filter IPv4 hosts based on the URL [71]
o libcurl.3: mention the URL API [76]
o libssh2: fix Value stored to 'sshp' is never read [13]
o libssh2: ignore timeout during disconnect [45]
o libssh: fix "empty expression statement has no effect" warnings [7]
o libtest: remove lib530.c [88]
o m4: add security frameworks on Mac when compiling rustls [31]
o multi: don't close connection HTTP_1_1_REQUIRED
o multi: fix slow write/upload performance on Windows [27]
o multi: reduce Win32 API calls to improve performance [28]
o ngtcp2: fix the cb_acked_stream_data_offset proto [46]
o NSS: add ciphers to map [30]
o NSS: make colons, commas and spaces valid separators in cipher list [106]
o nss_set_blocking: avoid static for sock_opt [72]
o ntlm: precaution against super huge type2 offsets [65]
o openldap: protect SSL-specific code with proper #ifdef [12]
o openldap: replace ldap_ prefix on private functions [84]
o openssl: fix build error with OpenSSL < 1.0.2 [4]
o openssl: remove unneeded cast for CertOpenSystemStore() [93]
o os400: additional support for options metadata [24]
o progress: fix scan-build-11 warnings [92]
o progress: reset limit_size variables at transfer start [114]
o progress: when possible, calculate transfer speeds with microseconds [48]
o README.md: delete Codacy UTM parameters [5]
o Revert "Revert 'multi: implement wait using winsock events'" [26]
o rustls: only return CURLE_AGAIN when TLS session is fully drained [2]
o rustls: use ALPN [56]
o sasl: use 'unsigned short' to store mechanism [112]
o schannel: Disable auto credentials; add an option to enable it [18]
o schannel: Support strong crypto option [44]
o sectransp: allow cipher name to be specified [29]
o sectransp: fix EXC_BAD_ACCESS caused by uninitialized buffer [136]
o sigpipe: ignore SIGPIPE when using wolfSSL as well [70]
o sockfilt: avoid getting stuck waiting for writable socket [80]
o sockfilt: fix invalid increment of handles index variable nfd [79]
o sws: #ifdef S_IFSOCK use [32]
o sws: allow HTTP requests up to 2MB in size [100]
o test server: take care of siginterrupt() deprecation [25]
o test2100: make it run with and require IPv6 [127]
o tests/disable-scan.pl: also scan all m4 files [17]
o tests/getpart: generate output URL encoded for better diffs [128]
o tests: ignore case of chunked hex numbers in tests [86]
o tls: add USE_HTTP2 define [59]
o tool_getparam: handle failure of curlx_convert_tchar_to_UTF8() [78]
o tool_getparam: replace (in-place) '%20' by '+' according to RFC1866 [14]
o tool_operate: don't discard failed parallel transfer result [16]
o tool_writeout: fix the HTTP_CODE json output [11]
o travis: disable the failing libssh build [94]
o URL-SYNTAX: update IDNA section for WHATWG spec changes [74]
o urlapi: "normalize" numerical IPv4 host names [6]
o vauth: factor base64 conversions out of authentication procedures [22]
o version: add gsasl_version to curl_version_info_data [43]
o version: add OpenLDAP version in the output [110]
o vtls: deduplicate some DISABLE_PROXY ifdefs [19]
o vtls: reset ssl use flag upon negotiation failure [42]
o wolfssl: handle SSL_write() returns 0 for error [68]
o wolfssl: remove SSLv3 support leftovers [115]
Changes since v1.46
v1.47 - xx.05.2021
- Bugfix: The Lxx (Set Envelope Pos) XM effect was broken :(
- Added support for loading FLAC samples (w/ loop/vol./name information)
- Added support for loading '8-bit unsigned/32-bit float/64-bit double' AIFFs
- Added support for loading XMs with ADPCM sample compression (ModPlug Tracker)
- The windowed-sinc LUT now has 8192 phases instead of 4096 for a theoretical
small interpolation precision improvement.
- Bugfix: Fixed a bug with "Save rng." (Smp. Ed.) related to data after/around
the loop end point.
- "Save rng." (Smp. Ed.) now asks if you want to overwrite an existing file
- Bugfix: The windowed-sinc interpolation was slightly wrong near the loop-start
point on looped samples. Was only audible on super-tight loops.
- Mixer now uses 32-bit single-precision floats instead of 64-bit
double-precision. The error difference in the audio output is +/- 1 (16-bit),
which is only -90dbFS and not really audible. This should give a performance
boost for devices that are slow with handling double-precision floats.
- Samples now have units of "samples" instead of bytes (in the sample editor).
This means that 16-bit samples will show the same numbers as 8-bit samples.
- The sample editor is now drawing interpolated sample points when zoomed in
- Fixed a bug where the "Range" button in Smp. Ed. had problems if you had
marked sample data after 65535 sample points.
- Fixed a problem where the mouse pointer could be broken in fullscreen mode
at some screen resolutions (f.ex. 1600x900).
- Windows bugfix: Prevent ever-increasing memory usage while minimized.
Possibly a bug in SDL_RenderClear(). Might've affected other systems too.
- Bugfix: Exit text edit mode when dropping a file onto the window. Fixes
possible text cursor overflow issues.
- Bugfix: Some instrument/sample names could contain junk at the end after being
saved (.XM/.XI).
- Bugfix: If you previously used an audio device that was disconnected before
starting the program, it will now resort to the default audio device without
reverting all your audio settings (buffer size, bit depth, frequency).
- Fixed possible crash if a channel's resampling rate/delta was zero (very rare)
- If you copy all the sample data in a sample, it will also copy over the sample
information (loop, volume, finetune, name etc.) when you paste it to a new
sample.
- The "Get maximum scale" button in the "Volume" tool in Smp. Ed. will now
get the actual scale instead of limiting it to the start/end vol max range.
This means that you need only one pass to normalize the amplitude on a very
quiet sample.
- The scopes now use linear interpolation for sample points in "Lined" mode
- Fixed a mistake in the S3M importer where "Set speed" commands with a
parameter of >$1F were removed instead of being clamped.
- Clearing the instrument (numpad delete key) also clears instrument name now
- Added new keybinding: Press Ctrl + "numpad+"/"numpad-" to increase or decrease
the master volume by 16.
- Updated the help text
- A *lot* of variable/function names have been changed to be easier to understand.
This causes a mega-commit to the GitHub repo, and I'm sorry for that if you
have a fork of it that you want to keep updated. :/
- Code cleanup (big one)
-Fix transparency of 32 bit client's border (#1178)
-Prepare Colors for alpha values (#1180)
-Make default colors more transparent and quiet (#1185)
-Support true transparency in all decorations (#1186)
-Cut holes into frames behind tiled clients (#1187)
-'shift' moves between monitors if appropriate (#1198)
-Option --replace to replace existing window manager (#1209)
-Manage desktop windows in global stack (#1210)
-Start --locked from the .desktop file (#1222)
-Fix doc/gendoc.py extractor to strip comments (#1229)
-Use posix escaping in Completion objects (#1226)
-Remember last reported geometry in client directly (#1240)
-Always reply to a ConfigureRequest with ConfigureNotify (#1244)
-Move 'focus_edge' and 'shift_edge' to GlobalCommands (#1252)
-Allow relative values for int and uint attributes (#1253)
-Parse --skip-visible in move_index command (#1257)
_Make 'cycle' work for the floating layer (#1258)
-tox: Switch default Python env to 38 (#1269)
-New command 'list_clients' (#1274)
-Add client attribute 'floating_geometry' (#1272)
-Support error output channel internally (#1278)
-Auto-convert attributes to/from python types (#1277)
-Remove alpha-value from colors in panel.sh (#1283)
-Extend IPC protocol by error channel (#1285)
-client: Remove unused methods (#1291)
-Test herbstclient -0 --idle (#1294)
-Fix exec error message in spawn command (#1304)
-Wait passively for hc in test suite ipc server (#1306)
-Handle text properties more robustly (#1303)
-Test shift/resize up/left and focus cycling (#1308)
-Add 'floating_geometry' rule consequence (#1311)
-Client alias 'longest-minimized' and 'last-minimized' (#1313)
Packaging:
-Minimum Rust version has been bumped to 1.45.0
Added:
-IME composition preview not appearing on Windows
-Synchronized terminal updates using DCS = 1 s ST/DCS = 2 s ST
-Regex terminal hints (see features.md)
-macOS keybinding (cmd+alt+H) hiding all windows other than Alacritty
-Support for magnet URLs
Changed:
-The vi mode cursor is now created in the top-left if the terminal cursor is
invisible
-Focused search match will use cell instead of match colors for
CellForeground/CellBackground
-URL highlighting has moved from mouse.url to the hints config section
Fixed:
-Alacritty failing to start on X11 with invalid DPI reported by XRandr
-Text selected after search without any match
-Incorrect vi cursor position after leaving search
-Clicking on URLs on Windows incorrectly opens File Explorer
-Incorrect underline cursor thickness on wide cell
-Viewport moving around when resizing while scrolled into history
-Block cursor not expanding across fullwidth characters when on the right
side of it
-Overwriting fullwidth characters only clearing one of the involved cells