svn commit: r562036 - in head/biology: . spoa spoa/files
Yuri Victorovich
yuri at FreeBSD.org
Tue Jan 19 09:28:02 UTC 2021
Author: yuri
Date: Tue Jan 19 09:28:00 2021
New Revision: 562036
URL: https://svnweb.freebsd.org/changeset/ports/562036
Log:
New port: biology/spoa: C++ implementation of the partial order alignment (POA) algorithm
Added:
head/biology/spoa/
head/biology/spoa/Makefile (contents, props changed)
head/biology/spoa/distinfo (contents, props changed)
head/biology/spoa/files/
head/biology/spoa/files/patch-CMakeLists.txt (contents, props changed)
head/biology/spoa/pkg-descr (contents, props changed)
head/biology/spoa/pkg-plist (contents, props changed)
Modified:
head/biology/Makefile
Modified: head/biology/Makefile
==============================================================================
--- head/biology/Makefile Tue Jan 19 09:01:41 2021 (r562035)
+++ head/biology/Makefile Tue Jan 19 09:28:00 2021 (r562036)
@@ -164,6 +164,7 @@
SUBDIR += sim4
SUBDIR += slclust
SUBDIR += smithwaterman
+ SUBDIR += spoa
SUBDIR += stacks
SUBDIR += star
SUBDIR += stringtie
Added: head/biology/spoa/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/biology/spoa/Makefile Tue Jan 19 09:28:00 2021 (r562036)
@@ -0,0 +1,38 @@
+# $FreeBSD$
+
+PORTNAME= spoa
+DISTVERSION= 4.0.7
+CATEGORIES= biology
+
+MAINTAINER= yuri at FreeBSD.org
+COMMENT= C++ implementation of the partial order alignment (POA) algorithm
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= bioparser>0:biology/bioparser \
+ ${LOCALBASE}/include/biosoup/nucleic_acid.hpp:biology/biosoup \
+ cereal>0:devel/cereal \
+ cpu_features>0:devel/cpu_features \
+ simde>0:devel/simde
+RUN_DEPENDS= cereal>0:devel/cereal
+TEST_DEPENDS= googletest>0:devel/googletest
+
+USES= cmake compiler:c++11-lang localbase:ldflags
+USE_LDCONFIG= yes
+
+USE_GITHUB= yes
+GH_ACCOUNT= rvaser
+
+CMAKE_ON= BUILD_SHARED_LIBS spoa_optimize_for_portability spoa_build_executable spoa_use_simde spoa_use_simde_nonvec spoa_use_simde_openmp spoa_generate_dispatch
+CMAKE_OFF= spoa_optimize_for_native
+
+LDFLAGS+= -lz -lcpu_features
+
+do-test:
+ @cd ${BUILD_WRKSRC} && \
+ ${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} -D${PORTNAME}_build_tests:BOOL=ON ${CMAKE_SOURCE_PATH} && \
+ ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} ${ALL_TARGET} && \
+ ${BUILD_WRKSRC}/bin/${PORTNAME}_test
+
+.include <bsd.port.mk>
Added: head/biology/spoa/distinfo
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/biology/spoa/distinfo Tue Jan 19 09:28:00 2021 (r562036)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1611045674
+SHA256 (rvaser-spoa-4.0.7_GH0.tar.gz) = f8cb409adcca20ca6cc0025371743b915790879957cf001ca5e155ed16fd14e0
+SIZE (rvaser-spoa-4.0.7_GH0.tar.gz) = 43574
Added: head/biology/spoa/files/patch-CMakeLists.txt
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/biology/spoa/files/patch-CMakeLists.txt Tue Jan 19 09:28:00 2021 (r562036)
@@ -0,0 +1,107 @@
+--- CMakeLists.txt.orig 2021-01-15 03:44:02 UTC
++++ CMakeLists.txt
+@@ -44,9 +44,10 @@ if (spoa_use_simde OR
+ endif ()
+ endif ()
+
+-if (NOT TARGET cereal)
+- add_subdirectory(vendor/cereal EXCLUDE_FROM_ALL)
+-endif ()
++#if (NOT TARGET cereal)
++# add_subdirectory(vendor/cereal EXCLUDE_FROM_ALL)
++#endif ()
++find_package(cereal REQUIRED)
+
+ add_library(${PROJECT_NAME}
+ src/alignment_engine.cpp
+@@ -55,8 +56,8 @@ add_library(${PROJECT_NAME}
+ src/dispatcher.cpp)
+ target_include_directories(${PROJECT_NAME} PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+- $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/vendor/simde>
+- $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/vendor/cpu_features/include>
++ #$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/vendor/simde>
++ #$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/vendor/cpu_features/include>
+ $<INSTALL_INTERFACE:include>)
+ target_link_libraries(${PROJECT_NAME}
+ cereal)
+@@ -65,9 +66,9 @@ if (BUILD_SHARED_LIBS)
+ endif ()
+
+ if (spoa_generate_dispatch)
+- if (NOT TARGET cpu_features)
+- add_subdirectory(vendor/cpu_features EXCLUDE_FROM_ALL)
+- endif ()
++ #if (NOT TARGET cpu_features)
++ # add_subdirectory(vendor/cpu_features EXCLUDE_FROM_ALL)
++ #endif ()
+
+ list(APPEND ARCHITECTURES avx2 sse4.1 sse2)
+ foreach(arch IN LISTS ARCHITECTURES)
+@@ -92,8 +93,8 @@ if (spoa_generate_dispatch)
+ ${PROJECT_NAME}_sse4.1
+ ${PROJECT_NAME}_sse2)
+
+- target_link_libraries(${PROJECT_NAME}
+- cpu_features)
++ #target_link_libraries(${PROJECT_NAME}
++ # cpu_features)
+ endif ()
+
+ include(GNUInstallDirs)
+@@ -110,18 +111,19 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/spoa-1.pc
+
+ option(spoa_build_executable "Build spoa standalone tool" OFF)
+ if (spoa_build_executable)
+- if (NOT TARGET biosoup)
+- add_subdirectory(vendor/bioparser/vendor/biosoup EXCLUDE_FROM_ALL)
+- endif ()
+- if (NOT TARGET bioparser)
+- add_subdirectory(vendor/bioparser EXCLUDE_FROM_ALL)
+- endif ()
++ #if (NOT TARGET biosoup)
++ # add_subdirectory(vendor/bioparser/vendor/biosoup EXCLUDE_FROM_ALL)
++ #endif ()
++ #if (NOT TARGET bioparser)
++ # add_subdirectory(vendor/bioparser EXCLUDE_FROM_ALL)
++ #endif ()
+ add_executable(${PROJECT_NAME}_exe
+ src/main.cpp)
+ target_link_libraries(${PROJECT_NAME}_exe
+ ${PROJECT_NAME}
+- bioparser
+- biosoup)
++ #bioparser
++ #biosoup
++ )
+ target_compile_definitions(${PROJECT_NAME}_exe PRIVATE
+ SPOA_VERSION="v${PROJECT_VERSION}")
+ set_property(TARGET ${PROJECT_NAME}_exe PROPERTY
+@@ -134,19 +136,19 @@ endif ()
+ option(spoa_build_tests "Build spoa unit tests" OFF)
+ if (spoa_build_tests)
+ find_package(GTest REQUIRED)
+- if (NOT TARGET biosoup)
+- add_subdirectory(vendor/bioparser/vendor/biosoup EXCLUDE_FROM_ALL)
+- endif ()
+- if (NOT TARGET bioparser)
+- add_subdirectory(vendor/bioparser EXCLUDE_FROM_ALL)
+- endif ()
++ #if (NOT TARGET biosoup)
++ # add_subdirectory(vendor/bioparser/vendor/biosoup EXCLUDE_FROM_ALL)
++ #endif ()
++ #if (NOT TARGET bioparser)
++ # add_subdirectory(vendor/bioparser EXCLUDE_FROM_ALL)
++ #endif ()
+ include_directories(${PROJECT_SOURCE_DIR}/src)
+ add_executable(${PROJECT_NAME}_test
+ test/spoa_test.cpp)
+ target_link_libraries(${PROJECT_NAME}_test
+ ${PROJECT_NAME}
+- bioparser
+- biosoup
++ #bioparser
++ #biosoup
+ GTest::Main)
+ target_compile_definitions(${PROJECT_NAME}_test PRIVATE
+ SPOA_DATA_PATH="${PROJECT_SOURCE_DIR}/test/data/sample.fastq.gz")
Added: head/biology/spoa/pkg-descr
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/biology/spoa/pkg-descr Tue Jan 19 09:28:00 2021 (r562036)
@@ -0,0 +1,9 @@
+Spoa (SIMD POA) is a c++ implementation of the partial order alignment (POA)
+algorithm (as described in 10.1093/bioinformatics/18.3.452) which is used to
+generate consensus sequences. It supports three alignment modes: local
+(Smith-Waterman), global (Needleman-Wunsch) and semi-global alignment (overlap),
+and three gap modes: linear, affine and convex (piecewise affine). It also
+supports Intel SSE4.1+ and AVX2 vectorization (marginally faster due to high
+latency shifts), SIMDe and dispatching.
+
+WWW: https://github.com/rvaser/spoa
Added: head/biology/spoa/pkg-plist
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/biology/spoa/pkg-plist Tue Jan 19 09:28:00 2021 (r562036)
@@ -0,0 +1,8 @@
+bin/spoa
+include/spoa/alignment_engine.hpp
+include/spoa/architectures.hpp
+include/spoa/graph.hpp
+include/spoa/spoa.hpp
+lib/libspoa.so
+lib/libspoa.so.7.0.0
+libdata/pkgconfig/spoa-1.pc
More information about the svn-ports-head
mailing list