academic/samtools: Updated for version 1.9 + new maintainer.

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
Rob van Nues 2018-12-31 08:30:54 +07:00 committed by Willy Sudiarto Raharjo
parent cc1fa6dad0
commit 01f09cbeec
No known key found for this signature in database
GPG key ID: 887B8374D7333381
5 changed files with 69 additions and 97 deletions

View file

@ -1,22 +1,11 @@
SAM (Sequence Alignment/Map) format is a generic format for storing
large nucleotide sequence alignments. SAM aims to be a format that:
Prior to the introduction of HTSlib, SAMtools and BCFtools were distributed
in a single samtools-0.1.x package.
This old version remains available from SBo as samtools-legacy
- Is flexible enough to store all the alignment information generated
by various alignment programs
- Is simple enough to be easily generated by alignment programs or
converted from existing alignment formats
- Is compact in file size
- Allows most of operations on the alignment to work on a stream
without loading the whole alignment into memory
- Allows the file to be indexed by genomic position to efficiently
retrieve all reads aligning to a locus.
Samtools is now distributed as an individual package.
Installation is set up so that the code uses an external HTSlib (also at SBo).
Although deprecated upstream, in the case that people need parts of samtools-legacy
(e.g header files or libbam) these can be installed from this package by modifying
the samtools.Slackbuild.
SAM Tools provide various utilities for manipulating alignments in the
SAM format, including sorting, merging, indexing and generating
alignments in a per-position format.
Publication:
Li H.*, Handsaker B.*, Wysoker A., Fennell T., Ruan J., Homer N.,
Marth G., Abecasis G., Durbin R. and 1000 Genome Project Data
Processing Subgroup (2009) The Sequence alignment/map (SAM) format and
SAMtools. Bioinformatics, 25, 2078-9. [PMID: 19505943]
Note that the sam.h of htslib differs from sam.h coming with samtools.

View file

@ -1,5 +0,0 @@
Publication:
Li H.*, Handsaker B.*, Wysoker A., Fennell T., Ruan J., Homer N.,
Marth G., Abecasis G., Durbin R. and 1000 Genome Project Data
Processing Subgroup (2009) The Sequence alignment/map (SAM) format and
SAMtools. Bioinformatics, 25, 2078-9. [PMID: 19505943]

View file

