Date: Sun, 4 Nov 2018 14:29:03 +0000 (UTC) From: "Jason W. Bacon" <jwb@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r484077 - in head/biology/canu: . files Message-ID: <201811041429.wA4ET3Y7050285@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jwb Date: Sun Nov 4 14:29:02 2018 New Revision: 484077 URL: https://svnweb.freebsd.org/changeset/ports/484077 Log: biology/canu: Upgrade to 1.8, add experimental SLURM integration Solves build issue with gcc8. PR: 232930 Reported by: gerald Approved by: jrm (mentor, implicit) Added: head/biology/canu/files/patch-pipelines_canu_Defaults.pm (contents, props changed) Modified: head/biology/canu/Makefile head/biology/canu/distinfo head/biology/canu/files/patch-pipelines_canu_Execution.pm head/biology/canu/pkg-plist Modified: head/biology/canu/Makefile ============================================================================== --- head/biology/canu/Makefile Sun Nov 4 14:27:06 2018 (r484076) +++ head/biology/canu/Makefile Sun Nov 4 14:29:02 2018 (r484077) @@ -2,8 +2,7 @@ PORTNAME= canu DISTVERSIONPREFIX= v -DISTVERSION= 1.7 -PORTREVISION= 2 +DISTVERSION= 1.8 CATEGORIES= biology java perl5 MAINTAINER= jwb@FreeBSD.org @@ -21,9 +20,10 @@ RUN_DEPENDS= gnuplot:math/gnuplot USES= compiler:openmp gmake perl5 USE_JAVA= yes +USE_GITHUB= yes + JAVA_RUN= yes JAVA_VERSION= 1.8+ -USE_GITHUB= yes GH_ACCOUNT= marbl WRKSRC_SUBDIR= src @@ -44,12 +44,12 @@ post-patch: # Upstream does not want to use lib/perl5/site_perl post-build: - ${MKDIR} ${WRKSRC}${PREFIX}/FreeBSD-${ARCH}/lib/perl5 + @${MKDIR} ${WRKSRC}${PREFIX}/FreeBSD-${ARCH}/lib/perl5 ${MV} ${WRKSRC}${PREFIX}/FreeBSD-${ARCH}/lib/site_perl \ ${WRKSRC}${PREFIX}/FreeBSD-${ARCH}/lib/perl5 do-install: - ${MKDIR} ${STAGEDIR}${PREFIX} + @${MKDIR} ${STAGEDIR}${PREFIX} (cd ${WRKSRC}${PREFIX}/FreeBSD-${ARCH} && \ ${COPYTREE_BIN} bin ${STAGEDIR}${PREFIX}) # STRIP_CMD fails without this on 11.1 under poudriere Modified: head/biology/canu/distinfo ============================================================================== --- head/biology/canu/distinfo Sun Nov 4 14:27:06 2018 (r484076) +++ head/biology/canu/distinfo Sun Nov 4 14:29:02 2018 (r484077) @@ -1,3 +1,3 @@ -TIMESTAMP = 1524325169 -SHA256 (marbl-canu-v1.7_GH0.tar.gz) = c5be54b0ad20729093413e7e722a19637d32e966dc8ecd2b579ba3e4958d378a -SIZE (marbl-canu-v1.7_GH0.tar.gz) = 2533016 +TIMESTAMP = 1540317173 +SHA256 (marbl-canu-v1.8_GH0.tar.gz) = 30ecfe574166f54f79606038830f68927cf0efab33bdc3c6e43fd1448fa0b2e4 +SIZE (marbl-canu-v1.8_GH0.tar.gz) = 2465314 Added: head/biology/canu/files/patch-pipelines_canu_Defaults.pm ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/biology/canu/files/patch-pipelines_canu_Defaults.pm Sun Nov 4 14:29:02 2018 (r484077) @@ -0,0 +1,19 @@ +--- pipelines/canu/Defaults.pm.orig 2018-06-19 17:20:30 UTC ++++ pipelines/canu/Defaults.pm +@@ -812,6 +812,16 @@ sub setDefaults () { + setDefault("gridEngineArraySubmitID", undef, "Grid engine configuration, not documented"); + setDefault("gridEngineJobID", undef, "Grid engine configuration, not documented"); + ++ ##### Slurm-specific parameters for controlling the number of ++ ##### cores / tasks dispatched per step or globally (WIP) ++ ++ setDefault( 'slurmCormhapCoreLimit', undef, 'Maximum number of cores allocated for MHAP pre-computing and alignment within the correction phase' ); ++ setDefault( 'slurmOvbCoreLimit', undef, 'Maximum number of single-core tasks dispatched for the ovlStore bucketizing step within the trimming phase' ); ++ setDefault( 'slurmOvsCoreLimit', undef, 'Maximum number of single-core tasks dispatched for the ovlStore sorting step within the trimming phase' ); ++ setDefault( 'slurmRedCoreLimit', undef, 'Maximum number of cores allocated for read error detection within the unitigging phase' ); ++ setDefault( 'slurmArrayTaskLimit', undef, 'Maximum number of tasks permitted for each step throughout assembly' ); ++ setDefault( 'slurmArrayCoreLimit', undef, 'Maximum number of cores allocated for each step throughout assembly' ); ++ + ##### Grid Engine Pipeline + + setDefault("useGrid", 1, "If 'true', enable grid-based execution; if 'false', run all jobs on the local machine; if 'remote', create jobs for grid execution but do not submit; default 'true'"); Modified: head/biology/canu/files/patch-pipelines_canu_Execution.pm ============================================================================== --- head/biology/canu/files/patch-pipelines_canu_Execution.pm Sun Nov 4 14:27:06 2018 (r484076) +++ head/biology/canu/files/patch-pipelines_canu_Execution.pm Sun Nov 4 14:29:02 2018 (r484077) @@ -1,8 +1,6 @@ -$NetBSD$ - ---- pipelines/canu/Execution.pm.orig 2017-04-17 19:32:38 UTC +--- pipelines/canu/Execution.pm.orig 2018-06-18 02:42:11 UTC +++ pipelines/canu/Execution.pm -@@ -293,10 +293,6 @@ sub skipStage ($$@) { +@@ -303,10 +303,6 @@ sub skipStage ($$@) { sub getInstallDirectory () { my $installDir = $FindBin::RealBin; @@ -12,4 +10,69 @@ $NetBSD$ - return($installDir); } + +@@ -694,8 +690,8 @@ sub submitScript ($$) { + + + +-sub buildGridArray ($$$$) { +- my ($name, $bgn, $end, $opt) = @_; ++sub buildGridArray (@) { ++ my ( $name, $bgn, $end, $opt, $thr ) = @_; + my $off = 0; + + # In some grids (SGE) this is the maximum size of an array job. +@@ -725,8 +721,42 @@ sub buildGridArray ($$$$) { + $off = "-F \"$off\""; + } + +- $opt =~ s/ARRAY_NAME/$name/g; # Replace ARRAY_NAME with 'job name' +- $opt =~ s/ARRAY_JOBS/$bgn-$end/g; # Replace ARRAY_JOBS with 'bgn-end' ++ if( $opt =~ m/(ARRAY_NAME)/ ) ++ { ++ $opt =~ s/$1/$name/; # Replace ARRAY_NAME with 'job name' ++ } ++ elsif( $opt =~ m/(ARRAY_JOBS)/ ) ++ { ++ $opt =~ s/$1/$bgn-$end/; # Replace ARRAY_JOBS with 'bgn-end' ++ ++ if( lc( getGlobal( 'gridEngine' ) ) eq 'slurm' && $end > 1 ) ++ { ++ if( $name =~ m/^cormhap_/i && defined getGlobal( 'slurmCormhapCoreLimit' ) ) ++ { ++ $opt .= '%' . int( getGlobal( 'slurmCormhapCoreLimit' ) / $thr ); ++ } ++ elsif( $name =~ m/^ovb_/i && defined getGlobal( 'slurmOvbCoreLimit' ) ) ++ { ++ $opt .= '%' . getGlobal( 'slurmOvbCoreLimit' ); ++ } ++ elsif( $name =~ m/^ovs_/i && defined getGlobal( 'slurmOvsCoreLimit' ) ) ++ { ++ $opt .= '%' . getGlobal( 'slurmOvsCoreLimit' ); ++ } ++ elsif( $name =~ m/^red_/i && defined getGlobal( 'slurmRedCoreLimit' ) ) ++ { ++ $opt .= '%' . int( getGlobal( 'slurmRedCoreLimit' ) / $thr ); ++ } ++ elsif( defined getGlobal( 'slurmArrayTaskLimit' ) ) ++ { ++ $opt .= '%' . getGlobal( 'slurmArrayTaskLimit' ); ++ } ++ elsif( defined getGlobal( 'slurmArrayCoreLimit' ) ) ++ { ++ $opt .= '%' . int( getGlobal( 'slurmArrayCoreLimit' ) / $thr ); ++ } ++ } ++ } + + return($opt, $off); + } +@@ -870,7 +900,7 @@ sub buildGridJob ($$$$$$$$$) { + my $jobNameT = makeUniqueJobName($jobType, $asm); + + my ($jobName, $jobOff) = buildGridArray($jobNameT, $bgnJob, $endJob, getGlobal("gridEngineArrayName")); +- my ($arrayOpt, $arrayOff) = buildGridArray($jobNameT, $bgnJob, $endJob, getGlobal("gridEngineArrayOption")); ++ my ( $arrayOpt, $arrayOff ) = buildGridArray( $jobNameT, $bgnJob, $endJob, getGlobal( "gridEngineArrayOption" ), $thr ); + + my $outputOption = buildOutputOption($path, $script); Modified: head/biology/canu/pkg-plist ============================================================================== --- head/biology/canu/pkg-plist Sun Nov 4 14:27:06 2018 (r484076) +++ head/biology/canu/pkg-plist Sun Nov 4 14:29:02 2018 (r484077) @@ -4,14 +4,9 @@ bin/bogus bin/canu bin/canu.defaults bin/correctOverlaps -bin/createFalconSenseInputs bin/dumpBlob bin/edalign -bin/erateEstimate bin/errorEstimate -bin/estimate-mer-threshold -bin/existDB -bin/falcon_sense bin/falconsense bin/fastqAnalyze bin/fastqSample @@ -21,21 +16,16 @@ bin/filterCorrectionLayouts bin/filterCorrectionOverlaps bin/findErrors bin/findErrors-Dump -bin/gatekeeperCreate -bin/gatekeeperDumpFASTQ -bin/gatekeeperDumpMetaData -bin/gatekeeperPartition bin/generateCorrectionLayouts -bin/leaff bin/loadCorrectedReads +bin/loadErates bin/loadTrimmedReads -bin/maskMers -bin/merTrim bin/meryl bin/mhapConvert bin/mmapConvert bin/ovStoreBucketizer bin/ovStoreBuild +bin/ovStoreConfig bin/ovStoreDump bin/ovStoreIndexer bin/ovStoreSorter @@ -45,14 +35,15 @@ bin/overlapImport bin/overlapInCore bin/overlapInCorePartition bin/overlapPair -bin/positionDB bin/prefixEditDistance-matchLimitGenerate bin/readConsensus bin/sequence -bin/simple -bin/simple-dump bin/splitHaplotype bin/splitReads +bin/sqStoreCreate +bin/sqStoreCreatePartition +bin/sqStoreDumpFASTQ +bin/sqStoreDumpMetaData bin/tgStoreCompress bin/tgStoreCoverageStat bin/tgStoreDump @@ -60,17 +51,14 @@ bin/tgStoreFilter bin/tgStoreLoad bin/tgTigDisplay bin/trimReads -bin/trioCanu bin/utgcns +bin/wtdbgConvert lib/libcanu.a -lib/libleaff.a %%SITE_PERL%%/canu/Configure.pm %%SITE_PERL%%/canu/Consensus.pm %%SITE_PERL%%/canu/CorrectReads.pm %%SITE_PERL%%/canu/Defaults.pm -%%SITE_PERL%%/canu/ErrorEstimate.pm %%SITE_PERL%%/canu/Execution.pm -%%SITE_PERL%%/canu/Gatekeeper.pm %%SITE_PERL%%/canu/Grid.pm %%SITE_PERL%%/canu/Grid_Cloud.pm %%SITE_PERL%%/canu/Grid_DNANexus.pm @@ -88,5 +76,6 @@ lib/libleaff.a %%SITE_PERL%%/canu/OverlapMhap.pm %%SITE_PERL%%/canu/OverlapStore.pm %%SITE_PERL%%/canu/Report.pm +%%SITE_PERL%%/canu/SequenceStore.pm %%SITE_PERL%%/canu/Unitig.pm %%JAVAJARDIR%%/mhap-2.1.3.jar
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201811041429.wA4ET3Y7050285>