Index: head/biology/canu/Makefile =================================================================== --- head/biology/canu/Makefile (revision 484076) +++ head/biology/canu/Makefile (revision 484077) @@ -1,62 +1,62 @@ # $FreeBSD$ PORTNAME= canu DISTVERSIONPREFIX= v -DISTVERSION= 1.7 -PORTREVISION= 2 +DISTVERSION= 1.8 CATEGORIES= biology java perl5 MAINTAINER= jwb@FreeBSD.org COMMENT= Single molecule sequence assembler LICENSE= GPLv2 LICENSE_FILE= ${WRKDIR}/${PORTNAME}-${PORTVERSION}/README.license.GPL BROKEN_aarch64= fails to link: undefined reference to omp_set_num_threads BROKEN_armv6= fails to install: mv: rename site_perl to /wrkdirs/usr/ports/biology/canu/work/canu-1.7/src/usr/local/FreeBSD-armv6/lib/perl5/site_perl: No such file or directory BROKEN_armv7= fails to install: mv: rename site_perl to /wrkdirs/usr/ports/biology/canu/work/canu-1.7/src/usr/local/FreeBSD-armv7/lib/perl5/site_perl: No such file or directory LIB_DEPENDS= libboost_regex.so:devel/boost-libs 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 # Makefile compiles directly into ${DESTDIR}${PREFIX} MAKE_ENV+= DESTDIR=${WRKSRC} post-patch: ${REINPLACE_CMD} \ -e 's|-O4||g' \ -e 's|-funroll-loops||g' \ -e 's|-fexpensive-optimizations||g' \ -e 's|amd64|${ARCH}|g' \ ${WRKSRC}/Makefile ${REINPLACE_CMD} -e 's|\\$$bin/mhap-|${JAVAJARDIR}/mhap-|g' \ ${WRKSRC}/pipelines/canu/OverlapMhap.pm ${REINPLACE_CMD} -e 's|RealBin/lib|RealBin/../${SITE_PERL_REL}/canu|g' \ ${WRKSRC}/pipelines/canu.pl # 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 @${CHMOD} u+w ${STAGEDIR}${PREFIX}/bin/* ${STRIP_CMD} \ `file ${STAGEDIR}${PREFIX}/bin/* | ${GREP} ELF | cut -d : -f 1` (cd ${WRKSRC}${PREFIX}/FreeBSD-${ARCH} && \ ${COPYTREE_SHARE} "lib share" ${STAGEDIR}${PREFIX}) .include Index: head/biology/canu/distinfo =================================================================== --- head/biology/canu/distinfo (revision 484076) +++ head/biology/canu/distinfo (revision 484077) @@ -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 Index: head/biology/canu/files/patch-pipelines_canu_Defaults.pm =================================================================== --- head/biology/canu/files/patch-pipelines_canu_Defaults.pm (nonexistent) +++ head/biology/canu/files/patch-pipelines_canu_Defaults.pm (revision 484077) @@ -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'"); Property changes on: head/biology/canu/files/patch-pipelines_canu_Defaults.pm ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/biology/canu/files/patch-pipelines_canu_Execution.pm =================================================================== --- head/biology/canu/files/patch-pipelines_canu_Execution.pm (revision 484076) +++ head/biology/canu/files/patch-pipelines_canu_Execution.pm (revision 484077) @@ -1,15 +1,78 @@ -$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; - if ($installDir =~ m!^(.*)/\w+-\w+/bin$!) { - $installDir = $1; - } - 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); Index: head/biology/canu/pkg-plist =================================================================== --- head/biology/canu/pkg-plist (revision 484076) +++ head/biology/canu/pkg-plist (revision 484077) @@ -1,92 +1,81 @@ bin/alignGFA bin/bogart 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 bin/fastqSimulate bin/fastqSimulate-sort 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 bin/ovStoreStats bin/overlapConvert 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 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 %%SITE_PERL%%/canu/Grid_LSF.pm %%SITE_PERL%%/canu/Grid_PBSTorque.pm %%SITE_PERL%%/canu/Grid_SGE.pm %%SITE_PERL%%/canu/Grid_Slurm.pm %%SITE_PERL%%/canu/HaplotypeReads.pm %%SITE_PERL%%/canu/Meryl.pm %%SITE_PERL%%/canu/Output.pm %%SITE_PERL%%/canu/OverlapBasedTrimming.pm %%SITE_PERL%%/canu/OverlapErrorAdjustment.pm %%SITE_PERL%%/canu/OverlapInCore.pm %%SITE_PERL%%/canu/OverlapMMap.pm %%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