@ -3,7 +3,7 @@
# Slackware build script for samtools
# Copyright 2013-2016 Petar Petrov slackalaxy@gmail.com
# All rights reserved.
# Copyright 2017-2018 Rob van Nues # All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
@ -22,17 +22,26 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# With help about the install paths from Arch Linux AUR:
# https://aur.archlinux.org/packages/sa/samtools/PKGBUILD
PRGNAM=samtools
VERSION=${VERSION:-0.1.19}
PRGNAM=samtools
VERSION=${VERSION:-1.9}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
# Some applications still rely on the legacy samtools API instead of using htslib
# exclusively, in that case, install the headers in /usr/include/bam and the static
# libbam library as well by declaring (uncommenting):
#SAMLIB="yes"
# and commenting out:
SAMLIB="no"
# WARNING: this package and htslib both provide a "sam.h" that aren't actually
# compatible with each other. Be extra careful about which file you're actually
# #including when using either of these packages for development work.
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
@ -43,8 +52,8 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
@ -58,7 +67,6 @@ else
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
@ -70,51 +78,23 @@ find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# Use our CFLAGS/CXXFLAGS
sed -i "/^C.*.*FLAGS/s/=/+=/" Makefile
# force linking to installed htslib
rm -r htslib-$VERSION
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--with-htslib=system \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--build=$ARCH-slackware-linux
make
make razip
# Install samtools, razip and bam library
install -D -m755 samtools $PKG/usr/bin/samtools
install -D -m755 razip $PKG/usr/bin/razip
install -D -m644 libbam.a $PKG/usr/lib${LIBDIRSUFFIX}/libbam.a
# Install bcftools its library and vsfutils
cd bcftools
install -D -m755 bcftools $PKG/usr/bin/bcftools
install -D -m644 libbcf.a $PKG/usr/lib${LIBDIRSUFFIX}/libbcf.a
install -D -m755 vcfutils.pl $PKG/usr/bin/vcfutils.pl
# Include additional executables
cd ../misc
install -D -m755 ace2sam $PKG/usr/libexec/$PRGNAM/ace2sam
install -D -m755 bamcheck $PKG/usr/libexec/$PRGNAM/bamcheck
install -D -m755 maq2sam-long $PKG/usr/libexec/$PRGNAM/maq2sam-long
install -D -m755 maq2sam-short $PKG/usr/libexec/$PRGNAM/maq2sam-short
install -D -m755 md5fa $PKG/usr/libexec/$PRGNAM/md5fa
install -D -m755 md5sum-lite $PKG/usr/libexec/$PRGNAM/md5sum-lite
install -D -m755 wgsim $PKG/usr/libexec/$PRGNAM/wgsim
# Include some scripts
mkdir -p $PKG/usr/share/$PRGNAM
cp -a \
*.pl *.lua *.py plot-bamcheck \
$PKG/usr/share/$PRGNAM
# Include bam header files
cd ..
mkdir -p $PKG/usr/include/bam
for f in *.h ; do
install -m644 $f "$PKG/usr/include/bam"
done
# Install manpage
install -D -m644 $PRGNAM.1 $PKG/usr/man/man1/$PRGNAM.1
make install DESTDIR=$PKG
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
@ -124,18 +104,26 @@ for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; r
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
AUTHORS COPYING INSTALL NEWS \
AUTHORS LICENSE README INSTALL NEWS examples \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
cat $CWD/References > $PKG/usr/doc/$PRGNAM-$VERSION/References
# Fix permissions in the package...
find $PKG/usr/{doc,include,share} \
-type d -exec chmod 755 {} \; -o \
-type f -exec chmod 644 {} \;
mkdir -p $PKG/usr/share/$PRGNAM-$VERSION
cp -a \
misc/*.lua \
$PKG/usr/share/$PRGNAM-$VERSION
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
# include samtools-API if set above
if [ "$SAMLIB" = "yes" ] ; then
mkdir -p $PKG/usr/include/bam
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}
install -m644 libbam.a "$PKG/usr/lib${LIBDIRSUFFIX}"
install -m644 *.h "$PKG/usr/include/bam"
fi
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View file

@ -1,10 +1,10 @@
PRGNAM="samtools"
VERSION="0.1.19"
HOMEPAGE="http://samtools.sourceforge.net/"
DOWNLOAD="http://sourceforge.net/projects/samtools/files/samtools/0.1.19/samtools-0.1.19.tar.bz2"
MD5SUM="ff8b46e6096cfb452003b1ec5091d86a"
VERSION="1.9"
HOMEPAGE="http://www.htslib.org"
DOWNLOAD="https://github.com/samtools/samtools/releases/download/1.9/samtools-1.9.tar.bz2"
MD5SUM="cca9a40d9b91b007af2ff905cb8b5924"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="Petar Petrov"
EMAIL="slackalaxy@gmail.com"
REQUIRES="htslib"
MAINTAINER="Rob van Nues"
EMAIL="sborg63@disroot.org"

View file

@ -8,12 +8,12 @@
|-----handy-ruler------------------------------------------------------|
samtools: samtools (Sequence Alignment/Map Tools)
samtools:
samtools: AM (Sequence Alignment/Map) format is a generic format for
samtools: storing large nucleotide sequence alignments. SAM Tools provide
samtools: various utilities for manipulating alignments in the SAM format,
samtools: including sorting, merging, indexing and generating alignments
samtools: in a per-position format.
samtools:
samtools: Home: http://samtools.sourceforge.net/
samtools: References: /usr/doc/samtools-0.1.19/References
samtools: SAM (Sequence Alignment/Map) format is a generic format for
samtools: storing large nucleotide sequence alignments. The original samtools
samtools: package has been split into three separate but tightly coordinated
samtools: projects: htslib (C-library for handling high-throughput sequencing
samtools: data); samtools (for handling SAM, BAM, CRAM) and bcftools (for
samtools: handling VCF, BCF). Both samtools and bcftools are set up to use
samtools: system-wide installed hstlib sources.
samtools: Home: http://www.htslib.org
samtools: