Skip to content

Commit

Permalink
Release 1.0: first htslib-based samtools release
Browse files Browse the repository at this point in the history
  • Loading branch information
jmarshall committed Aug 15, 2014
2 parents 48b4b70 + ad732cd commit 5370fe9
Show file tree
Hide file tree
Showing 335 changed files with 150,150 additions and 24,138 deletions.
15 changes: 10 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,14 +1,19 @@
*.o
.*.swp
*.a
*.dSYM
.DS_Store
/bcftools/bcftools
*~
/version.h

lib*.a

/bgzip
/misc/ace2sam
/misc/bamcheck
/misc/maq2sam-long
/misc/maq2sam-short
/misc/md5fa
/misc/md5sum-lite
/misc/wgsim
/samtools

/TAGS

core
12 changes: 11 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,14 @@ compiler:
- clang
- gcc

script: make CC=$CC
matrix:
include:
# An unoptimised C99 build, for detecting non-static inline functions
- compiler: gcc
env: CFLAGS="-std=gnu99 -O0"

before_script:
- git clone --depth=5 --branch=develop git://github.com/samtools/htslib.git
- export HTSDIR=./htslib

script: make -e && make -e test
10 changes: 4 additions & 6 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,12 @@ underlying indexable compression format for the BAM format. BGZF does
not support arithmetic between file offsets.

Jue Ruan for the Beijing Genome Institute designed and implemented the
RAZF format, an alternative indexable compression format. RAZF supports
arithmetic between file offsets, at the cost of increased index file
size and the full compatibility with gzip. RAZF is optional and only
used in `faidx' for indexing RAZF compressed fasta files.
RAZF format, an alternative indexable compression format. RAZF is no longer
used by or provided with SAMtools. Source code remains available in older
SAMtools 0.1.x releases and from the standalone branch in the repository.

Colin Hercus updated novo2sam.pl to support gapped alignment by
novoalign.

Petr Danecek contributed the header parsing library sam_header.c and
sam2vcf.pl script and added knet support to the RAZF library.

sam2vcf.pl script.
39 changes: 29 additions & 10 deletions INSTALL
Original file line number Diff line number Diff line change
@@ -1,30 +1,49 @@
System Requirements
===================

SAMtools depends on the zlib library <http://www.zlib.net>. Version 1.2.3+ is
preferred and with 1.2.3+ you can compile razip and use it to compress a FASTA
file. SAMtools' faidx is able to index a razip-compressed FASTA file to save
diskspace. Older zlib also works with SAMtools, but razip cannot be compiled.
Samtools and HTSlib depend on the zlib library <http://zlib.net>. Building
them requires zlib development files to be installed on the build machine;
you may need to ensure a package such as zlib1g-dev (on Debian or Ubuntu Linux)
or zlib-devel (on RPM/yum-based distributions) is installed.

SAMtools' faidx is able to index a bgzip-compressed FASTA file to save
diskspace.

The text-based viewer (tview) requires the GNU ncurses library
<http://www.gnu.org/software/ncurses/>, which comes with Mac OS X and most of
the modern Linux/Unix distributions. If you do not have this library installed,
you can still compile the rest of SAMtools by manually changing:
`-D_CURSES_LIB=1' to `-D_CURSES_LIB=0' at the line starting with `DFLAGS=', and
comment out the line starting with `LIBCURSES='.
Note that on some systems the library is available as -lcurses while on others
as -lnurses. This can be set in Makefile by setting LIBCURSES= -lcurses vs
-lncurses.


Compilation
===========

Type `make' to compile samtools. If you have zlib >= 1.2.2.1, you can compile
razip with `make razip'.
'cd' to the samtools-1.x directory containing the package's source and type
'make' to compile samtools.

This samtools release contains a copy of HTSlib which will be used to build
samtools. If you already have a system-installed HTSlib or another HTSlib
that you would prefer to build against, you can arrange this by overriding
$(HTSDIR) by typing 'make HTSDIR=/path/to/htslib-source' -- see the makefile
for details.


Installation
============

Copy `samtools', `bcftools/bcftools' and other executables/scripts in `misc' to
a location you want (e.g. a directory in your $PATH). You may also copy
`samtools.1' and `bcftools/bcftools.1' to a directory in your $MANPATH such
that the `man' command may find the manual.
Type 'make install' to install the samtools executable and various scripts
and executables from misc/ and a manual page to /usr/local.

Type 'make prefix=/path/to/dir install' to install everything under your
choice of installation directory. The install target also understands
DESTDIR and the other usual installation directory variables.

The bgzip and tabix utilities are provided by HTSlib. If you have not also
installed HTSlib separately, you may wish to install these utilities by hand
by copying samtools-1.x/htslib-1.x/{bgzip,tabix} to the same bin directory
to which you have installed samtools et al.
33 changes: 33 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
The MIT/Expat License

Copyright (C) 2008-2014 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
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.


[The use of a range of years within a copyright notice in this distribution
should be interpreted as being equivalent to a list of years including the
first and last year specified and all consecutive years between them.

For example, a copyright notice that reads "Copyright (C) 2005, 2007-2009,
2011-2012" should be interpreted as being identical to a notice that reads
"Copyright (C) 2005, 2007, 2008, 2009, 2011, 2012" and a copyright notice
that reads "Copyright (C) 2005-2012" should be interpreted as being identical
to a notice that reads "Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010,
2011, 2012".]

0 comments on commit 5370fe9

Please sign in to comment.