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