Skip to content

Commit

Permalink
Release 1.11
Browse files Browse the repository at this point in the history
  • Loading branch information
valeriuo committed Sep 22, 2020
2 parents cfeaafb + 7d8d0cf commit df43fd4
Show file tree
Hide file tree
Showing 245 changed files with 8,204 additions and 1,729 deletions.
11 changes: 6 additions & 5 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,11 @@ addons:
# For MacOSX systems
before_install:
- |
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
brew update && \
brew install xz gsl
fi
# Removing GSL dependant parts as they are not tested anyway
# if [ "$TRAVIS_OS_NAME" == "osx" ]; then
# brew update && \
# brew install xz gsl
# fi
before_script:
# Clone samtools/htslib (or another repository, as specified by a Travis CI
Expand All @@ -60,7 +61,7 @@ script: |
if test "$USE_CONFIG" = "yes"; then
( cd "$HTSDIR" && autoreconf ) && \
autoreconf && \
./configure --enable-libgsl && \
./configure && \
make && \
make test
else
Expand Down
72 changes: 62 additions & 10 deletions INSTALL
Original file line number Diff line number Diff line change
@@ -1,3 +1,31 @@
For the impatient
=================

The latest source code can be downloaded from github and compiled using:

git clone git://github.com/samtools/htslib.git
git clone git://github.com/samtools/bcftools.git
cd bcftools
# The following is optional:
# autoheader && autoconf && ./configure --enable-libgsl --enable-perl-filters
make


IMPORTANT:
---
In order to use the BCFtools plugins, this environment variable must be set and point
to the correct location

export BCFTOOLS_PLUGINS=/path/to/bcftools/plugins

---

Note that if also the polysomy command or support for Perl filtering should be included,
the compilation instructions differ, see Optional Compilation with GSL and Optional
Compilation with Perl below.



System Requirements
===================

Expand All @@ -20,9 +48,9 @@ BCFtools and HTSlib depend on the following libraries:
(optional, for Amazon S3 support; not needed on MacOS)

Building them requires development files to be installed on the build machine;
note that some Linux distributions package these separately from the library
itself. See the "System Specific Details" below for guidance on how to install
these on a variety of systems.
note that MacOS and some Linux distributions package these separately from the
library itself. See the "System Specific Details" below for guidance on how to
install these on a variety of systems.

The bzip2 and liblzma dependencies can be removed if full CRAM support
is not needed - see HTSlib's INSTALL file for details.
Expand Down Expand Up @@ -61,7 +89,7 @@ If you have a full GNU autotools install, you can alternatively run:
autoreconf

Warnings like "AC_CONFIG_SUBDIRS: you should use literals" can be ignored
or supressed using 'autoconf -Wno-syntax'.
or suppressed using 'autoconf -Wno-syntax'.


Compilation
Expand All @@ -72,12 +100,14 @@ Compilation
./configure
make

This BCFtools release contains a copy of HTSlib which will be used to build
BCFtools. If you already have a system-installed HTSlib or another HTSlib
that you would prefer to build against, you can arrange this by using the
configure script's --with-htslib option. Use --with-htslib=DIR to point
to an HTSlib source tree or installation in DIR; or --with-htslib=system
to use a system-installed HTSlib.
If installing from a tarballs (as opposed form github), BCFtools release
contains a copy of HTSlib which will be used to build BCFtools. If you
already have a system-installed HTSlib or another HTSlib that you would
prefer to build against, you can arrange this by using the configure script's
--with-htslib option. Use --with-htslib=DIR to point to an HTSlib source tree
or installation in DIR; or --with-htslib=system to use a system-installed HTSlib.
When downloaded from github and --with-htslib option is not given, the directory
../htslib is used.


Optional Compilation with Perl
Expand All @@ -89,6 +119,16 @@ sophisticated filtering. This option can be enabled by supplying the

./configure --enable-perl-filters

Note that enabling this option changes the license from MIT to GPL because bcftools
need to be built with

perl -MExtUtils::Embed -e ccopts -e ldopts

Note that when compiling on MacOS, the default options for linking with Perl
provided by the system sometimes do not work. It was reported that removing
the occurrence of -arch i386 from config.mk solved the problem.


Optional Compilation with GSL
=============================

