@@ -534,7 +534,10 @@ sub getAllowedResources ($$$$$@) {
534534# If minMemory or minThreads isn't defined, pick a reasonable pair based on genome size.
535535#
536536
537- sub configureAssembler () {
537+ sub configureAssembler ($$$) {
538+ my $numPacBio = shift @_ ;
539+ my $numNanopore = shift @_ ;
540+ my $numHiFi = shift @_ ;
538541
539542 # For overlapper and mhap, allow larger maximums for larger genomes. More memory won't help
540543 # smaller genomes, and the smaller minimums won't hurt larger genomes (which are probably being
@@ -782,20 +785,18 @@ sub configureAssembler () {
782785
783786 # And bogart.
784787
785- if (getGlobal(" genomeSize" ) < adjustGenomeSize(" 40m" )) {
786- setGlobalIfUndef(" batMemory" , " 4-16" ); setGlobalIfUndef(" batThreads" , " 2-4" );
787-
788- } elsif (getGlobal(" genomeSize" ) < adjustGenomeSize(" 500m" )) {
789- setGlobalIfUndef(" batMemory" , " 16-64" ); setGlobalIfUndef(" batThreads" , " 2-8" );
790-
791- } elsif (getGlobal(" genomeSize" ) < adjustGenomeSize(" 2g" )) {
792- setGlobalIfUndef(" batMemory" , " 32-256" ); setGlobalIfUndef(" batThreads" , " 4-16" );
793-
794- } elsif (getGlobal(" genomeSize" ) < adjustGenomeSize(" 5g" )) {
795- setGlobalIfUndef(" batMemory" , " 128-512" ); setGlobalIfUndef(" batThreads" , " 8-32" );
796-
788+ if ($numHiFi == 0) {
789+ if (getGlobal(" genomeSize" ) < adjustGenomeSize(" 40m" )) { setGlobalIfUndef(" batMemory" , " 4-16" ); setGlobalIfUndef(" batThreads" , " 2-4" ); }
790+ elsif (getGlobal(" genomeSize" ) < adjustGenomeSize(" 500m" )) { setGlobalIfUndef(" batMemory" , " 16-48" ); setGlobalIfUndef(" batThreads" , " 2-8" ); }
791+ elsif (getGlobal(" genomeSize" ) < adjustGenomeSize(" 2g" )) { setGlobalIfUndef(" batMemory" , " 32-128" ); setGlobalIfUndef(" batThreads" , " 4-16" ); }
792+ elsif (getGlobal(" genomeSize" ) < adjustGenomeSize(" 5g" )) { setGlobalIfUndef(" batMemory" , " 64-256" ); setGlobalIfUndef(" batThreads" , " 8-32" ); }
793+ else { setGlobalIfUndef(" batMemory" , " 64-512" ); setGlobalIfUndef(" batThreads" , " 8-64" ); }
797794 } else {
798- setGlobalIfUndef(" batMemory" , " 256-1024" ); setGlobalIfUndef(" batThreads" , " 16-64" );
795+ if (getGlobal(" genomeSize" ) < adjustGenomeSize(" 40m" )) { setGlobalIfUndef(" batMemory" , " 4-16" ); setGlobalIfUndef(" batThreads" , " 2-4" ); }
796+ elsif (getGlobal(" genomeSize" ) < adjustGenomeSize(" 500m" )) { setGlobalIfUndef(" batMemory" , " 8-32" ); setGlobalIfUndef(" batThreads" , " 2-8" ); }
797+ elsif (getGlobal(" genomeSize" ) < adjustGenomeSize(" 2g" )) { setGlobalIfUndef(" batMemory" , " 16-64" ); setGlobalIfUndef(" batThreads" , " 4-16" ); }
798+ elsif (getGlobal(" genomeSize" ) < adjustGenomeSize(" 5g" )) { setGlobalIfUndef(" batMemory" , " 32-128" ); setGlobalIfUndef(" batThreads" , " 8-32" ); }
799+ else { setGlobalIfUndef(" batMemory" , " 32-256" ); setGlobalIfUndef(" batThreads" , " 8-64" ); }
799800 }
800801
801802 # Log maxMemory setting.
0 commit comments