From 2e0c9208b42c2a6dbc1dd87f7a68292f34789abe Mon Sep 17 00:00:00 2001 From: rdemko2332 Date: Fri, 30 Jan 2026 16:58:45 -0500 Subject: [PATCH 01/23] Splitting peripheral orthofinder into multiple nextflow workflow calls to ease processing --- Main/lib/xml/workflow/OrthoMCLPeripheral.xml | 8 +- .../xml/workflow/orthoFinderPeripheral.xml | 108 ++++++++++++++++-- .../workflow/orthomclPeripheralWorkflow.xml | 45 +++++--- 3 files changed, 133 insertions(+), 28 deletions(-) diff --git a/Main/lib/xml/workflow/OrthoMCLPeripheral.xml b/Main/lib/xml/workflow/OrthoMCLPeripheral.xml index f2345f946..a64f29099 100644 --- a/Main/lib/xml/workflow/OrthoMCLPeripheral.xml +++ b/Main/lib/xml/workflow/OrthoMCLPeripheral.xml @@ -79,9 +79,9 @@ $$relativeDownloadSiteDir$$ $$projectVersionForWebsiteFiles$$ $$projectName$$ - $$dataDir$$/peripheralGroups/analysisDir/results/GroupsFile.txt - $$dataDir$$/peripheralGroups/analysisDir/results/reformattedGroups.txt - $$dataDir$$/peripheralGroups/analysisDir/results/fullGroupFile.txt + $$dataDir$$/peripheralGroups/analysisDir/peripheralEntryResults/GroupsFile.txt + $$dataDir$$/peripheralGroups/analysisDir/postResidualEntryResults/reformattedGroups.txt + $$dataDir$$/peripheralGroups/analysisDir/postProcessingEntryResults/fullGroupFile.txt $$residualGroupIdPrefix$$ @@ -96,7 +96,7 @@ - $$dataDir$$/peripheralGroups/analysisDir/results/ + $$dataDir$$/peripheralGroups/analysisDir/postProcessingEntryResults/ $$relativeWebServicesDir$$ $$projectVersionForWebsiteFiles$$ diff --git a/Main/lib/xml/workflow/orthoFinderPeripheral.xml b/Main/lib/xml/workflow/orthoFinderPeripheral.xml index e0deba88c..bdf0b0727 100644 --- a/Main/lib/xml/workflow/orthoFinderPeripheral.xml +++ b/Main/lib/xml/workflow/orthoFinderPeripheral.xml @@ -4,11 +4,11 @@ VEuPathDB/orthofinder-nextflow - - + + $$peripheralDir$$ - $$peripheralDir$$/analysisDir/results/ - nextflow.config + $$peripheralDir$$/analysisDir/peripheralEntryResults/ + peripheralEntryNextflow.config $$peripheralDir$$/analysisDir $$peripheralDir$$/fastas.tar.gz $$peripheralDir$$/coreFastas.tar.gz @@ -17,14 +17,13 @@ $$peripheralDir$$/SequenceIDs.txt $$peripheralDir$$/peripheralCacheDir $$peripheralDir$$/outdated.txt - $$peripheralDir$$/previousGroups.txt - + $$projectName$$/$$projectName$$_gus.config $$projectName$$ $$peripheralDir$$ - $$peripheralDir$$/analysisDir/nextflow.config + $$peripheralDir$$/analysisDir/peripheralEntrynextflow.config $$projectName$$|peripheralGroups @@ -33,15 +32,102 @@ $$peripheralDir$$/analysisDir $$nextflowWorkflow$$ peripheralEntry - + + + + + $$peripheralDir$$ + $$peripheralDir$$/analysisDir/residualEntryResults/ + residualEntryNextflow.config + $$peripheralDir$$/analysisDir + $$peripheralDir$$/analysisDir/peripheralEntryResults/residualFastas.tar.gz + qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore + + + + + $$projectName$$/$$projectName$$_gus.config + $$projectName$$ + $$peripheralDir$$ + $$peripheralDir$$/analysisDir/residualEntryNextflow.config + + + $$projectName$$|peripheralGroups + true + + $$peripheralDir$$/analysisDir + $$nextflowWorkflow$$ + residualEntry + + + + + $$peripheralDir$$ + $$peripheralDir$$/analysisDir/postResidualEntryResults/ + postResidualEntryNextflow.config + $$peripheralDir$$/analysisDir + $$peripheralDir$$/analysisDir/residualEntryResults/residualFasta.fa + $$peripheralDir$$/analysisDir/residualEntryResults/Orthogroups.txt + $$peripheralDir$$/analysisDir/residualEntryResults/SpeciesIDs.txt + $$peripheralDir$$/analysisDir/residualEntryResults/SequenceIDs.txt + $$peripheralDir$$/analysisDir/residualEntryResults/blastsFile.txt + + + + + $$projectName$$/$$projectName$$_gus.config + $$projectName$$ + $$peripheralDir$$ + $$peripheralDir$$/analysisDir/postResidualEntryNextflow.config + + + $$projectName$$|peripheralGroups + true + + $$peripheralDir$$/analysisDir + $$nextflowWorkflow$$ + postResidualEntry + + + $$peripheralDir$$ + $$peripheralDir$$/analysisDir/postProcessingEntryResults/ + postProcessingEntryNextflow.config + $$peripheralDir$$/analysisDir + $$peripheralDir$$/analysisDir/residualEntryResults/residualFasta.fa + $$peripheralDir$$/analysisDir/postResidualEntryResults/bestReps.fasta + $$peripheralDir$$/analysisDir/peripheralEntryResults/coreBestReps.fasta + $$peripheralDir$$/analysisDir/peripheralEntryResults/GroupsFile.txt + $$peripheralDir$$/analysisDir/peripheralEntryResults/fullProteome.fasta + $$peripheralDir$$/analysisDir/residualEntryResults/Orthogroups.txt + $$peripheralDir$$/previousGroups.txt + qseqid sseqid evalue + + + + + $$projectName$$/$$projectName$$_gus.config + $$projectName$$ + $$peripheralDir$$ + $$peripheralDir$$/analysisDir/postProcessingEntryNextflow.config + + + $$projectName$$|peripheralGroups + true + + $$peripheralDir$$/analysisDir + $$nextflowWorkflow$$ + postProcessingEntry + + + $$nextflowWorkflow$$ $$getPeripheralProteinsDir$$/fastas/checkSum.tsv - $$peripheralDir$$/analysisDir/results/fullGroupFile.txt - $$peripheralDir$$/analysisDir/results/previousGroups.txt - + $$peripheralDir$$/analysisDir/postProcessingEntryResults/fullGroupFile.txt + $$peripheralDir$$/analysisDir/postProcessingEntryResults/previousGroups.txt + diff --git a/Main/lib/xml/workflow/orthomclPeripheralWorkflow.xml b/Main/lib/xml/workflow/orthomclPeripheralWorkflow.xml index 7837d4690..a72260e4a 100644 --- a/Main/lib/xml/workflow/orthomclPeripheralWorkflow.xml +++ b/Main/lib/xml/workflow/orthomclPeripheralWorkflow.xml @@ -23,16 +23,33 @@ - - $$peripheralDir$$/analysisDir/results/ + + + + $$peripheralDir$$/analysisDir/peripheralEntryResults/ - + + + + $$peripheralDir$$/analysisDir/residualEntryResults/ + + + + + $$peripheralDir$$/analysisDir/postResidualEntryResults/ + + + + + $$peripheralDir$$/analysisDir/postProcessingEntryResults/ + + $$getPeripheralProteinsDir$$/fastas/checkSum.tsv $$peripheralDir$$/outdated.txt $$getPeripheralProteinsDir$$/doNotDoAnalysis - + @@ -83,6 +100,8 @@ + + $$peripheralDir$$/analysisDir/results/ @@ -95,13 +114,13 @@ - $$peripheralDir$$/analysisDir/results/GroupsFile.txt + $$peripheralDir$$/analysisDir/peripheralEntryResults/GroupsFile.txt $$projectName$$/$$projectName$$_gus.config - $$peripheralDir$$/analysisDir/results/reformattedGroups.txt + $$peripheralDir$$/analysisDir/postResidualEntryResults/reformattedGroups.txt $$projectName$$/$$projectName$$_gus.config @@ -119,46 +138,46 @@ - $$peripheralDir$$/analysisDir/results/groupStats/core_stats.txt + $$peripheralDir$$/analysisDir/peripheralEntryResults/groupStats/core_stats.txt C $$projectName$$/$$projectName$$_gus.config - $$peripheralDir$$/analysisDir/results/groupStats/peripheral_stats.txt + $$peripheralDir$$/analysisDir/peripheralEntryResults/groupStats/peripheral_stats.txt C+P $$projectName$$/$$projectName$$_gus.config - $$peripheralDir$$/analysisDir/results/groupStats/residual_stats.txt + $$peripheralDir$$/analysisDir/postResidualResults/groupStats/residual_stats.txt R $$projectName$$/$$projectName$$_gus.config - $$peripheralDir$$/analysisDir/results/intraGroupBlastFile.tsv + $$peripheralDir$$/analysisDir/peripheralEntryResults/intraGroupBlastFile.tsv $$projectName$$/$$projectName$$_gus.config - $$peripheralDir$$/analysisDir/results/intraResidualGroupBlastFile.tsv + $$peripheralDir$$/analysisDir/postResidualEntryResults/intraResidualGroupBlastFile.tsv $$projectName$$/$$projectName$$_gus.config - $$peripheralDir$$/analysisDir/results/similar_groups.tsv + $$peripheralDir$$/analysisDir/postProcessingEntryResults/similar_groups.tsv $$projectName$$/$$projectName$$_gus.config - $$peripheralDir$$/analysisDir/results/previousGroups.txt + $$peripheralDir$$/analysisDir/postProcessingEntryResults/previousGroups.txt $$projectName$$/$$projectName$$_gus.config From 616d093357a9472bdfe537abf798ee7572917a98 Mon Sep 17 00:00:00 2001 From: rdemko2332 Date: Mon, 2 Feb 2026 15:03:06 -0500 Subject: [PATCH 02/23] Adding new make nextflow config steps for ortho peripheral segments --- ...thoFinderPeripheralEntryNextflowConfig.pm} | 23 ++---- ...FinderPostProcessingEntryNextflowConfig.pm | 82 +++++++++++++++++++ ...hoFinderPostResidualEntryNextflowConfig.pm | 75 +++++++++++++++++ ...eOrthoFinderResidualEntryNextflowConfig.pm | 61 ++++++++++++++ .../xml/workflow/orthoFinderPeripheral.xml | 4 +- 5 files changed, 228 insertions(+), 17 deletions(-) rename Main/lib/perl/WorkflowSteps/{MakeOrthoFinderPeripheralNextflowConfig.pm => MakeOrthoFinderPeripheralEntryNextflowConfig.pm} (76%) create mode 100644 Main/lib/perl/WorkflowSteps/MakeOrthoFinderPostProcessingEntryNextflowConfig.pm create mode 100644 Main/lib/perl/WorkflowSteps/MakeOrthoFinderPostResidualEntryNextflowConfig.pm create mode 100644 Main/lib/perl/WorkflowSteps/MakeOrthoFinderResidualEntryNextflowConfig.pm diff --git a/Main/lib/perl/WorkflowSteps/MakeOrthoFinderPeripheralNextflowConfig.pm b/Main/lib/perl/WorkflowSteps/MakeOrthoFinderPeripheralEntryNextflowConfig.pm similarity index 76% rename from Main/lib/perl/WorkflowSteps/MakeOrthoFinderPeripheralNextflowConfig.pm rename to Main/lib/perl/WorkflowSteps/MakeOrthoFinderPeripheralEntryNextflowConfig.pm index c61c88447..51537f705 100644 --- a/Main/lib/perl/WorkflowSteps/MakeOrthoFinderPeripheralNextflowConfig.pm +++ b/Main/lib/perl/WorkflowSteps/MakeOrthoFinderPeripheralEntryNextflowConfig.pm @@ -1,4 +1,4 @@ -package ApiCommonWorkflow::Main::WorkflowSteps::MakeOrthoFinderPeripheralNextflowConfig; +package ApiCommonWorkflow::Main::WorkflowSteps::MakeOrthoFinderPeripheralEntryNextflowConfig; @ISA = (ApiCommonWorkflow::Main::WorkflowSteps::WorkflowStep); @@ -16,11 +16,10 @@ sub run { my $coreGroupsFile = $self->getParamValue("coreGroupsFile"); my $coreGroupSimilarities = $self->getParamValue("coreGroupSimilarities"); my $coreTranslateSequenceFile = $self->getParamValue("coreTranslateSequenceFile"); + my $outdatedOrganisms = $self->getParamValue("outdatedOrganisms"); + my $peripheralDiamondCache = $self->getParamValue("peripheralDiamondCache"); + my $buildVersion = $self->getSharedConfig("buildVersion"); - my $residualBuildVersion = $self->getSharedConfig("residualBuildVersion"); - my $peripheralCacheDir = $self->getParamValue("peripheralCacheDir"); - my $outdatedOrganisms = $self->getParamValue("outdated"); - my $oldGroupsFile = $self->getParamValue("oldGroupsFile"); my $resultsDirectory = $self->getParamValue("clusterResultDir"); my $configPath = join("/", $self->getWorkflowDataDir(), $self->getParamValue("analysisDir"), $self->getParamValue("configFileName")); @@ -32,9 +31,8 @@ sub run { my $coreGroupsFileInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $coreGroupsFile); my $coreGroupSimilaritiesInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $coreGroupSimilarities); my $coreTranslateSequenceFileInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $coreTranslateSequenceFile); - my $peripheralCacheDirInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $peripheralCacheDir); - my $outdatedFileInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $outdatedOrganisms); - my $oldGroupsFileInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $oldGroupsFile); + my $peripheralDiamondCacheInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $peripheralDiamondCache); + my $outdatedOrganismsFileInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $outdatedOrganisms); my $resultsDirectoryInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $resultsDirectory); my $executor = $self->getClusterExecutor(); @@ -54,15 +52,10 @@ params { coreGroupsFile = \"$coreGroupsFileInNextflowWorkingDirOnCluster\" coreGroupSimilarities = \"$coreGroupSimilaritiesInNextflowWorkingDirOnCluster\" coreTranslateSequenceFile = \"$coreTranslateSequenceFileInNextflowWorkingDirOnCluster\" - outdatedOrganisms = \"$outdatedFileInNextflowWorkingDirOnCluster\" - oldGroupsFile = \"$oldGroupsFileInNextflowWorkingDirOnCluster\" - peripheralDiamondCache = \"$peripheralCacheDirInNextflowWorkingDirOnCluster\" - blastArgs = \"\" + outdatedOrganisms = \"$outdatedOrganismsFileInNextflowWorkingDirOnCluster\" + peripheralDiamondCache = \"$peripheralDiamondCacheInNextflowWorkingDirOnCluster\" buildVersion = $buildVersion - residualBuildVersion = $residualBuildVersion - bestRepDiamondOutputFields = \"qseqid sseqid evalue\" orthoFinderDiamondOutputFields = \"qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore\" - } process { diff --git a/Main/lib/perl/WorkflowSteps/MakeOrthoFinderPostProcessingEntryNextflowConfig.pm b/Main/lib/perl/WorkflowSteps/MakeOrthoFinderPostProcessingEntryNextflowConfig.pm new file mode 100644 index 000000000..c3ce060b8 --- /dev/null +++ b/Main/lib/perl/WorkflowSteps/MakeOrthoFinderPostProcessingEntryNextflowConfig.pm @@ -0,0 +1,82 @@ +package ApiCommonWorkflow::Main::WorkflowSteps::MakeOrthoFinderPostProcessingNextflowConfig; + +@ISA = (ApiCommonWorkflow::Main::WorkflowSteps::WorkflowStep); + +use strict; +use warnings; +use ApiCommonWorkflow::Main::WorkflowSteps::WorkflowStep; + +sub run { + my ($self, $test, $undo) = @_; + + my $clusterWorkflowDataDir = $self->getClusterWorkflowDataDir(); + my $analysisDir = $self->getParamValue("analysisDir"); + my $residualFasta = $self->getParamValue("residualFasta"); + my $residualBestRepsFasta = $self->getParamValue("residualBestRepsFasta"); + my $coreBestRepsFasta = $self->getParamValue("coreBestRepsFasta"); + my $coreAndPeripheralGroups = $self->getParamValue("coreAndPeripheralGroups"); + my $coreAndPeripheralProteome = $self->getParamValue("coreAndPeripheralProteome"); + my $residualGroups = $self->getParamValue("residualGroups"); + my $buildVersion = $self->getSharedConfig("buildVersion"); + my $oldGroupsFile = $self->getParamValue("oldGroupsFile"); + my $bestRepDiamondOutputFields = $self->getParamValue("bestRepDiamondOutputFields"); + + my $resultsDirectory = $self->getParamValue("clusterResultDir"); + my $configPath = join("/", $self->getWorkflowDataDir(), $self->getParamValue("analysisDir"), $self->getParamValue("configFileName")); + + my $workingDirRelativePath = $self->getParamValue("workingDirRelativePath"); + + my $residualFastaInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $residualFasta); + my $residualBestRepsFastaInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $residualBestRepsFasta); + my $coreBestRepsFastaInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $coreBestRepsFasta); + my $coreAndPeripheralGroupsInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $coreAndPeripheralGroups); + my $coreAndPeripheralProteomeInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $coreAndPeripheralProteome); + my $residualGroupsInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $residualGroups); + my $oldGroupsFileInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $oldGroupsFile); + + my $resultsDirectoryInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $resultsDirectory); + + my $executor = $self->getClusterExecutor(); + my $queue = $self->getClusterQueue(); + + if ($undo) { + $self->runCmd(0,"rm -rf $configPath"); + } else { + open(F, ">", $configPath) or die "$! :Can't open config file '$configPath' for writing"; + + print F +" +params { + outputDir = \"$resultsDirectoryInNextflowWorkingDirOnCluster\" + residualFasta = \"$residualFastaInNextflowWorkingDirOnCluster\" + residualBestRepsFasta = \"$residualBestRepsFastaInNextflowWorkingDirOnCluster\" + coreBestRepsFasta = \"$coreBestRepsFastaInNextflowWorkingDirOnCluster\" + coreAndPeripheralGroups = \"$coreAndPeripheralGroupsInNextflowWorkingDirOnCluster\" + coreAndPeripheralProteome = \"$coreAndPeripheralProteomeInNextflowWorkingDirOnCluster\" + residualGroups = \"$residualGroupsInNextflowWorkingDirOnCluster\" + buildVersion = $buildVersion + oldGroupsFile = \"$oldGroupsFileInNextflowWorkingDirOnCluster\" + bestRepDiamondOutputFields = \"$bestRepDiamondOutputFields\" +} + +process { + executor = \'$executor\' + queue = \'$queue\' +} + +env { + _JAVA_OPTIONS=\"-Xmx8192M\" + NXF_OPTS=\"-Xmx8192M\" + NXF_JVM_ARGS=\"-Xmx8192M\" +} + +singularity { + enabled = true + autoMounts = true +} +"; + close(F); + } +} + +1; diff --git a/Main/lib/perl/WorkflowSteps/MakeOrthoFinderPostResidualEntryNextflowConfig.pm b/Main/lib/perl/WorkflowSteps/MakeOrthoFinderPostResidualEntryNextflowConfig.pm new file mode 100644 index 000000000..fe405cd73 --- /dev/null +++ b/Main/lib/perl/WorkflowSteps/MakeOrthoFinderPostResidualEntryNextflowConfig.pm @@ -0,0 +1,75 @@ +package ApiCommonWorkflow::Main::WorkflowSteps::MakeOrthoFinderPostResidualNextflowConfig; + +@ISA = (ApiCommonWorkflow::Main::WorkflowSteps::WorkflowStep); + +use strict; +use warnings; +use ApiCommonWorkflow::Main::WorkflowSteps::WorkflowStep; + +sub run { + my ($self, $test, $undo) = @_; + + my $clusterWorkflowDataDir = $self->getClusterWorkflowDataDir(); + my $analysisDir = $self->getParamValue("analysisDir"); + my $residualFasta = $self->getParamValue("residualFasta"); + my $groupsFile = $self->getParamValue("groupsFile"); + my $speciesMapping = $self->getParamValue("speciesMapping"); + my $sequenceMapping = $self->getParamValue("sequenceMapping"); + my $diamondResultsFile = $self->getParamValue("diamondResultsFile"); + my $buildVersion = $self->getSharedConfig("buildVersion"); + my $residualBuildVersion = $self->getSharedConfig("residualBuildVersion"); + + my $resultsDirectory = $self->getParamValue("clusterResultDir"); + my $configPath = join("/", $self->getWorkflowDataDir(), $self->getParamValue("analysisDir"), $self->getParamValue("configFileName")); + + my $workingDirRelativePath = $self->getParamValue("workingDirRelativePath"); + + my $residualFastaInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $residualFasta); + my $groupsFileInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $groupsFile); + my $speciesMappingInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $speciesMapping); + my $sequenceMappingInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $sequenceMapping); + my $diamondResultsFileInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $diamondResultsFile); + my $resultsDirectoryInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $resultsDirectory); + + my $executor = $self->getClusterExecutor(); + my $queue = $self->getClusterQueue(); + + if ($undo) { + $self->runCmd(0,"rm -rf $configPath"); + } else { + open(F, ">", $configPath) or die "$! :Can't open config file '$configPath' for writing"; + + print F +" +params { + outputDir = \"$resultsDirectoryInNextflowWorkingDirOnCluster\" + residualFasta = \"$residualFastaInNextflowWorkingDirOnCluster\" + groupsFile = \"$groupsFileInNextflowWorkingDirOnCluster\" + speciesMapping = \"$speciesMappingInNextflowWorkingDirOnCluster\" + sequenceMapping = \"$sequenceMappingInNextflowWorkingDirOnCluster\" + diamondResultsFile = \"$diamondResultsFileInNextflowWorkingDirOnCluster\" + buildVersion = $buildVersion + residualBuildVersion = $residualBuildVersion +} + +process { + executor = \'$executor\' + queue = \'$queue\' +} + +env { + _JAVA_OPTIONS=\"-Xmx8192M\" + NXF_OPTS=\"-Xmx8192M\" + NXF_JVM_ARGS=\"-Xmx8192M\" +} + +singularity { + enabled = true + autoMounts = true +} +"; + close(F); + } +} + +1; diff --git a/Main/lib/perl/WorkflowSteps/MakeOrthoFinderResidualEntryNextflowConfig.pm b/Main/lib/perl/WorkflowSteps/MakeOrthoFinderResidualEntryNextflowConfig.pm new file mode 100644 index 000000000..1d299d31e --- /dev/null +++ b/Main/lib/perl/WorkflowSteps/MakeOrthoFinderResidualEntryNextflowConfig.pm @@ -0,0 +1,61 @@ +package ApiCommonWorkflow::Main::WorkflowSteps::MakeOrthoFinderResidualNextflowConfig; + +@ISA = (ApiCommonWorkflow::Main::WorkflowSteps::WorkflowStep); + +use strict; +use warnings; +use ApiCommonWorkflow::Main::WorkflowSteps::WorkflowStep; + +sub run { + my ($self, $test, $undo) = @_; + + my $clusterWorkflowDataDir = $self->getClusterWorkflowDataDir(); + my $analysisDir = $self->getParamValue("analysisDir"); + my $residualFastaDir = $self->getParamValue("residualFastaDir"); + + my $resultsDirectory = $self->getParamValue("clusterResultDir"); + my $configPath = join("/", $self->getWorkflowDataDir(), $self->getParamValue("analysisDir"), $self->getParamValue("configFileName")); + + my $workingDirRelativePath = $self->getParamValue("workingDirRelativePath"); + + my $residualFastaDirInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $residualFastaDir); + my $resultsDirectoryInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $resultsDirectory); + + my $executor = $self->getClusterExecutor(); + my $queue = $self->getClusterQueue(); + + if ($undo) { + $self->runCmd(0,"rm -rf $configPath"); + } else { + open(F, ">", $configPath) or die "$! :Can't open config file '$configPath' for writing"; + + print F +" +params { + outputDir = \"$resultsDirectoryInNextflowWorkingDirOnCluster\" + residualFastaDir = \"$residualFastaDirInNextflowWorkingDirOnCluster\" + orthoFinderDiamondOutputFields = \"qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore\" + +} + +process { + executor = \'$executor\' + queue = \'$queue\' +} + +env { + _JAVA_OPTIONS=\"-Xmx8192M\" + NXF_OPTS=\"-Xmx8192M\" + NXF_JVM_ARGS=\"-Xmx8192M\" +} + +singularity { + enabled = true + autoMounts = true +} +"; + close(F); + } +} + +1; diff --git a/Main/lib/xml/workflow/orthoFinderPeripheral.xml b/Main/lib/xml/workflow/orthoFinderPeripheral.xml index bdf0b0727..683f16ba7 100644 --- a/Main/lib/xml/workflow/orthoFinderPeripheral.xml +++ b/Main/lib/xml/workflow/orthoFinderPeripheral.xml @@ -15,8 +15,8 @@ $$peripheralDir$$/reformattedGroups.txt $$peripheralDir$$/groupDiamondResults $$peripheralDir$$/SequenceIDs.txt - $$peripheralDir$$/peripheralCacheDir - $$peripheralDir$$/outdated.txt + $$peripheralDir$$/outdated.txt + $$peripheralDir$$/peripheralCacheDir From 8b0f02eac04c887c79ec4423e9d7abee998b1aa4 Mon Sep 17 00:00:00 2001 From: Richard Demko Date: Tue, 3 Mar 2026 09:51:05 -0500 Subject: [PATCH 03/23] Fixing peripheral entry nextflow config name --- Main/lib/xml/workflow/orthoFinderPeripheral.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Main/lib/xml/workflow/orthoFinderPeripheral.xml b/Main/lib/xml/workflow/orthoFinderPeripheral.xml index 683f16ba7..539672c26 100644 --- a/Main/lib/xml/workflow/orthoFinderPeripheral.xml +++ b/Main/lib/xml/workflow/orthoFinderPeripheral.xml @@ -23,7 +23,7 @@ $$projectName$$/$$projectName$$_gus.config $$projectName$$ $$peripheralDir$$ - $$peripheralDir$$/analysisDir/peripheralEntrynextflow.config + $$peripheralDir$$/analysisDir/peripheralEntryNextflow.config $$projectName$$|peripheralGroups From 41e671eda11ca285d2ad9654fb9c726695193972 Mon Sep 17 00:00:00 2001 From: Richard Demko Date: Tue, 3 Mar 2026 13:28:46 -0500 Subject: [PATCH 04/23] Resolving hardcoded output directory name --- Main/lib/xml/workflow/orthoFinderCore.xml | 1 + Main/lib/xml/workflow/orthoFinderPeripheral.xml | 4 ++++ Main/lib/xml/workflow/runOrthoNextflowOnCluster.xml | 9 +++++---- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/Main/lib/xml/workflow/orthoFinderCore.xml b/Main/lib/xml/workflow/orthoFinderCore.xml index 706e0e72e..392eb04ff 100644 --- a/Main/lib/xml/workflow/orthoFinderCore.xml +++ b/Main/lib/xml/workflow/orthoFinderCore.xml @@ -24,6 +24,7 @@ $$coreGroupsDir$$ $$coreGroupsDir$$/analysisDir $$coreGroupsDir$$/analysisDir/nextflow.config + results diff --git a/Main/lib/xml/workflow/orthoFinderPeripheral.xml b/Main/lib/xml/workflow/orthoFinderPeripheral.xml index 539672c26..e1571a03a 100644 --- a/Main/lib/xml/workflow/orthoFinderPeripheral.xml +++ b/Main/lib/xml/workflow/orthoFinderPeripheral.xml @@ -24,6 +24,7 @@ $$projectName$$ $$peripheralDir$$ $$peripheralDir$$/analysisDir/peripheralEntryNextflow.config + peripheralEntryResults $$projectName$$|peripheralGroups @@ -50,6 +51,7 @@ $$projectName$$ $$peripheralDir$$ $$peripheralDir$$/analysisDir/residualEntryNextflow.config + residualEntryResults $$projectName$$|peripheralGroups @@ -79,6 +81,7 @@ $$projectName$$ $$peripheralDir$$ $$peripheralDir$$/analysisDir/postResidualEntryNextflow.config + postResidualEntryResults $$projectName$$|peripheralGroups @@ -111,6 +114,7 @@ $$projectName$$ $$peripheralDir$$ $$peripheralDir$$/analysisDir/postProcessingEntryNextflow.config + postProcessingEntryResults $$projectName$$|peripheralGroups diff --git a/Main/lib/xml/workflow/runOrthoNextflowOnCluster.xml b/Main/lib/xml/workflow/runOrthoNextflowOnCluster.xml index 4ae4249a1..5fdc5aca0 100644 --- a/Main/lib/xml/workflow/runOrthoNextflowOnCluster.xml +++ b/Main/lib/xml/workflow/runOrthoNextflowOnCluster.xml @@ -2,6 +2,7 @@ + @@ -21,7 +22,7 @@ $$parentDataDir$$ $$analysisDir$$ - $$analysisDir$$/results + $$analysisDir$$/$$resultDirName$$ $$nextflowConfigFile$$ $$nextflowWorkflow$$ true @@ -32,8 +33,8 @@ $$parentDataDir$$ - $$analysisDir$$/results - $$analysisDir$$/results + $$analysisDir$$/$$resultDirName$$ + $$analysisDir$$/$$resultDirName$$ * true @@ -53,7 +54,7 @@ $$genomeSpec$$ $$isProteomeAnalysis$$ $$datasetSpec$$ - $$analysisDir$$/results + $$analysisDir$$/$$resultDirName$$ $$foundNextflowResults$$ $$nextflowWorkflow$$ $$projectName$$ From db0eec57fcd1f9e7d81fd161e9a2433cbf36539e Mon Sep 17 00:00:00 2001 From: Richard Demko Date: Tue, 3 Mar 2026 16:33:54 -0500 Subject: [PATCH 05/23] Changing module reference name --- .../WorkflowSteps/MakeOrthoFinderResidualEntryNextflowConfig.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Main/lib/perl/WorkflowSteps/MakeOrthoFinderResidualEntryNextflowConfig.pm b/Main/lib/perl/WorkflowSteps/MakeOrthoFinderResidualEntryNextflowConfig.pm index 1d299d31e..c75f0e9e1 100644 --- a/Main/lib/perl/WorkflowSteps/MakeOrthoFinderResidualEntryNextflowConfig.pm +++ b/Main/lib/perl/WorkflowSteps/MakeOrthoFinderResidualEntryNextflowConfig.pm @@ -1,4 +1,4 @@ -package ApiCommonWorkflow::Main::WorkflowSteps::MakeOrthoFinderResidualNextflowConfig; +package ApiCommonWorkflow::Main::WorkflowSteps::MakeOrthoFinderResidualEntryNextflowConfig; @ISA = (ApiCommonWorkflow::Main::WorkflowSteps::WorkflowStep); From bef3a20149a897093a1a7cd1d1d25361d24072a3 Mon Sep 17 00:00:00 2001 From: Richard Demko Date: Tue, 3 Mar 2026 18:20:25 -0500 Subject: [PATCH 06/23] Resolving module name declaration for new make nextflow config steps --- .../MakeOrthoFinderPostProcessingEntryNextflowConfig.pm | 2 +- .../MakeOrthoFinderPostResidualEntryNextflowConfig.pm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Main/lib/perl/WorkflowSteps/MakeOrthoFinderPostProcessingEntryNextflowConfig.pm b/Main/lib/perl/WorkflowSteps/MakeOrthoFinderPostProcessingEntryNextflowConfig.pm index c3ce060b8..eba01a33c 100644 --- a/Main/lib/perl/WorkflowSteps/MakeOrthoFinderPostProcessingEntryNextflowConfig.pm +++ b/Main/lib/perl/WorkflowSteps/MakeOrthoFinderPostProcessingEntryNextflowConfig.pm @@ -1,4 +1,4 @@ -package ApiCommonWorkflow::Main::WorkflowSteps::MakeOrthoFinderPostProcessingNextflowConfig; +package ApiCommonWorkflow::Main::WorkflowSteps::MakeOrthoFinderPostProcessingEntryNextflowConfig; @ISA = (ApiCommonWorkflow::Main::WorkflowSteps::WorkflowStep); diff --git a/Main/lib/perl/WorkflowSteps/MakeOrthoFinderPostResidualEntryNextflowConfig.pm b/Main/lib/perl/WorkflowSteps/MakeOrthoFinderPostResidualEntryNextflowConfig.pm index fe405cd73..bd18dc177 100644 --- a/Main/lib/perl/WorkflowSteps/MakeOrthoFinderPostResidualEntryNextflowConfig.pm +++ b/Main/lib/perl/WorkflowSteps/MakeOrthoFinderPostResidualEntryNextflowConfig.pm @@ -1,4 +1,4 @@ -package ApiCommonWorkflow::Main::WorkflowSteps::MakeOrthoFinderPostResidualNextflowConfig; +package ApiCommonWorkflow::Main::WorkflowSteps::MakeOrthoFinderPostResidualEntryNextflowConfig; @ISA = (ApiCommonWorkflow::Main::WorkflowSteps::WorkflowStep); From 03109fc285228aab3f86f4e1195216f2efc364f4 Mon Sep 17 00:00:00 2001 From: Richard Demko Date: Wed, 4 Mar 2026 12:10:27 -0500 Subject: [PATCH 07/23] Updating copy from cache for split peripheral workflow --- Main/lib/xml/workflow/orthomclPeripheralWorkflow.xml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Main/lib/xml/workflow/orthomclPeripheralWorkflow.xml b/Main/lib/xml/workflow/orthomclPeripheralWorkflow.xml index a72260e4a..96e4dd803 100644 --- a/Main/lib/xml/workflow/orthomclPeripheralWorkflow.xml +++ b/Main/lib/xml/workflow/orthomclPeripheralWorkflow.xml @@ -23,8 +23,6 @@ - - $$peripheralDir$$/analysisDir/peripheralEntryResults/ @@ -100,10 +98,9 @@ - - $$peripheralDir$$/analysisDir/results/ + $$peripheralDir$$/analysisDir/ From 539d71e0354cdd6a20c9369d85b9a509175a60bb Mon Sep 17 00:00:00 2001 From: Richard Demko Date: Wed, 4 Mar 2026 12:45:23 -0500 Subject: [PATCH 08/23] Updating copy from cache for split peripheral workflow --- .../CopyPeripheralGroupsResultsFromCache.pm | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/Main/lib/perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm b/Main/lib/perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm index 8cb18172a..94b897f87 100644 --- a/Main/lib/perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm +++ b/Main/lib/perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm @@ -9,7 +9,7 @@ sub run { my $preprocessedDataCache = $self->getSharedConfig('preprocessedDataCache'); my $workflowDataDir = $self->getWorkflowDataDir(); - my $resultsDir = join("/", $workflowDataDir, $self->getParamValue("resultsDir")); + my $analysisDir = join("/", $workflowDataDir, $self->getParamValue("analysisDir")); if ($undo) { $self->runCmd(0, "rm -rf $resultsDir/*"); @@ -19,7 +19,29 @@ sub run { } else { - $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/* $resultsDir/"); + # peripheralEntryResults + $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/peripherals.fasta $analysisDir/peripheralEntryResults/"); + $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/intraGroupBlastFile.tsv $analysisDir/peripheralEntryResults/"); + $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/coreBestReps.txt $analysisDir/peripheralEntryResults/"); + $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/GroupsFile.txt $analysisDir/peripheralEntryResults/"); + $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/peripheralCacheDir.tar.gz $analysisDir/peripheralEntryResults/"); + $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/residuals.fasta $analysisDir/peripheralEntryResults/"); + $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/groupStats $analysisDir/peripheralEntryResults/"); + $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/residuals.fasta $analysisDir/peripheralEntryResults/"); + $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/groupFastas $analysisDir/peripheralEntryResults/"); + # postResidualEntryResults + $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/groupStats $analysisDir/postResidualEntryResults/"); + $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/residualBestReps.txt $analysisDir/postResidualEntryResults/"); + $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/groupFastas $analysisDir/postResidualEntryResults/"); + $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/residualBuildVersion.txt $analysisDir/postResidualEntryResults/"); + $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/intraResidualGroupBlastFile.tsv $analysisDir/postResidualEntryResults/"); + $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/reformattedGroups.txt $analysisDir/postResidualEntryResults"); + # postProcessingEntryResults + $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/bestRepsFull.fasta $analysisDir/postProcessingEntryResults/"); + $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/fullGroupFile.txt $analysisDir/postProcessingEntryResults/"); + $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/similar_groups.tsv $analysisDir/postProcessingEntryResults/"); + $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/ortho7db.dmnd $analysisDir/postProcessingEntryResults/"); + $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/previousGroups.txt $analysisDir/postProcessingEntryResults/"); } } From fd66dbb02600ad03fecb9c3e877a54c81e9e636c Mon Sep 17 00:00:00 2001 From: John Brestelli Date: Wed, 4 Mar 2026 13:56:54 -0500 Subject: [PATCH 09/23] Switch EC prediction to assignEcByOrthologs.pl with threshold 0.4 - PredictEcNumbers: replace orthomclEcPrediction call with assignEcByOrthologs.pl --threshold 0.4; drop unused outputDir param - InsertOrthoMCLDerivedECGenomic: drop aaSeqLocusTagMappingSql arg (aa_sequence_id now comes directly from the input file) - OrthoMCLDependent.xml: remove outputDir and idSql paramValues Co-Authored-By: Claude Sonnet 4.6 --- .../perl/WorkflowSteps/InsertOrthoMCLDerivedECGenomic.pm | 5 ++--- Main/lib/perl/WorkflowSteps/PredictEcNumbers.pm | 8 ++++---- Main/lib/xml/workflow/OrthoMCLDependent.xml | 2 -- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/Main/lib/perl/WorkflowSteps/InsertOrthoMCLDerivedECGenomic.pm b/Main/lib/perl/WorkflowSteps/InsertOrthoMCLDerivedECGenomic.pm index d9951a1fe..5dd444460 100644 --- a/Main/lib/perl/WorkflowSteps/InsertOrthoMCLDerivedECGenomic.pm +++ b/Main/lib/perl/WorkflowSteps/InsertOrthoMCLDerivedECGenomic.pm @@ -8,11 +8,10 @@ use ApiCommonWorkflow::Main::WorkflowSteps::WorkflowStep; sub run { my ($self, $test, $undo) = @_; - my $inputFile = $self->getWorkflowDataDir() . "/" . $self->getParamValue('inputFile'); + my $inputFile = $self->getWorkflowDataDir() . "/" . $self->getParamValue('inputFile'); my $evidenceCode = $self->getParamValue('evidenceCode'); - my $idSql = $self->getParamValue('idSql'); - my $args = "--ECMappingFile $inputFile --evidenceCode '$evidenceCode' --aaSeqLocusTagMappingSql '$idSql'"; + my $args = "--ECMappingFile $inputFile --evidenceCode '$evidenceCode'"; $self->testInputFile('inputFile', "$inputFile") unless $undo; diff --git a/Main/lib/perl/WorkflowSteps/PredictEcNumbers.pm b/Main/lib/perl/WorkflowSteps/PredictEcNumbers.pm index c3374af03..18548cd17 100644 --- a/Main/lib/perl/WorkflowSteps/PredictEcNumbers.pm +++ b/Main/lib/perl/WorkflowSteps/PredictEcNumbers.pm @@ -9,15 +9,15 @@ sub run { my ($self, $test, $undo) = @_; my $workflowDataDir = $self->getWorkflowDataDir(); - my $outputDir = $self->getParamValue('outputDir'); - my $outputFile = $workflowDataDir."/".$self->getParamValue('outputFile'); + my $outputFile = $workflowDataDir . "/" . $self->getParamValue('outputFile'); my $gusConfigFile = $workflowDataDir . "/" . $self->getParamValue('gusConfigFile'); + my $threshold = 0.4; if ($undo) { - my $cmd = "rm $outputFile"; + my $cmd = "rm -f $outputFile"; $self->runCmd($test, $cmd); } else { - my $cmd = "orthomclEcPrediction $outputDir $outputFile $gusConfigFile"; + my $cmd = "assignEcByOrthologs.pl --output $outputFile --gusConfigFile $gusConfigFile --threshold $threshold"; $self->runCmd($test, $cmd); } } diff --git a/Main/lib/xml/workflow/OrthoMCLDependent.xml b/Main/lib/xml/workflow/OrthoMCLDependent.xml index 580c984d7..babbfc75c 100644 --- a/Main/lib/xml/workflow/OrthoMCLDependent.xml +++ b/Main/lib/xml/workflow/OrthoMCLDependent.xml @@ -59,7 +59,6 @@ - $$dataDir$$ $$dataDir$$/ec.txt $$gusConfigFile$$ @@ -71,7 +70,6 @@ $$gusConfigFile$$ $$dataDir$$/ec.txt OrthoMCLDerived - select taf.aa_sequence_id from dots.Transcript t, dots.TranslatedAAFeature taf, dots.GeneFeature gf where gf.source_id = ? and gf.na_feature_id = t.parent_id and t.na_feature_id = taf.na_feature_id From e99c69265c21c99a98d60b4229f70fef945d9b0c Mon Sep 17 00:00:00 2001 From: Sufen Hu Date: Wed, 4 Mar 2026 14:08:39 -0500 Subject: [PATCH 10/23] use analysisDir instead of resultsDir --- .../perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Main/lib/perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm b/Main/lib/perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm index 94b897f87..4c1a555f6 100644 --- a/Main/lib/perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm +++ b/Main/lib/perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm @@ -12,7 +12,7 @@ sub run { my $analysisDir = join("/", $workflowDataDir, $self->getParamValue("analysisDir")); if ($undo) { - $self->runCmd(0, "rm -rf $resultsDir/*"); + $self->runCmd(0, "rm -rf $analysisDir/*"); } elsif ($test) { $self->runCmd(0, "echo 'test'"); From 66ae7b4ec21520215b383b6261a4403416171dc8 Mon Sep 17 00:00:00 2001 From: Richard Demko Date: Wed, 4 Mar 2026 15:22:30 -0500 Subject: [PATCH 11/23] Updating outdated file path names for loading steps --- Main/lib/xml/workflow/orthomclPeripheralWorkflow.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Main/lib/xml/workflow/orthomclPeripheralWorkflow.xml b/Main/lib/xml/workflow/orthomclPeripheralWorkflow.xml index 96e4dd803..18ef80865 100644 --- a/Main/lib/xml/workflow/orthomclPeripheralWorkflow.xml +++ b/Main/lib/xml/workflow/orthomclPeripheralWorkflow.xml @@ -123,13 +123,13 @@ - $$peripheralDir$$/analysisDir/results/GroupsFile.txt + $$peripheralDir$$/analysisDir/peripheralEntryResults/GroupsFile.txt $$projectName$$/$$projectName$$_gus.config - $$peripheralDir$$/analysisDir/results/reformattedGroups.txt + $$peripheralDir$$/analysisDir/postResidualEntryResults/reformattedGroups.txt $$projectName$$/$$projectName$$_gus.config From 9803f67adfef8dbeee890ebafe5d8d0f167326f1 Mon Sep 17 00:00:00 2001 From: Richard Demko Date: Wed, 4 Mar 2026 16:08:17 -0500 Subject: [PATCH 12/23] Resolving path issue for residual group stats --- Main/lib/xml/workflow/orthomclPeripheralWorkflow.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Main/lib/xml/workflow/orthomclPeripheralWorkflow.xml b/Main/lib/xml/workflow/orthomclPeripheralWorkflow.xml index 18ef80865..75dfd45b3 100644 --- a/Main/lib/xml/workflow/orthomclPeripheralWorkflow.xml +++ b/Main/lib/xml/workflow/orthomclPeripheralWorkflow.xml @@ -149,7 +149,7 @@ - $$peripheralDir$$/analysisDir/postResidualResults/groupStats/residual_stats.txt + $$peripheralDir$$/analysisDir/postResidualEntryResults/groupStats/residual_stats.txt R $$projectName$$/$$projectName$$_gus.config From ee54ce36fdd92e29ba0ee84254b942ce70041983 Mon Sep 17 00:00:00 2001 From: Richard Demko Date: Wed, 4 Mar 2026 17:05:00 -0500 Subject: [PATCH 13/23] Changing result path for gene trees --- Main/lib/xml/workflow/OrthoMCLPeripheral.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Main/lib/xml/workflow/OrthoMCLPeripheral.xml b/Main/lib/xml/workflow/OrthoMCLPeripheral.xml index 91fd677b4..14a38395a 100644 --- a/Main/lib/xml/workflow/OrthoMCLPeripheral.xml +++ b/Main/lib/xml/workflow/OrthoMCLPeripheral.xml @@ -96,7 +96,7 @@ - $$dataDir$$/peripheralGroups/analysisDir/results/geneTrees + $$dataDir$$/peripheralGroups/analysisDir/postProcessingEntryResults/geneTrees $$relativeWebServicesDir$$ $$projectVersionForWebsiteFiles$$ From be38ee020e904a68fd3031ea15ba881de139223e Mon Sep 17 00:00:00 2001 From: Richard Demko Date: Wed, 4 Mar 2026 17:07:26 -0500 Subject: [PATCH 14/23] Fixing result directory path for orthomcl dependent --- Main/lib/xml/workflowTemplates/genomicsRoot.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Main/lib/xml/workflowTemplates/genomicsRoot.xml b/Main/lib/xml/workflowTemplates/genomicsRoot.xml index 18a8693d9..7ebdf227b 100644 --- a/Main/lib/xml/workflowTemplates/genomicsRoot.xml +++ b/Main/lib/xml/workflowTemplates/genomicsRoot.xml @@ -67,7 +67,7 @@ OrthoMCL OrthoMCL/OrthoMCL_gus.config $$multiProjectsDataDir$$ - OrthoMCL/peripheralGroups/analysisDir/results/ + OrthoMCL/peripheralGroups/analysisDir/postProcessingEntryResults/ From db1849f88edaaf198ce53490f4ff39828e1c3061 Mon Sep 17 00:00:00 2001 From: Richard Demko Date: Thu, 5 Mar 2026 18:19:27 -0500 Subject: [PATCH 15/23] Updating dependency for insertPreviousGroupsMapping --- Main/lib/xml/workflow/orthomclPeripheralWorkflow.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Main/lib/xml/workflow/orthomclPeripheralWorkflow.xml b/Main/lib/xml/workflow/orthomclPeripheralWorkflow.xml index 75dfd45b3..d51dc6491 100644 --- a/Main/lib/xml/workflow/orthomclPeripheralWorkflow.xml +++ b/Main/lib/xml/workflow/orthomclPeripheralWorkflow.xml @@ -176,7 +176,7 @@ $$peripheralDir$$/analysisDir/postProcessingEntryResults/previousGroups.txt $$projectName$$/$$projectName$$_gus.config - + From fa5812492ed4e447418e3173511705ad8251f644 Mon Sep 17 00:00:00 2001 From: Richard Demko Date: Tue, 17 Mar 2026 15:34:10 -0400 Subject: [PATCH 16/23] Changing undo for CopyPeripheralGroupResultsFromCache. Can't just clear the analysisDir --- .../WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Main/lib/perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm b/Main/lib/perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm index 4c1a555f6..0fb9b3883 100644 --- a/Main/lib/perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm +++ b/Main/lib/perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm @@ -12,7 +12,7 @@ sub run { my $analysisDir = join("/", $workflowDataDir, $self->getParamValue("analysisDir")); if ($undo) { - $self->runCmd(0, "rm -rf $analysisDir/*"); + next; } elsif ($test) { $self->runCmd(0, "echo 'test'"); @@ -40,7 +40,7 @@ sub run { $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/bestRepsFull.fasta $analysisDir/postProcessingEntryResults/"); $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/fullGroupFile.txt $analysisDir/postProcessingEntryResults/"); $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/similar_groups.tsv $analysisDir/postProcessingEntryResults/"); - $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/ortho7db.dmnd $analysisDir/postProcessingEntryResults/"); + $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/ortho*db.dmnd $analysisDir/postProcessingEntryResults/"); $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/previousGroups.txt $analysisDir/postProcessingEntryResults/"); } From fa03e8d1d23a8b6a9c8a856d6cfa4b355b5d91f3 Mon Sep 17 00:00:00 2001 From: Richard Demko Date: Thu, 19 Mar 2026 13:26:39 -0400 Subject: [PATCH 17/23] Adding new nextflow post processing parameters to config to generate gene trees --- .../MakeOrthoFinderPostProcessingEntryNextflowConfig.pm | 6 ++++++ Main/lib/xml/workflow/orthoFinderPeripheral.xml | 2 ++ 2 files changed, 8 insertions(+) diff --git a/Main/lib/perl/WorkflowSteps/MakeOrthoFinderPostProcessingEntryNextflowConfig.pm b/Main/lib/perl/WorkflowSteps/MakeOrthoFinderPostProcessingEntryNextflowConfig.pm index eba01a33c..6c1eb1819 100644 --- a/Main/lib/perl/WorkflowSteps/MakeOrthoFinderPostProcessingEntryNextflowConfig.pm +++ b/Main/lib/perl/WorkflowSteps/MakeOrthoFinderPostProcessingEntryNextflowConfig.pm @@ -17,6 +17,8 @@ sub run { my $coreAndPeripheralGroups = $self->getParamValue("coreAndPeripheralGroups"); my $coreAndPeripheralProteome = $self->getParamValue("coreAndPeripheralProteome"); my $residualGroups = $self->getParamValue("residualGroups"); + my $coreGroupFastas = $self->getParamValue("coreGroupFastas"); + my $residualGroupFastas = $self->getParamValue("residualGroupFastas"); my $buildVersion = $self->getSharedConfig("buildVersion"); my $oldGroupsFile = $self->getParamValue("oldGroupsFile"); my $bestRepDiamondOutputFields = $self->getParamValue("bestRepDiamondOutputFields"); @@ -32,6 +34,8 @@ sub run { my $coreAndPeripheralGroupsInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $coreAndPeripheralGroups); my $coreAndPeripheralProteomeInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $coreAndPeripheralProteome); my $residualGroupsInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $residualGroups); + my $coreGroupFastasInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $coreGroupFastas); + my $residualGroupFastasInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $residualGroupFastas); my $oldGroupsFileInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $oldGroupsFile); my $resultsDirectoryInNextflowWorkingDirOnCluster = $self->relativePathToNextflowClusterPath($workingDirRelativePath, $resultsDirectory); @@ -54,6 +58,8 @@ params { coreAndPeripheralGroups = \"$coreAndPeripheralGroupsInNextflowWorkingDirOnCluster\" coreAndPeripheralProteome = \"$coreAndPeripheralProteomeInNextflowWorkingDirOnCluster\" residualGroups = \"$residualGroupsInNextflowWorkingDirOnCluster\" + coreGroupFastas = \"$coreGroupFastasInNextflowWorkingDirOnCluster\" + residualGroupFastas = \"$residualGroupFastasInNextflowWorkingDirOnCluster\" buildVersion = $buildVersion oldGroupsFile = \"$oldGroupsFileInNextflowWorkingDirOnCluster\" bestRepDiamondOutputFields = \"$bestRepDiamondOutputFields\" diff --git a/Main/lib/xml/workflow/orthoFinderPeripheral.xml b/Main/lib/xml/workflow/orthoFinderPeripheral.xml index e1571a03a..cd6c305b8 100644 --- a/Main/lib/xml/workflow/orthoFinderPeripheral.xml +++ b/Main/lib/xml/workflow/orthoFinderPeripheral.xml @@ -103,6 +103,8 @@ $$peripheralDir$$/analysisDir/peripheralEntryResults/coreBestReps.fasta $$peripheralDir$$/analysisDir/peripheralEntryResults/GroupsFile.txt $$peripheralDir$$/analysisDir/peripheralEntryResults/fullProteome.fasta + $$peripheralDir$$/analysisDir/peripheralEntryResults/groupFastas + $$peripheralDir$$/analysisDir/postResidualEntryResults/groupFastas $$peripheralDir$$/analysisDir/residualEntryResults/Orthogroups.txt $$peripheralDir$$/previousGroups.txt qseqid sseqid evalue From 9b76238a86a44c95b87d3d9959547244feab66b2 Mon Sep 17 00:00:00 2001 From: Richard Demko Date: Tue, 24 Mar 2026 12:44:25 -0400 Subject: [PATCH 18/23] Resolving minor perl syntax issue --- .../perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Main/lib/perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm b/Main/lib/perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm index 0fb9b3883..4b79ae24d 100644 --- a/Main/lib/perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm +++ b/Main/lib/perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm @@ -12,7 +12,7 @@ sub run { my $analysisDir = join("/", $workflowDataDir, $self->getParamValue("analysisDir")); if ($undo) { - next; + $self->runCmd(0, "echo 'undo'"); } elsif ($test) { $self->runCmd(0, "echo 'test'"); From dd1af3584204a49e5276e5c504027fe7fe3c10b4 Mon Sep 17 00:00:00 2001 From: Richard Demko Date: Tue, 24 Mar 2026 15:16:24 -0400 Subject: [PATCH 19/23] Creating directories from cache if they do not exist --- .../perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Main/lib/perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm b/Main/lib/perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm index 4b79ae24d..c5653ff65 100644 --- a/Main/lib/perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm +++ b/Main/lib/perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm @@ -20,6 +20,7 @@ sub run { else { # peripheralEntryResults + $self->runCmd(0, "mkdir -p $analysisDir/peripheralEntryResults/"); $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/peripherals.fasta $analysisDir/peripheralEntryResults/"); $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/intraGroupBlastFile.tsv $analysisDir/peripheralEntryResults/"); $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/coreBestReps.txt $analysisDir/peripheralEntryResults/"); @@ -30,6 +31,7 @@ sub run { $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/residuals.fasta $analysisDir/peripheralEntryResults/"); $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/groupFastas $analysisDir/peripheralEntryResults/"); # postResidualEntryResults + $self->runCmd(0, "mkdir -p $analysisDir/postResidualEntryResults/"); $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/groupStats $analysisDir/postResidualEntryResults/"); $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/residualBestReps.txt $analysisDir/postResidualEntryResults/"); $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/groupFastas $analysisDir/postResidualEntryResults/"); @@ -37,6 +39,7 @@ sub run { $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/intraResidualGroupBlastFile.tsv $analysisDir/postResidualEntryResults/"); $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/reformattedGroups.txt $analysisDir/postResidualEntryResults"); # postProcessingEntryResults + $self->runCmd(0, "mkdir -p $analysisDir/postProcessingEntryResults/"); $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/bestRepsFull.fasta $analysisDir/postProcessingEntryResults/"); $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/fullGroupFile.txt $analysisDir/postProcessingEntryResults/"); $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/similar_groups.tsv $analysisDir/postProcessingEntryResults/"); From b0c04190eabcffb1c067ed82a2dfdaed80104f1d Mon Sep 17 00:00:00 2001 From: Richard Demko Date: Wed, 25 Mar 2026 15:06:23 -0400 Subject: [PATCH 20/23] Creating directories from cache if they do not exist --- .../WorkflowSteps/UpdateOrthoPeripheralPersistentCache.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Main/lib/perl/WorkflowSteps/UpdateOrthoPeripheralPersistentCache.pm b/Main/lib/perl/WorkflowSteps/UpdateOrthoPeripheralPersistentCache.pm index 58467597a..777eec9d8 100644 --- a/Main/lib/perl/WorkflowSteps/UpdateOrthoPeripheralPersistentCache.pm +++ b/Main/lib/perl/WorkflowSteps/UpdateOrthoPeripheralPersistentCache.pm @@ -32,10 +32,8 @@ sub run { $self->runCmd(0, "cp -r $checkSumFile ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/checkSum.tsv"); - $self->runCmd(0, "rm -rf ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/groupFastas"); $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/genesAndProteins/${nextflowWorkflow}_${nextflowBranch}/**/groupFastas ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/"); - $self->runCmd(0, "rm -rf ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/peripheralCacheDir"); $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/genesAndProteins/${nextflowWorkflow}_${nextflowBranch}/**/newPeripheralDiamondCache/ ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/peripheralCacheDir"); $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/genesAndProteins/${nextflowWorkflow}_${nextflowBranch}/**/buildVersion.txt ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/residualBuildVersion.txt"); @@ -68,6 +66,8 @@ sub run { $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/genesAndProteins/${nextflowWorkflow}_${nextflowBranch}/**/similar_groups.tsv ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/"); + $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/genesAndProteins/${nextflowWorkflow}_${nextflowBranch}/**/geneTrees ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/"); + $self->runCmd(0, "rm -rf ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/genesAndProteins/"); $self->runCmd(0, "tar -czf ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/peripheralCacheDir.tar.gz -C ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache peripheralCacheDir"); From aee8840b1d6d561fd6077140b11760f52f7c7465 Mon Sep 17 00:00:00 2001 From: Richard Demko Date: Fri, 27 Mar 2026 16:23:30 -0400 Subject: [PATCH 21/23] Resolving group fasta name collision --- .../perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm | 2 +- .../perl/WorkflowSteps/UpdateOrthoPeripheralPersistentCache.pm | 2 ++ Main/lib/xml/workflow/orthoFinderPeripheral.xml | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Main/lib/perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm b/Main/lib/perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm index c5653ff65..4b9b670f0 100644 --- a/Main/lib/perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm +++ b/Main/lib/perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm @@ -34,7 +34,7 @@ sub run { $self->runCmd(0, "mkdir -p $analysisDir/postResidualEntryResults/"); $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/groupStats $analysisDir/postResidualEntryResults/"); $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/residualBestReps.txt $analysisDir/postResidualEntryResults/"); - $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/groupFastas $analysisDir/postResidualEntryResults/"); + $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/residualGroupFastas $analysisDir/postResidualEntryResults/"); $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/residualBuildVersion.txt $analysisDir/postResidualEntryResults/"); $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/intraResidualGroupBlastFile.tsv $analysisDir/postResidualEntryResults/"); $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/reformattedGroups.txt $analysisDir/postResidualEntryResults"); diff --git a/Main/lib/perl/WorkflowSteps/UpdateOrthoPeripheralPersistentCache.pm b/Main/lib/perl/WorkflowSteps/UpdateOrthoPeripheralPersistentCache.pm index 777eec9d8..447b40f91 100644 --- a/Main/lib/perl/WorkflowSteps/UpdateOrthoPeripheralPersistentCache.pm +++ b/Main/lib/perl/WorkflowSteps/UpdateOrthoPeripheralPersistentCache.pm @@ -34,6 +34,8 @@ sub run { $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/genesAndProteins/${nextflowWorkflow}_${nextflowBranch}/**/groupFastas ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/"); + $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/genesAndProteins/${nextflowWorkflow}_${nextflowBranch}/**/residualGroupFastas ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/"); + $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/genesAndProteins/${nextflowWorkflow}_${nextflowBranch}/**/newPeripheralDiamondCache/ ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/peripheralCacheDir"); $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/genesAndProteins/${nextflowWorkflow}_${nextflowBranch}/**/buildVersion.txt ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/residualBuildVersion.txt"); diff --git a/Main/lib/xml/workflow/orthoFinderPeripheral.xml b/Main/lib/xml/workflow/orthoFinderPeripheral.xml index cd6c305b8..1baf1dbac 100644 --- a/Main/lib/xml/workflow/orthoFinderPeripheral.xml +++ b/Main/lib/xml/workflow/orthoFinderPeripheral.xml @@ -104,7 +104,7 @@ $$peripheralDir$$/analysisDir/peripheralEntryResults/GroupsFile.txt $$peripheralDir$$/analysisDir/peripheralEntryResults/fullProteome.fasta $$peripheralDir$$/analysisDir/peripheralEntryResults/groupFastas - $$peripheralDir$$/analysisDir/postResidualEntryResults/groupFastas + $$peripheralDir$$/analysisDir/postResidualEntryResults/residualGroupFastas $$peripheralDir$$/analysisDir/residualEntryResults/Orthogroups.txt $$peripheralDir$$/previousGroups.txt qseqid sseqid evalue From df19ba3a7c4933e46498c1e7ee2feb3fc8493ddf Mon Sep 17 00:00:00 2001 From: Richard Demko Date: Mon, 30 Mar 2026 15:24:45 -0400 Subject: [PATCH 22/23] Updating strategy for groupStats in cache --- .../perl/WorkflowSteps/UpdateOrthoPeripheralPersistentCache.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Main/lib/perl/WorkflowSteps/UpdateOrthoPeripheralPersistentCache.pm b/Main/lib/perl/WorkflowSteps/UpdateOrthoPeripheralPersistentCache.pm index 447b40f91..2c7cd538a 100644 --- a/Main/lib/perl/WorkflowSteps/UpdateOrthoPeripheralPersistentCache.pm +++ b/Main/lib/perl/WorkflowSteps/UpdateOrthoPeripheralPersistentCache.pm @@ -48,7 +48,8 @@ sub run { $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/genesAndProteins/${nextflowWorkflow}_${nextflowBranch}/**/GroupsFile.txt ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/"); - $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/genesAndProteins/${nextflowWorkflow}_${nextflowBranch}/**/groupStats ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/"); + $self->runCmd(0, "mkdir -p ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/groupStats"); + $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/genesAndProteins/${nextflowWorkflow}_${nextflowBranch}/**/groupStats/* ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/groupStats/"); $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/genesAndProteins/${nextflowWorkflow}_${nextflowBranch}/**/intraGroupBlastFile.tsv ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/"); From df125c31cbf4fdfd7b81cb86f9ce011b23f4988d Mon Sep 17 00:00:00 2001 From: Richard Demko Date: Tue, 31 Mar 2026 10:32:16 -0400 Subject: [PATCH 23/23] Copy gene trees from cache to post processing --- .../perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm | 1 + 1 file changed, 1 insertion(+) diff --git a/Main/lib/perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm b/Main/lib/perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm index 4b9b670f0..0cacb12b1 100644 --- a/Main/lib/perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm +++ b/Main/lib/perl/WorkflowSteps/CopyPeripheralGroupsResultsFromCache.pm @@ -45,6 +45,7 @@ sub run { $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/similar_groups.tsv $analysisDir/postProcessingEntryResults/"); $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/ortho*db.dmnd $analysisDir/postProcessingEntryResults/"); $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/previousGroups.txt $analysisDir/postProcessingEntryResults/"); + $self->runCmd(0, "cp -r ${preprocessedDataCache}/OrthoMCL/OrthoMCL_peripheralGroups/officialDiamondCache/geneTrees $analysisDir/postProcessingEntryResults/"); } }