Expand Down Expand Up @@ -136,6 +176,7 @@ by copying bcftools-1.x/htslib-1.x/{bgzip,tabix} to the same bin directory
to which you have installed bcftools et al.



System Specific Details
=======================

Expand Down Expand Up @@ -166,10 +207,21 @@ sudo yum install autoconf automake make gcc perl-Data-Dumper zlib-devel bzip2 bz
Alpine Linux
------------

Note: To install gsl-dev, it may be necessary to enable the "community"
repository in /etc/apk/repositories.

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 gsl-dev perl-dev

OpenSUSE
--------

sudo zypper install autoconf automake make gcc perl zlib-devel libbz2-devel xz-devel libcurl-devel libopenssl-devel gsl-devel


MacOS, assuming Xcode is installed:
-----
xz
gsl (optional)


19 changes: 13 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ OBJS = main.o vcfindex.o tabix.o \
vcfcnv.o HMM.o consensus.o ploidy.o bin.o hclust.o version.o \
regidx.o smpl_ilist.o csq.o vcfbuf.o \
mpileup.o bam2bcf.o bam2bcf_indel.o bam_sample.o \
vcfsort.o cols.o \
vcfsort.o cols.o extsort.o \
ccall.o em.o prob1.o kmin.o # the original samtools calling
PLUGIN_OBJS = vcfplugin.o

Expand Down Expand Up @@ -69,6 +69,7 @@ INSTALL_SCRIPT = $(INSTALL_PROGRAM)
PROGRAMS = bcftools
MISC_SCRIPTS = \
misc/color-chrs.pl \
misc/gff2gff.py \
misc/guess-ploidy.py \
misc/plot-vcfstats \
misc/plot-roh.py \
Expand Down Expand Up @@ -103,7 +104,7 @@ endif

include config.mk

PACKAGE_VERSION = 1.10.2
PACKAGE_VERSION = 1.11

# If building from a Git repository, replace $(PACKAGE_VERSION) with the Git
# description of the working tree: either a release tag with the same value
Expand Down Expand Up @@ -136,7 +137,7 @@ print-version:
$(CC) $(CFLAGS) $(ALL_CPPFLAGS) $(EXTRA_CPPFLAGS) -c -o $@ $<

# The polysomy command is not compiled by default because it brings dependency
# on libgsl. The command can be compiled wth `make USE_GPL=1`. See the INSTALL
# on libgsl. The command can be compiled with `make USE_GPL=1`. See the INSTALL
# and LICENSE documents to understand license implications.
ifdef USE_GPL
main.o : EXTRA_CPPFLAGS += -DUSE_GPL
Expand Down Expand Up @@ -176,8 +177,13 @@ PLUGIN_LIBS = $(W32_PLUGIN_LIBS)
DL_LIBS =
else
PLUGIN_FLAGS = -fPIC -shared
ifeq "$(PLATFORM)" "default"
# Configure was used and has already added -ldl to $(LIBS) if necessary
DL_LIBS =
else
DL_LIBS = -ldl
endif
endif

libbcftools.a: $(OBJS)
@-rm -f $@
Expand Down Expand Up @@ -207,7 +213,7 @@ test check: test-no-plugins
endif # PLUGINS_ENABLED

bcftools: $(OBJS) $(HTSLIB)
$(CC) $(DYNAMIC_FLAGS) -pthread $(ALL_LDFLAGS) -o $@ $(OBJS) $(HTSLIB_LIB) -lm $(ALL_LIBS) $(GSL_LIBS) $(PERL_LIBS)
$(CC) $(DYNAMIC_FLAGS) $(ALL_LDFLAGS) -o $@ $(OBJS) $(HTSLIB_LIB) -lm $(ALL_LIBS) $(GSL_LIBS) $(PERL_LIBS) -lpthread

plugins: $(PLUGINS)

