aboutsummaryrefslogtreecommitdiffstats
path: root/biology
diff options
context:
space:
mode:
authorpi <pi@FreeBSD.org>2015-06-06 05:01:13 +0800
committerpi <pi@FreeBSD.org>2015-06-06 05:01:13 +0800
commit245db2b6753175119e545177c981afa23ed787e8 (patch)
tree82351b9c81ea269e5de45de968de978576a18361 /biology
parentd34b0bacaa09268af2049565350009a2ddf082d9 (diff)
downloadfreebsd-ports-gnome-245db2b6753175119e545177c981afa23ed787e8.tar.gz
freebsd-ports-gnome-245db2b6753175119e545177c981afa23ed787e8.tar.zst
freebsd-ports-gnome-245db2b6753175119e545177c981afa23ed787e8.zip
New port: biology/bcftools
BCFtools is a set of utilities that manipulate variant calls in the Variant Call Format (VCF) and its binary counterpart BCF. All commands work transparently with both VCFs and BCFs, both uncompressed and BGZF-compressed. WWW: http://www.htslib.org/ PR: 199747 Submitted by: cartwright@asu.edu
Diffstat (limited to 'biology')
-rw-r--r--biology/Makefile1
-rw-r--r--biology/bcftools/Makefile48
-rw-r--r--biology/bcftools/distinfo2
-rw-r--r--biology/bcftools/files/patch-Makefile84
-rw-r--r--biology/bcftools/files/patch-plugins_fixploidy.mk7
-rw-r--r--biology/bcftools/files/patch-plugins_vcf2sex.mk7
-rw-r--r--biology/bcftools/files/patch-prob1.c17
-rw-r--r--biology/bcftools/files/pkg-message.in2
-rw-r--r--biology/bcftools/pkg-descr6
-rw-r--r--biology/bcftools/pkg-plist4
10 files changed, 178 insertions, 0 deletions
diff --git a/biology/Makefile b/biology/Makefile
index db904901b26d..7a81adec4fb3 100644
--- a/biology/Makefile
+++ b/biology/Makefile
@@ -7,6 +7,7 @@
SUBDIR += artemis
SUBDIR += avida
SUBDIR += babel
+ SUBDIR += bcftools
SUBDIR += biococoa
SUBDIR += biojava
SUBDIR += blat
diff --git a/biology/bcftools/Makefile b/biology/bcftools/Makefile
new file mode 100644
index 000000000000..c975da132524
--- /dev/null
+++ b/biology/bcftools/Makefile
@@ -0,0 +1,48 @@
+# Created by: Reed A. Cartwright <cartwright@asu.edu>
+# $FreeBSD$
+
+PORTNAME= bcftools
+PORTVERSION= 1.2
+CATEGORIES= biology
+
+MAINTAINER= cartwright@asu.edu
+COMMENT= Tools for manipulating next-generation sequencing data
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= htslib>=1.2:${PORTSDIR}/biology/htslib
+LIB_DEPENDS= libhts.so:${PORTSDIR}/biology/htslib
+
+USE_GITHUB= yes
+GH_ACCOUNT= samtools
+
+USES= gmake shebangfix
+SUB_FILES= pkg-message
+SHEBANG_FILES= vcfutils.pl
+
+OPTIONS_DEFINE= GPL
+GPL_DESC= Enable modules that rely on GPL code
+OPTIONS_DEFAULT= GPL
+
+GPL_LIB_DEPENDS= libgsl.so:${PORTSDIR}/math/gsl
+
+.include <bsd.port.options.mk>
+
+CPPFLAGS+= -I${LOCALBASE}/include
+LDFLAGS+= -L${LOCALBASE}/lib
+
+MAKE_ENV= INSTALL_LIB="${INSTALL_LIB}" \
+ INSTALL_DATA="${INSTALL_DATA}" \
+ INSTALL_PROGRAM="${INSTALL_PROGRAM}" \
+ INSTALL_SCRIPT="${INSTALL_SCRIPT}" \
+ INSTALL_DIR="${MKDIR}"
+
+.if ${PORT_OPTIONS:MGPL}
+MAKE_ENV+= USE_GPL=1
+LICENSE= GPLv3
+.endif
+
+PLIST_SUB= PORTVERSION="${PORTVERSION}"
+
+.include <bsd.port.mk>
diff --git a/biology/bcftools/distinfo b/biology/bcftools/distinfo
new file mode 100644
index 000000000000..6a97be056ff3
--- /dev/null
+++ b/biology/bcftools/distinfo
@@ -0,0 +1,2 @@
+SHA256 (samtools-bcftools-1.2_GH0.tar.gz) = 90ccd7dccfb0b2848b71f32fff073c420260e857b7feeb89c1fb4bfaba49bfba
+SIZE (samtools-bcftools-1.2_GH0.tar.gz) = 511625
diff --git a/biology/bcftools/files/patch-Makefile b/biology/bcftools/files/patch-Makefile
new file mode 100644
index 000000000000..a0bf28174b0f
--- /dev/null
+++ b/biology/bcftools/files/patch-Makefile
@@ -0,0 +1,84 @@
+--- Makefile.orig 2015-02-02 15:40:17 UTC
++++ Makefile
+@@ -29,14 +29,13 @@ TEST_PROG= test/test-rbuf
+ all: $(PROG) $(TEST_PROG)
+
+ # Adjust $(HTSDIR) to point to your top-level htslib directory
+-HTSDIR = ../htslib
+-include $(HTSDIR)/htslib.mk
+-HTSLIB = $(HTSDIR)/libhts.a
++HTSDIR = $(prefix)/include
++HTSLIB = -lhts
+ BGZIP = $(HTSDIR)/bgzip
+ TABIX = $(HTSDIR)/tabix
+
+-CC = gcc
+-CFLAGS = -g -Wall -Wc++-compat -O2
++CC ?= cc
++CFLAGS += -Wall
+ DFLAGS =
+ OBJS = main.o vcfindex.o tabix.o \
+ vcfstats.o vcfisec.o vcfmerge.o vcfquery.o vcffilter.o filter.o vcfsom.o \
+@@ -52,22 +51,15 @@ INCLUDES = -I. -I$(HTSDIR)
+ ifdef USE_GPL
+ CFLAGS += -DUSE_GPL
+ OBJS += polysomy.o
+- LDLIBS = -lgsl -lcblas
++ LDLIBS += -lgsl -lgslcblas
+ endif
+
+-prefix = /usr/local
++prefix = ${STAGEDIR}${PREFIX}
+ exec_prefix = $(prefix)
+ bindir = $(exec_prefix)/bin
+-mandir = $(prefix)/share/man
++mandir = $(prefix)/man
+ man1dir = $(mandir)/man1
+
+-MKDIR_P = mkdir -p
+-INSTALL = install -p
+-INSTALL_PROGRAM = $(INSTALL)
+-INSTALL_DATA = $(INSTALL) -m 644
+-INSTALL_DIR = $(MKDIR_P) -m 755
+-
+-
+ all:$(PROG) plugins
+
+ # See htslib/Makefile
+@@ -102,8 +94,8 @@ PLUGINC = $(foreach dir, plugins, $(wild
+ PLUGINS = $(PLUGINC:.c=.so)
+ PLUGINM = $(PLUGINC:.c=.mk)
+
+-%.so: %.c version.h version.c $(HTSDIR)/libhts.so
+- $(CC) $(CFLAGS) $(INCLUDES) -fPIC -shared -o $@ version.c $< -L$(HTSDIR) -lhts
++%.so: %.c version.h version.c
++ $(CC) $(CFLAGS) $(LDFLAGS) $(INCLUDES) -fPIC -shared -o $@ version.c $< -lhts
+
+ -include $(PLUGINM)
+
+@@ -156,10 +148,10 @@ version.o: version.h version.c
+ test/test-rbuf.o: test/test-rbuf.c rbuf.h
+
+ test/test-rbuf: test/test-rbuf.o
+- $(CC) $(CFLAGS) -o $@ -lm -ldl $<
++ $(CC) $(CFLAGS) -o $@ -lm $<
+
+-bcftools: $(HTSLIB) $(OBJS)
+- $(CC) $(CFLAGS) -o $@ $(OBJS) $(HTSLIB) -lpthread -lz -lm -ldl $(LDLIBS)
++bcftools: $(OBJS)
++ $(CC) -pthread $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(HTSLIB) -lz -lm $(LDLIBS)
+
+ doc/bcftools.1: doc/bcftools.txt
+ cd doc && a2x -adate="$(DOC_DATE)" -aversion=$(DOC_VERSION) --doctype manpage --format manpage bcftools.txt
+@@ -170,8 +162,9 @@ doc/bcftools.html: doc/bcftools.txt
+ docs: doc/bcftools.1 doc/bcftools.html
+
+ install: $(PROG) doc/bcftools.1
+- $(INSTALL_DIR) $(DESTDIR)$(bindir) $(DESTDIR)$(man1dir)
+- $(INSTALL_PROGRAM) $(PROG) plot-vcfstats vcfutils.pl $(DESTDIR)$(bindir)
++ $(INSTALL_DIR) $(DESTDIR)$(bindir) $(DESTDIR)$(bindir)/samtools_misc $(DESTDIR)$(man1dir)
++ $(INSTALL_PROGRAM) $(PROG) $(DESTDIR)$(bindir)
++ $(INSTALL_SCRIPT) plot-vcfstats vcfutils.pl $(DESTDIR)$(bindir)/samtools_misc
+ $(INSTALL_DATA) doc/bcftools.1 $(DESTDIR)$(man1dir)
+
+ clean: testclean clean-plugins
diff --git a/biology/bcftools/files/patch-plugins_fixploidy.mk b/biology/bcftools/files/patch-plugins_fixploidy.mk
new file mode 100644
index 000000000000..909de819997d
--- /dev/null
+++ b/biology/bcftools/files/patch-plugins_fixploidy.mk
@@ -0,0 +1,7 @@
+--- plugins/fixploidy.mk.orig 2015-02-02 15:40:17 UTC
++++ plugins/fixploidy.mk
+@@ -1,2 +1,2 @@
+-plugins/fixploidy.so: plugins/fixploidy.c version.h version.c ploidy.h ploidy.c $(HTSDIR)/libhts.so
+- $(CC) $(CFLAGS) $(INCLUDES) -fPIC -shared -o $@ ploidy.c version.c $< -L$(HTSDIR) -lhts
++plugins/fixploidy.so: plugins/fixploidy.c version.h version.c ploidy.h ploidy.c
++ $(CC) $(CFLAGS) $(LDFLAGS) $(INCLUDES) -fPIC -shared -o $@ ploidy.c version.c $< -lhts
diff --git a/biology/bcftools/files/patch-plugins_vcf2sex.mk b/biology/bcftools/files/patch-plugins_vcf2sex.mk
new file mode 100644
index 000000000000..15619f0661db
--- /dev/null
+++ b/biology/bcftools/files/patch-plugins_vcf2sex.mk
@@ -0,0 +1,7 @@
+--- plugins/vcf2sex.mk.orig 2015-02-02 15:40:17 UTC
++++ plugins/vcf2sex.mk
+@@ -1,2 +1,2 @@
+-plugins/vcf2sex.so: plugins/vcf2sex.c version.h version.c ploidy.h ploidy.c $(HTSDIR)/libhts.so
+- $(CC) $(CFLAGS) $(INCLUDES) -fPIC -shared -o $@ ploidy.c version.c $< -L$(HTSDIR) -lhts
++plugins/vcf2sex.so: plugins/vcf2sex.c version.h version.c ploidy.h ploidy.c
++ $(CC) $(CFLAGS) $(LDFLAGS) $(INCLUDES) -fPIC -shared -o $@ ploidy.c version.c $< -lhts
diff --git a/biology/bcftools/files/patch-prob1.c b/biology/bcftools/files/patch-prob1.c
new file mode 100644
index 000000000000..334d1bd37e23
--- /dev/null
+++ b/biology/bcftools/files/patch-prob1.c
@@ -0,0 +1,17 @@
+--- prob1.c.orig 2015-04-28 01:28:23 UTC
++++ prob1.c
+@@ -33,6 +33,14 @@ THE SOFTWARE. */
+ #include <zlib.h>
+ #include "prob1.h"
+
++#include <sys/param.h>
++#ifdef __FreeBSD__
++# if __FreeBSD_version < 1000034
++# define logl(x) log(x)
++# define expl(x) exp(x)
++# endif
++#endif
++
+ // #include "kstring.h"
+ // #include "kseq.h"
+ // KSTREAM_INIT(gzFile, gzread, 16384)
diff --git a/biology/bcftools/files/pkg-message.in b/biology/bcftools/files/pkg-message.in
new file mode 100644
index 000000000000..27c8cb9c4c51
--- /dev/null
+++ b/biology/bcftools/files/pkg-message.in
@@ -0,0 +1,2 @@
+
+Add %%PREFIX%%/bin/samtools_misc to your path to use miscellaneous tools.
diff --git a/biology/bcftools/pkg-descr b/biology/bcftools/pkg-descr
new file mode 100644
index 000000000000..1ef4040b27d7
--- /dev/null
+++ b/biology/bcftools/pkg-descr
@@ -0,0 +1,6 @@
+BCFtools is a set of utilities that manipulate variant calls in the
+Variant Call Format (VCF) and its binary counterpart BCF. All
+commands work transparently with both VCFs and BCFs, both
+uncompressed and BGZF-compressed.
+
+WWW: http://www.htslib.org/
diff --git a/biology/bcftools/pkg-plist b/biology/bcftools/pkg-plist
new file mode 100644
index 000000000000..0098a1c9afb0
--- /dev/null
+++ b/biology/bcftools/pkg-plist
@@ -0,0 +1,4 @@
+bin/bcftools
+bin/samtools_misc/plot-vcfstats
+bin/samtools_misc/vcfutils.pl
+man/man1/bcftools.1.gz