pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

famsa: Algorithm for large-scale multiple sequence alignments



Module Name:	pkgsrc-wip
Committed By:	Jason Bacon <bacon%NetBSD.org@localhost>
Pushed By:	outpaddling
Date:		Mon Nov 5 11:08:25 2018 -0600
Changeset:	3e8994d7d84bd1bcb85ca5e3cb89708c43511706

Modified Files:
	Makefile
Added Files:
	famsa/DESCR
	famsa/Makefile
	famsa/PLIST
	famsa/distinfo
	famsa/patches/patch-core_profile.h
	famsa/patches/patch-makefile

Log Message:
famsa: Algorithm for large-scale multiple sequence alignments

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=3e8994d7d84bd1bcb85ca5e3cb89708c43511706

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 Makefile                           |   1 +
 famsa/DESCR                        |   4 ++
 famsa/Makefile                     |  32 ++++++++++
 famsa/PLIST                        |   2 +
 famsa/distinfo                     |   8 +++
 famsa/patches/patch-core_profile.h |  30 +++++++++
 famsa/patches/patch-makefile       | 122 +++++++++++++++++++++++++++++++++++++
 7 files changed, 199 insertions(+)

diffs:
diff --git a/Makefile b/Makefile
index ff4fa7b8f8..7d2da77ab6 100644
--- a/Makefile
+++ b/Makefile
@@ -749,6 +749,7 @@ SUBDIR+=	fairymax
 SUBDIR+=	fakenes
 SUBDIR+=	fala
 SUBDIR+=	fallingtime
+SUBDIR+=	famsa
 SUBDIR+=	farbfeld
 SUBDIR+=	farsi-ttf
 SUBDIR+=	fasm
