From owner-svn-ports-head@freebsd.org Mon Sep 16 01:07:33 2019 Return-Path: Delivered-To: svn-ports-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8373FEE077; Mon, 16 Sep 2019 01:07:33 +0000 (UTC) (envelope-from jwb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46Wp4j2v2jz3x3B; Mon, 16 Sep 2019 01:07:33 +0000 (UTC) (envelope-from jwb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2D0E018B21; Mon, 16 Sep 2019 01:07:33 +0000 (UTC) (envelope-from jwb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x8G17XSZ012410; Mon, 16 Sep 2019 01:07:33 GMT (envelope-from jwb@FreeBSD.org) Received: (from jwb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x8G17Vwq012403; Mon, 16 Sep 2019 01:07:31 GMT (envelope-from jwb@FreeBSD.org) Message-Id: <201909160107.x8G17Vwq012403@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jwb set sender to jwb@FreeBSD.org using -f From: "Jason W. Bacon" Date: Mon, 16 Sep 2019 01:07:31 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r512137 - in head/biology: . haplohseq haplohseq/files X-SVN-Group: ports-head X-SVN-Commit-Author: jwb X-SVN-Commit-Paths: in head/biology: . haplohseq haplohseq/files X-SVN-Commit-Revision: 512137 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Sep 2019 01:07:33 -0000 Author: jwb Date: Mon Sep 16 01:07:31 2019 New Revision: 512137 URL: https://svnweb.freebsd.org/changeset/ports/512137 Log: biology/haplohseq: Identify regions of allelic imbalance 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. Added: head/biology/haplohseq/ head/biology/haplohseq/Makefile (contents, props changed) head/biology/haplohseq/distinfo (contents, props changed) head/biology/haplohseq/files/ head/biology/haplohseq/files/patch-makefile (contents, props changed) head/biology/haplohseq/files/patch-src_HaplohSeq.cpp (contents, props changed) head/biology/haplohseq/files/patch-src_test_InputProcessorTest.cpp (contents, props changed) head/biology/haplohseq/files/run-tests (contents, props changed) head/biology/haplohseq/pkg-descr (contents, props changed) Modified: head/biology/Makefile Modified: head/biology/Makefile ============================================================================== --- head/biology/Makefile Mon Sep 16 00:48:01 2019 (r512136) +++ head/biology/Makefile Mon Sep 16 01:07:31 2019 (r512137) @@ -51,6 +51,7 @@ SUBDIR += graphlan SUBDIR += grappa SUBDIR += groopm + SUBDIR += haplohseq SUBDIR += hhsuite SUBDIR += hisat2 SUBDIR += hmmer Added: head/biology/haplohseq/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/biology/haplohseq/Makefile Mon Sep 16 01:07:31 2019 (r512137) @@ -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 Added: head/biology/haplohseq/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/biology/haplohseq/distinfo Mon Sep 16 01:07:31 2019 (r512137) @@ -0,0 +1,3 @@ +TIMESTAMP = 1567118170 +SHA256 (haplohseq_source-0.1.2.zip) = 35f8fe6718020e6eacdc309d28fc5dd3cc7c6e8400da1d962fdf6fb52d4e90c5 +SIZE (haplohseq_source-0.1.2.zip) = 63620 Added: head/biology/haplohseq/files/patch-makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/biology/haplohseq/files/patch-makefile Mon Sep 16 01:07:31 2019 (r512137) @@ -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 ############################## + + Added: head/biology/haplohseq/files/patch-src_HaplohSeq.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/biology/haplohseq/files/patch-src_HaplohSeq.cpp Mon Sep 16 01:07:31 2019 (r512137) @@ -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 > 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 > chrHmms; Added: head/biology/haplohseq/files/patch-src_test_InputProcessorTest.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/biology/haplohseq/files/patch-src_test_InputProcessorTest.cpp Mon Sep 16 01:07:31 2019 (r512137) @@ -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) { Added: head/biology/haplohseq/files/run-tests ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/biology/haplohseq/files/run-tests Mon Sep 16 01:07:31 2019 (r512137) @@ -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 Added: head/biology/haplohseq/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/biology/haplohseq/pkg-descr Mon Sep 16 01:07:31 2019 (r512137) @@ -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