Date: Tue, 19 Jan 2021 09:28:01 +0000 (UTC) From: Yuri Victorovich <yuri@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r562036 - in head/biology: . spoa spoa/files Message-ID: <202101190928.10J9S1pc059457@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202101190928.10J9S1pc059457>