diff --git a/famsa/DESCR b/famsa/DESCR
new file mode 100644
index 0000000000..c5733420c9
--- /dev/null
+++ b/famsa/DESCR
@@ -0,0 +1,4 @@
+FAMSA is a progressive algorithm designed for fast and accurate alignment of
+thousands of protein sequences. Its features include the utilization of the
+longest common subsequence measure for determining pairwise similarities, a
+novel method of evaluating gap costs, and a new iterative refinement scheme.
diff --git a/famsa/Makefile b/famsa/Makefile
new file mode 100644
index 0000000000..9fd74927eb
--- /dev/null
+++ b/famsa/Makefile
@@ -0,0 +1,32 @@
+# $NetBSD$
+#
+###########################################################
+#                  Generated by fbsd2pkg                  #
+#              Mon Nov  5 10:56:54 CST 2018               #
+###########################################################
+
+# FIXME: This is very basic.  Add support for more optimized builds
+# including opencl support if possible.
+
+DISTNAME=	FAMSA-${PV}
+CATEGORIES=	biology
+MASTER_SITES=	${MASTER_SITE_GITHUB:=refresh-bio/}
+GITHUB_PROJECT=	FAMSA
+GITHUB_TAG=	v${PV}
+
+MAINTAINER=	bacon%NetBSD.org@localhost
+HOMEPAGE=	https://github.com/refresh-bio/FAMSA
+COMMENT=	Algorithm for large-scale multiple sequence alignments
+LICENSE=	public-domain
+
+USE_LANGUAGES=	c c++
+USE_TOOLS+=	gmake
+
+MAKE_FILE=	makefile
+
+PV=		1.2.4
+
+pre-build:
+	${RM} ${WRKSRC}/libs-linux/*.a
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/famsa/PLIST b/famsa/PLIST
new file mode 100644
index 0000000000..b110405b31
--- /dev/null
+++ b/famsa/PLIST
@@ -0,0 +1,2 @@
+@comment $NetBSD$
+bin/famsa
diff --git a/famsa/distinfo b/famsa/distinfo
new file mode 100644
index 0000000000..c88ff94c51
--- /dev/null
+++ b/famsa/distinfo
@@ -0,0 +1,8 @@
+$NetBSD$
+
+SHA1 (FAMSA-1.2.4.tar.gz) = 6eeeb08ef9122c4cdfa18001dc5c1dea5c6a5385
+RMD160 (FAMSA-1.2.4.tar.gz) = c9495a684cb5de5326f38d65f20255cf6a5c02b8
+SHA512 (FAMSA-1.2.4.tar.gz) = a192ff4edc8a21a4f97c10b0790168394611d46e4671dabbb8adc3ff9af25a2a8a777600a1eb619a62203e6da39cfe1cee0c26ab0879bb684b1444a270bdab27
+Size (FAMSA-1.2.4.tar.gz) = 3729827 bytes
+SHA1 (patch-core_profile.h) = e28e2c3e55059e8bc357a3f6afeaa7af609cc96e
+SHA1 (patch-makefile) = 9cc7305f62f3570b3b3a68a12776f50d2fc520af
diff --git a/famsa/patches/patch-core_profile.h b/famsa/patches/patch-core_profile.h
new file mode 100644
index 0000000000..ef75817c49
--- /dev/null
+++ b/famsa/patches/patch-core_profile.h
@@ -0,0 +1,30 @@
+$NetBSD$
+
+# Portability
+
+--- core/profile.h.orig	2018-07-18 09:45:21 UTC
++++ core/profile.h
+@@ -17,6 +17,7 @@ Authors: Sebastian Deorowicz, Agnieszka 
+ #include <tuple>
+ #include <array>
+ #include <algorithm>
++#include <cstring>
+ 
+ #include "../libs/asmlib.h"
+ 
+@@ -49,7 +50,7 @@ public:
+ 
+ 	void set_zeros(void)
+ 	{
+-		A_memset(raw_data, 0, n_rows * n_cols);
++		memset(raw_data, 0, n_rows * n_cols);
+ 	}
+ 
+ 	unsigned char *get_row(size_t row_id)
+@@ -397,4 +398,4 @@ public:
+ };
+ 
+ 
+-#endif
+\ No newline at end of file
++#endif
diff --git a/famsa/patches/patch-makefile b/famsa/patches/patch-makefile
new file mode 100644
index 0000000000..ebcf930ab9
--- /dev/null
+++ b/famsa/patches/patch-makefile
@@ -0,0 +1,122 @@
+$NetBSD$
+
+# Portability
+
+--- makefile.orig	2018-07-18 09:45:21.000000000 +0000
++++ makefile
+@@ -1,10 +1,16 @@
+-all: famsa famsa-gpu
++all: famsa
+ 
+ ## USER'S OPTIONS
+ STATIC_LINK = false
+-NO_AVX = false
+-NO_AVX2 = false
+-NO_GPU = false
++# Determined at runtime, so no reason to disable unless building
++# on a system without AVX
++NO_AVX ?= true
++NO_AVX2 ?= true
++NO_GPU ?= false
++
++DESTDIR	?=
++PREFIX	?= /usr/local
++INSTALL	?= install
+ 
+ ####################
+ 
+@@ -21,18 +27,18 @@ ifeq ($(UNAME_S),Darwin)
+ endif
+ 
+  
+-CC 	= g++
++CXX 	?= g++
+ 
+ ifeq ($(STATIC_LINK), true) 
+-	CFLAGS	= -Wall -O3 -m64 -static -Wl,--whole-archive -lpthread -Wl,--no-whole-archive -std=c++11 -I $(LIBS_DIR) -I $(LIBS_LINUX_DIR) 
+-	CLINK	= -lm -static -O3 -Wl,--whole-archive -lpthread -Wl,--no-whole-archive -std=c++11 
++	CXXFLAGS	+= -Wall -static -Wl,--whole-archive -lpthread -Wl,--no-whole-archive -std=c++11 -I $(LIBS_DIR) -I $(LIBS_LINUX_DIR) 
++	CLINK	= -lm -static -Wl,--whole-archive -lpthread -Wl,--no-whole-archive -std=c++11 
+ else
+-	CFLAGS	= -Wall -O3 -m64 -std=c++11 -pthread -I $(LIBS_DIR) -I $(LIBS_LINUX_DIR)
+-	CLINK	= -lm -O3 -std=c++11 -pthread 
++	CXXFLAGS	+= -Wall -std=c++11 -pthread -I $(LIBS_DIR) -I $(LIBS_LINUX_DIR)
++	CLINK	= -lm -std=c++11 -pthread 
+ endif
+  
+-CFLAGS_AVX = $(CFLAGS) -mavx ${ABI_FLAG} -mpopcnt -funroll-loops
+-CFLAGS_AVX2 = $(CFLAGS) -mavx2 ${ABI_FLAG} -mpopcnt -funroll-loops
++CXXFLAGS_AVX = $(CXXFLAGS) -mavx ${ABI_FLAG} -mpopcnt -funroll-loops
++CXXFLAGS_AVX2 = $(CXXFLAGS) -mavx2 ${ABI_FLAG} -mpopcnt -funroll-loops
+ 
+ OPENCL_OBJS := 	 core_gpu/gpumsa.o \
+ 	opencl_utils/hardware/Buffer.o \
+@@ -59,14 +65,14 @@ COMMON_OBJS := core/input_file.o \
+ 	opencl_utils/common/StatisticsProvider.o 
+ 
+ core/lcsbp_classic.o : core/lcsbp_classic.cpp
+-	$(CC) $(CFLAGS) -c core/lcsbp_classic.cpp -o $@
++	$(CXX) $(CXXFLAGS) -c core/lcsbp_classic.cpp -o $@
+ 
+ ifeq ($(NO_AVX), true) 
+ LCS_OBJS := core/lcsbp.o \
+ 	core/lcsbp_classic.o
+ 
+ core/lcsbp.o : core/lcsbp.cpp
+-	$(CC) $(CFLAGS) -DNO_AVX -c core/lcsbp.cpp -o $@
++	$(CXX) $(CXXFLAGS) -DNO_AVX -c core/lcsbp.cpp -o $@
+ 
+ else 
+ ifeq ($(NO_AVX2), true)
+@@ -76,9 +82,9 @@ LCS_OBJS := core/lcsbp.o \
+ 	core/lcsbp_avx.o
+ 
+ core/lcsbp.o : core/lcsbp.cpp
+-	$(CC) $(CFLAGS) -DNO_AVX2 -c core/lcsbp.cpp -o $@
++	$(CXX) $(CXXFLAGS) -DNO_AVX2 -c core/lcsbp.cpp -o $@
+ core/lcsbp_avx.o : core/lcsbp_avx.cpp
+-	$(CC) $(CFLAGS_AVX) -c core/lcsbp_avx.cpp -o $@
++	$(CXX) $(CXXFLAGS_AVX) -c core/lcsbp_avx.cpp -o $@
+ else
+ LCS_OBJS := core/lcsbp.o \
+ 	core/lcsbp_classic.o \
+@@ -86,25 +92,25 @@ LCS_OBJS := core/lcsbp.o \
+ 	core/lcsbp_avx2.o
+ 
+ core/lcsbp.o : core/lcsbp.cpp
+-	$(CC) $(CFLAGS) -c core/lcsbp.cpp -o $@
++	$(CXX) $(CXXFLAGS) -c core/lcsbp.cpp -o $@
+ core/lcsbp_avx.o : core/lcsbp_avx.cpp
+-	$(CC) $(CFLAGS_AVX) -c core/lcsbp_avx.cpp -o $@
++	$(CXX) $(CXXFLAGS_AVX) -c core/lcsbp_avx.cpp -o $@
+ core/lcsbp_avx2.o : core/lcsbp_avx2.cpp
+-	$(CC) $(CFLAGS_AVX2) -c core/lcsbp_avx2.cpp -o $@
++	$(CXX) $(CXXFLAGS_AVX2) -c core/lcsbp_avx2.cpp -o $@
+ endif
+ endif
+ 
+ .cpp.o:
+-	$(CC) $(CFLAGS) -c $< -o $@
++	$(CXX) $(CXXFLAGS) -c $< -o $@
+ 
+ 
+ ifeq ($(NO_GPU),false)
+ famsa-gpu: famsa_gpu/famsa_gpu.o $(COMMON_OBJS) $(LCS_OBJS) $(OPENCL_OBJS) 
+-	$(CC) $(CLINK) -o $@ famsa_gpu/famsa_gpu.o $(COMMON_OBJS) $(LCS_OBJS) $(OPENCL_OBJS) $(LIBS_LINUX_DIR)/${ASM_LIB} -lOpenCL
++	$(CXX) $(CLINK) -o $@ famsa_gpu/famsa_gpu.o $(COMMON_OBJS) $(LCS_OBJS) $(OPENCL_OBJS) -lOpenCL
+ endif
+ 
+ famsa: famsa_cpu/famsa_cpu.o $(COMMON_OBJS) $(LCS_OBJS)
+-	$(CC) $(CLINK) -o $@ famsa_cpu/famsa_cpu.o $(COMMON_OBJS) $(LCS_OBJS) $(LIBS_LINUX_DIR)/${ASM_LIB}
++	$(CXX) $(CLINK) -o $@ famsa_cpu/famsa_cpu.o $(COMMON_OBJS) $(LCS_OBJS)
+ 
+ clean:
+ 	-rm core/*.o
+@@ -115,3 +121,7 @@ clean:
+ 	-rm opencl_utils/common/*.o
+ 	-rm famsa
+ 	-rm famsa-gpu
++
++install:
++	$(INSTALL) -d $(DESTDIR)$(PREFIX)/bin
++	$(INSTALL) -c famsa $(DESTDIR)$(PREFIX)/bin


Home | Main Index | Thread Index | Old Index