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)
This commit is contained in:
parent
ac7664c507
commit
9726120ffe
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=484077
5 changed files with 102 additions and 31 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
19
biology/canu/files/patch-pipelines_canu_Defaults.pm
Normal file
19
biology/canu/files/patch-pipelines_canu_Defaults.pm
Normal file
|
@ -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'");
|
|
@ -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;
|
||||
|
||||
|
@ -13,3 +11,68 @@ $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);
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue