github samtools/samtools 1.12

latest releases: 1.20, 1.19.2, 1.19.1...
3 years ago

Download the source code here: samtools-1.12.tar.bz2.
(The "Source code" downloads are generated by GitHub and are incomplete as they don't bundle HTSlib and are missing some generated files.)

  • The legacy samtools API (libbam.a, bam.h, sam.h, etc) has not been actively maintained since 2015. It is deprecated and will be removed entirely in a future SAMtools release. We recommend coding against the HTSlib API directly.

  • I/O errors and record parsing errors during the reading of SAM/BAM/CRAM files are now always detected. Thanks to John Marshall (#1379; fixed #101)

  • New make targets have been added: check-all, test-all, distclean-all, mostlyclean-all, testclean-all, which allow SAMtools installations to call corresponding Makefile targets from embedded HTSlib installations.

  • samtools --version now displays a summary of the compilation details and available features, including flags, used libraries and enabled plugins from HTSlib. As an alias, samtools version can also be used. (#1371)

  • samtools stats now displays the number of supplementary reads in the SN section. Also, supplementary reads are no longer considered when splitting read pairs by orientation (inward, outward, other). (#1363)

  • samtools stats now counts only the filtered alignments that overlap target regions, if any are specified. (#1363)

  • samtools view now accepts option -N, which takes a file containing read names of interest. This allows the output of only the reads with names contained in the given file. Thanks to Daniel Cameron. (#1324)

  • samtools view -d option now works without a tag associated value, which allows it to output all the reads with the given tag. (#1339; fixed #1317)

  • samtools view -d and -D options now accept integer and single character values associated with tags, not just strings. Thanks to @darioMe and Keiran Raine for the suggestions. (#1357, #1392)

  • samtools view now works with the filtering expressions introduced by HTSlib. The filtering expression is passed to the program using the specific option -e or the global long option --input-fmt-option. E.g.

    samtools view -e 'qname =~ "#49$" && mrefid != refid && refid != -1 &&  mrefid != -1' align.bam
    

    looks for records with query-name ending in #49 that have their mate aligned in a different chromosome. More details can be found in the FILTER EXPRESSIONS section of the main man page. (#1346)

  • samtools markdup now benefits from an increase in performance in the situation when a single read has tens or hundreds of thousands of duplicates. Thanks to @denriquez for reporting the issue. (#1345; fixed #1325)

  • The documentation for samtools ampliconstats has been added to the samtools man page. (#1351)

  • A new FASTA/FASTQ sanitizer script (fasta-sanitize.pl) was added, which corrects the invalid characters in the reference names. (#1314) Thanks to John Marshall for the installation fix. (#1353)

  • The CI scripts have been updated to recurse the HTSlib submodules when cloning HTSlib, to accommodate for the CRAM codecs, which now reside in the htscodecs submodule. (#1359)

  • The CI integrations now include Cirrus-CI rather than Travis. (#1335; #1365)

  • Updated the Windows image used by Appveyor to 'Visual Studio 2019'. (#1333; fixed #1332)

  • Fixed a bug in samtools cat, which prevented the command from running in multi-threaded mode. Thanks to Alex Leonard for reporting the issue. (#1337; fixed #1336)

  • A couple of invalid CIGAR strings have been corrected in the test data. (#1343)

  • The documentation for samtools depth -s has been improved. Thanks to @wulj2. (#1355)

  • Fixed a samtools merge segmentation fault when it failed to merge header @PG records. Thanks to John Marshall. (#1394; reported by Kemin Zhou in #1393)

  • Ampliconclip and ampliconstats now guard against the BED file containing more than one reference (chromosome) and fail when found. Adding proper support for multiple references will appear later. (#1398)

Don't miss a new samtools release

NewReleases is sending notifications on new releases.