Expand All @@ -233,7 +239,7 @@ vcfcall.o: vcfcall.c $(htslib_vcf_h) $(htslib_kfunc_h) $(htslib_synced_bcf_reade
vcfconcat.o: vcfconcat.c $(htslib_vcf_h) $(htslib_synced_bcf_reader_h) $(htslib_kseq_h) $(htslib_bgzf_h) $(htslib_tbx_h) $(htslib_thread_pool_h) $(bcftools_h)
vcfconvert.o: vcfconvert.c $(htslib_faidx_h) $(htslib_vcf_h) $(htslib_bgzf_h) $(htslib_synced_bcf_reader_h) $(htslib_vcfutils_h) $(htslib_kseq_h) $(bcftools_h) $(filter_h) $(convert_h) $(tsv2vcf_h)
vcffilter.o: vcffilter.c $(htslib_vcf_h) $(htslib_synced_bcf_reader_h) $(htslib_vcfutils_h) $(bcftools_h) $(filter_h) rbuf.h
vcfgtcheck.o: vcfgtcheck.c $(htslib_vcf_h) $(htslib_synced_bcf_reader_h) $(htslib_vcfutils_h) $(bcftools_h) hclust.h
vcfgtcheck.o: vcfgtcheck.c $(htslib_vcf_h) $(htslib_synced_bcf_reader_h) $(htslib_vcfutils_h) $(htslib_kbitset_h) $(bcftools_h) extsort.h
vcfindex.o: vcfindex.c $(htslib_vcf_h) $(htslib_tbx_h) $(htslib_kstring_h) $(htslib_bgzf_h) $(bcftools_h)
vcfisec.o: vcfisec.c $(htslib_vcf_h) $(htslib_synced_bcf_reader_h) $(htslib_vcfutils_h) $(htslib_hts_os_h) $(bcftools_h) $(filter_h)
vcfmerge.o: vcfmerge.c $(htslib_vcf_h) $(htslib_synced_bcf_reader_h) $(htslib_vcfutils_h) $(htslib_faidx_h) regidx.h $(bcftools_h) vcmp.h $(htslib_khash_h)
Expand All @@ -248,7 +254,7 @@ vcfview.o: vcfview.c $(htslib_vcf_h) $(htslib_synced_bcf_reader_h) $(htslib_vcfu
reheader.o: reheader.c $(htslib_vcf_h) $(htslib_bgzf_h) $(htslib_tbx_h) $(htslib_kseq_h) $(htslib_thread_pool_h) $(htslib_faidx_h) $(htslib_khash_str2int_h) $(bcftools_h) $(khash_str2str_h)
tabix.o: tabix.c $(htslib_bgzf_h) $(htslib_tbx_h)
ccall.o: ccall.c $(htslib_kfunc_h) $(call_h) kmin.h $(prob1_h)
convert.o: convert.c $(htslib_vcf_h) $(htslib_synced_bcf_reader_h) $(htslib_vcfutils_h) $(htslib_kfunc_h) $(bcftools_h) $(variantkey_h) $(convert_h)
convert.o: convert.c $(htslib_vcf_h) $(htslib_synced_bcf_reader_h) $(htslib_vcfutils_h) $(htslib_kfunc_h) $(bcftools_h) $(variantkey_h) $(convert_h) $(filter_h)
tsv2vcf.o: tsv2vcf.c $(tsv2vcf_h)
em.o: em.c $(htslib_vcf_h) kmin.h $(call_h)
filter.o: filter.c $(htslib_khash_str2int_h) $(htslib_hts_defs_h) $(htslib_vcfutils_h) $(htslib_kfunc_h) config.h $(filter_h) $(bcftools_h)
Expand All @@ -273,6 +279,7 @@ version.o: version.h version.c
hclust.o: hclust.c $(htslib_hts_h) $(htslib_kstring_h) $(bcftools_h) hclust.h
HMM.o: HMM.c $(htslib_hts_h) HMM.h
vcfbuf.o: vcfbuf.c $(htslib_vcf_h) $(htslib_vcfutils_h) $(bcftools_h) $(vcfbuf_h) rbuf.h
extsort.o: extsort.c $(bcftools_h) extsort.h kheap.h
smpl_ilist.o: smpl_ilist.c $(bcftools_h) $(smpl_ilist_h)
csq.o: csq.c $(htslib_hts_h) $(htslib_vcf_h) $(htslib_synced_bcf_reader_h) $(htslib_khash_h) $(htslib_khash_str2int_h) $(htslib_kseq_h) $(htslib_faidx_h) $(bcftools_h) $(filter_h) regidx.h kheap.h $(smpl_ilist_h) rbuf.h

Expand Down
Loading

0 comments on commit df43fd4

Please sign in to comment.