Loading INSTALL +68 −3 Original line number Diff line number Diff line System Requirements =================== Samtools requires the zlib library <http://zlib.net>, the bzip2 library <http://bzip.org/>, liblzma <http://tukaani.org/xz/> and (optionally) a curses or GNU ncurses library <http://www.gnu.org/software/ncurses/>. Samtools and HTSlib depend on the following libraries: Samtools: zlib <http://zlib.net> curses or GNU ncurses (optional, for the 'tview' command) <http://www.gnu.org/software/ncurses/> HTSlib: zlib <http://zlib.net> libbz2 <http://bzip.org/> liblzma <http://tukaani.org/xz/> libcurl <https://curl.haxx.se/> (optional but strongly recommended, for network access) libcrypto <https://www.openssl.org/> (optional, for Amazon S3 support; not needed on MacOS) See the "System Specific Details" below for guidance on how to install these. The bzip2 and liblzma dependencies can be removed if full CRAM support is not needed - see HTSlib's INSTALL file for details. Loading Loading @@ -142,6 +158,16 @@ for details. For example, would specify that samtools is to be built with icc and installed into bin, lib, etc subdirectories under /opt/icc-compiled. If dependencies have been installed in non-standard locations (i.e. not on the normal include and library search paths) then the CPPFLAGS and LDFLAGS environment variables can be used to set the options needed to find them. For example, NetBSD users may use: ./configure CPPFLAGS=-I/usr/pkg/include \ LDFLAGS='-L/usr/pkg/lib -Wl,-R/usr/pkg/lib' to allow compiling and linking against dependencies installed via the ports collection. Installation Locations ====================== Loading @@ -166,3 +192,42 @@ For example, make DESTDIR=/tmp/staging prefix=/opt would install into bin and share/man subdirectories under /tmp/staging/opt. System Specific Details ======================= Installing the prerequisites is system dependent and there is more than one correct way of satisfying these, including downloading them from source, compiling and installing them yourself. For people with super-user access, we provide an example set of commands below for installing the dependencies on a variety of operating system distributions. Note these are not specific recommendations on distribution, compiler or SSL implementation. It is assumed you already have the core set of packages for the given distribution - the lists may be incomplete if this is not the case. Debian / Ubuntu --------------- sudo apt-get update # Ensure the package list is up to date sudo apt-get install autoconf automake make gcc perl zlib1g-dev libbz2-dev liblzma-dev libcurl4-gnutls-dev libssl-dev libncurses5-dev Note: libcurl4-openssl-dev can be used as an alternative to libcurl4-gnutls-dev. RedHat / CentOS --------------- sudo yum install autoconf automake make gcc perl-Data-Dumper zlib-devel bzip2 bzip2-devel xz-devel curl-devel openssl-devel ncurses-devel Alpine Linux ------------ sudo apk update # Ensure the package list is up to date sudo apk add autoconf automake make gcc musl-dev perl bash zlib-dev bzip2-dev xz-dev curl-dev libressl-dev ncurses-dev OpenSUSE -------- sudo zypper install autoconf automake make gcc perl zlib-devel libbz2-devel xz-devel libcurl-devel libopenssl-devel ncurses-devel LICENSE +1 −1 Original line number Diff line number Diff line The MIT/Expat License Copyright (C) 2008-2014 Genome Research Ltd. Copyright (C) 2008-2018 Genome Research Ltd. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal Loading Makefile +20 −18 Original line number Diff line number Diff line Loading @@ -154,56 +154,58 @@ bam2bcf_h = bam2bcf.h $(htslib_hts_h) $(htslib_vcf_h) bam_lpileup_h = bam_lpileup.h $(htslib_sam_h) bam_plbuf_h = bam_plbuf.h $(htslib_sam_h) bam_tview_h = bam_tview.h $(htslib_hts_h) $(htslib_sam_h) $(htslib_faidx_h) $(bam2bcf_h) $(htslib_khash_h) $(bam_lpileup_h) bedidx_h = bedidx.h $(htslib_hts_h) sam_h = sam.h $(htslib_sam_h) $(bam_h) sam_opts_h = sam_opts.h $(htslib_hts_h) sample_h = sample.h $(htslib_kstring_h) stats_isize_h = stats_isize.h $(htslib_khash_h) tmp_file_h = tmp_file.h $(htslib_sam_h) $(LZ4DIR)/lz4.h bam.o: bam.c config.h $(bam_h) $(htslib_kstring_h) sam_header.h bam2bcf.o: bam2bcf.c config.h $(htslib_hts_h) $(htslib_sam_h) $(htslib_kstring_h) $(htslib_kfunc_h) $(bam2bcf_h) bam2bcf_indel.o: bam2bcf_indel.c config.h $(htslib_hts_h) $(htslib_sam_h) $(bam2bcf_h) $(htslib_khash_h) $(htslib_ksort_h) bam2depth.o: bam2depth.c config.h $(htslib_sam_h) samtools.h $(sam_opts_h) bam_addrprg.o: bam_addrprg.c config.h $(htslib_sam_h) $(htslib_kstring_h) samtools.h $(sam_opts_h) bam_addrprg.o: bam_addrprg.c config.h $(htslib_sam_h) $(htslib_kstring_h) samtools.h $(htslib_thread_pool_h) $(sam_opts_h) bam_aux.o: bam_aux.c config.h $(bam_h) bam_cat.o: bam_cat.c config.h $(htslib_bgzf_h) $(htslib_sam_h) $(htslib_cram_h) $(htslib_khash_h) samtools.h bam_color.o: bam_color.c config.h $(bam_h) bam_import.o: bam_import.c config.h $(htslib_kstring_h) $(bam_h) $(htslib_kseq_h) bam_index.o: bam_index.c config.h $(htslib_hts_h) $(htslib_sam_h) $(htslib_khash_h) samtools.h bam_index.o: bam_index.c config.h $(htslib_hts_h) $(htslib_sam_h) $(htslib_khash_h) samtools.h $(sam_opts_h) bam_lpileup.o: bam_lpileup.c config.h $(bam_plbuf_h) $(bam_lpileup_h) $(htslib_ksort_h) bam_mate.o: bam_mate.c config.h $(sam_opts_h) $(htslib_kstring_h) $(htslib_sam_h) samtools.h bam_md.o: bam_md.c config.h $(htslib_faidx_h) $(htslib_sam_h) $(htslib_kstring_h) $(sam_opts_h) samtools.h bam_mate.o: bam_mate.c config.h $(htslib_thread_pool_h) $(sam_opts_h) $(htslib_kstring_h) $(htslib_sam_h) samtools.h bam_md.o: bam_md.c config.h $(htslib_faidx_h) $(htslib_sam_h) $(htslib_kstring_h) $(htslib_thread_pool_h) $(sam_opts_h) samtools.h bam_plbuf.o: bam_plbuf.c config.h $(htslib_hts_h) $(htslib_sam_h) $(bam_plbuf_h) bam_plcmd.o: bam_plcmd.c config.h $(htslib_sam_h) $(htslib_faidx_h) $(htslib_kstring_h) $(htslib_khash_str2int_h) sam_header.h samtools.h $(sam_opts_h) $(bam2bcf_h) $(sample_h) bam_quickcheck.o: bam_quickcheck.c config.h $(htslib_hts_h) $(htslib_sam_h) bam_reheader.o: bam_reheader.c config.h $(htslib_bgzf_h) $(htslib_sam_h) $(htslib_hfile_h) $(htslib_cram_h) samtools.h bam_rmdup.o: bam_rmdup.c config.h $(htslib_sam_h) $(sam_opts_h) samtools.h $(bam_h) $(htslib_khash_h) bam_rmdupse.o: bam_rmdupse.c config.h $(bam_h) $(htslib_sam_h) $(htslib_khash_h) $(htslib_klist_h) samtools.h bam_sort.o: bam_sort.c config.h $(htslib_ksort_h) $(htslib_khash_h) $(htslib_klist_h) $(htslib_kstring_h) $(htslib_sam_h) $(sam_opts_h) samtools.h bam_split.o: bam_split.c config.h $(htslib_sam_h) $(htslib_khash_h) $(htslib_kstring_h) $(htslib_cram_h) $(sam_opts_h) samtools.h bam_stat.o: bam_stat.c config.h $(htslib_sam_h) samtools.h bam_sort.o: bam_sort.c config.h $(htslib_ksort_h) $(htslib_hts_os_h) $(htslib_khash_h) $(htslib_klist_h) $(htslib_kstring_h) $(htslib_sam_h) $(sam_opts_h) samtools.h bam_split.o: bam_split.c config.h $(htslib_sam_h) $(htslib_khash_h) $(htslib_kstring_h) $(htslib_cram_h) $(htslib_thread_pool_h) $(sam_opts_h) samtools.h bam_stat.o: bam_stat.c config.h $(htslib_sam_h) samtools.h $(sam_opts_h) bam_tview.o: bam_tview.c config.h $(bam_tview_h) $(htslib_faidx_h) $(htslib_sam_h) $(htslib_bgzf_h) samtools.h $(sam_opts_h) bam_tview_curses.o: bam_tview_curses.c config.h $(bam_tview_h) bam_tview_html.o: bam_tview_html.c config.h $(bam_tview_h) bam_flags.o: bam_flags.c config.h $(htslib_sam_h) bamshuf.o: bamshuf.c config.h $(htslib_sam_h) $(htslib_hts_h) $(htslib_ksort_h) samtools.h $(sam_opts_h) bamshuf.o: bamshuf.c config.h $(htslib_sam_h) $(htslib_hts_h) $(htslib_ksort_h) samtools.h $(htslib_thread_pool_h) $(sam_opts_h) $(htslib_khash_h) bamtk.o: bamtk.c config.h $(htslib_hts_h) samtools.h version.h bedcov.o: bedcov.c config.h $(htslib_kstring_h) $(htslib_sam_h) $(sam_opts_h) $(htslib_kseq_h) bedidx.o: bedidx.c config.h $(htslib_ksort_h) $(htslib_kseq_h) $(htslib_khash_h) bedcov.o: bedcov.c config.h $(htslib_kstring_h) $(htslib_sam_h) $(htslib_thread_pool_h) $(sam_opts_h) $(htslib_kseq_h) bedidx.o: bedidx.c config.h $(bedidx_h) $(htslib_ksort_h) $(htslib_kseq_h) $(htslib_khash_h) cut_target.o: cut_target.c config.h $(htslib_hts_h) $(htslib_sam_h) $(htslib_faidx_h) samtools.h $(sam_opts_h) dict.o: dict.c config.h $(htslib_kseq_h) $(htslib_hts_h) faidx.o: faidx.c config.h $(htslib_faidx_h) samtools.h faidx.o: faidx.c config.h $(htslib_faidx_h) $(htslib_hts_h) $(htslib_hfile_h) $(htslib_kstring_h) samtools.h padding.o: padding.c config.h $(htslib_kstring_h) $(htslib_sam_h) $(htslib_faidx_h) sam_header.h $(sam_opts_h) samtools.h phase.o: phase.c config.h $(htslib_hts_h) $(htslib_sam_h) $(htslib_kstring_h) $(sam_opts_h) samtools.h $(htslib_kseq_h) $(htslib_khash_h) $(htslib_ksort_h) phase.o: phase.c config.h $(htslib_hts_h) $(htslib_sam_h) $(htslib_kstring_h) $(sam_opts_h) samtools.h $(htslib_hts_os_h) $(htslib_kseq_h) $(htslib_khash_h) $(htslib_ksort_h) sam.o: sam.c config.h $(htslib_faidx_h) $(sam_h) sam_header.o: sam_header.c config.h sam_header.h $(htslib_khash_h) sam_opts.o: sam_opts.c config.h $(sam_opts_h) sam_utils.o: sam_utils.c config.h samtools.h sam_view.o: sam_view.c config.h $(htslib_sam_h) $(htslib_faidx_h) $(htslib_kstring_h) $(htslib_khash_h) samtools.h $(sam_opts_h) sam_view.o: sam_view.c config.h $(htslib_sam_h) $(htslib_faidx_h) $(htslib_kstring_h) $(htslib_khash_h) $(htslib_klist_h) $(htslib_thread_pool_h) $(htslib_bgzf_h) samtools.h $(sam_opts_h) $(bedidx_h) sample.o: sample.c config.h $(sample_h) $(htslib_khash_h) stats_isize.o: stats_isize.c config.h stats_isize.h $(htslib_khash_h) stats.o: stats.c config.h $(htslib_faidx_h) $(htslib_sam_h) $(htslib_hts_h) sam_header.h $(htslib_khash_str2int_h) samtools.h $(htslib_khash_h) $(htslib_kstring_h) stats_isize.h $(sam_opts_h) bam_markdup.o: bam_markdup.c config.h $(htslib_sam_h) $(sam_opts_h) samtools.h $(bam_h) $(htslib_khash_h) $(tmp_file_h) tmp_file.o: tmp_file.c config.h $(tmp_file_h) stats_isize.o: stats_isize.c config.h $(stats_isize_h) $(htslib_khash_h) stats.o: stats.c config.h $(htslib_faidx_h) $(htslib_sam_h) $(htslib_hts_h) sam_header.h $(htslib_khash_str2int_h) samtools.h $(htslib_khash_h) $(htslib_kstring_h) $(stats_isize_h) $(sam_opts_h) $(bedidx_h) bam_markdup.o: bam_markdup.c config.h $(htslib_thread_pool_h) $(htslib_sam_h) $(sam_opts_h) samtools.h $(htslib_khash_h) $(htslib_klist_h) $(htslib_kstring_h) $(tmp_file_h) tmp_file.o: tmp_file.c config.h $(tmp_file_h) $(htslib_sam_h) # test programs Loading Loading @@ -287,7 +289,7 @@ misc/wgsim: misc/wgsim.o $(HTSLIB) misc/ace2sam.o: misc/ace2sam.c config.h $(htslib_kstring_h) $(htslib_kseq_h) misc/md5fa.o: misc/md5fa.c config.h $(htslib_kseq_h) $(htslib_hts_h) misc/md5sum-lite.o: misc/md5sum-lite.c config.h $(htslib_hts_h) misc/wgsim.o: misc/wgsim.c config.h version.h $(htslib_kseq_h) misc/wgsim.o: misc/wgsim.c config.h version.h $(htslib_kseq_h) $(htslib_hts_os_h) misc/maq2sam-short.o: misc/maq2sam.c config.h version.h $(CC) $(CFLAGS) $(ALL_CPPFLAGS) -c -o $@ misc/maq2sam.c Loading NEWS +109 −0 Original line number Diff line number Diff line Release 1.9 (18th July 2018) ---------------------------- * Samtools mpileup VCF and BCF output is now deprecated. It is still functional, but will warn. Please use bcftools mpileup instead. (#884) * Samtools mpileup now handles the '-d' max_depth option differently. There is no longer an enforced minimum, and '-d 0' is interpreted as limitless (no maximum - warning this may be slow). The default per-file depth is now 8000, which matches the value mpileup used to use when processing a single sample. To get the previous default behaviour use the higher of 8000 divided by the number of samples across all input files, or 250. (#859) * Samtools stats new features: - The '--remove-overlaps' option discounts overlapping portions of templates when computing coverage and mapped base counting. (#855) - When a target file is in use, the number of bases inside the target is printed and the percentage of target bases with coverage above a given threshold specified by the '--cov-threshold' option. (#855) - Split base composition and length statistics by first and last reads. (#814, #816) * Samtools faidx new features: - Now takes long options. (#509, thanks to Pierre Lindenbaum) - Now warns about zero-length and truncated sequences due to the requested range being beyond the end of the sequence. (#834) - Gets a new option (--continue) that allows it to carry on when a requested sequence was not in the index. (#834) - It is now possible to supply the list of regions to output in a text file using the new '--region-file' option. (#840) - New '-i' option to make faidx return the reverse complement of the regions requested. (#878) - faidx now works on FASTQ (returning FASTA) and added a new fqidx command to index and return FASTQ. (#852) * Samtools collate now has a fast option '-f' that only operates on primary pairs, dropping secondary and supplementary. It tries to write pairs to the final output file as soon as both reads have been found. (#818) * Samtools bedcov gets a new '-j' option to make it ignore deletions (D) and reference skips (N) when computing coverage. (#843) * Small speed up to samtools coordinate sort, by converting it to use radix sort. (#835, thanks to Zhuravleva Aleksandra) * Samtools idxstats now works on SAM and CRAM files, however this isn't fast due to some information lacking from indices. (#832) * Compression levels may now be specified with the level=N output-fmt-option. E.g. with -O bam,level=3. * Various documentation improvements. * Bug-fixes: - Improved error reporting in several places. (#827, #834, #877, cd7197) - Various test improvements. - Fixed failures in the multi-region iterator (view -M) when regions provided via BED files include overlaps (#819, reported by Dave Larson). - Samtools stats now counts '=' and 'X' CIGAR operators when counting mapped bases. (#855) - Samtools stats has fixes for insert size filtering (-m, -i). (#845; #697 reported by Soumitra Pal) - Samtools stats -F now longer negates an earlier -d option. (#830) - Fix samtools stats crash when using a target region. (#875, reported by John Marshall) - Samtools sort now keeps to a single thread when the -@ option is absent. Previously it would spawn a writer thread, which could cause the CPU usage to go slightly over 100%. (#833, reported by Matthias Bernt) - Fixed samtools phase '-A' option which was incorrectly defined to take a parameter. (#850; #846 reported by Dianne Velasco) - Fixed compilation problems when using C_INCLUDE_PATH. (#870; #817 reported by Robert Boissy) - Fixed --version when built from a Git repository. (#844, thanks to John Marshall) - Use noenhanced mode for title in plot-bamstats. Prevents unwanted interpretation of characters like underscore in gnuplot version 5. (#829, thanks to M. Zapukhlyak) - blast2sam.pl now reports perfect match hits (no indels or mismatches). (#873, thanks to Nils Homer) - Fixed bug in fasta and fastq subcommands where stdout would not be flushed correctly if the -0 option was used. - Fixed invalid memory access in mpileup and depth on alignment records where the sequence is absent. Release 1.8 (3rd April 2018) ---------------------------- Loading README +49 −2 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ Building samtools The typical simple case of building Samtools using the HTSlib bundled within this Samtools release tarball is done as follows: cd .../samtools-1.8 # Within the unpacked release directory cd .../samtools-1.9 # Within the unpacked release directory ./configure make Loading @@ -21,7 +21,7 @@ install samtools etc properly into a directory of your choosing. Building for installation using the HTSlib bundled within this Samtools release tarball, and building the various HTSlib utilities such as bgzip is done as follows: cd .../samtools-1.8 # Within the unpacked release directory cd .../samtools-1.9 # Within the unpacked release directory ./configure --prefix=/path/to/location make all all-htslib make install install-htslib Loading @@ -30,6 +30,53 @@ You will likely wish to add /path/to/location/bin to your $PATH. See INSTALL for full building and installation instructions and details. Building with HTSlib plug-in support ==================================== Enabling plug-ins causes some parts of HTSlib to be built as separate modules. There are two advantages to this: * The static library libhts.a has fewer dependencies, which makes linking third-party code against it easier. * It is possible to build extra plug-ins in addition to the ones that are bundled with HTSlib. For example, the hts-plugins repository <https://github.com/samtools/htslib-plugins> includes a module that allows direct access to files stored in an iRODS data management repository (see <https://irods.org/>). To build with plug-ins, you need to use the --enable-plugins configure option as follows: cd .../samtools-1.9 # Within the unpacked release directory ./configure --enable-plugins --prefix=/path/to/location make all all-htslib make install install-htslib There are two other configure options that affect plug-ins. These are: --with-plugin-dir=DIR plug-in installation location --with-plugin-path=PATH default plug-in search path The default for --with-plugin-dir is <prefix>/libexec/htslib. --with-plugin-path sets the built-in search path used to find the plug-ins. By default this is the directory set by the --with-plugin-dir option. Multiple directories should be separated by colons. Setting --with-plugin-path is useful if you want to run directly from the source distribution instead of installing the package. In that case you can use: cd .../samtools-1.9 # Within the unpacked release directory ./configure --enable-plugins --with-plugin-path=$PWD/htslib-1.9 make all all-htslib It is possible to override the built-in search path using the HTS_PATH environment variable. Directories should be separated by colons. To include the built-in path, add an empty entry to HTS_PATH: export HTS_PATH=:/my/path # Search built-in path first export HTS_PATH=/my/path: # Search built-in path last export HTS_PATH=/my/path1::/my/path2 # Search built-in path between others Using an optimised zlib library =============================== Loading Loading
INSTALL +68 −3 Original line number Diff line number Diff line System Requirements =================== Samtools requires the zlib library <http://zlib.net>, the bzip2 library <http://bzip.org/>, liblzma <http://tukaani.org/xz/> and (optionally) a curses or GNU ncurses library <http://www.gnu.org/software/ncurses/>. Samtools and HTSlib depend on the following libraries: Samtools: zlib <http://zlib.net> curses or GNU ncurses (optional, for the 'tview' command) <http://www.gnu.org/software/ncurses/> HTSlib: zlib <http://zlib.net> libbz2 <http://bzip.org/> liblzma <http://tukaani.org/xz/> libcurl <https://curl.haxx.se/> (optional but strongly recommended, for network access) libcrypto <https://www.openssl.org/> (optional, for Amazon S3 support; not needed on MacOS) See the "System Specific Details" below for guidance on how to install these. The bzip2 and liblzma dependencies can be removed if full CRAM support is not needed - see HTSlib's INSTALL file for details. Loading Loading @@ -142,6 +158,16 @@ for details. For example, would specify that samtools is to be built with icc and installed into bin, lib, etc subdirectories under /opt/icc-compiled. If dependencies have been installed in non-standard locations (i.e. not on the normal include and library search paths) then the CPPFLAGS and LDFLAGS environment variables can be used to set the options needed to find them. For example, NetBSD users may use: ./configure CPPFLAGS=-I/usr/pkg/include \ LDFLAGS='-L/usr/pkg/lib -Wl,-R/usr/pkg/lib' to allow compiling and linking against dependencies installed via the ports collection. Installation Locations ====================== Loading @@ -166,3 +192,42 @@ For example, make DESTDIR=/tmp/staging prefix=/opt would install into bin and share/man subdirectories under /tmp/staging/opt. System Specific Details ======================= Installing the prerequisites is system dependent and there is more than one correct way of satisfying these, including downloading them from source, compiling and installing them yourself. For people with super-user access, we provide an example set of commands below for installing the dependencies on a variety of operating system distributions. Note these are not specific recommendations on distribution, compiler or SSL implementation. It is assumed you already have the core set of packages for the given distribution - the lists may be incomplete if this is not the case. Debian / Ubuntu --------------- sudo apt-get update # Ensure the package list is up to date sudo apt-get install autoconf automake make gcc perl zlib1g-dev libbz2-dev liblzma-dev libcurl4-gnutls-dev libssl-dev libncurses5-dev Note: libcurl4-openssl-dev can be used as an alternative to libcurl4-gnutls-dev. RedHat / CentOS --------------- sudo yum install autoconf automake make gcc perl-Data-Dumper zlib-devel bzip2 bzip2-devel xz-devel curl-devel openssl-devel ncurses-devel Alpine Linux ------------ sudo apk update # Ensure the package list is up to date sudo apk add autoconf automake make gcc musl-dev perl bash zlib-dev bzip2-dev xz-dev curl-dev libressl-dev ncurses-dev OpenSUSE -------- sudo zypper install autoconf automake make gcc perl zlib-devel libbz2-devel xz-devel libcurl-devel libopenssl-devel ncurses-devel
LICENSE +1 −1 Original line number Diff line number Diff line The MIT/Expat License Copyright (C) 2008-2014 Genome Research Ltd. Copyright (C) 2008-2018 Genome Research Ltd. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal Loading
Makefile +20 −18 Original line number Diff line number Diff line Loading @@ -154,56 +154,58 @@ bam2bcf_h = bam2bcf.h $(htslib_hts_h) $(htslib_vcf_h) bam_lpileup_h = bam_lpileup.h $(htslib_sam_h) bam_plbuf_h = bam_plbuf.h $(htslib_sam_h) bam_tview_h = bam_tview.h $(htslib_hts_h) $(htslib_sam_h) $(htslib_faidx_h) $(bam2bcf_h) $(htslib_khash_h) $(bam_lpileup_h) bedidx_h = bedidx.h $(htslib_hts_h) sam_h = sam.h $(htslib_sam_h) $(bam_h) sam_opts_h = sam_opts.h $(htslib_hts_h) sample_h = sample.h $(htslib_kstring_h) stats_isize_h = stats_isize.h $(htslib_khash_h) tmp_file_h = tmp_file.h $(htslib_sam_h) $(LZ4DIR)/lz4.h bam.o: bam.c config.h $(bam_h) $(htslib_kstring_h) sam_header.h bam2bcf.o: bam2bcf.c config.h $(htslib_hts_h) $(htslib_sam_h) $(htslib_kstring_h) $(htslib_kfunc_h) $(bam2bcf_h) bam2bcf_indel.o: bam2bcf_indel.c config.h $(htslib_hts_h) $(htslib_sam_h) $(bam2bcf_h) $(htslib_khash_h) $(htslib_ksort_h) bam2depth.o: bam2depth.c config.h $(htslib_sam_h) samtools.h $(sam_opts_h) bam_addrprg.o: bam_addrprg.c config.h $(htslib_sam_h) $(htslib_kstring_h) samtools.h $(sam_opts_h) bam_addrprg.o: bam_addrprg.c config.h $(htslib_sam_h) $(htslib_kstring_h) samtools.h $(htslib_thread_pool_h) $(sam_opts_h) bam_aux.o: bam_aux.c config.h $(bam_h) bam_cat.o: bam_cat.c config.h $(htslib_bgzf_h) $(htslib_sam_h) $(htslib_cram_h) $(htslib_khash_h) samtools.h bam_color.o: bam_color.c config.h $(bam_h) bam_import.o: bam_import.c config.h $(htslib_kstring_h) $(bam_h) $(htslib_kseq_h) bam_index.o: bam_index.c config.h $(htslib_hts_h) $(htslib_sam_h) $(htslib_khash_h) samtools.h bam_index.o: bam_index.c config.h $(htslib_hts_h) $(htslib_sam_h) $(htslib_khash_h) samtools.h $(sam_opts_h) bam_lpileup.o: bam_lpileup.c config.h $(bam_plbuf_h) $(bam_lpileup_h) $(htslib_ksort_h) bam_mate.o: bam_mate.c config.h $(sam_opts_h) $(htslib_kstring_h) $(htslib_sam_h) samtools.h bam_md.o: bam_md.c config.h $(htslib_faidx_h) $(htslib_sam_h) $(htslib_kstring_h) $(sam_opts_h) samtools.h bam_mate.o: bam_mate.c config.h $(htslib_thread_pool_h) $(sam_opts_h) $(htslib_kstring_h) $(htslib_sam_h) samtools.h bam_md.o: bam_md.c config.h $(htslib_faidx_h) $(htslib_sam_h) $(htslib_kstring_h) $(htslib_thread_pool_h) $(sam_opts_h) samtools.h bam_plbuf.o: bam_plbuf.c config.h $(htslib_hts_h) $(htslib_sam_h) $(bam_plbuf_h) bam_plcmd.o: bam_plcmd.c config.h $(htslib_sam_h) $(htslib_faidx_h) $(htslib_kstring_h) $(htslib_khash_str2int_h) sam_header.h samtools.h $(sam_opts_h) $(bam2bcf_h) $(sample_h) bam_quickcheck.o: bam_quickcheck.c config.h $(htslib_hts_h) $(htslib_sam_h) bam_reheader.o: bam_reheader.c config.h $(htslib_bgzf_h) $(htslib_sam_h) $(htslib_hfile_h) $(htslib_cram_h) samtools.h bam_rmdup.o: bam_rmdup.c config.h $(htslib_sam_h) $(sam_opts_h) samtools.h $(bam_h) $(htslib_khash_h) bam_rmdupse.o: bam_rmdupse.c config.h $(bam_h) $(htslib_sam_h) $(htslib_khash_h) $(htslib_klist_h) samtools.h bam_sort.o: bam_sort.c config.h $(htslib_ksort_h) $(htslib_khash_h) $(htslib_klist_h) $(htslib_kstring_h) $(htslib_sam_h) $(sam_opts_h) samtools.h bam_split.o: bam_split.c config.h $(htslib_sam_h) $(htslib_khash_h) $(htslib_kstring_h) $(htslib_cram_h) $(sam_opts_h) samtools.h bam_stat.o: bam_stat.c config.h $(htslib_sam_h) samtools.h bam_sort.o: bam_sort.c config.h $(htslib_ksort_h) $(htslib_hts_os_h) $(htslib_khash_h) $(htslib_klist_h) $(htslib_kstring_h) $(htslib_sam_h) $(sam_opts_h) samtools.h bam_split.o: bam_split.c config.h $(htslib_sam_h) $(htslib_khash_h) $(htslib_kstring_h) $(htslib_cram_h) $(htslib_thread_pool_h) $(sam_opts_h) samtools.h bam_stat.o: bam_stat.c config.h $(htslib_sam_h) samtools.h $(sam_opts_h) bam_tview.o: bam_tview.c config.h $(bam_tview_h) $(htslib_faidx_h) $(htslib_sam_h) $(htslib_bgzf_h) samtools.h $(sam_opts_h) bam_tview_curses.o: bam_tview_curses.c config.h $(bam_tview_h) bam_tview_html.o: bam_tview_html.c config.h $(bam_tview_h) bam_flags.o: bam_flags.c config.h $(htslib_sam_h) bamshuf.o: bamshuf.c config.h $(htslib_sam_h) $(htslib_hts_h) $(htslib_ksort_h) samtools.h $(sam_opts_h) bamshuf.o: bamshuf.c config.h $(htslib_sam_h) $(htslib_hts_h) $(htslib_ksort_h) samtools.h $(htslib_thread_pool_h) $(sam_opts_h) $(htslib_khash_h) bamtk.o: bamtk.c config.h $(htslib_hts_h) samtools.h version.h bedcov.o: bedcov.c config.h $(htslib_kstring_h) $(htslib_sam_h) $(sam_opts_h) $(htslib_kseq_h) bedidx.o: bedidx.c config.h $(htslib_ksort_h) $(htslib_kseq_h) $(htslib_khash_h) bedcov.o: bedcov.c config.h $(htslib_kstring_h) $(htslib_sam_h) $(htslib_thread_pool_h) $(sam_opts_h) $(htslib_kseq_h) bedidx.o: bedidx.c config.h $(bedidx_h) $(htslib_ksort_h) $(htslib_kseq_h) $(htslib_khash_h) cut_target.o: cut_target.c config.h $(htslib_hts_h) $(htslib_sam_h) $(htslib_faidx_h) samtools.h $(sam_opts_h) dict.o: dict.c config.h $(htslib_kseq_h) $(htslib_hts_h) faidx.o: faidx.c config.h $(htslib_faidx_h) samtools.h faidx.o: faidx.c config.h $(htslib_faidx_h) $(htslib_hts_h) $(htslib_hfile_h) $(htslib_kstring_h) samtools.h padding.o: padding.c config.h $(htslib_kstring_h) $(htslib_sam_h) $(htslib_faidx_h) sam_header.h $(sam_opts_h) samtools.h phase.o: phase.c config.h $(htslib_hts_h) $(htslib_sam_h) $(htslib_kstring_h) $(sam_opts_h) samtools.h $(htslib_kseq_h) $(htslib_khash_h) $(htslib_ksort_h) phase.o: phase.c config.h $(htslib_hts_h) $(htslib_sam_h) $(htslib_kstring_h) $(sam_opts_h) samtools.h $(htslib_hts_os_h) $(htslib_kseq_h) $(htslib_khash_h) $(htslib_ksort_h) sam.o: sam.c config.h $(htslib_faidx_h) $(sam_h) sam_header.o: sam_header.c config.h sam_header.h $(htslib_khash_h) sam_opts.o: sam_opts.c config.h $(sam_opts_h) sam_utils.o: sam_utils.c config.h samtools.h sam_view.o: sam_view.c config.h $(htslib_sam_h) $(htslib_faidx_h) $(htslib_kstring_h) $(htslib_khash_h) samtools.h $(sam_opts_h) sam_view.o: sam_view.c config.h $(htslib_sam_h) $(htslib_faidx_h) $(htslib_kstring_h) $(htslib_khash_h) $(htslib_klist_h) $(htslib_thread_pool_h) $(htslib_bgzf_h) samtools.h $(sam_opts_h) $(bedidx_h) sample.o: sample.c config.h $(sample_h) $(htslib_khash_h) stats_isize.o: stats_isize.c config.h stats_isize.h $(htslib_khash_h) stats.o: stats.c config.h $(htslib_faidx_h) $(htslib_sam_h) $(htslib_hts_h) sam_header.h $(htslib_khash_str2int_h) samtools.h $(htslib_khash_h) $(htslib_kstring_h) stats_isize.h $(sam_opts_h) bam_markdup.o: bam_markdup.c config.h $(htslib_sam_h) $(sam_opts_h) samtools.h $(bam_h) $(htslib_khash_h) $(tmp_file_h) tmp_file.o: tmp_file.c config.h $(tmp_file_h) stats_isize.o: stats_isize.c config.h $(stats_isize_h) $(htslib_khash_h) stats.o: stats.c config.h $(htslib_faidx_h) $(htslib_sam_h) $(htslib_hts_h) sam_header.h $(htslib_khash_str2int_h) samtools.h $(htslib_khash_h) $(htslib_kstring_h) $(stats_isize_h) $(sam_opts_h) $(bedidx_h) bam_markdup.o: bam_markdup.c config.h $(htslib_thread_pool_h) $(htslib_sam_h) $(sam_opts_h) samtools.h $(htslib_khash_h) $(htslib_klist_h) $(htslib_kstring_h) $(tmp_file_h) tmp_file.o: tmp_file.c config.h $(tmp_file_h) $(htslib_sam_h) # test programs Loading Loading @@ -287,7 +289,7 @@ misc/wgsim: misc/wgsim.o $(HTSLIB) misc/ace2sam.o: misc/ace2sam.c config.h $(htslib_kstring_h) $(htslib_kseq_h) misc/md5fa.o: misc/md5fa.c config.h $(htslib_kseq_h) $(htslib_hts_h) misc/md5sum-lite.o: misc/md5sum-lite.c config.h $(htslib_hts_h) misc/wgsim.o: misc/wgsim.c config.h version.h $(htslib_kseq_h) misc/wgsim.o: misc/wgsim.c config.h version.h $(htslib_kseq_h) $(htslib_hts_os_h) misc/maq2sam-short.o: misc/maq2sam.c config.h version.h $(CC) $(CFLAGS) $(ALL_CPPFLAGS) -c -o $@ misc/maq2sam.c Loading
NEWS +109 −0 Original line number Diff line number Diff line Release 1.9 (18th July 2018) ---------------------------- * Samtools mpileup VCF and BCF output is now deprecated. It is still functional, but will warn. Please use bcftools mpileup instead. (#884) * Samtools mpileup now handles the '-d' max_depth option differently. There is no longer an enforced minimum, and '-d 0' is interpreted as limitless (no maximum - warning this may be slow). The default per-file depth is now 8000, which matches the value mpileup used to use when processing a single sample. To get the previous default behaviour use the higher of 8000 divided by the number of samples across all input files, or 250. (#859) * Samtools stats new features: - The '--remove-overlaps' option discounts overlapping portions of templates when computing coverage and mapped base counting. (#855) - When a target file is in use, the number of bases inside the target is printed and the percentage of target bases with coverage above a given threshold specified by the '--cov-threshold' option. (#855) - Split base composition and length statistics by first and last reads. (#814, #816) * Samtools faidx new features: - Now takes long options. (#509, thanks to Pierre Lindenbaum) - Now warns about zero-length and truncated sequences due to the requested range being beyond the end of the sequence. (#834) - Gets a new option (--continue) that allows it to carry on when a requested sequence was not in the index. (#834) - It is now possible to supply the list of regions to output in a text file using the new '--region-file' option. (#840) - New '-i' option to make faidx return the reverse complement of the regions requested. (#878) - faidx now works on FASTQ (returning FASTA) and added a new fqidx command to index and return FASTQ. (#852) * Samtools collate now has a fast option '-f' that only operates on primary pairs, dropping secondary and supplementary. It tries to write pairs to the final output file as soon as both reads have been found. (#818) * Samtools bedcov gets a new '-j' option to make it ignore deletions (D) and reference skips (N) when computing coverage. (#843) * Small speed up to samtools coordinate sort, by converting it to use radix sort. (#835, thanks to Zhuravleva Aleksandra) * Samtools idxstats now works on SAM and CRAM files, however this isn't fast due to some information lacking from indices. (#832) * Compression levels may now be specified with the level=N output-fmt-option. E.g. with -O bam,level=3. * Various documentation improvements. * Bug-fixes: - Improved error reporting in several places. (#827, #834, #877, cd7197) - Various test improvements. - Fixed failures in the multi-region iterator (view -M) when regions provided via BED files include overlaps (#819, reported by Dave Larson). - Samtools stats now counts '=' and 'X' CIGAR operators when counting mapped bases. (#855) - Samtools stats has fixes for insert size filtering (-m, -i). (#845; #697 reported by Soumitra Pal) - Samtools stats -F now longer negates an earlier -d option. (#830) - Fix samtools stats crash when using a target region. (#875, reported by John Marshall) - Samtools sort now keeps to a single thread when the -@ option is absent. Previously it would spawn a writer thread, which could cause the CPU usage to go slightly over 100%. (#833, reported by Matthias Bernt) - Fixed samtools phase '-A' option which was incorrectly defined to take a parameter. (#850; #846 reported by Dianne Velasco) - Fixed compilation problems when using C_INCLUDE_PATH. (#870; #817 reported by Robert Boissy) - Fixed --version when built from a Git repository. (#844, thanks to John Marshall) - Use noenhanced mode for title in plot-bamstats. Prevents unwanted interpretation of characters like underscore in gnuplot version 5. (#829, thanks to M. Zapukhlyak) - blast2sam.pl now reports perfect match hits (no indels or mismatches). (#873, thanks to Nils Homer) - Fixed bug in fasta and fastq subcommands where stdout would not be flushed correctly if the -0 option was used. - Fixed invalid memory access in mpileup and depth on alignment records where the sequence is absent. Release 1.8 (3rd April 2018) ---------------------------- Loading
README +49 −2 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ Building samtools The typical simple case of building Samtools using the HTSlib bundled within this Samtools release tarball is done as follows: cd .../samtools-1.8 # Within the unpacked release directory cd .../samtools-1.9 # Within the unpacked release directory ./configure make Loading @@ -21,7 +21,7 @@ install samtools etc properly into a directory of your choosing. Building for installation using the HTSlib bundled within this Samtools release tarball, and building the various HTSlib utilities such as bgzip is done as follows: cd .../samtools-1.8 # Within the unpacked release directory cd .../samtools-1.9 # Within the unpacked release directory ./configure --prefix=/path/to/location make all all-htslib make install install-htslib Loading @@ -30,6 +30,53 @@ You will likely wish to add /path/to/location/bin to your $PATH. See INSTALL for full building and installation instructions and details. Building with HTSlib plug-in support ==================================== Enabling plug-ins causes some parts of HTSlib to be built as separate modules. There are two advantages to this: * The static library libhts.a has fewer dependencies, which makes linking third-party code against it easier. * It is possible to build extra plug-ins in addition to the ones that are bundled with HTSlib. For example, the hts-plugins repository <https://github.com/samtools/htslib-plugins> includes a module that allows direct access to files stored in an iRODS data management repository (see <https://irods.org/>). To build with plug-ins, you need to use the --enable-plugins configure option as follows: cd .../samtools-1.9 # Within the unpacked release directory ./configure --enable-plugins --prefix=/path/to/location make all all-htslib make install install-htslib There are two other configure options that affect plug-ins. These are: --with-plugin-dir=DIR plug-in installation location --with-plugin-path=PATH default plug-in search path The default for --with-plugin-dir is <prefix>/libexec/htslib. --with-plugin-path sets the built-in search path used to find the plug-ins. By default this is the directory set by the --with-plugin-dir option. Multiple directories should be separated by colons. Setting --with-plugin-path is useful if you want to run directly from the source distribution instead of installing the package. In that case you can use: cd .../samtools-1.9 # Within the unpacked release directory ./configure --enable-plugins --with-plugin-path=$PWD/htslib-1.9 make all all-htslib It is possible to override the built-in search path using the HTS_PATH environment variable. Directories should be separated by colons. To include the built-in path, add an empty entry to HTS_PATH: export HTS_PATH=:/my/path # Search built-in path first export HTS_PATH=/my/path: # Search built-in path last export HTS_PATH=/my/path1::/my/path2 # Search built-in path between others Using an optimised zlib library =============================== Loading