From 55dd9b1324681a3f0c00a73e5da5bc186db8f861 Mon Sep 17 00:00:00 2001 From: Eduard Kerkhoven Date: Sun, 7 Jun 2026 21:37:45 +0200 Subject: [PATCH 1/2] Reorganize core/ into functional top-level folders Split the 94-function core/ catch-all into purpose-based top-level folders, matching how RAVEN already separates io/, solver/, INIT/ and mirroring the raven-python module layout: - manipulation/ : structural model edits (add/change/remove/convert/merge) - analysis/ : flux & solution analysis, simulation, deletion studies - gapfilling/ : gap detection & filling, production/consumption checks - tasks/ : metabolic-task definition & checking - comparison/ : multi-model comparison - biomass/ : biomass composition & maintenance-energy fitting - queries/ : read-only getters, equation/formula construction, structure validation, model printing - reconstruction/, curation/, annotation/, conditions/, localization/ : seeded with their core members (extended in a later step) Low-level helpers (dispEM, convertCharArray, parallelPoolRAVEN, printOrange) move to utils/; findRAVENroot to installation/ alongside the path setup. Mis-filed io/closeModel and io/sortIdentifiers (model edits, not I/O) move to manipulation/. core/ is removed. All moves via git mv (history preserved). MATLAB resolves functions by name and path setup uses recursive genpath, so no path edits are required. --- {core => analysis}/FSEOF.m | 0 {core => analysis}/analyzeSampling.m | 0 {core => analysis}/findGeneDeletions.m | 0 {core => analysis}/followChanged.m | 0 {core => analysis}/followFluxes.m | 0 {core => analysis}/getAllSubGraphs.m | 0 {core => analysis}/getAllowedBounds.m | 0 {core => analysis}/getEssentialRxns.m | 0 {core => analysis}/getFluxZ.m | 0 {core => analysis}/getMinNrFluxes.m | 0 {core => analysis}/haveFlux.m | 0 {core => analysis}/randomSampling.m | 0 {core => analysis}/reporterMetabolites.m | 0 {core => analysis}/runDynamicFBA.m | 0 {core => analysis}/runPhenotypePhasePlane.m | 0 {core => analysis}/runProductionEnvelope.m | 0 {core => analysis}/runRobustnessAnalysis.m | 0 {core => analysis}/runSimpleOptKnock.m | 0 {core => annotation}/assignSBOterms.m | 0 {core => biomass}/fitParameters.m | 0 {core => biomass}/getBiomassFractions.m | 0 {core => biomass}/scaleBiomassFraction.m | 0 {core => biomass}/scaleBiomassPseudoreaction.m | 0 {core => biomass}/setGAM.m | 0 {core => comparison}/compareMultipleModels.m | 0 {core => comparison}/compareRxnsGenesMetsComps.m | 0 {core => conditions}/applyCondition.m | 0 {core => curation}/curateModelFromTables.m | 0 {core => gapfilling}/canConsume.m | 0 {core => gapfilling}/canProduce.m | 0 {core => gapfilling}/checkProduction.m | 0 {core => gapfilling}/checkRxn.m | 0 {core => gapfilling}/consumeSomething.m | 0 {core => gapfilling}/fillGaps.m | 0 {core => gapfilling}/fitTasks.m | 0 {core => gapfilling}/gapReport.m | 0 {core => gapfilling}/makeSomething.m | 0 {core => installation}/findRAVENroot.m | 0 {core => localization}/getExpressionStructure.m | 0 {core => localization}/mapCompartments.m | 0 {core => localization}/predictLocalization.m | 0 {core => manipulation}/addExchangeRxns.m | 0 {core => manipulation}/addGenesRaven.m | 0 {core => manipulation}/addMets.m | 0 {core => manipulation}/addRxns.m | 0 {core => manipulation}/addRxnsGenesMets.m | 0 {core => manipulation}/addTransport.m | 0 {core => manipulation}/changeGrRules.m | 0 {core => manipulation}/changeRxns.m | 0 {io => manipulation}/closeModel.m | 0 {core => manipulation}/contractModel.m | 0 {core => manipulation}/convertToIrrev.m | 0 {core => manipulation}/copyToComps.m | 0 {core => manipulation}/deleteUnusedGenes.m | 0 {core => manipulation}/expandModel.m | 0 {core => manipulation}/findDuplicateRxns.m | 0 {core => manipulation}/generateNewIds.m | 0 {core => manipulation}/mergeCompartments.m | 0 {core => manipulation}/mergeModels.m | 0 {core => manipulation}/permuteModel.m | 0 {core => manipulation}/removeBadRxns.m | 0 {core => manipulation}/removeGenes.m | 0 {core => manipulation}/removeMets.m | 0 {core => manipulation}/removeReactions.m | 0 {core => manipulation}/replaceMets.m | 0 {core => manipulation}/setExchangeBounds.m | 0 {core => manipulation}/setParam.m | 0 {core => manipulation}/simplifyModel.m | 0 {io => manipulation}/sortIdentifiers.m | 0 {core => manipulation}/sortModel.m | 0 {core => manipulation}/standardizeGrRules.m | 0 {core => queries}/buildEquation.m | 0 {core => queries}/checkModelStruct.m | 0 {core => queries}/constructEquations.m | 0 {core => queries}/constructS.m | 0 {core => queries}/getAllRxnsFromGenes.m | 0 {core => queries}/getElementalBalance.m | 0 {core => queries}/getExchangeRxns.m | 0 {core => queries}/getGenesFromGrRules.m | 0 {core => queries}/getIndexes.m | 0 {core => queries}/getMetsInComp.m | 0 {core => queries}/getRxnsInComp.m | 0 {core => queries}/getTransportRxns.m | 0 {core => queries}/parseFormulas.m | 0 {core => queries}/parseRxnEqu.m | 0 {core => queries}/printFluxes.m | 0 {core => queries}/printModel.m | 0 {core => queries}/printModelStats.m | 0 {core => reconstruction}/guessComposition.m | 0 {core => reconstruction/homology}/getModelFromHomology.m | 0 {core => tasks}/checkTasks.m | 0 {core => tasks}/parseTaskList.m | 0 {core => utils}/convertCharArray.m | 0 {core => utils}/dispEM.m | 0 {core => utils}/parallelPoolRAVEN.m | 0 {core => utils}/printOrange.m | 0 96 files changed, 0 insertions(+), 0 deletions(-) rename {core => analysis}/FSEOF.m (100%) rename {core => analysis}/analyzeSampling.m (100%) rename {core => analysis}/findGeneDeletions.m (100%) rename {core => analysis}/followChanged.m (100%) rename {core => analysis}/followFluxes.m (100%) rename {core => analysis}/getAllSubGraphs.m (100%) rename {core => analysis}/getAllowedBounds.m (100%) rename {core => analysis}/getEssentialRxns.m (100%) rename {core => analysis}/getFluxZ.m (100%) rename {core => analysis}/getMinNrFluxes.m (100%) rename {core => analysis}/haveFlux.m (100%) rename {core => analysis}/randomSampling.m (100%) rename {core => analysis}/reporterMetabolites.m (100%) rename {core => analysis}/runDynamicFBA.m (100%) rename {core => analysis}/runPhenotypePhasePlane.m (100%) rename {core => analysis}/runProductionEnvelope.m (100%) rename {core => analysis}/runRobustnessAnalysis.m (100%) rename {core => analysis}/runSimpleOptKnock.m (100%) rename {core => annotation}/assignSBOterms.m (100%) rename {core => biomass}/fitParameters.m (100%) rename {core => biomass}/getBiomassFractions.m (100%) rename {core => biomass}/scaleBiomassFraction.m (100%) rename {core => biomass}/scaleBiomassPseudoreaction.m (100%) rename {core => biomass}/setGAM.m (100%) rename {core => comparison}/compareMultipleModels.m (100%) rename {core => comparison}/compareRxnsGenesMetsComps.m (100%) rename {core => conditions}/applyCondition.m (100%) rename {core => curation}/curateModelFromTables.m (100%) rename {core => gapfilling}/canConsume.m (100%) rename {core => gapfilling}/canProduce.m (100%) rename {core => gapfilling}/checkProduction.m (100%) rename {core => gapfilling}/checkRxn.m (100%) rename {core => gapfilling}/consumeSomething.m (100%) rename {core => gapfilling}/fillGaps.m (100%) rename {core => gapfilling}/fitTasks.m (100%) rename {core => gapfilling}/gapReport.m (100%) rename {core => gapfilling}/makeSomething.m (100%) rename {core => installation}/findRAVENroot.m (100%) rename {core => localization}/getExpressionStructure.m (100%) rename {core => localization}/mapCompartments.m (100%) rename {core => localization}/predictLocalization.m (100%) rename {core => manipulation}/addExchangeRxns.m (100%) rename {core => manipulation}/addGenesRaven.m (100%) rename {core => manipulation}/addMets.m (100%) rename {core => manipulation}/addRxns.m (100%) rename {core => manipulation}/addRxnsGenesMets.m (100%) rename {core => manipulation}/addTransport.m (100%) rename {core => manipulation}/changeGrRules.m (100%) rename {core => manipulation}/changeRxns.m (100%) rename {io => manipulation}/closeModel.m (100%) rename {core => manipulation}/contractModel.m (100%) rename {core => manipulation}/convertToIrrev.m (100%) rename {core => manipulation}/copyToComps.m (100%) rename {core => manipulation}/deleteUnusedGenes.m (100%) rename {core => manipulation}/expandModel.m (100%) rename {core => manipulation}/findDuplicateRxns.m (100%) rename {core => manipulation}/generateNewIds.m (100%) rename {core => manipulation}/mergeCompartments.m (100%) rename {core => manipulation}/mergeModels.m (100%) rename {core => manipulation}/permuteModel.m (100%) rename {core => manipulation}/removeBadRxns.m (100%) rename {core => manipulation}/removeGenes.m (100%) rename {core => manipulation}/removeMets.m (100%) rename {core => manipulation}/removeReactions.m (100%) rename {core => manipulation}/replaceMets.m (100%) rename {core => manipulation}/setExchangeBounds.m (100%) rename {core => manipulation}/setParam.m (100%) rename {core => manipulation}/simplifyModel.m (100%) rename {io => manipulation}/sortIdentifiers.m (100%) rename {core => manipulation}/sortModel.m (100%) rename {core => manipulation}/standardizeGrRules.m (100%) rename {core => queries}/buildEquation.m (100%) rename {core => queries}/checkModelStruct.m (100%) rename {core => queries}/constructEquations.m (100%) rename {core => queries}/constructS.m (100%) rename {core => queries}/getAllRxnsFromGenes.m (100%) rename {core => queries}/getElementalBalance.m (100%) rename {core => queries}/getExchangeRxns.m (100%) rename {core => queries}/getGenesFromGrRules.m (100%) rename {core => queries}/getIndexes.m (100%) rename {core => queries}/getMetsInComp.m (100%) rename {core => queries}/getRxnsInComp.m (100%) rename {core => queries}/getTransportRxns.m (100%) rename {core => queries}/parseFormulas.m (100%) rename {core => queries}/parseRxnEqu.m (100%) rename {core => queries}/printFluxes.m (100%) rename {core => queries}/printModel.m (100%) rename {core => queries}/printModelStats.m (100%) rename {core => reconstruction}/guessComposition.m (100%) rename {core => reconstruction/homology}/getModelFromHomology.m (100%) rename {core => tasks}/checkTasks.m (100%) rename {core => tasks}/parseTaskList.m (100%) rename {core => utils}/convertCharArray.m (100%) rename {core => utils}/dispEM.m (100%) rename {core => utils}/parallelPoolRAVEN.m (100%) rename {core => utils}/printOrange.m (100%) diff --git a/core/FSEOF.m b/analysis/FSEOF.m similarity index 100% rename from core/FSEOF.m rename to analysis/FSEOF.m diff --git a/core/analyzeSampling.m b/analysis/analyzeSampling.m similarity index 100% rename from core/analyzeSampling.m rename to analysis/analyzeSampling.m diff --git a/core/findGeneDeletions.m b/analysis/findGeneDeletions.m similarity index 100% rename from core/findGeneDeletions.m rename to analysis/findGeneDeletions.m diff --git a/core/followChanged.m b/analysis/followChanged.m similarity index 100% rename from core/followChanged.m rename to analysis/followChanged.m diff --git a/core/followFluxes.m b/analysis/followFluxes.m similarity index 100% rename from core/followFluxes.m rename to analysis/followFluxes.m diff --git a/core/getAllSubGraphs.m b/analysis/getAllSubGraphs.m similarity index 100% rename from core/getAllSubGraphs.m rename to analysis/getAllSubGraphs.m diff --git a/core/getAllowedBounds.m b/analysis/getAllowedBounds.m similarity index 100% rename from core/getAllowedBounds.m rename to analysis/getAllowedBounds.m diff --git a/core/getEssentialRxns.m b/analysis/getEssentialRxns.m similarity index 100% rename from core/getEssentialRxns.m rename to analysis/getEssentialRxns.m diff --git a/core/getFluxZ.m b/analysis/getFluxZ.m similarity index 100% rename from core/getFluxZ.m rename to analysis/getFluxZ.m diff --git a/core/getMinNrFluxes.m b/analysis/getMinNrFluxes.m similarity index 100% rename from core/getMinNrFluxes.m rename to analysis/getMinNrFluxes.m diff --git a/core/haveFlux.m b/analysis/haveFlux.m similarity index 100% rename from core/haveFlux.m rename to analysis/haveFlux.m diff --git a/core/randomSampling.m b/analysis/randomSampling.m similarity index 100% rename from core/randomSampling.m rename to analysis/randomSampling.m diff --git a/core/reporterMetabolites.m b/analysis/reporterMetabolites.m similarity index 100% rename from core/reporterMetabolites.m rename to analysis/reporterMetabolites.m diff --git a/core/runDynamicFBA.m b/analysis/runDynamicFBA.m similarity index 100% rename from core/runDynamicFBA.m rename to analysis/runDynamicFBA.m diff --git a/core/runPhenotypePhasePlane.m b/analysis/runPhenotypePhasePlane.m similarity index 100% rename from core/runPhenotypePhasePlane.m rename to analysis/runPhenotypePhasePlane.m diff --git a/core/runProductionEnvelope.m b/analysis/runProductionEnvelope.m similarity index 100% rename from core/runProductionEnvelope.m rename to analysis/runProductionEnvelope.m diff --git a/core/runRobustnessAnalysis.m b/analysis/runRobustnessAnalysis.m similarity index 100% rename from core/runRobustnessAnalysis.m rename to analysis/runRobustnessAnalysis.m diff --git a/core/runSimpleOptKnock.m b/analysis/runSimpleOptKnock.m similarity index 100% rename from core/runSimpleOptKnock.m rename to analysis/runSimpleOptKnock.m diff --git a/core/assignSBOterms.m b/annotation/assignSBOterms.m similarity index 100% rename from core/assignSBOterms.m rename to annotation/assignSBOterms.m diff --git a/core/fitParameters.m b/biomass/fitParameters.m similarity index 100% rename from core/fitParameters.m rename to biomass/fitParameters.m diff --git a/core/getBiomassFractions.m b/biomass/getBiomassFractions.m similarity index 100% rename from core/getBiomassFractions.m rename to biomass/getBiomassFractions.m diff --git a/core/scaleBiomassFraction.m b/biomass/scaleBiomassFraction.m similarity index 100% rename from core/scaleBiomassFraction.m rename to biomass/scaleBiomassFraction.m diff --git a/core/scaleBiomassPseudoreaction.m b/biomass/scaleBiomassPseudoreaction.m similarity index 100% rename from core/scaleBiomassPseudoreaction.m rename to biomass/scaleBiomassPseudoreaction.m diff --git a/core/setGAM.m b/biomass/setGAM.m similarity index 100% rename from core/setGAM.m rename to biomass/setGAM.m diff --git a/core/compareMultipleModels.m b/comparison/compareMultipleModels.m similarity index 100% rename from core/compareMultipleModels.m rename to comparison/compareMultipleModels.m diff --git a/core/compareRxnsGenesMetsComps.m b/comparison/compareRxnsGenesMetsComps.m similarity index 100% rename from core/compareRxnsGenesMetsComps.m rename to comparison/compareRxnsGenesMetsComps.m diff --git a/core/applyCondition.m b/conditions/applyCondition.m similarity index 100% rename from core/applyCondition.m rename to conditions/applyCondition.m diff --git a/core/curateModelFromTables.m b/curation/curateModelFromTables.m similarity index 100% rename from core/curateModelFromTables.m rename to curation/curateModelFromTables.m diff --git a/core/canConsume.m b/gapfilling/canConsume.m similarity index 100% rename from core/canConsume.m rename to gapfilling/canConsume.m diff --git a/core/canProduce.m b/gapfilling/canProduce.m similarity index 100% rename from core/canProduce.m rename to gapfilling/canProduce.m diff --git a/core/checkProduction.m b/gapfilling/checkProduction.m similarity index 100% rename from core/checkProduction.m rename to gapfilling/checkProduction.m diff --git a/core/checkRxn.m b/gapfilling/checkRxn.m similarity index 100% rename from core/checkRxn.m rename to gapfilling/checkRxn.m diff --git a/core/consumeSomething.m b/gapfilling/consumeSomething.m similarity index 100% rename from core/consumeSomething.m rename to gapfilling/consumeSomething.m diff --git a/core/fillGaps.m b/gapfilling/fillGaps.m similarity index 100% rename from core/fillGaps.m rename to gapfilling/fillGaps.m diff --git a/core/fitTasks.m b/gapfilling/fitTasks.m similarity index 100% rename from core/fitTasks.m rename to gapfilling/fitTasks.m diff --git a/core/gapReport.m b/gapfilling/gapReport.m similarity index 100% rename from core/gapReport.m rename to gapfilling/gapReport.m diff --git a/core/makeSomething.m b/gapfilling/makeSomething.m similarity index 100% rename from core/makeSomething.m rename to gapfilling/makeSomething.m diff --git a/core/findRAVENroot.m b/installation/findRAVENroot.m similarity index 100% rename from core/findRAVENroot.m rename to installation/findRAVENroot.m diff --git a/core/getExpressionStructure.m b/localization/getExpressionStructure.m similarity index 100% rename from core/getExpressionStructure.m rename to localization/getExpressionStructure.m diff --git a/core/mapCompartments.m b/localization/mapCompartments.m similarity index 100% rename from core/mapCompartments.m rename to localization/mapCompartments.m diff --git a/core/predictLocalization.m b/localization/predictLocalization.m similarity index 100% rename from core/predictLocalization.m rename to localization/predictLocalization.m diff --git a/core/addExchangeRxns.m b/manipulation/addExchangeRxns.m similarity index 100% rename from core/addExchangeRxns.m rename to manipulation/addExchangeRxns.m diff --git a/core/addGenesRaven.m b/manipulation/addGenesRaven.m similarity index 100% rename from core/addGenesRaven.m rename to manipulation/addGenesRaven.m diff --git a/core/addMets.m b/manipulation/addMets.m similarity index 100% rename from core/addMets.m rename to manipulation/addMets.m diff --git a/core/addRxns.m b/manipulation/addRxns.m similarity index 100% rename from core/addRxns.m rename to manipulation/addRxns.m diff --git a/core/addRxnsGenesMets.m b/manipulation/addRxnsGenesMets.m similarity index 100% rename from core/addRxnsGenesMets.m rename to manipulation/addRxnsGenesMets.m diff --git a/core/addTransport.m b/manipulation/addTransport.m similarity index 100% rename from core/addTransport.m rename to manipulation/addTransport.m diff --git a/core/changeGrRules.m b/manipulation/changeGrRules.m similarity index 100% rename from core/changeGrRules.m rename to manipulation/changeGrRules.m diff --git a/core/changeRxns.m b/manipulation/changeRxns.m similarity index 100% rename from core/changeRxns.m rename to manipulation/changeRxns.m diff --git a/io/closeModel.m b/manipulation/closeModel.m similarity index 100% rename from io/closeModel.m rename to manipulation/closeModel.m diff --git a/core/contractModel.m b/manipulation/contractModel.m similarity index 100% rename from core/contractModel.m rename to manipulation/contractModel.m diff --git a/core/convertToIrrev.m b/manipulation/convertToIrrev.m similarity index 100% rename from core/convertToIrrev.m rename to manipulation/convertToIrrev.m diff --git a/core/copyToComps.m b/manipulation/copyToComps.m similarity index 100% rename from core/copyToComps.m rename to manipulation/copyToComps.m diff --git a/core/deleteUnusedGenes.m b/manipulation/deleteUnusedGenes.m similarity index 100% rename from core/deleteUnusedGenes.m rename to manipulation/deleteUnusedGenes.m diff --git a/core/expandModel.m b/manipulation/expandModel.m similarity index 100% rename from core/expandModel.m rename to manipulation/expandModel.m diff --git a/core/findDuplicateRxns.m b/manipulation/findDuplicateRxns.m similarity index 100% rename from core/findDuplicateRxns.m rename to manipulation/findDuplicateRxns.m diff --git a/core/generateNewIds.m b/manipulation/generateNewIds.m similarity index 100% rename from core/generateNewIds.m rename to manipulation/generateNewIds.m diff --git a/core/mergeCompartments.m b/manipulation/mergeCompartments.m similarity index 100% rename from core/mergeCompartments.m rename to manipulation/mergeCompartments.m diff --git a/core/mergeModels.m b/manipulation/mergeModels.m similarity index 100% rename from core/mergeModels.m rename to manipulation/mergeModels.m diff --git a/core/permuteModel.m b/manipulation/permuteModel.m similarity index 100% rename from core/permuteModel.m rename to manipulation/permuteModel.m diff --git a/core/removeBadRxns.m b/manipulation/removeBadRxns.m similarity index 100% rename from core/removeBadRxns.m rename to manipulation/removeBadRxns.m diff --git a/core/removeGenes.m b/manipulation/removeGenes.m similarity index 100% rename from core/removeGenes.m rename to manipulation/removeGenes.m diff --git a/core/removeMets.m b/manipulation/removeMets.m similarity index 100% rename from core/removeMets.m rename to manipulation/removeMets.m diff --git a/core/removeReactions.m b/manipulation/removeReactions.m similarity index 100% rename from core/removeReactions.m rename to manipulation/removeReactions.m diff --git a/core/replaceMets.m b/manipulation/replaceMets.m similarity index 100% rename from core/replaceMets.m rename to manipulation/replaceMets.m diff --git a/core/setExchangeBounds.m b/manipulation/setExchangeBounds.m similarity index 100% rename from core/setExchangeBounds.m rename to manipulation/setExchangeBounds.m diff --git a/core/setParam.m b/manipulation/setParam.m similarity index 100% rename from core/setParam.m rename to manipulation/setParam.m diff --git a/core/simplifyModel.m b/manipulation/simplifyModel.m similarity index 100% rename from core/simplifyModel.m rename to manipulation/simplifyModel.m diff --git a/io/sortIdentifiers.m b/manipulation/sortIdentifiers.m similarity index 100% rename from io/sortIdentifiers.m rename to manipulation/sortIdentifiers.m diff --git a/core/sortModel.m b/manipulation/sortModel.m similarity index 100% rename from core/sortModel.m rename to manipulation/sortModel.m diff --git a/core/standardizeGrRules.m b/manipulation/standardizeGrRules.m similarity index 100% rename from core/standardizeGrRules.m rename to manipulation/standardizeGrRules.m diff --git a/core/buildEquation.m b/queries/buildEquation.m similarity index 100% rename from core/buildEquation.m rename to queries/buildEquation.m diff --git a/core/checkModelStruct.m b/queries/checkModelStruct.m similarity index 100% rename from core/checkModelStruct.m rename to queries/checkModelStruct.m diff --git a/core/constructEquations.m b/queries/constructEquations.m similarity index 100% rename from core/constructEquations.m rename to queries/constructEquations.m diff --git a/core/constructS.m b/queries/constructS.m similarity index 100% rename from core/constructS.m rename to queries/constructS.m diff --git a/core/getAllRxnsFromGenes.m b/queries/getAllRxnsFromGenes.m similarity index 100% rename from core/getAllRxnsFromGenes.m rename to queries/getAllRxnsFromGenes.m diff --git a/core/getElementalBalance.m b/queries/getElementalBalance.m similarity index 100% rename from core/getElementalBalance.m rename to queries/getElementalBalance.m diff --git a/core/getExchangeRxns.m b/queries/getExchangeRxns.m similarity index 100% rename from core/getExchangeRxns.m rename to queries/getExchangeRxns.m diff --git a/core/getGenesFromGrRules.m b/queries/getGenesFromGrRules.m similarity index 100% rename from core/getGenesFromGrRules.m rename to queries/getGenesFromGrRules.m diff --git a/core/getIndexes.m b/queries/getIndexes.m similarity index 100% rename from core/getIndexes.m rename to queries/getIndexes.m diff --git a/core/getMetsInComp.m b/queries/getMetsInComp.m similarity index 100% rename from core/getMetsInComp.m rename to queries/getMetsInComp.m diff --git a/core/getRxnsInComp.m b/queries/getRxnsInComp.m similarity index 100% rename from core/getRxnsInComp.m rename to queries/getRxnsInComp.m diff --git a/core/getTransportRxns.m b/queries/getTransportRxns.m similarity index 100% rename from core/getTransportRxns.m rename to queries/getTransportRxns.m diff --git a/core/parseFormulas.m b/queries/parseFormulas.m similarity index 100% rename from core/parseFormulas.m rename to queries/parseFormulas.m diff --git a/core/parseRxnEqu.m b/queries/parseRxnEqu.m similarity index 100% rename from core/parseRxnEqu.m rename to queries/parseRxnEqu.m diff --git a/core/printFluxes.m b/queries/printFluxes.m similarity index 100% rename from core/printFluxes.m rename to queries/printFluxes.m diff --git a/core/printModel.m b/queries/printModel.m similarity index 100% rename from core/printModel.m rename to queries/printModel.m diff --git a/core/printModelStats.m b/queries/printModelStats.m similarity index 100% rename from core/printModelStats.m rename to queries/printModelStats.m diff --git a/core/guessComposition.m b/reconstruction/guessComposition.m similarity index 100% rename from core/guessComposition.m rename to reconstruction/guessComposition.m diff --git a/core/getModelFromHomology.m b/reconstruction/homology/getModelFromHomology.m similarity index 100% rename from core/getModelFromHomology.m rename to reconstruction/homology/getModelFromHomology.m diff --git a/core/checkTasks.m b/tasks/checkTasks.m similarity index 100% rename from core/checkTasks.m rename to tasks/checkTasks.m diff --git a/core/parseTaskList.m b/tasks/parseTaskList.m similarity index 100% rename from core/parseTaskList.m rename to tasks/parseTaskList.m diff --git a/core/convertCharArray.m b/utils/convertCharArray.m similarity index 100% rename from core/convertCharArray.m rename to utils/convertCharArray.m diff --git a/core/dispEM.m b/utils/dispEM.m similarity index 100% rename from core/dispEM.m rename to utils/dispEM.m diff --git a/core/parallelPoolRAVEN.m b/utils/parallelPoolRAVEN.m similarity index 100% rename from core/parallelPoolRAVEN.m rename to utils/parallelPoolRAVEN.m diff --git a/core/printOrange.m b/utils/printOrange.m similarity index 100% rename from core/printOrange.m rename to utils/printOrange.m From a5f19cba765f1107ac5e7f31109fcd6c50bee195 Mon Sep 17 00:00:00 2001 From: Eduard Kerkhoven Date: Sun, 7 Jun 2026 22:21:47 +0200 Subject: [PATCH 2/2] Regroup remaining folders into the functional layout Complete the top-level reorganization started in the previous commit: - external/ -> reconstruction/ with kegg/, metacyc/ and homology/ subfolders; BLAST/DIAMOND wrappers go to reconstruction/homology/, WoLF localization (getWoLFScores, parseScores) to localization/, updateDocumentation to installation/. Hardcoded data paths ('external','kegg' / 'external','metacyc') rewritten to the new location. - struct_conversion/ -> conversion/ (ravenCobraWrapper, identifier prefixes, field ordering + the COBRA/order CSVs); MIRIAM editors (editMiriam, extractMiriam) to annotation/. CSV fopen paths rewritten. - hpa/ -> omics/. - pathway/ + plotting/ -> visualization/ (maps are passed by filename, so no path edits needed). - io/loadDeltaGfromCSV, io/saveDeltaGtoCSV -> annotation/. - removeRavenFromPath root-detection regex updated for the renamed folders. Names mirror the raven-python module layout (reconstruction, omics, annotation, localization, ...). Path setup uses recursive genpath, so no install changes are needed beyond the one root-detection regex. --- {struct_conversion => annotation}/editMiriam.m | 0 {struct_conversion => annotation}/extractMiriam.m | 0 {io => annotation}/loadDeltaGfromCSV.m | 0 {io => annotation}/saveDeltaGtoCSV.m | 0 .../COBRA_structure_fields.csv | 0 .../addIdentifierPrefix.m | 0 .../cobraNamespaces.csv | 0 .../orderRavenFields.csv | 0 .../ravenCobraWrapper.m | 4 ++-- .../removeIdentifierPrefix.m | 0 .../standardizeModelFieldOrder.m | 4 ++-- installation/removeRavenFromPath.m | 2 +- {external => installation}/updateDocumentation.m | 4 ++-- {external => localization}/getWoLFScores.m | 0 {external => localization}/parseScores.m | 0 {hpa => omics}/parseHPA.m | 0 {hpa => omics}/parseHPArna.m | 0 {hpa => omics}/scoreModel.m | 0 .../combineMetaCycKEGGModels.m | 0 {external => reconstruction/homology}/getBlast.m | 0 .../homology}/getBlastFromExcel.m | 0 {external => reconstruction/homology}/getDiamond.m | 0 .../homology}/makeFakeBlastStructure.m | 0 .../kegg/constructMultiFasta.m | 0 .../kegg/getGenesFromKEGG.m | 6 +++--- .../kegg/getKEGGModelForOrganism.m | 2 +- {external => reconstruction}/kegg/getMetsFromKEGG.m | 2 +- .../kegg/getModelFromKEGG.m | 12 ++++++------ {external => reconstruction}/kegg/getPhylDist.m | 2 +- {external => reconstruction}/kegg/getRxnsFromKEGG.m | 4 ++-- {external => reconstruction}/kegg/getWSLpath.m | 0 {external => reconstruction}/kegg/keggMets.mat | Bin {external => reconstruction}/kegg/keggPhylDist.mat | Bin {external => reconstruction}/kegg/keggRxns.mat | Bin .../metacyc/addSpontaneousRxns.m | 0 .../metacyc/getEnzymesFromMetaCyc.m | 2 +- .../metacyc/getMetaCycModelForOrganism.m | 4 ++-- .../metacyc/getMetsFromMetaCyc.m | 2 +- .../metacyc/getModelFromMetaCyc.m | 2 +- .../metacyc/getRxnsFromMetaCyc.m | 2 +- .../metacyc/linkMetaCycKEGGRxns.m | 2 +- .../metacyc/metaCycEnzymes.mat | Bin .../metacyc/metaCycMets.mat | Bin .../metacyc/metaCycRxns.mat | Bin {external => reconstruction}/metacyc/protseq.fsa | 0 {pathway => visualization}/colorPathway.m | 0 {plotting => visualization}/colorSubsystem.m | 0 {plotting => visualization}/drawMap.m | 0 {plotting => visualization}/drawPathway.m | 0 {plotting => visualization}/getColorCodes.m | 0 {plotting => visualization}/getObjectiveString.m | 0 {pathway => visualization}/getPathwayDimensions.m | 0 {plotting => visualization}/iMM904.xml | 0 {pathway => visualization}/mapPathwayRxnNames.m | 0 .../markPathwayWithExpression.m | 0 {pathway => visualization}/markPathwayWithFluxes.m | 0 {plotting => visualization}/plotAdditionalInfo.m | 0 {plotting => visualization}/plotLabels.m | 0 {plotting => visualization}/setColorToMapRxns.m | 0 {plotting => visualization}/setOmicDataToRxns.m | 0 {plotting => visualization}/setTitle.m | 0 {pathway => visualization}/trimPathway.m | 0 {plotting => visualization}/yeastMap1.0c.xml | 0 63 files changed, 28 insertions(+), 28 deletions(-) rename {struct_conversion => annotation}/editMiriam.m (100%) rename {struct_conversion => annotation}/extractMiriam.m (100%) rename {io => annotation}/loadDeltaGfromCSV.m (100%) rename {io => annotation}/saveDeltaGtoCSV.m (100%) rename {struct_conversion => conversion}/COBRA_structure_fields.csv (100%) rename {struct_conversion => conversion}/addIdentifierPrefix.m (100%) rename {struct_conversion => conversion}/cobraNamespaces.csv (100%) rename {struct_conversion => conversion}/orderRavenFields.csv (100%) rename {struct_conversion => conversion}/ravenCobraWrapper.m (98%) rename {struct_conversion => conversion}/removeIdentifierPrefix.m (100%) rename {struct_conversion => conversion}/standardizeModelFieldOrder.m (84%) rename {external => installation}/updateDocumentation.m (89%) rename {external => localization}/getWoLFScores.m (100%) rename {external => localization}/parseScores.m (100%) rename {hpa => omics}/parseHPA.m (100%) rename {hpa => omics}/parseHPArna.m (100%) rename {hpa => omics}/scoreModel.m (100%) rename {external => reconstruction}/combineMetaCycKEGGModels.m (100%) rename {external => reconstruction/homology}/getBlast.m (100%) rename {external => reconstruction/homology}/getBlastFromExcel.m (100%) rename {external => reconstruction/homology}/getDiamond.m (100%) rename {external => reconstruction/homology}/makeFakeBlastStructure.m (100%) rename {external => reconstruction}/kegg/constructMultiFasta.m (100%) rename {external => reconstruction}/kegg/getGenesFromKEGG.m (98%) rename {external => reconstruction}/kegg/getKEGGModelForOrganism.m (99%) rename {external => reconstruction}/kegg/getMetsFromKEGG.m (99%) rename {external => reconstruction}/kegg/getModelFromKEGG.m (96%) rename {external => reconstruction}/kegg/getPhylDist.m (98%) rename {external => reconstruction}/kegg/getRxnsFromKEGG.m (99%) rename {external => reconstruction}/kegg/getWSLpath.m (100%) rename {external => reconstruction}/kegg/keggMets.mat (100%) rename {external => reconstruction}/kegg/keggPhylDist.mat (100%) rename {external => reconstruction}/kegg/keggRxns.mat (100%) rename {external => reconstruction}/metacyc/addSpontaneousRxns.m (100%) rename {external => reconstruction}/metacyc/getEnzymesFromMetaCyc.m (99%) rename {external => reconstruction}/metacyc/getMetaCycModelForOrganism.m (98%) rename {external => reconstruction}/metacyc/getMetsFromMetaCyc.m (99%) rename {external => reconstruction}/metacyc/getModelFromMetaCyc.m (99%) rename {external => reconstruction}/metacyc/getRxnsFromMetaCyc.m (99%) rename {external => reconstruction}/metacyc/linkMetaCycKEGGRxns.m (98%) rename {external => reconstruction}/metacyc/metaCycEnzymes.mat (100%) rename {external => reconstruction}/metacyc/metaCycMets.mat (100%) rename {external => reconstruction}/metacyc/metaCycRxns.mat (100%) rename {external => reconstruction}/metacyc/protseq.fsa (100%) rename {pathway => visualization}/colorPathway.m (100%) rename {plotting => visualization}/colorSubsystem.m (100%) rename {plotting => visualization}/drawMap.m (100%) rename {plotting => visualization}/drawPathway.m (100%) rename {plotting => visualization}/getColorCodes.m (100%) rename {plotting => visualization}/getObjectiveString.m (100%) rename {pathway => visualization}/getPathwayDimensions.m (100%) rename {plotting => visualization}/iMM904.xml (100%) rename {pathway => visualization}/mapPathwayRxnNames.m (100%) rename {pathway => visualization}/markPathwayWithExpression.m (100%) rename {pathway => visualization}/markPathwayWithFluxes.m (100%) rename {plotting => visualization}/plotAdditionalInfo.m (100%) rename {plotting => visualization}/plotLabels.m (100%) rename {plotting => visualization}/setColorToMapRxns.m (100%) rename {plotting => visualization}/setOmicDataToRxns.m (100%) rename {plotting => visualization}/setTitle.m (100%) rename {pathway => visualization}/trimPathway.m (100%) rename {plotting => visualization}/yeastMap1.0c.xml (100%) diff --git a/struct_conversion/editMiriam.m b/annotation/editMiriam.m similarity index 100% rename from struct_conversion/editMiriam.m rename to annotation/editMiriam.m diff --git a/struct_conversion/extractMiriam.m b/annotation/extractMiriam.m similarity index 100% rename from struct_conversion/extractMiriam.m rename to annotation/extractMiriam.m diff --git a/io/loadDeltaGfromCSV.m b/annotation/loadDeltaGfromCSV.m similarity index 100% rename from io/loadDeltaGfromCSV.m rename to annotation/loadDeltaGfromCSV.m diff --git a/io/saveDeltaGtoCSV.m b/annotation/saveDeltaGtoCSV.m similarity index 100% rename from io/saveDeltaGtoCSV.m rename to annotation/saveDeltaGtoCSV.m diff --git a/struct_conversion/COBRA_structure_fields.csv b/conversion/COBRA_structure_fields.csv similarity index 100% rename from struct_conversion/COBRA_structure_fields.csv rename to conversion/COBRA_structure_fields.csv diff --git a/struct_conversion/addIdentifierPrefix.m b/conversion/addIdentifierPrefix.m similarity index 100% rename from struct_conversion/addIdentifierPrefix.m rename to conversion/addIdentifierPrefix.m diff --git a/struct_conversion/cobraNamespaces.csv b/conversion/cobraNamespaces.csv similarity index 100% rename from struct_conversion/cobraNamespaces.csv rename to conversion/cobraNamespaces.csv diff --git a/struct_conversion/orderRavenFields.csv b/conversion/orderRavenFields.csv similarity index 100% rename from struct_conversion/orderRavenFields.csv rename to conversion/orderRavenFields.csv diff --git a/struct_conversion/ravenCobraWrapper.m b/conversion/ravenCobraWrapper.m similarity index 98% rename from struct_conversion/ravenCobraWrapper.m rename to conversion/ravenCobraWrapper.m index 47b48525..cb82866f 100755 --- a/struct_conversion/ravenCobraWrapper.m +++ b/conversion/ravenCobraWrapper.m @@ -38,7 +38,7 @@ ravenPath=findRAVENroot(); % Load COBRA field information -fid = fopen(fullfile(ravenPath,'struct_conversion','COBRA_structure_fields.csv')); % Taken from https://github.com/opencobra/cobratoolbox/blob/develop/src/base/io/definitions/COBRA_structure_fields.csv +fid = fopen(fullfile(ravenPath,'conversion','COBRA_structure_fields.csv')); % Taken from https://github.com/opencobra/cobratoolbox/blob/develop/src/base/io/definitions/COBRA_structure_fields.csv fieldFile = textscan(fid,repmat('%s',1,15),'Delimiter','\t','HeaderLines',1); dbFields = ~cellfun(@isempty,fieldFile{5}); % Only keep fields with database annotations that should be translated to xxxMiriams dbFields = dbFields & ~contains(fieldFile{1},{'metInChIString','metKEGGID','metPubChemID','rxnECNumbers'}); @@ -48,7 +48,7 @@ fclose(fid); % Load conversion between additional COBRA fields and namespaces: -fid = fopen(fullfile(ravenPath,'struct_conversion','cobraNamespaces.csv')); +fid = fopen(fullfile(ravenPath,'conversion','cobraNamespaces.csv')); fieldFile = textscan(fid,'%s %s','Delimiter',',','HeaderLines',0); COBRAfields = [COBRAfields; fieldFile{1}]; COBRAnamespace = [COBRAnamespace; fieldFile{2}]; diff --git a/struct_conversion/removeIdentifierPrefix.m b/conversion/removeIdentifierPrefix.m similarity index 100% rename from struct_conversion/removeIdentifierPrefix.m rename to conversion/removeIdentifierPrefix.m diff --git a/struct_conversion/standardizeModelFieldOrder.m b/conversion/standardizeModelFieldOrder.m similarity index 84% rename from struct_conversion/standardizeModelFieldOrder.m rename to conversion/standardizeModelFieldOrder.m index c5a8e61e..ffe79e11 100755 --- a/struct_conversion/standardizeModelFieldOrder.m +++ b/conversion/standardizeModelFieldOrder.m @@ -16,12 +16,12 @@ ravenPath=findRAVENroot(); if ~isfield(model,'rules') % Check if model is RAVEN - fid = fopen(fullfile(ravenPath,'struct_conversion','orderRavenFields.csv')); + fid = fopen(fullfile(ravenPath,'conversion','orderRavenFields.csv')); fields = textscan(fid,'%s','Delimiter',',','HeaderLines',0); fields = fields{1}; fclose(fid); else % If model is COBRA - fid = fopen(fullfile(ravenPath,'struct_conversion','COBRA_structure_fields.csv')); % Taken from https://github.com/opencobra/cobratoolbox/blob/develop/src/base/io/definitions/COBRA_structure_fields.csv + fid = fopen(fullfile(ravenPath,'conversion','COBRA_structure_fields.csv')); % Taken from https://github.com/opencobra/cobratoolbox/blob/develop/src/base/io/definitions/COBRA_structure_fields.csv fields = textscan(fid,repmat('%s',1,15),'Delimiter','\t','HeaderLines',1); fields = fields{1}; fclose(fid); diff --git a/installation/removeRavenFromPath.m b/installation/removeRavenFromPath.m index 5bdcd745..e2738339 100755 --- a/installation/removeRavenFromPath.m +++ b/installation/removeRavenFromPath.m @@ -27,7 +27,7 @@ function removeRavenFromPath() end end -ravenPath = unique(regexprep(currPath(ravenPath),'(\\|\/)((external)|(struct_conversion)|(solver))','')); +ravenPath = unique(regexprep(currPath(ravenPath),'(\\|\/)((reconstruction)|(conversion)|(solver))','')); addOnDir = contains(ravenPath,'MATLAB Add-Ons'); if any(addOnDir) warning(['RAVEN is installed as MATLAB Add-On at the following directory, but MATLAB '... diff --git a/external/updateDocumentation.m b/installation/updateDocumentation.m similarity index 89% rename from external/updateDocumentation.m rename to installation/updateDocumentation.m index d1822e00..ccc81e2d 100755 --- a/external/updateDocumentation.m +++ b/installation/updateDocumentation.m @@ -20,8 +20,8 @@ function updateDocumentation() ravenDirs(startsWith(ravenDirs,strcat(ravenDir,filesep,'legacy',filesep,'software')))=[]; %Remove keggModel.mat if it exists -if exist(fullfile(ravenDir,'external','kegg','keggModel.mat'), 'file') == 2 - delete(fullfile(ravenDir,'external','kegg','keggModel.mat')); +if exist(fullfile(ravenDir,'reconstruction','kegg','keggModel.mat'), 'file') == 2 + delete(fullfile(ravenDir,'reconstruction','kegg','keggModel.mat')); end %Remove existing "doc" directory from RAVEN diff --git a/external/getWoLFScores.m b/localization/getWoLFScores.m similarity index 100% rename from external/getWoLFScores.m rename to localization/getWoLFScores.m diff --git a/external/parseScores.m b/localization/parseScores.m similarity index 100% rename from external/parseScores.m rename to localization/parseScores.m diff --git a/hpa/parseHPA.m b/omics/parseHPA.m similarity index 100% rename from hpa/parseHPA.m rename to omics/parseHPA.m diff --git a/hpa/parseHPArna.m b/omics/parseHPArna.m similarity index 100% rename from hpa/parseHPArna.m rename to omics/parseHPArna.m diff --git a/hpa/scoreModel.m b/omics/scoreModel.m similarity index 100% rename from hpa/scoreModel.m rename to omics/scoreModel.m diff --git a/external/combineMetaCycKEGGModels.m b/reconstruction/combineMetaCycKEGGModels.m similarity index 100% rename from external/combineMetaCycKEGGModels.m rename to reconstruction/combineMetaCycKEGGModels.m diff --git a/external/getBlast.m b/reconstruction/homology/getBlast.m similarity index 100% rename from external/getBlast.m rename to reconstruction/homology/getBlast.m diff --git a/external/getBlastFromExcel.m b/reconstruction/homology/getBlastFromExcel.m similarity index 100% rename from external/getBlastFromExcel.m rename to reconstruction/homology/getBlastFromExcel.m diff --git a/external/getDiamond.m b/reconstruction/homology/getDiamond.m similarity index 100% rename from external/getDiamond.m rename to reconstruction/homology/getDiamond.m diff --git a/external/makeFakeBlastStructure.m b/reconstruction/homology/makeFakeBlastStructure.m similarity index 100% rename from external/makeFakeBlastStructure.m rename to reconstruction/homology/makeFakeBlastStructure.m diff --git a/external/kegg/constructMultiFasta.m b/reconstruction/kegg/constructMultiFasta.m similarity index 100% rename from external/kegg/constructMultiFasta.m rename to reconstruction/kegg/constructMultiFasta.m diff --git a/external/kegg/getGenesFromKEGG.m b/reconstruction/kegg/getGenesFromKEGG.m similarity index 98% rename from external/kegg/getGenesFromKEGG.m rename to reconstruction/kegg/getGenesFromKEGG.m index 0f29305a..90886ee9 100755 --- a/external/kegg/getGenesFromKEGG.m +++ b/reconstruction/kegg/getGenesFromKEGG.m @@ -70,7 +70,7 @@ end ravenPath=findRAVENroot(); -genesFile=fullfile(ravenPath,'external','kegg','keggGenes.mat'); +genesFile=fullfile(ravenPath,'reconstruction','kegg','keggGenes.mat'); if ~exist(genesFile, 'file') try downloadKEGGgenes(); @@ -284,7 +284,7 @@ %First check if the reactions have already been parsed ravenPath=findRAVENroot; -rxnsFile=fullfile(ravenPath,'external','kegg','keggRxns.mat'); +rxnsFile=fullfile(ravenPath,'reconstruction','kegg','keggRxns.mat'); if exist(rxnsFile, 'file') fprintf(['NOTE: Importing KEGG ORTHOLOGY list from ' strrep(rxnsFile,'\','/') '.\n']); load(rxnsFile,'model'); @@ -367,7 +367,7 @@ function downloadKEGGgenes() releaseTag = 'v2.11.1'; archiveName = 'keggGenes.zip'; -targetDir = fullfile(findRAVENroot(),'external','kegg'); +targetDir = fullfile(findRAVENroot(),'reconstruction','kegg'); targetFile = fullfile(targetDir,'keggGenes.mat'); url = ['https://github.com/SysBioChalmers/RAVEN/releases/download/',... releaseTag,'/',archiveName]; diff --git a/external/kegg/getKEGGModelForOrganism.m b/reconstruction/kegg/getKEGGModelForOrganism.m similarity index 99% rename from external/kegg/getKEGGModelForOrganism.m rename to reconstruction/kegg/getKEGGModelForOrganism.m index 24b69bdc..f789b138 100755 --- a/external/kegg/getKEGGModelForOrganism.m +++ b/reconstruction/kegg/getKEGGModelForOrganism.m @@ -440,7 +440,7 @@ %First remove all reactions without genes if keepSpontaneous==true fprintf('Removing non-spontaneous reactions without GPR rules... '); - load(fullfile(ravenPath,'external','kegg','keggRxns.mat'),'isSpontaneous'); + load(fullfile(ravenPath,'reconstruction','kegg','keggRxns.mat'),'isSpontaneous'); I=~any(model.rxnGeneMat,2)&~ismember(model.rxns,isSpontaneous); spontRxnsWithGenes=model.rxns(any(model.rxnGeneMat,2)&~ismember(model.rxns,isSpontaneous)); else diff --git a/external/kegg/getMetsFromKEGG.m b/reconstruction/kegg/getMetsFromKEGG.m similarity index 99% rename from external/kegg/getMetsFromKEGG.m rename to reconstruction/kegg/getMetsFromKEGG.m index ee82138f..c4bb62ca 100755 --- a/external/kegg/getMetsFromKEGG.m +++ b/reconstruction/kegg/getMetsFromKEGG.m @@ -69,7 +69,7 @@ end ravenPath=findRAVENroot(); -metsFile=fullfile(ravenPath,'external','kegg','keggMets.mat'); +metsFile=fullfile(ravenPath,'reconstruction','kegg','keggMets.mat'); if exist(metsFile, 'file') fprintf(['Importing KEGG metabolites from ' strrep(metsFile,'\','/') '... ']); load(metsFile); diff --git a/external/kegg/getModelFromKEGG.m b/reconstruction/kegg/getModelFromKEGG.m similarity index 96% rename from external/kegg/getModelFromKEGG.m rename to reconstruction/kegg/getModelFromKEGG.m index 9530ba72..272fcfb7 100755 --- a/external/kegg/getModelFromKEGG.m +++ b/reconstruction/kegg/getModelFromKEGG.m @@ -47,7 +47,7 @@ ravenPath=findRAVENroot(); if nargin<1 - keggPath=fullfile(ravenPath,'external','kegg'); + keggPath=fullfile(ravenPath,'reconstruction','kegg'); else keggPath=char(keggPath); end @@ -64,7 +64,7 @@ keepGeneral=false; end -modelFile=fullfile(ravenPath,'external','kegg','keggModel.mat'); +modelFile=fullfile(ravenPath,'reconstruction','kegg','keggModel.mat'); if exist(modelFile, 'file') && isNewestFile(ravenPath) fprintf(['Importing the global KEGG model from ' strrep(modelFile,'\','/') '... ']); load(modelFile); @@ -267,10 +267,10 @@ function output = isNewestFile(ravenPath) %The ad hoc function, which checks whether keggModel.mat is the more %recently modified than keggRxns.mat, keggGenes.mat and keggRxns.mat -modelFile=fullfile(ravenPath,'external','kegg','keggModel.mat'); -rxnsFile=fullfile(ravenPath,'external','kegg','keggRxns.mat'); -genesFile=fullfile(ravenPath,'external','kegg','keggGenes.mat'); -metsFile=fullfile(ravenPath,'external','kegg','keggMets.mat'); +modelFile=fullfile(ravenPath,'reconstruction','kegg','keggModel.mat'); +rxnsFile=fullfile(ravenPath,'reconstruction','kegg','keggRxns.mat'); +genesFile=fullfile(ravenPath,'reconstruction','kegg','keggGenes.mat'); +metsFile=fullfile(ravenPath,'reconstruction','kegg','keggMets.mat'); if (getFileTime(modelFile)>getFileTime(rxnsFile))&&... (getFileTime(modelFile)>getFileTime(genesFile))&&... (getFileTime(modelFile)>getFileTime(metsFile)) diff --git a/external/kegg/getPhylDist.m b/reconstruction/kegg/getPhylDist.m similarity index 98% rename from external/kegg/getPhylDist.m rename to reconstruction/kegg/getPhylDist.m index 90bf667f..f8e64fbe 100755 --- a/external/kegg/getPhylDist.m +++ b/reconstruction/kegg/getPhylDist.m @@ -32,7 +32,7 @@ %Check if the reactions have been parsed before and saved. If so, load the %model ravenPath=findRAVENroot(); -distFile=fullfile(ravenPath,'external','kegg','keggPhylDist.mat'); +distFile=fullfile(ravenPath,'reconstruction','kegg','keggPhylDist.mat'); if exist(distFile, 'file') fprintf(['Importing the KEGG phylogenetic distance matrix from ' strrep(distFile,'\','/') '... ']); load(distFile); diff --git a/external/kegg/getRxnsFromKEGG.m b/reconstruction/kegg/getRxnsFromKEGG.m similarity index 99% rename from external/kegg/getRxnsFromKEGG.m rename to reconstruction/kegg/getRxnsFromKEGG.m index ed94d8b9..9e652b37 100755 --- a/external/kegg/getRxnsFromKEGG.m +++ b/reconstruction/kegg/getRxnsFromKEGG.m @@ -71,14 +71,14 @@ ravenPath=findRAVENroot(); if nargin<1 - keggPath=fullfile(ravenPath,'external','kegg'); + keggPath=fullfile(ravenPath,'reconstruction','kegg'); else keggPath=char(keggPath); end %Check if the reactions have been parsed before and saved. If so, load the %model -rxnsFile=fullfile(ravenPath,'external','kegg','keggRxns.mat'); +rxnsFile=fullfile(ravenPath,'reconstruction','kegg','keggRxns.mat'); if exist(rxnsFile, 'file') fprintf(['Importing KEGG reactions from ' strrep(rxnsFile,'\','/') '... ']); load(rxnsFile); diff --git a/external/kegg/getWSLpath.m b/reconstruction/kegg/getWSLpath.m similarity index 100% rename from external/kegg/getWSLpath.m rename to reconstruction/kegg/getWSLpath.m diff --git a/external/kegg/keggMets.mat b/reconstruction/kegg/keggMets.mat similarity index 100% rename from external/kegg/keggMets.mat rename to reconstruction/kegg/keggMets.mat diff --git a/external/kegg/keggPhylDist.mat b/reconstruction/kegg/keggPhylDist.mat similarity index 100% rename from external/kegg/keggPhylDist.mat rename to reconstruction/kegg/keggPhylDist.mat diff --git a/external/kegg/keggRxns.mat b/reconstruction/kegg/keggRxns.mat similarity index 100% rename from external/kegg/keggRxns.mat rename to reconstruction/kegg/keggRxns.mat diff --git a/external/metacyc/addSpontaneousRxns.m b/reconstruction/metacyc/addSpontaneousRxns.m similarity index 100% rename from external/metacyc/addSpontaneousRxns.m rename to reconstruction/metacyc/addSpontaneousRxns.m diff --git a/external/metacyc/getEnzymesFromMetaCyc.m b/reconstruction/metacyc/getEnzymesFromMetaCyc.m similarity index 99% rename from external/metacyc/getEnzymesFromMetaCyc.m rename to reconstruction/metacyc/getEnzymesFromMetaCyc.m index 51962d50..b4b27035 100755 --- a/external/metacyc/getEnzymesFromMetaCyc.m +++ b/reconstruction/metacyc/getEnzymesFromMetaCyc.m @@ -60,7 +60,7 @@ if nargin<1 ravenPath=findRAVENroot(); - metacycPath=fullfile(ravenPath,'external','metacyc'); + metacycPath=fullfile(ravenPath,'reconstruction','metacyc'); else metacycPath=char(metacycPath); end diff --git a/external/metacyc/getMetaCycModelForOrganism.m b/reconstruction/metacyc/getMetaCycModelForOrganism.m similarity index 98% rename from external/metacyc/getMetaCycModelForOrganism.m rename to reconstruction/metacyc/getMetaCycModelForOrganism.m index 5ddd6460..d77c10f0 100755 --- a/external/metacyc/getMetaCycModelForOrganism.m +++ b/reconstruction/metacyc/getMetaCycModelForOrganism.m @@ -100,9 +100,9 @@ %Generate blast strcture by either DIAMOND or BLASTP if isempty(metacycBlastStruct) if useDiamond - blastStruc=getDiamond(organismID,fastaFile,{'MetaCyc'},fullfile(ravenPath,'external','metacyc','protseq.fsa')); + blastStruc=getDiamond(organismID,fastaFile,{'MetaCyc'},fullfile(ravenPath,'reconstruction','metacyc','protseq.fsa')); else - blastStruc=getBlast(organismID,fastaFile,{'MetaCyc'},fullfile(ravenPath,'external','metacyc','protseq.fsa')); + blastStruc=getBlast(organismID,fastaFile,{'MetaCyc'},fullfile(ravenPath,'reconstruction','metacyc','protseq.fsa')); end %Only look the query blastStructure=blastStruc(2); diff --git a/external/metacyc/getMetsFromMetaCyc.m b/reconstruction/metacyc/getMetsFromMetaCyc.m similarity index 99% rename from external/metacyc/getMetsFromMetaCyc.m rename to reconstruction/metacyc/getMetsFromMetaCyc.m index 5ce72bb0..1f99bf99 100755 --- a/external/metacyc/getMetsFromMetaCyc.m +++ b/reconstruction/metacyc/getMetsFromMetaCyc.m @@ -59,7 +59,7 @@ % the model. if nargin<1 ravenPath=findRAVENroot(); - metacycPath=fullfile(ravenPath,'external','metacyc'); + metacycPath=fullfile(ravenPath,'reconstruction','metacyc'); else metacycPath=char(metacycPath); end diff --git a/external/metacyc/getModelFromMetaCyc.m b/reconstruction/metacyc/getModelFromMetaCyc.m similarity index 99% rename from external/metacyc/getModelFromMetaCyc.m rename to reconstruction/metacyc/getModelFromMetaCyc.m index a0f15ede..81d001f0 100755 --- a/external/metacyc/getModelFromMetaCyc.m +++ b/reconstruction/metacyc/getModelFromMetaCyc.m @@ -35,7 +35,7 @@ if nargin<1 ravenPath=findRAVENroot(); - metacycPath=fullfile(ravenPath,'external','metacyc'); + metacycPath=fullfile(ravenPath,'reconstruction','metacyc'); else metacycPath=char(metacycPath); end diff --git a/external/metacyc/getRxnsFromMetaCyc.m b/reconstruction/metacyc/getRxnsFromMetaCyc.m similarity index 99% rename from external/metacyc/getRxnsFromMetaCyc.m rename to reconstruction/metacyc/getRxnsFromMetaCyc.m index 8d6b0b8a..4091a8d3 100755 --- a/external/metacyc/getRxnsFromMetaCyc.m +++ b/reconstruction/metacyc/getRxnsFromMetaCyc.m @@ -70,7 +70,7 @@ % A line that contains only '//' separates each object. if nargin<1 ravenPath=findRAVENroot(); - metacycPath=fullfile(ravenPath,'external','metacyc'); + metacycPath=fullfile(ravenPath,'reconstruction','metacyc'); else metacycPath=char(metacycPath); end diff --git a/external/metacyc/linkMetaCycKEGGRxns.m b/reconstruction/metacyc/linkMetaCycKEGGRxns.m similarity index 98% rename from external/metacyc/linkMetaCycKEGGRxns.m rename to reconstruction/metacyc/linkMetaCycKEGGRxns.m index 7933bb56..f1e3cbc2 100755 --- a/external/metacyc/linkMetaCycKEGGRxns.m +++ b/reconstruction/metacyc/linkMetaCycKEGGRxns.m @@ -99,7 +99,7 @@ %Get the MetaCyc path and update the metaCycRxns.mat ravenPath=findRAVENroot(); -rxnsFile=fullfile(ravenPath,'external','metacyc','metaCycRxns.mat'); +rxnsFile=fullfile(ravenPath,'reconstruction','metacyc','metaCycRxns.mat'); save(rxnsFile,'metaCycRxns','rxnLinks','TRANSPORT','UNBALANCED','UNDETERMINED','isSpontaneous'); fprintf(['Reaction associations between MetaCyc and KEGG have been successfully updated!\n\n']); diff --git a/external/metacyc/metaCycEnzymes.mat b/reconstruction/metacyc/metaCycEnzymes.mat similarity index 100% rename from external/metacyc/metaCycEnzymes.mat rename to reconstruction/metacyc/metaCycEnzymes.mat diff --git a/external/metacyc/metaCycMets.mat b/reconstruction/metacyc/metaCycMets.mat similarity index 100% rename from external/metacyc/metaCycMets.mat rename to reconstruction/metacyc/metaCycMets.mat diff --git a/external/metacyc/metaCycRxns.mat b/reconstruction/metacyc/metaCycRxns.mat similarity index 100% rename from external/metacyc/metaCycRxns.mat rename to reconstruction/metacyc/metaCycRxns.mat diff --git a/external/metacyc/protseq.fsa b/reconstruction/metacyc/protseq.fsa similarity index 100% rename from external/metacyc/protseq.fsa rename to reconstruction/metacyc/protseq.fsa diff --git a/pathway/colorPathway.m b/visualization/colorPathway.m similarity index 100% rename from pathway/colorPathway.m rename to visualization/colorPathway.m diff --git a/plotting/colorSubsystem.m b/visualization/colorSubsystem.m similarity index 100% rename from plotting/colorSubsystem.m rename to visualization/colorSubsystem.m diff --git a/plotting/drawMap.m b/visualization/drawMap.m similarity index 100% rename from plotting/drawMap.m rename to visualization/drawMap.m diff --git a/plotting/drawPathway.m b/visualization/drawPathway.m similarity index 100% rename from plotting/drawPathway.m rename to visualization/drawPathway.m diff --git a/plotting/getColorCodes.m b/visualization/getColorCodes.m similarity index 100% rename from plotting/getColorCodes.m rename to visualization/getColorCodes.m diff --git a/plotting/getObjectiveString.m b/visualization/getObjectiveString.m similarity index 100% rename from plotting/getObjectiveString.m rename to visualization/getObjectiveString.m diff --git a/pathway/getPathwayDimensions.m b/visualization/getPathwayDimensions.m similarity index 100% rename from pathway/getPathwayDimensions.m rename to visualization/getPathwayDimensions.m diff --git a/plotting/iMM904.xml b/visualization/iMM904.xml similarity index 100% rename from plotting/iMM904.xml rename to visualization/iMM904.xml diff --git a/pathway/mapPathwayRxnNames.m b/visualization/mapPathwayRxnNames.m similarity index 100% rename from pathway/mapPathwayRxnNames.m rename to visualization/mapPathwayRxnNames.m diff --git a/pathway/markPathwayWithExpression.m b/visualization/markPathwayWithExpression.m similarity index 100% rename from pathway/markPathwayWithExpression.m rename to visualization/markPathwayWithExpression.m diff --git a/pathway/markPathwayWithFluxes.m b/visualization/markPathwayWithFluxes.m similarity index 100% rename from pathway/markPathwayWithFluxes.m rename to visualization/markPathwayWithFluxes.m diff --git a/plotting/plotAdditionalInfo.m b/visualization/plotAdditionalInfo.m similarity index 100% rename from plotting/plotAdditionalInfo.m rename to visualization/plotAdditionalInfo.m diff --git a/plotting/plotLabels.m b/visualization/plotLabels.m similarity index 100% rename from plotting/plotLabels.m rename to visualization/plotLabels.m diff --git a/plotting/setColorToMapRxns.m b/visualization/setColorToMapRxns.m similarity index 100% rename from plotting/setColorToMapRxns.m rename to visualization/setColorToMapRxns.m diff --git a/plotting/setOmicDataToRxns.m b/visualization/setOmicDataToRxns.m similarity index 100% rename from plotting/setOmicDataToRxns.m rename to visualization/setOmicDataToRxns.m diff --git a/plotting/setTitle.m b/visualization/setTitle.m similarity index 100% rename from plotting/setTitle.m rename to visualization/setTitle.m diff --git a/pathway/trimPathway.m b/visualization/trimPathway.m similarity index 100% rename from pathway/trimPathway.m rename to visualization/trimPathway.m diff --git a/plotting/yeastMap1.0c.xml b/visualization/yeastMap1.0c.xml similarity index 100% rename from plotting/yeastMap1.0c.xml rename to visualization/yeastMap1.0c.xml