diff options
author | Jason W. Bacon <jwb@FreeBSD.org> | 2019-09-16 01:07:31 +0000 |
---|---|---|
committer | Jason W. Bacon <jwb@FreeBSD.org> | 2019-09-16 01:07:31 +0000 |
commit | 6ee3cbecfec35d76603a00cc6f952b59a34e4abb (patch) | |
tree | 17b9fa209281dd422cd24482ccb091a4b6a468a8 /biology/haplohseq | |
parent | 3f4f81b81242a3c3061007bb250ccd85554e5af4 (diff) | |
download | ports-6ee3cbecfec35d76603a00cc6f952b59a34e4abb.tar.gz ports-6ee3cbecfec35d76603a00cc6f952b59a34e4abb.zip |
Notes
Diffstat (limited to 'biology/haplohseq')
-rw-r--r-- | biology/haplohseq/Makefile | 29 | ||||
-rw-r--r-- | biology/haplohseq/distinfo | 3 | ||||
-rw-r--r-- | biology/haplohseq/files/patch-makefile | 105 | ||||
-rw-r--r-- | biology/haplohseq/files/patch-src_HaplohSeq.cpp | 20 | ||||
-rw-r--r-- | biology/haplohseq/files/patch-src_test_InputProcessorTest.cpp | 11 | ||||
-rw-r--r-- | biology/haplohseq/files/run-tests | 10 | ||||
-rw-r--r-- | biology/haplohseq/pkg-descr | 6 |
7 files changed, 184 insertions, 0 deletions
diff --git a/biology/haplohseq/Makefile b/biology/haplohseq/Makefile new file mode 100644 index 000000000000..910cac75d6cb --- /dev/null +++ b/biology/haplohseq/Makefile @@ -0,0 +1,29 @@ +# $FreeBSD$ + +PORTNAME= haplohseq +DISTVERSION= 0.1.2 +CATEGORIES= biology +MASTER_SITES= https://mirror1.hpc.uwm.edu/Distfiles/ \ + https://mirror2.hpc.uwm.edu/Distfiles/ +DISTNAME= haplohseq_source-${DISTVERSION} + +MAINTAINER= jwb@FreeBSD.org +COMMENT= Identify regions of allelic imbalance + +LICENSE= MIT + +LIB_DEPENDS= libboost_system.so:devel/boost-libs + +USES= compiler:c++11-lang gmake localbase:ldflags zip + +MAKEFILE= makefile +WRKSRC= ${WRKDIR}/haplohseq_source +LDFLAGS+= -lpthread +MAKE_ENV= STRIP=${STRIP} + +PLIST_FILES= bin/haplohseq + +do-test: + @(cd ${WRKSRC}/build/test && ${FILESDIR}/run-tests) + +.include <bsd.port.mk> diff --git a/biology/haplohseq/distinfo b/biology/haplohseq/distinfo new file mode 100644 index 000000000000..b5acbd168de0 --- /dev/null +++ b/biology/haplohseq/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1567118170 +SHA256 (haplohseq_source-0.1.2.zip) = 35f8fe6718020e6eacdc309d28fc5dd3cc7c6e8400da1d962fdf6fb52d4e90c5 +SIZE (haplohseq_source-0.1.2.zip) = 63620 diff --git a/biology/haplohseq/files/patch-makefile b/biology/haplohseq/files/patch-makefile new file mode 100644 index 000000000000..5387716aa503 --- /dev/null +++ b/biology/haplohseq/files/patch-makefile @@ -0,0 +1,105 @@ +--- makefile.orig 2019-08-29 18:03:23 UTC ++++ makefile +@@ -7,23 +7,32 @@ + # + + # Constants +-CXX=g++ ++# Default to g++ if not set by make args or environment ++CXX?=g++ + #-O0 -g will turn on debugging + #The rule of thumb: + #When you need to debug, use -O0 (and -g to generate debugging symbols.) + #When you are preparing to ship it, use -O2. + #When you use gentoo, use -O3...! + #When you need to put it on an embedded system, use -Os (optimize for size, not for efficiency.) +-CXX_FLAGS=-Wall -g -stdlib=libstdc++ ++# Use canonincal compiler variables, which may be provided by build env ++CXXFLAGS?=-Wall -g -stdlib=libstdc++ + SRC=src + CONF=conf + HMM_SRC=$(SRC)/hmm + UTIL_SRC=$(SRC)/util +-BOOST=/usr/local/boost_1_52_0 ++BOOST?=/usr/local/boost_1_52_0 + INCLUDES=-I./$(SRC) -I./$(HMM_SRC) -I./$(UTIL_SRC) -isystem$(BOOST) +-LIBRARY_PATHS=-Llib/macosx ++LIBRARY_PATHS?=-Llib/macosx + LIBRARIES=-lm -lboost_program_options -lboost_system -lboost_filesystem -lboost_thread + ++# Installation target with destdir support ++DESTDIR?=. ++PREFIX?=/usr/local ++MKDIR?=mkdir ++INSTALL?=install ++STRIP?= # empty, set to -s to install stripped binary ++ + # Generated directories which are generated in this script and cleaned up with 'make clean' + BUILD=build + OBJ=$(BUILD)/obj +@@ -35,18 +44,21 @@ directories: + + # Create object files into the OBJ directory from cpp files in the SRC directory. + $(OBJ)/%.o: $(SRC)/%.cpp directories +- $(CXX) $(CXX_FLAGS) $(INCLUDES) -c -o $@ $< ++ $(CXX) $(CXXFLAGS) $(INCLUDES) -c -o $@ $< + $(OBJ)/%.o: $(HMM_SRC)/%.cpp directories +- $(CXX) $(CXX_FLAGS) $(INCLUDES) -c -o $@ $< ++ $(CXX) $(CXXFLAGS) $(INCLUDES) -c -o $@ $< + $(OBJ)/%.o: $(UTIL_SRC)/%.cpp directories +- $(CXX) $(CXX_FLAGS) $(INCLUDES) -c -o $@ $< ++ $(CXX) $(CXXFLAGS) $(INCLUDES) -c -o $@ $< + +-all: clean haplohseq ++all: haplohseq test + + haplohseq: $(OBJ)/Hmm.o $(OBJ)/DataStructures.o $(OBJ)/MathUtil.o $(OBJ)/StringUtil.o $(OBJ)/InputProcessor.o $(OBJ)/Reporter.o $(OBJ)/FreqPhase.o $(OBJ)/VcfUtil.o $(OBJ)/HaplohSeq.o +- $(CXX) -o $(BIN)/$@ $(CXX_FLAGS) $(INCLUDES) $(OBJ)/Hmm.o $(OBJ)/DataStructures.o $(OBJ)/MathUtil.o $(OBJ)/StringUtil.o $(OBJ)/InputProcessor.o $(OBJ)/Reporter.o $(OBJ)/FreqPhase.o $(OBJ)/VcfUtil.o $(OBJ)/HaplohSeq.o $(LIBRARY_PATHS) $(LIBRARIES) +- cp -r $(CONF) $(BIN)/. +- ++ $(CXX) -o $(BIN)/$@ $(CXXFLAGS) $(INCLUDES) $(OBJ)/Hmm.o $(OBJ)/DataStructures.o $(OBJ)/MathUtil.o $(OBJ)/StringUtil.o $(OBJ)/InputProcessor.o $(OBJ)/Reporter.o $(OBJ)/FreqPhase.o $(OBJ)/VcfUtil.o $(OBJ)/HaplohSeq.o $(LIBRARY_PATHS) $(LIBRARIES) $(LDFLAGS) ++ ++install: ++ $(MKDIR) -p $(DESTDIR)$(PREFIX)/bin ++ $(INSTALL) -c $(STRIP) $(BIN)/* $(DESTDIR)$(PREFIX)/bin ++ + clean: + rm -rf $(BUILD) + +@@ -74,28 +86,28 @@ test: FreqPhaseTest HaplohSeqTest HmmTest InputProcess + + # Create test object files into the OBJ directory from cpp files in the SRC directory. + $(TEST_BIN)/%.o: $(TEST_SRC)/%.cpp directories test_directory +- $(CXX) $(CXX_FLAGS) $(INCLUDES) $(TEST_INCLUDES) -c -o $@ $< ++ $(CXX) $(CXXFLAGS) $(INCLUDES) $(TEST_INCLUDES) -c -o $@ $< + + HaplohSeqTest: $(OBJ)/Hmm.o $(OBJ)/DataStructures.o $(OBJ)/MathUtil.o $(OBJ)/StringUtil.o $(OBJ)/InputProcessor.o $(TEST_BIN)/HaplohSeqTest.o +- $(CXX) -o $(TEST_BIN)/$@ $(CXX_FLAGS) $(OBJ)/Hmm.o $(OBJ)/DataStructures.o $(OBJ)/MathUtil.o $(OBJ)/StringUtil.o $(OBJ)/InputProcessor.o $(TEST_BIN)/HaplohSeqTest.o $(LIBRARY_PATHS) $(LIBRARIES) ++ $(CXX) -o $(TEST_BIN)/$@ $(CXXFLAGS) $(OBJ)/Hmm.o $(OBJ)/DataStructures.o $(OBJ)/MathUtil.o $(OBJ)/StringUtil.o $(OBJ)/InputProcessor.o $(TEST_BIN)/HaplohSeqTest.o $(LIBRARY_PATHS) $(LIBRARIES) $(LDFLAGS) + + FreqPhaseTest: $(OBJ)/StringUtil.o $(OBJ)/InputProcessor.o $(OBJ)/FreqPhase.o $(TEST_BIN)/FreqPhaseTest.o +- $(CXX) -o $(TEST_BIN)/$@ $(CXX_FLAGS) $(OBJ)/StringUtil.o $(OBJ)/InputProcessor.o $(OBJ)/FreqPhase.o $(TEST_BIN)/FreqPhaseTest.o $(LIBRARY_PATHS) $(LIBRARIES) ++ $(CXX) -o $(TEST_BIN)/$@ $(CXXFLAGS) $(OBJ)/StringUtil.o $(OBJ)/InputProcessor.o $(OBJ)/FreqPhase.o $(TEST_BIN)/FreqPhaseTest.o $(LIBRARY_PATHS) $(LIBRARIES) $(LDFLAGS) + + HmmTest: $(OBJ)/Hmm.o $(OBJ)/DataStructures.o $(OBJ)/MathUtil.o $(OBJ)/StringUtil.o $(TEST_BIN)/HmmTest.o +- $(CXX) -o $(TEST_BIN)/$@ $(CXX_FLAGS) $(OBJ)/Hmm.o $(OBJ)/DataStructures.o $(OBJ)/MathUtil.o $(OBJ)/StringUtil.o $(TEST_BIN)/HmmTest.o $(LIBRARY_PATHS) $(LIBRARIES) ++ $(CXX) -o $(TEST_BIN)/$@ $(CXXFLAGS) $(OBJ)/Hmm.o $(OBJ)/DataStructures.o $(OBJ)/MathUtil.o $(OBJ)/StringUtil.o $(TEST_BIN)/HmmTest.o $(LIBRARY_PATHS) $(LIBRARIES) $(LDFLAGS) + + InputProcessorTest: $(OBJ)/Hmm.o $(OBJ)/DataStructures.o $(OBJ)/MathUtil.o $(OBJ)/StringUtil.o $(OBJ)/InputProcessor.o $(TEST_BIN)/InputProcessorTest.o +- $(CXX) -o $(TEST_BIN)/$@ $(CXX_FLAGS) $(OBJ)/Hmm.o $(OBJ)/DataStructures.o $(OBJ)/MathUtil.o $(OBJ)/StringUtil.o $(OBJ)/InputProcessor.o $(TEST_BIN)/InputProcessorTest.o $(LIBRARY_PATHS) $(LIBRARIES) ++ $(CXX) -o $(TEST_BIN)/$@ $(CXXFLAGS) $(OBJ)/Hmm.o $(OBJ)/DataStructures.o $(OBJ)/MathUtil.o $(OBJ)/StringUtil.o $(OBJ)/InputProcessor.o $(TEST_BIN)/InputProcessorTest.o $(LIBRARY_PATHS) $(LIBRARIES) $(LDFLAGS) + + MathUtilTest: $(OBJ)/Hmm.o $(OBJ)/DataStructures.o $(OBJ)/MathUtil.o $(OBJ)/StringUtil.o $(TEST_BIN)/MathUtilTest.o +- $(CXX) -o $(TEST_BIN)/$@ $(CXX_FLAGS) $(OBJ)/Hmm.o $(OBJ)/DataStructures.o $(OBJ)/MathUtil.o $(OBJ)/StringUtil.o $(TEST_BIN)/MathUtilTest.o $(LIBRARY_PATHS) $(LIBRARIES) ++ $(CXX) -o $(TEST_BIN)/$@ $(CXXFLAGS) $(OBJ)/Hmm.o $(OBJ)/DataStructures.o $(OBJ)/MathUtil.o $(OBJ)/StringUtil.o $(TEST_BIN)/MathUtilTest.o $(LIBRARY_PATHS) $(LIBRARIES) $(LDFLAGS) + + ReporterTest: $(OBJ)/Hmm.o $(OBJ)/DataStructures.o $(OBJ)/MathUtil.o $(OBJ)/StringUtil.o $(TEST_BIN)/ReporterTest.o +- $(CXX) -o $(TEST_BIN)/$@ $(CXX_FLAGS) $(OBJ)/Hmm.o $(OBJ)/DataStructures.o $(OBJ)/MathUtil.o $(OBJ)/StringUtil.o $(TEST_BIN)/ReporterTest.o $(LIBRARY_PATHS) $(LIBRARIES) ++ $(CXX) -o $(TEST_BIN)/$@ $(CXXFLAGS) $(OBJ)/Hmm.o $(OBJ)/DataStructures.o $(OBJ)/MathUtil.o $(OBJ)/StringUtil.o $(TEST_BIN)/ReporterTest.o $(LIBRARY_PATHS) $(LIBRARIES) $(LDFLAGS) + + ThreadPoolTest: $(OBJ)/Hmm.o $(OBJ)/DataStructures.o $(OBJ)/MathUtil.o $(OBJ)/StringUtil.o $(OBJ)/ThreadPool.o $(TEST_BIN)/ThreadPoolTest.o +- $(CXX) -o $(TEST_BIN)/$@ $(CXX_FLAGS) $(OBJ)/Hmm.o $(OBJ)/DataStructures.o $(OBJ)/MathUtil.o $(OBJ)/StringUtil.o $(OBJ)/ThreadPool.o $(TEST_BIN)/ThreadPoolTest.o $(LIBRARY_PATHS) $(LIBRARIES) ++ $(CXX) -o $(TEST_BIN)/$@ $(CXXFLAGS) $(OBJ)/Hmm.o $(OBJ)/DataStructures.o $(OBJ)/MathUtil.o $(OBJ)/StringUtil.o $(OBJ)/ThreadPool.o $(TEST_BIN)/ThreadPoolTest.o $(LIBRARY_PATHS) $(LIBRARIES) $(LDFLAGS) + ############################## END TEST LOGIC ############################## + + diff --git a/biology/haplohseq/files/patch-src_HaplohSeq.cpp b/biology/haplohseq/files/patch-src_HaplohSeq.cpp new file mode 100644 index 000000000000..a80ce577f747 --- /dev/null +++ b/biology/haplohseq/files/patch-src_HaplohSeq.cpp @@ -0,0 +1,20 @@ +--- src/HaplohSeq.cpp.orig 2019-09-01 14:58:30 UTC ++++ src/HaplohSeq.cpp +@@ -202,7 +202,7 @@ void HaplohSeq::runBafHaplohseq( std::string& obsType, + + // Spawn worker threads + for (std::size_t t = 0; t < numThreads; t++) { +- threadPool.create_thread(boost::bind((unsigned long int (boost::asio::io_service::*)())&boost::asio::io_service::run, &ioService)); ++ threadPool.create_thread(boost::bind((boost::asio::io_context::count_type (boost::asio::io_service::*)())&boost::asio::io_service::run, &ioService)); + } + + std::map<std::string, boost::shared_ptr<Hmm> > chrHmms; +@@ -420,7 +420,7 @@ void HaplohSeq::runVcfHaplohseq( std::string& obsType, + + // Spawn worker threads + for (std::size_t t = 0; t < numThreads; t++) { +- threadPool.create_thread(boost::bind((unsigned long int (boost::asio::io_service::*)())&boost::asio::io_service::run, &ioService)); ++ threadPool.create_thread(boost::bind((boost::asio::io_context::count_type (boost::asio::io_service::*)())&boost::asio::io_service::run, &ioService)); + } + + std::map<std::string, boost::shared_ptr<Hmm> > chrHmms; diff --git a/biology/haplohseq/files/patch-src_test_InputProcessorTest.cpp b/biology/haplohseq/files/patch-src_test_InputProcessorTest.cpp new file mode 100644 index 000000000000..21ea56a8f600 --- /dev/null +++ b/biology/haplohseq/files/patch-src_test_InputProcessorTest.cpp @@ -0,0 +1,11 @@ +--- src/test/InputProcessorTest.cpp.orig 2019-09-01 12:33:22 UTC ++++ src/test/InputProcessorTest.cpp +@@ -82,7 +82,7 @@ BOOST_AUTO_TEST_CASE(isHetTest) { + BOOST_REQUIRE_EQUAL(inputProc.isHet('A','?'), false); + BOOST_REQUIRE_EQUAL(inputProc.isHet('A','.'), false); + BOOST_REQUIRE_EQUAL(inputProc.isHet('A',' '), false); +- BOOST_REQUIRE_EQUAL(inputProc.isHet('C', NULL), true); ++ BOOST_REQUIRE_EQUAL(inputProc.isHet('C','\0'), true); + } + + BOOST_AUTO_TEST_CASE(readAllelesTest) { diff --git a/biology/haplohseq/files/run-tests b/biology/haplohseq/files/run-tests new file mode 100644 index 000000000000..1ecc6ebc5e35 --- /dev/null +++ b/biology/haplohseq/files/run-tests @@ -0,0 +1,10 @@ +#!/bin/sh -e + +printf "\n=== FreqPhaseTest ===\n\n" +./FreqPhaseTest +printf "\n=== InputProcessorTest ===\n\n" +./InputProcessorTest +printf "\n=== HmmTest ===\n\n" +./HmmTest +printf "\n=== HaplohSeqTest ===\n\n" +./HaplohSeqTest diff --git a/biology/haplohseq/pkg-descr b/biology/haplohseq/pkg-descr new file mode 100644 index 000000000000..751d6d58268d --- /dev/null +++ b/biology/haplohseq/pkg-descr @@ -0,0 +1,6 @@ +Haplohseq identifies regions of allelic imbalance (AI) in sequencing data +obtained from impure samples where AI events exist in a potentially low +proportion of cells in the sample. Input to the software includes a VCF file +of genotypes and estimated phased genotypes. + +WWW: https://sites.google.com/site/integrativecancergenomics/software/haplohseq |