From bdf748c51b0896b597e724eef8a78e5cef8a60c4 Mon Sep 17 00:00:00 2001 From: Eduard Kerkhoven Date: Mon, 8 Feb 2021 20:34:27 +0100 Subject: [PATCH 1/3] doc: update documentation - updated HTML documentation for RAVEN with updateDocumentation function (MATLAB 2020b, Win 10) --- .gitattributes | 5 +- doc/INIT/getINITModel.html | 2 +- doc/INIT/index.html | 2 +- doc/INIT/runINIT.html | 2 +- doc/core/FSEOF.html | 2 +- doc/core/addExchangeRxns.html | 2 +- doc/core/addGenesRaven.html | 2 +- doc/core/addMets.html | 2 +- doc/core/addRxns.html | 2 +- doc/core/addRxnsGenesMets.html | 2 +- doc/core/addTransport.html | 2 +- doc/core/analyzeSampling.html | 2 +- doc/core/buildEquation.html | 2 +- doc/core/canConsume.html | 2 +- doc/core/canProduce.html | 2 +- doc/core/changeGeneAssoc.html | 2 +- doc/core/changeGrRules.html | 2 +- doc/core/changeRxns.html | 2 +- doc/core/checkModelStruct.html | 2 +- doc/core/checkProduction.html | 2 +- doc/core/checkRxn.html | 2 +- doc/core/checkTasks.html | 2 +- doc/core/compareModels.html | 2 +- doc/core/compareMultipleModels.html | 2 +- doc/core/constructEquations.html | 2 +- doc/core/constructS.html | 2 +- doc/core/consumeSomething.html | 2 +- doc/core/contractModel.html | 2 +- doc/core/convertToIrrev.html | 2 +- doc/core/copyToComps.html | 2 +- doc/core/deleteUnusedGenes.html | 2 +- doc/core/dispEM.html | 2 +- doc/core/expandModel.html | 2 +- doc/core/fillGaps.html | 2 +- doc/core/findGeneDeletions.html | 2 +- doc/core/fitParameters.html | 2 +- doc/core/fitTasks.html | 2 +- doc/core/followChanged.html | 2 +- doc/core/followFluxes.html | 2 +- doc/core/gapReport.html | 2 +- doc/core/generateNewIds.html | 2 +- doc/core/getAllRxnsFromGenes.html | 2 +- doc/core/getAllSubGraphs.html | 2 +- doc/core/getAllowedBounds.html | 2 +- doc/core/getElementalBalance.html | 2 +- doc/core/getEssentialRxns.html | 2 +- doc/core/getExchangeRxns.html | 2 +- doc/core/getExpressionStructure.html | 2 +- doc/core/getFluxZ.html | 2 +- doc/core/getIndexes.html | 2 +- doc/core/getMetsInComp.html | 2 +- doc/core/getMinNrFluxes.html | 2 +- doc/core/getModelFromHomology.html | 2 +- doc/core/getObjectiveString.html | 2 +- doc/core/getRxnsInComp.html | 2 +- doc/core/getTransportRxns.html | 2 +- doc/core/guessComposition.html | 2 +- doc/core/haveFlux.html | 2 +- doc/core/index.html | 2 +- doc/core/makeSomething.html | 2 +- doc/core/mapCompartments.html | 2 +- doc/core/mergeCompartments.html | 2 +- doc/core/mergeModels.html | 2 +- doc/core/parseFormulas.html | 2 +- doc/core/parseRxnEqu.html | 2 +- doc/core/parseTaskList.html | 2 +- doc/core/permuteModel.html | 2 +- doc/core/predictLocalization.html | 2 +- doc/core/printFluxes.html | 2 +- doc/core/printModel.html | 2 +- doc/core/printModelStats.html | 2 +- doc/core/randomSampling.html | 2 +- doc/core/removeBadRxns.html | 2 +- doc/core/removeGenes.html | 2 +- doc/core/removeMets.html | 2 +- doc/core/removeReactions.html | 2 +- doc/core/replaceMets.html | 2 +- doc/core/reporterMetabolites.html | 2 +- doc/core/setExchangeBounds.html | 2 +- doc/core/setParam.html | 2 +- doc/core/simplifyModel.html | 2 +- doc/core/sortModel.html | 2 +- doc/core/standardizeGrRules.html | 2 +- doc/external/combineMetaCycKEGGModels.html | 2 +- doc/external/getBlast.html | 2 +- doc/external/getBlastFromExcel.html | 2 +- doc/external/getDiamond.html | 2 +- doc/external/getWoLFScores.html | 2 +- doc/external/index.html | 2 +- doc/external/kegg/constructMultiFasta.html | 2 +- doc/external/kegg/getGenesFromKEGG.html | 2 +- .../kegg/getKEGGModelForOrganism.html | 2 +- doc/external/kegg/getMetsFromKEGG.html | 2 +- doc/external/kegg/getModelFromKEGG.html | 2 +- doc/external/kegg/getPhylDist.html | 2 +- doc/external/kegg/getRxnsFromKEGG.html | 2 +- doc/external/kegg/index.html | 4 +- doc/external/makeFakeBlastStructure.html | 2 +- doc/external/metacyc/addSpontaneousRxns.html | 2 +- .../metacyc/getEnzymesFromMetaCyc.html | 2 +- .../metacyc/getMetaCycModelForOrganism.html | 2 +- doc/external/metacyc/getMetsFromMetaCyc.html | 2 +- doc/external/metacyc/getModelFromMetaCyc.html | 2 +- doc/external/metacyc/getRxnsFromMetaCyc.html | 2 +- doc/external/metacyc/index.html | 2 +- doc/external/metacyc/linkMetaCycKEGGRxns.html | 2 +- doc/external/parseScores.html | 2 +- doc/external/updateDocumentation.html | 2 +- doc/hpa/index.html | 2 +- doc/hpa/parseHPA.html | 2 +- doc/hpa/parseHPArna.html | 2 +- doc/hpa/scoreModel.html | 2 +- doc/index.html | 2 +- doc/installation/addRavenToUserPath.html | 2 +- doc/installation/checkFunctionUniqueness.html | 2 +- doc/installation/checkInstallation.html | 2 +- doc/installation/index.html | 2 +- doc/io/SBMLFromExcel.html | 2 +- doc/io/addJavaPaths.html | 2 +- doc/io/checkFileExistence.html | 2 +- doc/io/cleanSheet.html | 2 +- doc/io/closeModel.html | 2 +- doc/io/exportForGit.html | 2 +- doc/io/exportModel.html | 12 +- doc/io/exportModelToSIF.html | 2 +- doc/io/exportToExcelFormat.html | 2 +- doc/io/exportToTabDelimited.html | 2 +- doc/io/getFullPath.html | 2 +- doc/io/getToolboxVersion.html | 2 +- doc/io/importExcelModel.html | 2 +- doc/io/importModel.html | 1088 +++++++++-------- doc/io/index.html | 2 +- doc/io/loadSheet.html | 2 +- doc/io/loadWorkbook.html | 2 +- doc/io/startup.html | 2 +- doc/io/writeSheet.html | 2 +- doc/io/writeYaml.html | 2 +- .../constructPathwayFromCelldesigner.html | 2 +- doc/legacy/external/index.html | 2 +- doc/pathway/colorPathway.html | 2 +- doc/pathway/getPathwayDimensions.html | 2 +- doc/pathway/index.html | 2 +- doc/pathway/mapPathwayRxnNames.html | 2 +- doc/pathway/markPathwayWithExpression.html | 2 +- doc/pathway/markPathwayWithFluxes.html | 2 +- doc/pathway/trimPathway.html | 2 +- doc/plotting/colorSubsystem.html | 2 +- doc/plotting/drawMap.html | 2 +- doc/plotting/drawPathway.html | 2 +- doc/plotting/getColorCodes.html | 2 +- doc/plotting/index.html | 2 +- doc/plotting/plotAdditionalInfo.html | 2 +- doc/plotting/plotLabels.html | 2 +- doc/plotting/setColorToMapRxns.html | 2 +- doc/plotting/setOmicDataToRxns.html | 2 +- doc/plotting/setTitle.html | 2 +- doc/solver/checkSolution.html | 2 +- doc/solver/getMILPParams.html | 2 +- doc/solver/index.html | 2 +- doc/solver/optimizeProb.html | 2 +- doc/solver/qMOMA.html | 2 +- doc/solver/setRavenSolver.html | 2 +- doc/solver/solveLP.html | 2 +- doc/solver/solveQP.html | 2 +- doc/struct_conversion/cobraToGurobiProb.html | 2 +- doc/struct_conversion/cobraToMosekRes.html | 2 +- doc/struct_conversion/extractMiriam.html | 2 +- doc/struct_conversion/gurobiToCobraRes.html | 2 +- doc/struct_conversion/index.html | 2 +- doc/struct_conversion/ravenCobraWrapper.html | 2 +- .../standardizeModelFieldOrder.html | 2 +- doc/testing/index.html | 2 +- doc/testing/testBlast.html | 2 +- doc/testing/testDiamond.html | 2 +- doc/testing/unit_tests/index.html | 2 +- doc/testing/unit_tests/tinitTests.html | 2 +- doc/tutorial/index.html | 6 +- doc/tutorial/tutorial1.html | 2 +- doc/tutorial/tutorial2.html | 2 +- doc/tutorial/tutorial2_solutions.html | 2 +- doc/tutorial/tutorial3.html | 2 +- doc/tutorial/tutorial3_solutions.html | 2 +- doc/tutorial/tutorial4.html | 2 +- doc/tutorial/tutorial4_solutions.html | 2 +- doc/tutorial/tutorial5.html | 2 +- doc/tutorial/tutorial6.html | 2 +- 186 files changed, 746 insertions(+), 731 deletions(-) diff --git a/.gitattributes b/.gitattributes index fb70f761..ae5da28b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,5 +1,8 @@ +# Ensure that EOL characters are properly converted for all files * text=auto +# Use MATLAB style diff *.m text diff=matlab +# Files/folders that should not be included when downloading repo as ZIP .gitattributes export-ignore .gitignore export-ignore -.github export-ignore \ No newline at end of file +.github export-ignore diff --git a/doc/INIT/getINITModel.html b/doc/INIT/getINITModel.html index a1444929..e0866420 100644 --- a/doc/INIT/getINITModel.html +++ b/doc/INIT/getINITModel.html @@ -609,6 +609,6 @@

SOURCE CODE ^'\tMean gene score: ' num2str(geneS) '\n']); 0458 fprintf(['\tReactions with positive scores: ' num2str(100*sum(a>0)/numel(a)) '%%\n\n']); 0459 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/INIT/index.html b/doc/INIT/index.html index 4a7c554b..c64ad6bf 100644 --- a/doc/INIT/index.html +++ b/doc/INIT/index.html @@ -24,6 +24,6 @@

Matlab files in this directory:

-
Generated on Wed 13-Jan-2021 21:53:19 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
\ No newline at end of file diff --git a/doc/INIT/runINIT.html b/doc/INIT/runINIT.html index 48dfe9b5..99a945f5 100644 --- a/doc/INIT/runINIT.html +++ b/doc/INIT/runINIT.html @@ -447,6 +447,6 @@

SOURCE CODE ^end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/FSEOF.html b/doc/core/FSEOF.html index 52aa289d..39f645ae 100644 --- a/doc/core/FSEOF.html +++ b/doc/core/FSEOF.html @@ -190,6 +190,6 @@

SOURCE CODE ^%Slope calculation 0133 end 0134 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/addExchangeRxns.html b/doc/core/addExchangeRxns.html index b2578c4f..857e5866 100644 --- a/doc/core/addExchangeRxns.html +++ b/doc/core/addExchangeRxns.html @@ -151,6 +151,6 @@

SOURCE CODE ^end 0089 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/addGenesRaven.html b/doc/core/addGenesRaven.html index 1c60ecc8..ddd26be3 100644 --- a/doc/core/addGenesRaven.html +++ b/doc/core/addGenesRaven.html @@ -187,6 +187,6 @@

SOURCE CODE ^end 0124 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/addMets.html b/doc/core/addMets.html index af304519..0badf1b8 100644 --- a/doc/core/addMets.html +++ b/doc/core/addMets.html @@ -412,6 +412,6 @@

SOURCE CODE ^end 0317 end 0318 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/addRxns.html b/doc/core/addRxns.html index 51d6c72c..de690e3f 100644 --- a/doc/core/addRxns.html +++ b/doc/core/addRxns.html @@ -799,6 +799,6 @@

SOURCE CODE ^end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/addRxnsGenesMets.html b/doc/core/addRxnsGenesMets.html index cde15c5a..1b41db9f 100644 --- a/doc/core/addRxnsGenesMets.html +++ b/doc/core/addRxnsGenesMets.html @@ -254,6 +254,6 @@

SOURCE CODE ^'\nNumber of reactions added to the model:\n') 0170 fprintf([num2str(numel(rxnIdx)),'\n']) 0171 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/addTransport.html b/doc/core/addTransport.html index e55cb447..0c7f24b3 100644 --- a/doc/core/addTransport.html +++ b/doc/core/addTransport.html @@ -244,6 +244,6 @@

SOURCE CODE ^end 0178 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/analyzeSampling.html b/doc/core/analyzeSampling.html index 8c0f7e83..40e55d52 100644 --- a/doc/core/analyzeSampling.html +++ b/doc/core/analyzeSampling.html @@ -183,6 +183,6 @@

SOURCE CODE ^end 0112 end 0113 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/buildEquation.html b/doc/core/buildEquation.html index 2c665dcb..4b4ccc65 100644 --- a/doc/core/buildEquation.html +++ b/doc/core/buildEquation.html @@ -122,6 +122,6 @@

SOURCE CODE ^end 0068 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/canConsume.html b/doc/core/canConsume.html index d6bd854b..df578702 100644 --- a/doc/core/canConsume.html +++ b/doc/core/canConsume.html @@ -76,6 +76,6 @@

SOURCE CODE ^addExchangeRxns(model,'in',mets); 0021 consumed=haveFlux(model,10^-5,rxns); 0022 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/canProduce.html b/doc/core/canProduce.html index 3a8ba068..775a9abc 100644 --- a/doc/core/canProduce.html +++ b/doc/core/canProduce.html @@ -78,6 +78,6 @@

SOURCE CODE ^addExchangeRxns(model,'out',mets); 0022 produced=haveFlux(model,10^-5,rxns); 0023 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/changeGeneAssoc.html b/doc/core/changeGeneAssoc.html index e0a309df..23a9fd5e 100644 --- a/doc/core/changeGeneAssoc.html +++ b/doc/core/changeGeneAssoc.html @@ -110,6 +110,6 @@

SOURCE CODE ^end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/changeGrRules.html b/doc/core/changeGrRules.html index 2f07893d..c56bdfcd 100644 --- a/doc/core/changeGrRules.html +++ b/doc/core/changeGrRules.html @@ -114,6 +114,6 @@

SOURCE CODE ^end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/changeRxns.html b/doc/core/changeRxns.html index 7e544e93..a1712992 100644 --- a/doc/core/changeRxns.html +++ b/doc/core/changeRxns.html @@ -245,6 +245,6 @@

SOURCE CODE ^addRxns(model,rxnsToChange,eqnType,compartment,allowNewMets); 0150 model=permuteModel(model,order,'rxns'); 0151 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/checkModelStruct.html b/doc/core/checkModelStruct.html index 5c819c7a..6e10df1e 100644 --- a/doc/core/checkModelStruct.html +++ b/doc/core/checkModelStruct.html @@ -415,6 +415,6 @@

SOURCE CODE ^end 0358 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/checkProduction.html b/doc/core/checkProduction.html index e86f4ab2..9637c166 100644 --- a/doc/core/checkProduction.html +++ b/doc/core/checkProduction.html @@ -235,6 +235,6 @@

SOURCE CODE ^end 0151 end 0152 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/checkRxn.html b/doc/core/checkRxn.html index 6abcc9f8..ee85bccc 100644 --- a/doc/core/checkRxn.html +++ b/doc/core/checkRxn.html @@ -154,6 +154,6 @@

SOURCE CODE ^end 0090 end 0091 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/checkTasks.html b/doc/core/checkTasks.html index d685473b..d9b78502 100644 --- a/doc/core/checkTasks.html +++ b/doc/core/checkTasks.html @@ -338,6 +338,6 @@

SOURCE CODE ^end 0254 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/compareModels.html b/doc/core/compareModels.html index d4943d9f..4b535ae2 100644 --- a/doc/core/compareModels.html +++ b/doc/core/compareModels.html @@ -242,6 +242,6 @@

SOURCE CODE ^end 0174 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/compareMultipleModels.html b/doc/core/compareMultipleModels.html index 15f0c779..2c3c725b 100644 --- a/doc/core/compareMultipleModels.html +++ b/doc/core/compareMultipleModels.html @@ -511,6 +511,6 @@

SOURCE CODE ^end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/constructEquations.html b/doc/core/constructEquations.html index be74558d..ab1aff26 100644 --- a/doc/core/constructEquations.html +++ b/doc/core/constructEquations.html @@ -162,6 +162,6 @@

SOURCE CODE ^end 0091 0092 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/constructS.html b/doc/core/constructS.html index 22d8f306..a08aafe6 100644 --- a/doc/core/constructS.html +++ b/doc/core/constructS.html @@ -216,6 +216,6 @@

SOURCE CODE ^end 0150 end 0151 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/consumeSomething.html b/doc/core/consumeSomething.html index 77dfd8c7..884fe6b6 100644 --- a/doc/core/consumeSomething.html +++ b/doc/core/consumeSomething.html @@ -256,6 +256,6 @@

SOURCE CODE ^end 0174 end 0175 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/contractModel.html b/doc/core/contractModel.html index da55357b..20eef951 100644 --- a/doc/core/contractModel.html +++ b/doc/core/contractModel.html @@ -184,6 +184,6 @@

SOURCE CODE ^end 0124 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/convertToIrrev.html b/doc/core/convertToIrrev.html index 5b115f68..41a70c75 100644 --- a/doc/core/convertToIrrev.html +++ b/doc/core/convertToIrrev.html @@ -147,6 +147,6 @@

SOURCE CODE ^end 0092 end 0093 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/copyToComps.html b/doc/core/copyToComps.html index e84090b7..5dcffc30 100644 --- a/doc/core/copyToComps.html +++ b/doc/core/copyToComps.html @@ -153,6 +153,6 @@

SOURCE CODE ^end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/deleteUnusedGenes.html b/doc/core/deleteUnusedGenes.html index 2cfa92e1..f0598306 100644 --- a/doc/core/deleteUnusedGenes.html +++ b/doc/core/deleteUnusedGenes.html @@ -88,6 +88,6 @@

SOURCE CODE ^end 0039 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/dispEM.html b/doc/core/dispEM.html index a5b5cb31..b286f7d1 100644 --- a/doc/core/dispEM.html +++ b/doc/core/dispEM.html @@ -104,6 +104,6 @@

SOURCE CODE ^'',errorText)); 0048 end 0049 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/expandModel.html b/doc/core/expandModel.html index 52087f8d..0c328deb 100644 --- a/doc/core/expandModel.html +++ b/doc/core/expandModel.html @@ -185,6 +185,6 @@

SOURCE CODE ^end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/fillGaps.html b/doc/core/fillGaps.html index 8e159a1b..a9b9a92d 100644 --- a/doc/core/fillGaps.html +++ b/doc/core/fillGaps.html @@ -322,6 +322,6 @@

SOURCE CODE ^'rxnScores'); 0218 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/findGeneDeletions.html b/doc/core/findGeneDeletions.html index c550ed59..c06e06f2 100644 --- a/doc/core/findGeneDeletions.html +++ b/doc/core/findGeneDeletions.html @@ -264,6 +264,6 @@

SOURCE CODE ^end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/fitParameters.html b/doc/core/fitParameters.html index d724360c..50e1cb3c 100644 --- a/doc/core/fitParameters.html +++ b/doc/core/fitParameters.html @@ -189,6 +189,6 @@

SOURCE CODE ^end 0112 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/fitTasks.html b/doc/core/fitTasks.html index 0d2fafa7..54e5cbc4 100644 --- a/doc/core/fitTasks.html +++ b/doc/core/fitTasks.html @@ -408,6 +408,6 @@

SOURCE CODE ^end 0329 outModel=model; 0330 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/followChanged.html b/doc/core/followChanged.html index 3ffdbaf1..f64077a2 100644 --- a/doc/core/followChanged.html +++ b/doc/core/followChanged.html @@ -163,6 +163,6 @@

SOURCE CODE ^end 0102 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/followFluxes.html b/doc/core/followFluxes.html index 7470e367..31f259a4 100644 --- a/doc/core/followFluxes.html +++ b/doc/core/followFluxes.html @@ -104,6 +104,6 @@

SOURCE CODE ^end 0049 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/gapReport.html b/doc/core/gapReport.html index c64681de..ebf19b59 100644 --- a/doc/core/gapReport.html +++ b/doc/core/gapReport.html @@ -188,6 +188,6 @@

SOURCE CODE ^' unconnected reactions can be connected by including ' num2str(numel(addedFromTemplates)) ' reactions from\n' t '\n']); 0107 end 0108 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/generateNewIds.html b/doc/core/generateNewIds.html index 58070581..8c5cb672 100644 --- a/doc/core/generateNewIds.html +++ b/doc/core/generateNewIds.html @@ -110,6 +110,6 @@

SOURCE CODE ^'%0' num2str(numLength) 'd'])]; 0052 end 0053 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/getAllRxnsFromGenes.html b/doc/core/getAllRxnsFromGenes.html index d13c5d6e..d35fe279 100644 --- a/doc/core/getAllRxnsFromGenes.html +++ b/doc/core/getAllRxnsFromGenes.html @@ -93,6 +93,6 @@

SOURCE CODE ^end 0036 end 0037 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/getAllSubGraphs.html b/doc/core/getAllSubGraphs.html index 665557f0..e5c2941d 100644 --- a/doc/core/getAllSubGraphs.html +++ b/doc/core/getAllSubGraphs.html @@ -115,6 +115,6 @@

SOURCE CODE ^%Also remove empty subgraphs (can happen when metabolites are never used) 0060 subGraphs(:,sum(subGraphs)==0)=[]; 0061 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/getAllowedBounds.html b/doc/core/getAllowedBounds.html index fa41bdba..0318a740 100644 --- a/doc/core/getAllowedBounds.html +++ b/doc/core/getAllowedBounds.html @@ -112,6 +112,6 @@

SOURCE CODE ^end 0054 end 0055 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/getElementalBalance.html b/doc/core/getElementalBalance.html index ca14fdef..1fa092a7 100644 --- a/doc/core/getElementalBalance.html +++ b/doc/core/getElementalBalance.html @@ -208,6 +208,6 @@

SOURCE CODE ^end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/getEssentialRxns.html b/doc/core/getEssentialRxns.html index 1a5b669c..0ead76d4 100644 --- a/doc/core/getEssentialRxns.html +++ b/doc/core/getEssentialRxns.html @@ -119,6 +119,6 @@

SOURCE CODE ^end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/getExchangeRxns.html b/doc/core/getExchangeRxns.html index cec30045..ae3ba505 100644 --- a/doc/core/getExchangeRxns.html +++ b/doc/core/getExchangeRxns.html @@ -102,6 +102,6 @@

SOURCE CODE ^end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/getExpressionStructure.html b/doc/core/getExpressionStructure.html index abbd9849..9a4f1d77 100644 --- a/doc/core/getExpressionStructure.html +++ b/doc/core/getExpressionStructure.html @@ -175,6 +175,6 @@

SOURCE CODE ^dispEM(EM); 0087 end 0088 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/getFluxZ.html b/doc/core/getFluxZ.html index 035e92af..0b719c90 100644 --- a/doc/core/getFluxZ.html +++ b/doc/core/getFluxZ.html @@ -115,6 +115,6 @@

SOURCE CODE ^end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/getIndexes.html b/doc/core/getIndexes.html index f382692a..85e1eab2 100644 --- a/doc/core/getIndexes.html +++ b/doc/core/getIndexes.html @@ -167,6 +167,6 @@

SOURCE CODE ^end 0106 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/getMetsInComp.html b/doc/core/getMetsInComp.html index bcc65a31..70bc73e0 100644 --- a/doc/core/getMetsInComp.html +++ b/doc/core/getMetsInComp.html @@ -77,6 +77,6 @@

SOURCE CODE ^end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/getMinNrFluxes.html b/doc/core/getMinNrFluxes.html index 6342eb5f..5e3f991f 100644 --- a/doc/core/getMinNrFluxes.html +++ b/doc/core/getMinNrFluxes.html @@ -238,6 +238,6 @@

SOURCE CODE ^'_REV','')); 0170 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/getModelFromHomology.html b/doc/core/getModelFromHomology.html index cfdf164e..2bc20cb3 100644 --- a/doc/core/getModelFromHomology.html +++ b/doc/core/getModelFromHomology.html @@ -623,6 +623,6 @@

SOURCE CODE ^%Standardize grRules and notify if problematic grRules are found 0517 [draftModel.grRules,draftModel.rxnGeneMat]=standardizeGrRules(draftModel,false); 0518 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/getObjectiveString.html b/doc/core/getObjectiveString.html index 808b10f9..925da578 100644 --- a/doc/core/getObjectiveString.html +++ b/doc/core/getObjectiveString.html @@ -109,6 +109,6 @@

SOURCE CODE ^end 0055 end 0056 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/getRxnsInComp.html b/doc/core/getRxnsInComp.html index 83d8b2ff..854c2730 100644 --- a/doc/core/getRxnsInComp.html +++ b/doc/core/getRxnsInComp.html @@ -97,6 +97,6 @@

SOURCE CODE ^end 0042 rxnNames=model.rxnNames(I); 0043 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/getTransportRxns.html b/doc/core/getTransportRxns.html index 7af0a9e0..89d6238e 100644 --- a/doc/core/getTransportRxns.html +++ b/doc/core/getTransportRxns.html @@ -75,6 +75,6 @@

SOURCE CODE ^end 0022 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/guessComposition.html b/doc/core/guessComposition.html index 22c0fa97..5022fd49 100644 --- a/doc/core/guessComposition.html +++ b/doc/core/guessComposition.html @@ -242,6 +242,6 @@

SOURCE CODE ^end 0165 end 0166 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/haveFlux.html b/doc/core/haveFlux.html index 0c3cf452..ec78e9ce 100644 --- a/doc/core/haveFlux.html +++ b/doc/core/haveFlux.html @@ -135,6 +135,6 @@

SOURCE CODE ^end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/index.html b/doc/core/index.html index 5e3644d0..2b1bfbca 100644 --- a/doc/core/index.html +++ b/doc/core/index.html @@ -24,6 +24,6 @@

Matlab files in this directory:

-
Generated on Wed 13-Jan-2021 21:53:19 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/makeSomething.html b/doc/core/makeSomething.html index 97a52117..7d87418c 100644 --- a/doc/core/makeSomething.html +++ b/doc/core/makeSomething.html @@ -268,6 +268,6 @@

SOURCE CODE ^end 0184 end 0185 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/mapCompartments.html b/doc/core/mapCompartments.html index c61f64e6..5a532896 100644 --- a/doc/core/mapCompartments.html +++ b/doc/core/mapCompartments.html @@ -209,6 +209,6 @@

SOURCE CODE ^end 0160 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/mergeCompartments.html b/doc/core/mergeCompartments.html index 216c48ee..65b3da08 100644 --- a/doc/core/mergeCompartments.html +++ b/doc/core/mergeCompartments.html @@ -204,6 +204,6 @@

SOURCE CODE ^%And then finally merge the identical reactions 0130 [model, ~, duplicateRxns]=contractModel(model,distReverse); 0131 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/mergeModels.html b/doc/core/mergeModels.html index 2eb22e90..a51a29ed 100644 --- a/doc/core/mergeModels.html +++ b/doc/core/mergeModels.html @@ -606,6 +606,6 @@

SOURCE CODE ^end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/parseFormulas.html b/doc/core/parseFormulas.html index 7d09f041..94a2c38b 100644 --- a/doc/core/parseFormulas.html +++ b/doc/core/parseFormulas.html @@ -313,6 +313,6 @@

SOURCE CODE ^end 0242 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/parseRxnEqu.html b/doc/core/parseRxnEqu.html index 0156173e..c7f66298 100644 --- a/doc/core/parseRxnEqu.html +++ b/doc/core/parseRxnEqu.html @@ -130,6 +130,6 @@

SOURCE CODE ^end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/parseTaskList.html b/doc/core/parseTaskList.html index aeaeaf31..be77878f 100644 --- a/doc/core/parseTaskList.html +++ b/doc/core/parseTaskList.html @@ -434,6 +434,6 @@

SOURCE CODE ^%Should add more checks, such as unique IDs and missing headers 0283 0284 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/permuteModel.html b/doc/core/permuteModel.html index 5dbfc294..4b99d47f 100644 --- a/doc/core/permuteModel.html +++ b/doc/core/permuteModel.html @@ -164,6 +164,6 @@

SOURCE CODE ^end 0111 end 0112 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/predictLocalization.html b/doc/core/predictLocalization.html index 4c1bd757..4edf8cd2 100644 --- a/doc/core/predictLocalization.html +++ b/doc/core/predictLocalization.html @@ -1091,6 +1091,6 @@

SOURCE CODE ^end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/printFluxes.html b/doc/core/printFluxes.html index 7637287d..eaed2f79 100644 --- a/doc/core/printFluxes.html +++ b/doc/core/printFluxes.html @@ -257,6 +257,6 @@

SOURCE CODE ^end 0182 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/printModel.html b/doc/core/printModel.html index 2651e15e..a5ee39c6 100644 --- a/doc/core/printModel.html +++ b/doc/core/printModel.html @@ -140,6 +140,6 @@

SOURCE CODE ^printFluxes(model, I, false, 0.1, outputFile,outputString); 0063 end 0064 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/printModelStats.html b/doc/core/printModelStats.html index 410b6617..1b759dd7 100644 --- a/doc/core/printModelStats.html +++ b/doc/core/printModelStats.html @@ -216,6 +216,6 @@

SOURCE CODE ^end 0162 end 0163 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/randomSampling.html b/doc/core/randomSampling.html index 5506d368..d90ea975 100644 --- a/doc/core/randomSampling.html +++ b/doc/core/randomSampling.html @@ -269,6 +269,6 @@

SOURCE CODE ^end 0180 I=I(:); 0181 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/removeBadRxns.html b/doc/core/removeBadRxns.html index 646dac08..c160b899 100644 --- a/doc/core/removeBadRxns.html +++ b/doc/core/removeBadRxns.html @@ -348,6 +348,6 @@

SOURCE CODE ^end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/removeGenes.html b/doc/core/removeGenes.html index 276a5fd1..6e1cd122 100644 --- a/doc/core/removeGenes.html +++ b/doc/core/removeGenes.html @@ -189,6 +189,6 @@

SOURCE CODE ^' or '); 0129 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/removeMets.html b/doc/core/removeMets.html index cc4bf02b..477e84d0 100644 --- a/doc/core/removeMets.html +++ b/doc/core/removeMets.html @@ -192,6 +192,6 @@

SOURCE CODE ^end 0127 end 0128 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/removeReactions.html b/doc/core/removeReactions.html index b5405d38..44a5d471 100644 --- a/doc/core/removeReactions.html +++ b/doc/core/removeReactions.html @@ -203,6 +203,6 @@

SOURCE CODE ^end 0144 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/replaceMets.html b/doc/core/replaceMets.html index 7b54639c..cf064275 100644 --- a/doc/core/replaceMets.html +++ b/doc/core/replaceMets.html @@ -163,6 +163,6 @@

SOURCE CODE ^% This could now have created duplicate reactions. Contract model. 0104 model=contractModel(model); 0105 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/reporterMetabolites.html b/doc/core/reporterMetabolites.html index 0cc96579..ff4c6bbb 100644 --- a/doc/core/reporterMetabolites.html +++ b/doc/core/reporterMetabolites.html @@ -268,6 +268,6 @@

SOURCE CODE ^end 0188 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/setExchangeBounds.html b/doc/core/setExchangeBounds.html index af2d413c..56660864 100644 --- a/doc/core/setExchangeBounds.html +++ b/doc/core/setExchangeBounds.html @@ -304,6 +304,6 @@

SOURCE CODE ^ -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/setParam.html b/doc/core/setParam.html index af5fc5fe..1f9acefe 100644 --- a/doc/core/setParam.html +++ b/doc/core/setParam.html @@ -161,6 +161,6 @@

SOURCE CODE ^end 0096 end 0097 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/simplifyModel.html b/doc/core/simplifyModel.html index 91dfce72..0c0e5e50 100644 --- a/doc/core/simplifyModel.html +++ b/doc/core/simplifyModel.html @@ -393,6 +393,6 @@

SOURCE CODE ^end 0317 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/sortModel.html b/doc/core/sortModel.html index efd0889a..43bb68ce 100644 --- a/doc/core/sortModel.html +++ b/doc/core/sortModel.html @@ -241,6 +241,6 @@

SOURCE CODE ^end 0180 end 0181 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/core/standardizeGrRules.html b/doc/core/standardizeGrRules.html index 962ee0b6..301630ec 100644 --- a/doc/core/standardizeGrRules.html +++ b/doc/core/standardizeGrRules.html @@ -232,6 +232,6 @@

SOURCE CODE ^' AND ',' and '); 0167 grRules=strrep(grRules,' OR ',' or '); 0168 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/external/combineMetaCycKEGGModels.html b/doc/external/combineMetaCycKEGGModels.html index 214d87fe..e88bf23a 100644 --- a/doc/external/combineMetaCycKEGGModels.html +++ b/doc/external/combineMetaCycKEGGModels.html @@ -375,6 +375,6 @@

SOURCE CODE ^end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/external/getBlast.html b/doc/external/getBlast.html index da175ce4..3dcd4841 100644 --- a/doc/external/getBlast.html +++ b/doc/external/getBlast.html @@ -206,6 +206,6 @@

SOURCE CODE ^%Remove the old tempfiles 0137 delete([outFile '*']); 0138 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/external/getBlastFromExcel.html b/doc/external/getBlastFromExcel.html index a4048e0f..76367eb4 100644 --- a/doc/external/getBlastFromExcel.html +++ b/doc/external/getBlastFromExcel.html @@ -179,6 +179,6 @@

SOURCE CODE ^end 0112 0113 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/external/getDiamond.html b/doc/external/getDiamond.html index 3ce84654..5204e6a2 100644 --- a/doc/external/getDiamond.html +++ b/doc/external/getDiamond.html @@ -208,6 +208,6 @@

SOURCE CODE ^%Remove the old tempfiles 0138 delete([outFile '*']); 0139 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/external/getWoLFScores.html b/doc/external/getWoLFScores.html index 3640c80d..1f76b717 100644 --- a/doc/external/getWoLFScores.html +++ b/doc/external/getWoLFScores.html @@ -109,6 +109,6 @@

SOURCE CODE ^%Clean up 0051 delete(outFile); 0052 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/external/index.html b/doc/external/index.html index 704f81d3..a84b90fa 100644 --- a/doc/external/index.html +++ b/doc/external/index.html @@ -26,6 +26,6 @@

Subsequent directories:

-
Generated on Wed 13-Jan-2021 21:53:19 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
\ No newline at end of file diff --git a/doc/external/kegg/constructMultiFasta.html b/doc/external/kegg/constructMultiFasta.html index 961d18f9..4b924e6f 100644 --- a/doc/external/kegg/constructMultiFasta.html +++ b/doc/external/kegg/constructMultiFasta.html @@ -229,6 +229,6 @@

SOURCE CODE ^'.out',''); 0171 files=strrep(files,'.faw',''); 0172 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/external/kegg/getGenesFromKEGG.html b/doc/external/kegg/getGenesFromKEGG.html index 72dc8269..2bc24f21 100644 --- a/doc/external/kegg/getGenesFromKEGG.html +++ b/doc/external/kegg/getGenesFromKEGG.html @@ -443,6 +443,6 @@

SOURCE CODE ^end 0337 allKOs=unique(allKOs); 0338 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/external/kegg/getKEGGModelForOrganism.html b/doc/external/kegg/getKEGGModelForOrganism.html index d300d283..eee81511 100644 --- a/doc/external/kegg/getKEGGModelForOrganism.html +++ b/doc/external/kegg/getKEGGModelForOrganism.html @@ -1424,6 +1424,6 @@

SOURCE CODE ^'.out',''); 1118 files=strrep(files,'.faw',''); 1119 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/external/kegg/getMetsFromKEGG.html b/doc/external/kegg/getMetsFromKEGG.html index 0d328c32..6263d804 100644 --- a/doc/external/kegg/getMetsFromKEGG.html +++ b/doc/external/kegg/getMetsFromKEGG.html @@ -385,6 +385,6 @@

SOURCE CODE ^end 0282 fprintf('COMPLETE\n'); 0283 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/external/kegg/getModelFromKEGG.html b/doc/external/kegg/getModelFromKEGG.html index b434e4d6..fb3a6be9 100644 --- a/doc/external/kegg/getModelFromKEGG.html +++ b/doc/external/kegg/getModelFromKEGG.html @@ -364,6 +364,6 @@

SOURCE CODE ^end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/external/kegg/getPhylDist.html b/doc/external/kegg/getPhylDist.html index 412f0e28..528b87d9 100644 --- a/doc/external/kegg/getPhylDist.html +++ b/doc/external/kegg/getPhylDist.html @@ -199,6 +199,6 @@

SOURCE CODE ^end 0137 end 0138 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/external/kegg/getRxnsFromKEGG.html b/doc/external/kegg/getRxnsFromKEGG.html index c5525a89..c7311279 100644 --- a/doc/external/kegg/getRxnsFromKEGG.html +++ b/doc/external/kegg/getRxnsFromKEGG.html @@ -606,6 +606,6 @@

SOURCE CODE ^'COMPLETE\n'); 0498 0499 end -
Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
+
Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
\ No newline at end of file diff --git a/doc/external/kegg/index.html b/doc/external/kegg/index.html index 04a7c2dd..c795d8dc 100644 --- a/doc/external/kegg/index.html +++ b/doc/external/kegg/index.html @@ -23,9 +23,9 @@

Matlab files in this directory:

Other Matlab-specific files in this directory:

+
  • keggGenes.mat
  • keggMets.mat
  • keggModel.mat
  • keggPhylDist.mat
  • keggRxns.mat
  • -
    Generated on Wed 13-Jan-2021 21:53:19 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/makeFakeBlastStructure.html b/doc/external/makeFakeBlastStructure.html index 0e479dfa..a0240c21 100644 --- a/doc/external/makeFakeBlastStructure.html +++ b/doc/external/makeFakeBlastStructure.html @@ -122,6 +122,6 @@

    SOURCE CODE ^end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/metacyc/addSpontaneousRxns.html b/doc/external/metacyc/addSpontaneousRxns.html index 5be8d367..9f80669b 100644 --- a/doc/external/metacyc/addSpontaneousRxns.html +++ b/doc/external/metacyc/addSpontaneousRxns.html @@ -157,6 +157,6 @@

    SOURCE CODE ^end 0099 0100 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/metacyc/getEnzymesFromMetaCyc.html b/doc/external/metacyc/getEnzymesFromMetaCyc.html index 352bf703..8ec94807 100644 --- a/doc/external/metacyc/getEnzymesFromMetaCyc.html +++ b/doc/external/metacyc/getEnzymesFromMetaCyc.html @@ -356,6 +356,6 @@

    SOURCE CODE ^end 0283 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/metacyc/getMetaCycModelForOrganism.html b/doc/external/metacyc/getMetaCycModelForOrganism.html index fa257cc4..3c0b8a14 100644 --- a/doc/external/metacyc/getMetaCycModelForOrganism.html +++ b/doc/external/metacyc/getMetaCycModelForOrganism.html @@ -320,6 +320,6 @@

    SOURCE CODE ^end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/metacyc/getMetsFromMetaCyc.html b/doc/external/metacyc/getMetsFromMetaCyc.html index 4deeb8b9..23c44cae 100644 --- a/doc/external/metacyc/getMetsFromMetaCyc.html +++ b/doc/external/metacyc/getMetsFromMetaCyc.html @@ -352,6 +352,6 @@

    SOURCE CODE ^end 0279 end 0280 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/metacyc/getModelFromMetaCyc.html b/doc/external/metacyc/getModelFromMetaCyc.html index cdd31e49..b341e144 100644 --- a/doc/external/metacyc/getModelFromMetaCyc.html +++ b/doc/external/metacyc/getModelFromMetaCyc.html @@ -253,6 +253,6 @@

    SOURCE CODE ^end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/metacyc/getRxnsFromMetaCyc.html b/doc/external/metacyc/getRxnsFromMetaCyc.html index 0720e9aa..20c7bbb3 100644 --- a/doc/external/metacyc/getRxnsFromMetaCyc.html +++ b/doc/external/metacyc/getRxnsFromMetaCyc.html @@ -621,6 +621,6 @@

    SOURCE CODE ^'[&;]',''); 0530 newString=string; 0531 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/metacyc/index.html b/doc/external/metacyc/index.html index 2509b653..2df90fde 100644 --- a/doc/external/metacyc/index.html +++ b/doc/external/metacyc/index.html @@ -26,6 +26,6 @@

    Other Matlab-specific files in this directory:

  • metaCycEnzymes.mat
  • metaCycMets.mat
  • metaCycRxns.mat
  • -
    Generated on Wed 13-Jan-2021 21:53:19 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/metacyc/linkMetaCycKEGGRxns.html b/doc/external/metacyc/linkMetaCycKEGGRxns.html index c8e0951e..aa86a72c 100644 --- a/doc/external/metacyc/linkMetaCycKEGGRxns.html +++ b/doc/external/metacyc/linkMetaCycKEGGRxns.html @@ -155,6 +155,6 @@

    SOURCE CODE ^'Reaction associations between MetaCyc and KEGG have been successfully updated!\n\n']); 0106 0107 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/parseScores.html b/doc/external/parseScores.html index faa90efd..13897829 100644 --- a/doc/external/parseScores.html +++ b/doc/external/parseScores.html @@ -182,6 +182,6 @@

    SOURCE CODE ^end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/updateDocumentation.html b/doc/external/updateDocumentation.html index 7905e47d..06b19c05 100644 --- a/doc/external/updateDocumentation.html +++ b/doc/external/updateDocumentation.html @@ -79,6 +79,6 @@

    SOURCE CODE ^end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/hpa/index.html b/doc/hpa/index.html index dfea064f..c8beedb5 100644 --- a/doc/hpa/index.html +++ b/doc/hpa/index.html @@ -24,6 +24,6 @@

    Matlab files in this directory:

    -
    Generated on Wed 13-Jan-2021 21:53:19 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
    \ No newline at end of file diff --git a/doc/hpa/parseHPA.html b/doc/hpa/parseHPA.html index b8b36225..b7e556d3 100644 --- a/doc/hpa/parseHPA.html +++ b/doc/hpa/parseHPA.html @@ -182,6 +182,6 @@

    SOURCE CODE ^end 0105 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/hpa/parseHPArna.html b/doc/hpa/parseHPArna.html index 38295ae3..a59f9ab7 100644 --- a/doc/hpa/parseHPArna.html +++ b/doc/hpa/parseHPArna.html @@ -130,6 +130,6 @@

    SOURCE CODE ^ -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/hpa/scoreModel.html b/doc/hpa/scoreModel.html index 9e0f6071..9fc80a4a 100644 --- a/doc/hpa/scoreModel.html +++ b/doc/hpa/scoreModel.html @@ -417,6 +417,6 @@

    SOURCE CODE ^end 0318 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/index.html b/doc/index.html index ce1e7535..c55d7829 100644 --- a/doc/index.html +++ b/doc/index.html @@ -64,6 +64,6 @@

    Matlab Files found in these Directories

    copyToComps getMinNrFluxes qMOMA -
    Generated on Wed 13-Jan-2021 21:53:19 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:50 by m2html © 2005
    \ No newline at end of file diff --git a/doc/installation/addRavenToUserPath.html b/doc/installation/addRavenToUserPath.html index 924dfe85..f4912a22 100644 --- a/doc/installation/addRavenToUserPath.html +++ b/doc/installation/addRavenToUserPath.html @@ -94,6 +94,6 @@

    SOURCE CODE ^'t%s',strcat('''',subpath{length(subpath)},''');')); 0042 fclose(fid); 0043 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/installation/checkFunctionUniqueness.html b/doc/installation/checkFunctionUniqueness.html index 6c400281..6fa9b6e7 100644 --- a/doc/installation/checkFunctionUniqueness.html +++ b/doc/installation/checkFunctionUniqueness.html @@ -107,6 +107,6 @@

    SOURCE CODE ^end 0060 0061 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/installation/checkInstallation.html b/doc/installation/checkInstallation.html index ab4faec2..ed7caf95 100644 --- a/doc/installation/checkInstallation.html +++ b/doc/installation/checkInstallation.html @@ -243,6 +243,6 @@

    SOURCE CODE ^'\n*** checkInstallation complete ***\n\n'); 0195 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/installation/index.html b/doc/installation/index.html index c8d1dd7e..80d2fe2b 100644 --- a/doc/installation/index.html +++ b/doc/installation/index.html @@ -24,6 +24,6 @@

    Matlab files in this directory:

    -
    Generated on Wed 13-Jan-2021 21:53:19 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/SBMLFromExcel.html b/doc/io/SBMLFromExcel.html index 5dce55ac..d9749d59 100644 --- a/doc/io/SBMLFromExcel.html +++ b/doc/io/SBMLFromExcel.html @@ -88,6 +88,6 @@

    SOURCE CODE ^exportModel(model,outputFileName,toCOBRA,true); 0030 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/addJavaPaths.html b/doc/io/addJavaPaths.html index fa43d8ff..437512fb 100644 --- a/doc/io/addJavaPaths.html +++ b/doc/io/addJavaPaths.html @@ -72,6 +72,6 @@

    SOURCE CODE ^end 0026 end 0027 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/checkFileExistence.html b/doc/io/checkFileExistence.html index ddb42331..f479ee8f 100644 --- a/doc/io/checkFileExistence.html +++ b/doc/io/checkFileExistence.html @@ -105,6 +105,6 @@

    SOURCE CODE ^if oneFile == true 0048 files = files{1}; 0049 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/cleanSheet.html b/doc/io/cleanSheet.html index eed46ef7..a4f4ede5 100644 --- a/doc/io/cleanSheet.html +++ b/doc/io/cleanSheet.html @@ -165,6 +165,6 @@

    SOURCE CODE ^end 0103 end 0104 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/closeModel.html b/doc/io/closeModel.html index 4247a820..7d36d140 100644 --- a/doc/io/closeModel.html +++ b/doc/io/closeModel.html @@ -101,6 +101,6 @@

    SOURCE CODE ^end; 0050 0051 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/exportForGit.html b/doc/io/exportForGit.html index ee30afa1..ace8670e 100644 --- a/doc/io/exportForGit.html +++ b/doc/io/exportForGit.html @@ -198,6 +198,6 @@

    SOURCE CODE ^end 0132 fclose(fid); 0133 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/exportModel.html b/doc/io/exportModel.html index 57379856..1b78942b 100644 --- a/doc/io/exportModel.html +++ b/doc/io/exportModel.html @@ -246,7 +246,7 @@

    SOURCE CODE ^if isfield(model,'annotation') 0189 if isfield(model.annotation,'taxonomy') -0190 modelSBML.annotation=[modelSBML.annotation '<bqbiol:is><rdf:Bag><rdf:li rdf:resource="http://identifiers.org/taxonomy/' regexprep(model.annotation.taxonomy,'taxonomy/','') '"/></rdf:Bag></bqbiol:is>']; +0190 modelSBML.annotation=[modelSBML.annotation '<bqbiol:is><rdf:Bag><rdf:li rdf:resource="https://identifiers.org/taxonomy/' regexprep(model.annotation.taxonomy,'taxonomy/','') '"/></rdf:Bag></bqbiol:is>']; 0191 end 0192 end 0193 modelSBML.annotation=[modelSBML.annotation '</rdf:Description></rdf:RDF></annotation>']; @@ -394,7 +394,7 @@

    SOURCE CODE ^getMiriam(model.metMiriams{i})]; 0336 end 0337 if hasInchi==true -0338 modelSBML.species(i).annotation=[modelSBML.species(i).annotation '<rdf:li rdf:resource="http://identifiers.org/inchi/InChI=' model.inchis{i} '"/>']; +0338 modelSBML.species(i).annotation=[modelSBML.species(i).annotation '<rdf:li rdf:resource="https://identifiers.org/inchi/InChI=' model.inchis{i} '"/>']; 0339 end 0340 modelSBML.species(i).annotation=[modelSBML.species(i).annotation '</rdf:Bag></bqbiol:is></rdf:Description></rdf:RDF></annotation>']; 0341 end @@ -570,7 +570,7 @@

    SOURCE CODE ^if ~isempty(model.eccodes{i}) 0512 eccodes=regexp(model.eccodes{i},';','split'); 0513 for j=1:numel(eccodes) -0514 modelSBML.reaction(i).annotation=[modelSBML.reaction(i).annotation '<rdf:li rdf:resource="http://identifiers.org/ec-code/' regexprep(eccodes{j},'ec-code/|EC','') '"/>']; +0514 modelSBML.reaction(i).annotation=[modelSBML.reaction(i).annotation '<rdf:li rdf:resource="https://identifiers.org/ec-code/' regexprep(eccodes{j},'ec-code/|EC','') '"/>']; 0515 end 0516 end 0517 modelSBML.reaction(i).annotation=[modelSBML.reaction(i).annotation getMiriam(model.rxnMiriams{i}) '</rdf:Bag></bqbiol:is></rdf:Description></rdf:RDF></annotation>']; @@ -799,14 +799,14 @@

    SOURCE CODE ^function miriamString=getMiriam(miriamStruct) 0742 %Returns a string with list elements for a miriam structure ('<rdf:li -0743 %rdf:resource="http://identifiers.org/go/GO:0005739"/>' for example). This +0743 %rdf:resource="https://identifiers.org/go/GO:0005739"/>' for example). This 0744 %is just to speed up things since this is done many times during the 0745 %exporting 0746 0747 miriamString=''; 0748 if isfield(miriamStruct,'name') 0749 for i=1:numel(miriamStruct.name) -0750 miriamString=[miriamString '<rdf:li rdf:resource="http://identifiers.org/' miriamStruct.name{i} '/' miriamStruct.value{i} '"/>']; +0750 miriamString=[miriamString '<rdf:li rdf:resource="https://identifiers.org/' miriamStruct.name{i} '/' miriamStruct.value{i} '"/>']; 0751 end 0752 end 0753 end @@ -857,6 +857,6 @@

    SOURCE CODE ^end 0800 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/exportModelToSIF.html b/doc/io/exportModelToSIF.html index 01155249..089fb20f 100644 --- a/doc/io/exportModelToSIF.html +++ b/doc/io/exportModelToSIF.html @@ -143,6 +143,6 @@

    SOURCE CODE ^end 0086 fclose(fid); 0087 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/exportToExcelFormat.html b/doc/io/exportToExcelFormat.html index b79118dd..1cc24641 100644 --- a/doc/io/exportToExcelFormat.html +++ b/doc/io/exportToExcelFormat.html @@ -431,6 +431,6 @@

    SOURCE CODE ^end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/exportToTabDelimited.html b/doc/io/exportToTabDelimited.html index cf20bf75..949c0db6 100644 --- a/doc/io/exportToTabDelimited.html +++ b/doc/io/exportToTabDelimited.html @@ -389,6 +389,6 @@

    SOURCE CODE ^end 0332 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/getFullPath.html b/doc/io/getFullPath.html index b511463c..1293852f 100644 --- a/doc/io/getFullPath.html +++ b/doc/io/getFullPath.html @@ -434,6 +434,6 @@

    SOURCE CODE ^% return; 0332 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/getToolboxVersion.html b/doc/io/getToolboxVersion.html index c9d0fbf5..d1ac260b 100644 --- a/doc/io/getToolboxVersion.html +++ b/doc/io/getToolboxVersion.html @@ -137,6 +137,6 @@

    SOURCE CODE ^'/'); %MAC/Linux 0079 end 0080 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/importExcelModel.html b/doc/io/importExcelModel.html index b953e43c..2482096a 100644 --- a/doc/io/importExcelModel.html +++ b/doc/io/importExcelModel.html @@ -1044,6 +1044,6 @@

    SOURCE CODE ^end 0925 y=NaN; %This means that the input couldn't be parsed 0926 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/importModel.html b/doc/io/importModel.html index 2915f6a2..ea2a3913 100644 --- a/doc/io/importModel.html +++ b/doc/io/importModel.html @@ -781,549 +781,559 @@

    SOURCE CODE ^parseAnnotation(modelSBML.reaction(i).annotation,'urn:miriam:',':','ec-code'); 0664 elseif strfind(modelSBML.reaction(i).annotation,'http://identifiers.org/ec-code') 0665 eccode=parseAnnotation(modelSBML.reaction(i).annotation,'http://identifiers.org/','/','ec-code'); -0666 end -0667 elseif isfield(modelSBML.reaction(i),'notes') -0668 if strfind(modelSBML.reaction(i).notes,'EC Number') -0669 eccode=[eccode parseNote(modelSBML.reaction(i).notes,'EC Number')]; -0670 elseif strfind(modelSBML.reaction(i).notes,'PROTEIN_CLASS') -0671 eccode=[eccode parseNote(modelSBML.reaction(i).notes,'PROTEIN_CLASS')]; -0672 end -0673 end -0674 eccodes{counter}=eccode; -0675 -0676 %Add all reactants -0677 for j=1:numel(modelSBML.reaction(i).reactant) -0678 %Get the index of the metabolite in metaboliteIDs. External -0679 %metabolites will be removed at a later stage -0680 metIndex=find(strcmp(modelSBML.reaction(i).reactant(j).species,metaboliteIDs),1); -0681 if isempty(metIndex) -0682 EM=['Could not find metabolite ' modelSBML.reaction(i).reactant(j).species ' in reaction ' reactionIDs{counter}]; -0683 dispEM(EM); -0684 end -0685 S(metIndex,counter)=S(metIndex,counter)+modelSBML.reaction(i).reactant(j).stoichiometry*-1; -0686 end -0687 -0688 %Add all products -0689 for j=1:numel(modelSBML.reaction(i).product) -0690 %Get the index of the metabolite in metaboliteIDs. -0691 metIndex=find(strcmp(modelSBML.reaction(i).product(j).species,metaboliteIDs),1); -0692 if isempty(metIndex) -0693 EM=['Could not find metabolite ' modelSBML.reaction(i).reactant(j).species ' in reaction ' reactionIDs{counter}]; -0694 dispEM(EM); -0695 end -0696 S(metIndex,counter)=S(metIndex,counter)+modelSBML.reaction(i).product(j).stoichiometry; -0697 end -0698 end -0699 -0700 %if FBC, objective function is separately defined. Multiple objective -0701 %functions can be defined, one is set as active -0702 if isfield(modelSBML, 'fbc_activeObjective') -0703 obj=modelSBML.fbc_activeObjective; -0704 for i=1:numel(modelSBML.fbc_objective) -0705 if strcmp(obj,modelSBML.fbc_objective(i).fbc_id) -0706 rxn=modelSBML.fbc_objective(i).fbc_fluxObjective.fbc_reaction; -0707 rxn=regexprep(rxn,'^R_',''); -0708 idx=find(ismember(reactionIDs,rxn)); -0709 reactionObjective(idx)=modelSBML.fbc_objective(i).fbc_fluxObjective.fbc_coefficient; -0710 end -0711 end -0712 end -0713 -0714 %subSystems can be stored as groups instead of in annotations -0715 if isfield(modelSBML,'groups_group') -0716 for i=1:numel(modelSBML.groups_group) -0717 groupreactions={modelSBML.groups_group(i).groups_member(:).groups_idRef}; -0718 groupreactions=regexprep(groupreactions,'^R_',''); -0719 [~, idx] = ismember(groupreactions, reactionIDs); -0720 if any(idx) -0721 for j=1:numel(idx) -0722 if isempty(subsystems{idx(j)}) % First subsystem -0723 subsystems{idx(j)} = {modelSBML.groups_group(i).groups_name}; -0724 else % Consecutive subsystems: concatenate -0725 subsystems{idx(j)} = horzcat(subsystems{idx(j)}, modelSBML.groups_group(i).groups_name); -0726 end -0727 end -0728 end -0729 end -0730 end -0731 -0732 %Shrink the structures if complex-forming reactions had to be skipped -0733 reactionNames=reactionNames(1:counter); -0734 reactionIDs=reactionIDs(1:counter); -0735 subsystems=subsystems(1:counter); -0736 eccodes=eccodes(1:counter); -0737 rxnconfidencescores=rxnconfidencescores(1:counter); -0738 rxnreferences=rxnreferences(1:counter); -0739 rxnnotes=rxnnotes(1:counter); -0740 grRules=grRules(1:counter); -0741 rxnMiriams=rxnMiriams(1:counter); -0742 reactionReversibility=reactionReversibility(1:counter); -0743 reactionUB=reactionUB(1:counter); -0744 reactionLB=reactionLB(1:counter); -0745 reactionObjective=reactionObjective(1:counter); -0746 S=S(:,1:counter); -0747 -0748 model.description=modelSBML.name; -0749 model.id=regexprep(modelSBML.id,'^M_',''); % COBRA adds M_ prefix -0750 model.rxns=reactionIDs; -0751 model.mets=metaboliteIDs; -0752 model.S=sparse(S); -0753 model.lb=reactionLB; -0754 model.ub=reactionUB; -0755 model.rev=reactionReversibility; -0756 model.c=reactionObjective; -0757 model.b=zeros(numel(metaboliteIDs),1); -0758 model.comps=compartmentIDs; -0759 model.compNames=compartmentNames; -0760 model.rxnConfidenceScores=rxnconfidencescores; -0761 model.rxnReferences=rxnreferences; -0762 model.rxnNotes=rxnnotes; -0763 -0764 %Load annotation if available. If there are several authors, only the first -0765 %author credentials are imported -0766 if isfield(modelSBML,'annotation') -0767 endString='</'; -0768 I=strfind(modelSBML.annotation,endString); -0769 J=strfind(modelSBML.annotation,'<vCard:Family>'); -0770 if any(J) -0771 model.annotation.familyName=modelSBML.annotation(J(1)+14:I(find(I>J(1),1))-1); -0772 end -0773 J=strfind(modelSBML.annotation,'<vCard:Given>'); -0774 if any(J) -0775 model.annotation.givenName=modelSBML.annotation(J(1)+13:I(find(I>J(1),1))-1); -0776 end -0777 J=strfind(modelSBML.annotation,'<vCard:EMAIL>'); -0778 if any(J) -0779 model.annotation.email=modelSBML.annotation(J(1)+13:I(find(I>J(1),1))-1); -0780 end -0781 J=strfind(modelSBML.annotation,'<vCard:Orgname>'); -0782 if any(J) -0783 model.annotation.organization=modelSBML.annotation(J(1)+15:I(find(I>J(1),1))-1); -0784 end -0785 endString='"/>'; -0786 I=strfind(modelSBML.annotation,endString); -0787 if strfind(modelSBML.annotation,'"urn:miriam:') -0788 J=strfind(modelSBML.annotation,'"urn:miriam:'); -0789 if any(J) -0790 model.annotation.taxonomy=modelSBML.annotation(J+12:I(find(I>J,1))-1); -0791 end -0792 else -0793 J=strfind(modelSBML.annotation,'"http://identifiers.org/'); -0794 if any(J) -0795 model.annotation.taxonomy=modelSBML.annotation(J+24:I(find(I>J,1))-1); -0796 end -0797 end -0798 end -0799 if isfield(modelSBML,'notes') -0800 startString=strfind(modelSBML.notes,'xhtml">'); -0801 endString=strfind(modelSBML.notes,'</body>'); -0802 if any(startString) && any(endString) -0803 model.annotation.note=modelSBML.notes(startString+7:endString-1); -0804 model.annotation.note=regexprep(model.annotation.note,'<p>|</p>',''); -0805 model.annotation.note=strtrim(model.annotation.note); -0806 end -0807 end -0808 -0809 if any(~cellfun(@isempty,compartmentOutside)) -0810 model.compOutside=compartmentOutside; -0811 end -0812 -0813 model.rxnNames=reactionNames; -0814 model.metNames=metaboliteNames; +0666 elseif strfind(modelSBML.reaction(i).annotation,'https://identifiers.org/ec-code') +0667 eccode=parseAnnotation(modelSBML.reaction(i).annotation,'https://identifiers.org/','/','ec-code'); +0668 end +0669 elseif isfield(modelSBML.reaction(i),'notes') +0670 if strfind(modelSBML.reaction(i).notes,'EC Number') +0671 eccode=[eccode parseNote(modelSBML.reaction(i).notes,'EC Number')]; +0672 elseif strfind(modelSBML.reaction(i).notes,'PROTEIN_CLASS') +0673 eccode=[eccode parseNote(modelSBML.reaction(i).notes,'PROTEIN_CLASS')]; +0674 end +0675 end +0676 eccodes{counter}=eccode; +0677 +0678 %Add all reactants +0679 for j=1:numel(modelSBML.reaction(i).reactant) +0680 %Get the index of the metabolite in metaboliteIDs. External +0681 %metabolites will be removed at a later stage +0682 metIndex=find(strcmp(modelSBML.reaction(i).reactant(j).species,metaboliteIDs),1); +0683 if isempty(metIndex) +0684 EM=['Could not find metabolite ' modelSBML.reaction(i).reactant(j).species ' in reaction ' reactionIDs{counter}]; +0685 dispEM(EM); +0686 end +0687 S(metIndex,counter)=S(metIndex,counter)+modelSBML.reaction(i).reactant(j).stoichiometry*-1; +0688 end +0689 +0690 %Add all products +0691 for j=1:numel(modelSBML.reaction(i).product) +0692 %Get the index of the metabolite in metaboliteIDs. +0693 metIndex=find(strcmp(modelSBML.reaction(i).product(j).species,metaboliteIDs),1); +0694 if isempty(metIndex) +0695 EM=['Could not find metabolite ' modelSBML.reaction(i).reactant(j).species ' in reaction ' reactionIDs{counter}]; +0696 dispEM(EM); +0697 end +0698 S(metIndex,counter)=S(metIndex,counter)+modelSBML.reaction(i).product(j).stoichiometry; +0699 end +0700 end +0701 +0702 %if FBC, objective function is separately defined. Multiple objective +0703 %functions can be defined, one is set as active +0704 if isfield(modelSBML, 'fbc_activeObjective') +0705 obj=modelSBML.fbc_activeObjective; +0706 for i=1:numel(modelSBML.fbc_objective) +0707 if strcmp(obj,modelSBML.fbc_objective(i).fbc_id) +0708 rxn=modelSBML.fbc_objective(i).fbc_fluxObjective.fbc_reaction; +0709 rxn=regexprep(rxn,'^R_',''); +0710 idx=find(ismember(reactionIDs,rxn)); +0711 reactionObjective(idx)=modelSBML.fbc_objective(i).fbc_fluxObjective.fbc_coefficient; +0712 end +0713 end +0714 end +0715 +0716 %subSystems can be stored as groups instead of in annotations +0717 if isfield(modelSBML,'groups_group') +0718 for i=1:numel(modelSBML.groups_group) +0719 groupreactions={modelSBML.groups_group(i).groups_member(:).groups_idRef}; +0720 groupreactions=regexprep(groupreactions,'^R_',''); +0721 [~, idx] = ismember(groupreactions, reactionIDs); +0722 if any(idx) +0723 for j=1:numel(idx) +0724 if isempty(subsystems{idx(j)}) % First subsystem +0725 subsystems{idx(j)} = {modelSBML.groups_group(i).groups_name}; +0726 else % Consecutive subsystems: concatenate +0727 subsystems{idx(j)} = horzcat(subsystems{idx(j)}, modelSBML.groups_group(i).groups_name); +0728 end +0729 end +0730 end +0731 end +0732 end +0733 +0734 %Shrink the structures if complex-forming reactions had to be skipped +0735 reactionNames=reactionNames(1:counter); +0736 reactionIDs=reactionIDs(1:counter); +0737 subsystems=subsystems(1:counter); +0738 eccodes=eccodes(1:counter); +0739 rxnconfidencescores=rxnconfidencescores(1:counter); +0740 rxnreferences=rxnreferences(1:counter); +0741 rxnnotes=rxnnotes(1:counter); +0742 grRules=grRules(1:counter); +0743 rxnMiriams=rxnMiriams(1:counter); +0744 reactionReversibility=reactionReversibility(1:counter); +0745 reactionUB=reactionUB(1:counter); +0746 reactionLB=reactionLB(1:counter); +0747 reactionObjective=reactionObjective(1:counter); +0748 S=S(:,1:counter); +0749 +0750 model.description=modelSBML.name; +0751 model.id=regexprep(modelSBML.id,'^M_',''); % COBRA adds M_ prefix +0752 model.rxns=reactionIDs; +0753 model.mets=metaboliteIDs; +0754 model.S=sparse(S); +0755 model.lb=reactionLB; +0756 model.ub=reactionUB; +0757 model.rev=reactionReversibility; +0758 model.c=reactionObjective; +0759 model.b=zeros(numel(metaboliteIDs),1); +0760 model.comps=compartmentIDs; +0761 model.compNames=compartmentNames; +0762 model.rxnConfidenceScores=rxnconfidencescores; +0763 model.rxnReferences=rxnreferences; +0764 model.rxnNotes=rxnnotes; +0765 +0766 %Load annotation if available. If there are several authors, only the first +0767 %author credentials are imported +0768 if isfield(modelSBML,'annotation') +0769 endString='</'; +0770 I=strfind(modelSBML.annotation,endString); +0771 J=strfind(modelSBML.annotation,'<vCard:Family>'); +0772 if any(J) +0773 model.annotation.familyName=modelSBML.annotation(J(1)+14:I(find(I>J(1),1))-1); +0774 end +0775 J=strfind(modelSBML.annotation,'<vCard:Given>'); +0776 if any(J) +0777 model.annotation.givenName=modelSBML.annotation(J(1)+13:I(find(I>J(1),1))-1); +0778 end +0779 J=strfind(modelSBML.annotation,'<vCard:EMAIL>'); +0780 if any(J) +0781 model.annotation.email=modelSBML.annotation(J(1)+13:I(find(I>J(1),1))-1); +0782 end +0783 J=strfind(modelSBML.annotation,'<vCard:Orgname>'); +0784 if any(J) +0785 model.annotation.organization=modelSBML.annotation(J(1)+15:I(find(I>J(1),1))-1); +0786 end +0787 endString='"/>'; +0788 I=strfind(modelSBML.annotation,endString); +0789 if strfind(modelSBML.annotation,'"urn:miriam:') +0790 J=strfind(modelSBML.annotation,'"urn:miriam:'); +0791 if any(J) +0792 model.annotation.taxonomy=modelSBML.annotation(J+12:I(find(I>J,1))-1); +0793 end +0794 else +0795 J=strfind(modelSBML.annotation,'"http://identifiers.org/'); +0796 if any(J) +0797 model.annotation.taxonomy=modelSBML.annotation(J+24:I(find(I>J,1))-1); +0798 else +0799 J=strfind(modelSBML.annotation,'"https://identifiers.org/'); +0800 if any(J) +0801 model.annotation.taxonomy=modelSBML.annotation(J+24:I(find(I>J,1))-1); +0802 end +0803 end +0804 end +0805 end +0806 if isfield(modelSBML,'notes') +0807 startString=strfind(modelSBML.notes,'xhtml">'); +0808 endString=strfind(modelSBML.notes,'</body>'); +0809 if any(startString) && any(endString) +0810 model.annotation.note=modelSBML.notes(startString+7:endString-1); +0811 model.annotation.note=regexprep(model.annotation.note,'<p>|</p>',''); +0812 model.annotation.note=strtrim(model.annotation.note); +0813 end +0814 end 0815 -0816 %Match the compartments for metabolites -0817 [~, J]=ismember(metaboliteCompartments,model.comps); -0818 model.metComps=J; +0816 if any(~cellfun(@isempty,compartmentOutside)) +0817 model.compOutside=compartmentOutside; +0818 end 0819 -0820 %If any genes have been loaded (only for the new format) -0821 if ~isempty(geneNames) -0822 %In some rare cases geneNames may not necessarily be used in grRules. -0823 %That is true for Yeast 7.6. It's therefore important to change gene -0824 %systematic names to geneIDs in sophisticated way. Gene systematic -0825 %names are not unique, since exactly the same name may be in different -0826 %compartments -0827 if all(cellfun(@isempty,strfind(grRules,geneNames{1}))) -0828 geneShortNames=geneNames; -0829 %geneShortNames contain compartments as well, so these are removed -0830 geneShortNames=regexprep(geneShortNames,' \[.+$',''); -0831 %grRules obtained from modifier fields contain geneNames. These are -0832 %changed into geneIDs. grRulesFromModifier is a good way to have -0833 %geneIDs and rxns association when it's important to resolve -0834 %systematic name ambiguities -0835 grRulesFromModifier=regexprep(regexprep(grRulesFromModifier,'\[|\]','_'),regexprep(geneNames,'\[|\]','_'),geneIDs); -0836 grRules=regexprep(regexprep(grRules,'\[|\]','_'),regexprep(geneNames,'\[|\]','_'),geneIDs); -0837 -0838 %Yeast 7.6 contains several metabolites, which were used in gene -0839 %associations. For that reason, the list of species ID is created -0840 %and we then check whether any of them have kegg.genes annotation -0841 %thereby obtaining systematic gene names -0842 geneShortNames=vertcat(geneShortNames,metaboliteNames); -0843 geneIDs=vertcat(geneIDs,metaboliteIDs); -0844 geneSystNames=extractMiriam(vertcat(geneMiriams,metaboliteMiriams),'kegg.genes'); -0845 geneSystNames=regexprep(geneSystNames,'^.+:',''); -0846 geneCompartments=vertcat(geneCompartments,metaboliteCompartments); -0847 geneMiriams=vertcat(geneMiriams,metaboliteMiriams); -0848 -0849 %Now we retain information for only these entries, which have -0850 %kegg.genes annotation -0851 geneShortNames=geneShortNames(~cellfun('isempty',geneSystNames)); -0852 geneIDs=geneIDs(~cellfun('isempty',geneSystNames)); -0853 geneSystNames=geneSystNames(~cellfun('isempty',geneSystNames)); -0854 geneCompartments=geneCompartments(~cellfun('isempty',geneSystNames)); -0855 geneMiriams=geneMiriams(~cellfun('isempty',geneSystNames)); -0856 %Now we reorder geneIDs and geneSystNames by geneSystNames string -0857 %length -0858 geneNames=geneIDs;%Backuping geneIDs, since we need unsorted order for later -0859 [~, Indx] = sort(cellfun('size', geneSystNames, 2), 'descend'); -0860 geneIDs = geneIDs(Indx); -0861 geneSystNames = geneSystNames(Indx); -0862 for i=1:numel(geneSystNames) -0863 for j=1:numel(grRules) -0864 if strfind(grRules{j},geneSystNames{i}) -0865 if ~isempty(grRules{j}) -0866 if sum(ismember(geneSystNames,geneSystNames{i}))==1 -0867 grRules{j}=regexprep(grRules{j},geneSystNames{i},geneIDs{i}); -0868 elseif sum(ismember(geneSystNames,geneSystNames{i}))>1 -0869 counter=0; -0870 ovrlpIDs=geneIDs(ismember(geneSystNames,geneSystNames{i})); -0871 for k=1:numel(ovrlpIDs) -0872 if strfind(grRulesFromModifier{j},ovrlpIDs{k}) -0873 counter=counter+1; -0874 grRules{j}=regexprep(grRules{j},geneSystNames{i},ovrlpIDs{k}); -0875 end -0876 if counter>1 -0877 EM=['Gene association is ambiguous for reaction ' modelSBML.reaction(j).id]; -0878 dispEM(EM); -0879 end -0880 end -0881 end -0882 end -0883 end -0884 end -0885 end -0886 end -0887 model.genes=geneNames; -0888 model.grRules=grRules; -0889 [grRules,rxnGeneMat] = standardizeGrRules(model,true); -0890 model.grRules = grRules; -0891 model.rxnGeneMat = rxnGeneMat; -0892 -0893 %Match the compartments for genes -0894 [~, J]=ismember(geneCompartments,model.comps); -0895 model.geneComps=J; -0896 else -0897 if ~all(cellfun(@isempty,grRules)) -0898 %If fbc_geneProduct exists, follow the specified gene order, such -0899 %that matching geneShortNames in function below will work -0900 if isfield(modelSBML,'fbc_geneProduct') -0901 genes={modelSBML.fbc_geneProduct.fbc_id}; -0902 -0903 %Get gene Miriams if they were not retrieved above (this occurs -0904 %when genes are stored as fbc_geneProduct instead of species) -0905 if isempty(geneMiriams) -0906 geneMiriams = cell(numel(genes),1); -0907 if isfield(modelSBML.fbc_geneProduct,'sboTerm') && numel(unique([modelSBML.fbc_geneProduct.sboTerm])) == 1 -0908 %If all the SBO terms are identical, don't add them to geneMiriams -0909 modelSBML.fbc_geneProduct = rmfield(modelSBML.fbc_geneProduct,'sboTerm'); -0910 end -0911 for i = 1:numel(genes) -0912 geneMiriams{i}=parseMiriam(modelSBML.fbc_geneProduct(i).annotation); -0913 if isfield(modelSBML.fbc_geneProduct(i),'sboTerm') -0914 geneMiriams{i} = addSBOtoMiriam(geneMiriams{i},modelSBML.fbc_geneProduct(i).sboTerm); -0915 end -0916 end -0917 end -0918 else -0919 genes=getGeneList(grRules); -0920 end -0921 if strcmpi(genes{1}(1:2),'G_') -0922 genes=regexprep(genes,'^G_',''); -0923 grRules=regexprep(grRules,'^G_',''); -0924 grRules=regexprep(grRules,'\(G_','('); -0925 grRules=regexprep(grRules,' G_',' '); -0926 end -0927 model.genes=genes; -0928 model.grRules=grRules; -0929 [grRules,rxnGeneMat] = standardizeGrRules(model,true); -0930 model.grRules = grRules; -0931 model.rxnGeneMat = rxnGeneMat; -0932 end -0933 end -0934 -0935 if all(cellfun(@isempty,geneShortNames)) -0936 if isfield(modelSBML,'fbc_geneProduct') -0937 for i=1:numel(genes) -0938 if ~isempty(modelSBML.fbc_geneProduct(i).fbc_label) -0939 geneShortNames{i,1}=modelSBML.fbc_geneProduct(i).fbc_label; -0940 elseif ~isempty(modelSBML.fbc_geneProduct(i).fbc_name) -0941 geneShortNames{i,1}=modelSBML.fbc_geneProduct(i).fbc_name; -0942 else -0943 geneShortNames{i,1}=''; -0944 end -0945 end -0946 end -0947 end -0948 -0949 %If any InChIs have been loaded -0950 if any(~cellfun(@isempty,metaboliteInChI)) -0951 model.inchis=metaboliteInChI; -0952 end -0953 -0954 %If any formulas have been loaded -0955 if any(~cellfun(@isempty,metaboliteFormula)) -0956 model.metFormulas=metaboliteFormula; -0957 end -0958 -0959 %If any charges have been loaded -0960 if ~isempty(metaboliteCharges) -0961 model.metCharges=metaboliteCharges; -0962 end -0963 -0964 %If any gene short names have been loaded -0965 if any(~cellfun(@isempty,geneShortNames)) -0966 model.geneShortNames=geneShortNames; -0967 end -0968 -0969 %If any Miriam strings for compartments have been loaded -0970 if any(~cellfun(@isempty,compartmentMiriams)) -0971 model.compMiriams=compartmentMiriams; -0972 end -0973 -0974 %If any Miriam strings for metabolites have been loaded -0975 if any(~cellfun(@isempty,metaboliteMiriams)) -0976 model.metMiriams=metaboliteMiriams; -0977 end -0978 -0979 %If any subsystems have been loaded -0980 if any(~cellfun(@isempty,subsystems)) -0981 model.subSystems=subsystems; -0982 end -0983 if any(rxnComps) -0984 if all(rxnComps) -0985 model.rxnComps=rxnComps; -0986 else -0987 if supressWarnings==false -0988 EM='The compartments for the following reactions could not be matched. Ignoring reaction compartment information'; -0989 dispEM(EM,false,model.rxns(rxnComps==0)); -0990 end -0991 end -0992 end -0993 -0994 %If any ec-codes have been loaded -0995 if any(~cellfun(@isempty,eccodes)) -0996 model.eccodes=eccodes; -0997 end -0998 -0999 %If any Miriam strings for reactions have been loaded -1000 if any(~cellfun(@isempty,rxnMiriams)) -1001 model.rxnMiriams=rxnMiriams; -1002 end -1003 -1004 %If any Miriam strings for genes have been loaded -1005 if any(~cellfun(@isempty,geneMiriams)) -1006 model.geneMiriams=geneMiriams; -1007 end -1008 -1009 model.unconstrained=metaboliteUnconstrained; +0820 model.rxnNames=reactionNames; +0821 model.metNames=metaboliteNames; +0822 +0823 %Match the compartments for metabolites +0824 [~, J]=ismember(metaboliteCompartments,model.comps); +0825 model.metComps=J; +0826 +0827 %If any genes have been loaded (only for the new format) +0828 if ~isempty(geneNames) +0829 %In some rare cases geneNames may not necessarily be used in grRules. +0830 %That is true for Yeast 7.6. It's therefore important to change gene +0831 %systematic names to geneIDs in sophisticated way. Gene systematic +0832 %names are not unique, since exactly the same name may be in different +0833 %compartments +0834 if all(cellfun(@isempty,strfind(grRules,geneNames{1}))) +0835 geneShortNames=geneNames; +0836 %geneShortNames contain compartments as well, so these are removed +0837 geneShortNames=regexprep(geneShortNames,' \[.+$',''); +0838 %grRules obtained from modifier fields contain geneNames. These are +0839 %changed into geneIDs. grRulesFromModifier is a good way to have +0840 %geneIDs and rxns association when it's important to resolve +0841 %systematic name ambiguities +0842 grRulesFromModifier=regexprep(regexprep(grRulesFromModifier,'\[|\]','_'),regexprep(geneNames,'\[|\]','_'),geneIDs); +0843 grRules=regexprep(regexprep(grRules,'\[|\]','_'),regexprep(geneNames,'\[|\]','_'),geneIDs); +0844 +0845 %Yeast 7.6 contains several metabolites, which were used in gene +0846 %associations. For that reason, the list of species ID is created +0847 %and we then check whether any of them have kegg.genes annotation +0848 %thereby obtaining systematic gene names +0849 geneShortNames=vertcat(geneShortNames,metaboliteNames); +0850 geneIDs=vertcat(geneIDs,metaboliteIDs); +0851 geneSystNames=extractMiriam(vertcat(geneMiriams,metaboliteMiriams),'kegg.genes'); +0852 geneSystNames=regexprep(geneSystNames,'^.+:',''); +0853 geneCompartments=vertcat(geneCompartments,metaboliteCompartments); +0854 geneMiriams=vertcat(geneMiriams,metaboliteMiriams); +0855 +0856 %Now we retain information for only these entries, which have +0857 %kegg.genes annotation +0858 geneShortNames=geneShortNames(~cellfun('isempty',geneSystNames)); +0859 geneIDs=geneIDs(~cellfun('isempty',geneSystNames)); +0860 geneSystNames=geneSystNames(~cellfun('isempty',geneSystNames)); +0861 geneCompartments=geneCompartments(~cellfun('isempty',geneSystNames)); +0862 geneMiriams=geneMiriams(~cellfun('isempty',geneSystNames)); +0863 %Now we reorder geneIDs and geneSystNames by geneSystNames string +0864 %length +0865 geneNames=geneIDs;%Backuping geneIDs, since we need unsorted order for later +0866 [~, Indx] = sort(cellfun('size', geneSystNames, 2), 'descend'); +0867 geneIDs = geneIDs(Indx); +0868 geneSystNames = geneSystNames(Indx); +0869 for i=1:numel(geneSystNames) +0870 for j=1:numel(grRules) +0871 if strfind(grRules{j},geneSystNames{i}) +0872 if ~isempty(grRules{j}) +0873 if sum(ismember(geneSystNames,geneSystNames{i}))==1 +0874 grRules{j}=regexprep(grRules{j},geneSystNames{i},geneIDs{i}); +0875 elseif sum(ismember(geneSystNames,geneSystNames{i}))>1 +0876 counter=0; +0877 ovrlpIDs=geneIDs(ismember(geneSystNames,geneSystNames{i})); +0878 for k=1:numel(ovrlpIDs) +0879 if strfind(grRulesFromModifier{j},ovrlpIDs{k}) +0880 counter=counter+1; +0881 grRules{j}=regexprep(grRules{j},geneSystNames{i},ovrlpIDs{k}); +0882 end +0883 if counter>1 +0884 EM=['Gene association is ambiguous for reaction ' modelSBML.reaction(j).id]; +0885 dispEM(EM); +0886 end +0887 end +0888 end +0889 end +0890 end +0891 end +0892 end +0893 end +0894 model.genes=geneNames; +0895 model.grRules=grRules; +0896 [grRules,rxnGeneMat] = standardizeGrRules(model,true); +0897 model.grRules = grRules; +0898 model.rxnGeneMat = rxnGeneMat; +0899 +0900 %Match the compartments for genes +0901 [~, J]=ismember(geneCompartments,model.comps); +0902 model.geneComps=J; +0903 else +0904 if ~all(cellfun(@isempty,grRules)) +0905 %If fbc_geneProduct exists, follow the specified gene order, such +0906 %that matching geneShortNames in function below will work +0907 if isfield(modelSBML,'fbc_geneProduct') +0908 genes={modelSBML.fbc_geneProduct.fbc_id}; +0909 +0910 %Get gene Miriams if they were not retrieved above (this occurs +0911 %when genes are stored as fbc_geneProduct instead of species) +0912 if isempty(geneMiriams) +0913 geneMiriams = cell(numel(genes),1); +0914 if isfield(modelSBML.fbc_geneProduct,'sboTerm') && numel(unique([modelSBML.fbc_geneProduct.sboTerm])) == 1 +0915 %If all the SBO terms are identical, don't add them to geneMiriams +0916 modelSBML.fbc_geneProduct = rmfield(modelSBML.fbc_geneProduct,'sboTerm'); +0917 end +0918 for i = 1:numel(genes) +0919 geneMiriams{i}=parseMiriam(modelSBML.fbc_geneProduct(i).annotation); +0920 if isfield(modelSBML.fbc_geneProduct(i),'sboTerm') +0921 geneMiriams{i} = addSBOtoMiriam(geneMiriams{i},modelSBML.fbc_geneProduct(i).sboTerm); +0922 end +0923 end +0924 end +0925 else +0926 genes=getGeneList(grRules); +0927 end +0928 if strcmpi(genes{1}(1:2),'G_') +0929 genes=regexprep(genes,'^G_',''); +0930 grRules=regexprep(grRules,'^G_',''); +0931 grRules=regexprep(grRules,'\(G_','('); +0932 grRules=regexprep(grRules,' G_',' '); +0933 end +0934 model.genes=genes; +0935 model.grRules=grRules; +0936 [grRules,rxnGeneMat] = standardizeGrRules(model,true); +0937 model.grRules = grRules; +0938 model.rxnGeneMat = rxnGeneMat; +0939 end +0940 end +0941 +0942 if all(cellfun(@isempty,geneShortNames)) +0943 if isfield(modelSBML,'fbc_geneProduct') +0944 for i=1:numel(genes) +0945 if ~isempty(modelSBML.fbc_geneProduct(i).fbc_label) +0946 geneShortNames{i,1}=modelSBML.fbc_geneProduct(i).fbc_label; +0947 elseif ~isempty(modelSBML.fbc_geneProduct(i).fbc_name) +0948 geneShortNames{i,1}=modelSBML.fbc_geneProduct(i).fbc_name; +0949 else +0950 geneShortNames{i,1}=''; +0951 end +0952 end +0953 end +0954 end +0955 +0956 %If any InChIs have been loaded +0957 if any(~cellfun(@isempty,metaboliteInChI)) +0958 model.inchis=metaboliteInChI; +0959 end +0960 +0961 %If any formulas have been loaded +0962 if any(~cellfun(@isempty,metaboliteFormula)) +0963 model.metFormulas=metaboliteFormula; +0964 end +0965 +0966 %If any charges have been loaded +0967 if ~isempty(metaboliteCharges) +0968 model.metCharges=metaboliteCharges; +0969 end +0970 +0971 %If any gene short names have been loaded +0972 if any(~cellfun(@isempty,geneShortNames)) +0973 model.geneShortNames=geneShortNames; +0974 end +0975 +0976 %If any Miriam strings for compartments have been loaded +0977 if any(~cellfun(@isempty,compartmentMiriams)) +0978 model.compMiriams=compartmentMiriams; +0979 end +0980 +0981 %If any Miriam strings for metabolites have been loaded +0982 if any(~cellfun(@isempty,metaboliteMiriams)) +0983 model.metMiriams=metaboliteMiriams; +0984 end +0985 +0986 %If any subsystems have been loaded +0987 if any(~cellfun(@isempty,subsystems)) +0988 model.subSystems=subsystems; +0989 end +0990 if any(rxnComps) +0991 if all(rxnComps) +0992 model.rxnComps=rxnComps; +0993 else +0994 if supressWarnings==false +0995 EM='The compartments for the following reactions could not be matched. Ignoring reaction compartment information'; +0996 dispEM(EM,false,model.rxns(rxnComps==0)); +0997 end +0998 end +0999 end +1000 +1001 %If any ec-codes have been loaded +1002 if any(~cellfun(@isempty,eccodes)) +1003 model.eccodes=eccodes; +1004 end +1005 +1006 %If any Miriam strings for reactions have been loaded +1007 if any(~cellfun(@isempty,rxnMiriams)) +1008 model.rxnMiriams=rxnMiriams; +1009 end 1010 -1011 %Convert SBML IDs back into their original strings. Here we are using part -1012 %from convertSBMLID, originating from the COBRA Toolbox -1013 model.rxns=regexprep(model.rxns,'__([0-9]+)__','${char(str2num($1))}'); -1014 model.mets=regexprep(model.mets,'__([0-9]+)__','${char(str2num($1))}'); -1015 model.comps=regexprep(model.comps,'__([0-9]+)__','${char(str2num($1))}'); -1016 model.grRules=regexprep(model.grRules,'__([0-9]+)__','${char(str2num($1))}'); -1017 model.genes=regexprep(model.genes,'__([0-9]+)__','${char(str2num($1))}'); -1018 model.id=regexprep(model.id,'__([0-9]+)__','${char(str2num($1))}'); -1019 -1020 %Remove unused fields -1021 if isempty(model.annotation) -1022 model=rmfield(model,'annotation'); -1023 end -1024 if isempty(model.compOutside) -1025 model=rmfield(model,'compOutside'); -1026 end -1027 if isempty(model.compMiriams) -1028 model=rmfield(model,'compMiriams'); -1029 end -1030 if isempty(model.rxnComps) -1031 model=rmfield(model,'rxnComps'); -1032 end -1033 if isempty(model.grRules) -1034 model=rmfield(model,'grRules'); -1035 end -1036 if isempty(model.rxnGeneMat) -1037 model=rmfield(model,'rxnGeneMat'); -1038 end -1039 if isempty(model.subSystems) -1040 model=rmfield(model,'subSystems'); -1041 end -1042 if isempty(model.eccodes) -1043 model=rmfield(model,'eccodes'); -1044 end -1045 if isempty(model.rxnMiriams) -1046 model=rmfield(model,'rxnMiriams'); -1047 end -1048 if cellfun(@isempty,model.rxnNotes) -1049 model=rmfield(model,'rxnNotes'); -1050 end -1051 if cellfun(@isempty,model.rxnReferences) -1052 model=rmfield(model,'rxnReferences'); -1053 end -1054 if isempty(model.rxnConfidenceScores) || all(isnan(model.rxnConfidenceScores)) -1055 model=rmfield(model,'rxnConfidenceScores'); -1056 end -1057 if isempty(model.genes) -1058 model=rmfield(model,'genes'); -1059 elseif isrow(model.genes) -1060 model.genes=transpose(model.genes); -1061 end -1062 if isempty(model.geneComps) -1063 model=rmfield(model,'geneComps'); -1064 end -1065 if isempty(model.geneMiriams) -1066 model=rmfield(model,'geneMiriams'); -1067 end -1068 if isempty(model.geneShortNames) -1069 model=rmfield(model,'geneShortNames'); -1070 end -1071 if isempty(model.inchis) -1072 model=rmfield(model,'inchis'); -1073 end -1074 if isempty(model.metFormulas) -1075 model=rmfield(model,'metFormulas'); -1076 end -1077 if isempty(model.metMiriams) -1078 model=rmfield(model,'metMiriams'); -1079 end -1080 if ~any(model.metCharges) -1081 model=rmfield(model,'metCharges'); -1082 end -1083 -1084 %This just removes the grRules if no genes have been loaded -1085 if ~isfield(model,'genes') && isfield(model,'grRules') -1086 model=rmfield(model,'grRules'); -1087 end -1088 -1089 %Print warnings about bad structure -1090 if supressWarnings==false -1091 checkModelStruct(model,false); -1092 end -1093 -1094 if removeExcMets==true -1095 model=simplifyModel(model); -1096 end -1097 end -1098 -1099 function matchGenes=getGeneList(grRules) -1100 %Constructs the list of unique genes from grRules -1101 -1102 %Assumes that everything that isn't a paranthesis, " AND " or " or " is a -1103 %gene name -1104 genes=strrep(grRules,'(',''); -1105 genes=strrep(genes,')',''); -1106 genes=strrep(genes,' or ',' '); -1107 genes=strrep(genes,' and ',' '); -1108 genes=strrep(genes,' OR ',' '); -1109 genes=strrep(genes,' AND ',' '); -1110 genes=regexp(genes,' ','split'); -1111 -1112 allNames={}; -1113 for i=1:numel(genes) -1114 allNames=[allNames genes{i}]; -1115 end -1116 matchGenes=unique(allNames)'; -1117 -1118 %Remove the empty element if present -1119 if isempty(matchGenes{1}) -1120 matchGenes(1)=[]; -1121 end +1011 %If any Miriam strings for genes have been loaded +1012 if any(~cellfun(@isempty,geneMiriams)) +1013 model.geneMiriams=geneMiriams; +1014 end +1015 +1016 model.unconstrained=metaboliteUnconstrained; +1017 +1018 %Convert SBML IDs back into their original strings. Here we are using part +1019 %from convertSBMLID, originating from the COBRA Toolbox +1020 model.rxns=regexprep(model.rxns,'__([0-9]+)__','${char(str2num($1))}'); +1021 model.mets=regexprep(model.mets,'__([0-9]+)__','${char(str2num($1))}'); +1022 model.comps=regexprep(model.comps,'__([0-9]+)__','${char(str2num($1))}'); +1023 model.grRules=regexprep(model.grRules,'__([0-9]+)__','${char(str2num($1))}'); +1024 model.genes=regexprep(model.genes,'__([0-9]+)__','${char(str2num($1))}'); +1025 model.id=regexprep(model.id,'__([0-9]+)__','${char(str2num($1))}'); +1026 +1027 %Remove unused fields +1028 if isempty(model.annotation) +1029 model=rmfield(model,'annotation'); +1030 end +1031 if isempty(model.compOutside) +1032 model=rmfield(model,'compOutside'); +1033 end +1034 if isempty(model.compMiriams) +1035 model=rmfield(model,'compMiriams'); +1036 end +1037 if isempty(model.rxnComps) +1038 model=rmfield(model,'rxnComps'); +1039 end +1040 if isempty(model.grRules) +1041 model=rmfield(model,'grRules'); +1042 end +1043 if isempty(model.rxnGeneMat) +1044 model=rmfield(model,'rxnGeneMat'); +1045 end +1046 if isempty(model.subSystems) +1047 model=rmfield(model,'subSystems'); +1048 end +1049 if isempty(model.eccodes) +1050 model=rmfield(model,'eccodes'); +1051 end +1052 if isempty(model.rxnMiriams) +1053 model=rmfield(model,'rxnMiriams'); +1054 end +1055 if cellfun(@isempty,model.rxnNotes) +1056 model=rmfield(model,'rxnNotes'); +1057 end +1058 if cellfun(@isempty,model.rxnReferences) +1059 model=rmfield(model,'rxnReferences'); +1060 end +1061 if isempty(model.rxnConfidenceScores) || all(isnan(model.rxnConfidenceScores)) +1062 model=rmfield(model,'rxnConfidenceScores'); +1063 end +1064 if isempty(model.genes) +1065 model=rmfield(model,'genes'); +1066 elseif isrow(model.genes) +1067 model.genes=transpose(model.genes); +1068 end +1069 if isempty(model.geneComps) +1070 model=rmfield(model,'geneComps'); +1071 end +1072 if isempty(model.geneMiriams) +1073 model=rmfield(model,'geneMiriams'); +1074 end +1075 if isempty(model.geneShortNames) +1076 model=rmfield(model,'geneShortNames'); +1077 end +1078 if isempty(model.inchis) +1079 model=rmfield(model,'inchis'); +1080 end +1081 if isempty(model.metFormulas) +1082 model=rmfield(model,'metFormulas'); +1083 end +1084 if isempty(model.metMiriams) +1085 model=rmfield(model,'metMiriams'); +1086 end +1087 if ~any(model.metCharges) +1088 model=rmfield(model,'metCharges'); +1089 end +1090 +1091 %This just removes the grRules if no genes have been loaded +1092 if ~isfield(model,'genes') && isfield(model,'grRules') +1093 model=rmfield(model,'grRules'); +1094 end +1095 +1096 %Print warnings about bad structure +1097 if supressWarnings==false +1098 checkModelStruct(model,false); +1099 end +1100 +1101 if removeExcMets==true +1102 model=simplifyModel(model); +1103 end +1104 end +1105 +1106 function matchGenes=getGeneList(grRules) +1107 %Constructs the list of unique genes from grRules +1108 +1109 %Assumes that everything that isn't a paranthesis, " AND " or " or " is a +1110 %gene name +1111 genes=strrep(grRules,'(',''); +1112 genes=strrep(genes,')',''); +1113 genes=strrep(genes,' or ',' '); +1114 genes=strrep(genes,' and ',' '); +1115 genes=strrep(genes,' OR ',' '); +1116 genes=strrep(genes,' AND ',' '); +1117 genes=regexp(genes,' ','split'); +1118 +1119 allNames={}; +1120 for i=1:numel(genes) +1121 allNames=[allNames genes{i}]; 1122 end -1123 -1124 function fieldContent=parseNote(searchString,fieldName) -1125 %The function obtains the particular information from 'notes' field, using -1126 %fieldName as the dummy string -1127 -1128 fieldContent=''; -1129 -1130 if strfind(searchString,fieldName) -1131 [~,targetString] = regexp(searchString,['<p>' fieldName '.*?</p>'],'tokens','match'); -1132 targetString=regexprep(targetString,'<p>|</p>',''); -1133 targetString=regexprep(targetString,[fieldName, ':'],''); -1134 for i=1:numel(targetString) -1135 fieldContent=[fieldContent ';' strtrim(targetString{1,i})]; -1136 end -1137 fieldContent=regexprep(fieldContent,'^;|;$',''); -1138 else -1139 fieldContent=''; -1140 end -1141 end -1142 -1143 function fieldContent=parseAnnotation(searchString,startString,midString,fieldName) -1144 -1145 fieldContent=''; -1146 -1147 %Removing whitespace characters from the ending strings, which may occur in -1148 %several cases -1149 searchString=regexprep(searchString,'" />','"/>'); -1150 [~,targetString] = regexp(searchString,['<rdf:li rdf:resource="' startString fieldName midString '.*?"/>'],'tokens','match'); -1151 targetString=regexprep(targetString,'<rdf:li rdf:resource="|"/>',''); -1152 targetString=regexprep(targetString,startString,''); -1153 targetString=regexprep(targetString,[fieldName midString],''); -1154 -1155 for i=1:numel(targetString) -1156 fieldContent=[fieldContent ';' strtrim(targetString{1,i})]; -1157 end -1158 -1159 fieldContent=regexprep(fieldContent,'^;|;$',''); -1160 end +1123 matchGenes=unique(allNames)'; +1124 +1125 %Remove the empty element if present +1126 if isempty(matchGenes{1}) +1127 matchGenes(1)=[]; +1128 end +1129 end +1130 +1131 function fieldContent=parseNote(searchString,fieldName) +1132 %The function obtains the particular information from 'notes' field, using +1133 %fieldName as the dummy string +1134 +1135 fieldContent=''; +1136 +1137 if strfind(searchString,fieldName) +1138 [~,targetString] = regexp(searchString,['<p>' fieldName '.*?</p>'],'tokens','match'); +1139 targetString=regexprep(targetString,'<p>|</p>',''); +1140 targetString=regexprep(targetString,[fieldName, ':'],''); +1141 for i=1:numel(targetString) +1142 fieldContent=[fieldContent ';' strtrim(targetString{1,i})]; +1143 end +1144 fieldContent=regexprep(fieldContent,'^;|;$',''); +1145 else +1146 fieldContent=''; +1147 end +1148 end +1149 +1150 function fieldContent=parseAnnotation(searchString,startString,midString,fieldName) +1151 +1152 fieldContent=''; +1153 +1154 %Removing whitespace characters from the ending strings, which may occur in +1155 %several cases +1156 searchString=regexprep(searchString,'" />','"/>'); +1157 [~,targetString] = regexp(searchString,['<rdf:li rdf:resource="' startString fieldName midString '.*?"/>'],'tokens','match'); +1158 targetString=regexprep(targetString,'<rdf:li rdf:resource="|"/>',''); +1159 targetString=regexprep(targetString,startString,''); +1160 targetString=regexprep(targetString,[fieldName midString],''); 1161 -1162 function miriamStruct=parseMiriam(searchString) -1163 %Generates miriam structure from annotation field -1164 -1165 %Finding whether miriams are written in the old or the new way -1166 if strfind(searchString,'urn:miriam:') -1167 startString='urn:miriam:'; -1168 midString=':'; -1169 elseif strfind(searchString,'http://identifiers.org/') -1170 startString='http://identifiers.org/'; -1171 midString='/'; -1172 else -1173 miriamStruct=[]; -1174 return; -1175 end -1176 -1177 miriamStruct=[]; -1178 -1179 searchString=regexprep(searchString,'" />','"/>'); -1180 [~,targetString] = regexp(searchString,'<rdf:li rdf:resource=".*?"/>','tokens','match'); -1181 targetString=regexprep(targetString,'<rdf:li rdf:resource="|"/>',''); -1182 targetString=regexprep(targetString,startString,''); -1183 targetString=regexprep(targetString,midString,'/','once'); -1184 -1185 counter=0; -1186 for i=1:numel(targetString) -1187 if isempty(regexp(targetString{1,i},'inchi|ec-code', 'once')) -1188 counter=counter+1; -1189 miriamStruct.name{counter,1} = regexprep(targetString{1,i},'/.+','','once'); -1190 miriamStruct.value{counter,1} = regexprep(targetString{1,i},[miriamStruct.name{counter,1} '/'],'','once'); -1191 miriamStruct.name{counter,1} = regexprep(miriamStruct.name{counter,1},'^obo\.',''); -1192 end -1193 end -1194 end -1195 -1196 function miriam = addSBOtoMiriam(miriam,sboTerm) -1197 %Appends SBO term to miriam structure -1198 -1199 sboTerm = {['SBO:' sprintf('%07u',sboTerm)]}; % convert to proper format -1200 if isempty(miriam) -1201 miriam.name = {'sbo'}; -1202 miriam.value = sboTerm; -1203 else -1204 miriam.name(end+1) = {'sbo'}; -1205 miriam.value(end+1) = sboTerm; -1206 end -1207 -1208 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +1162 for i=1:numel(targetString) +1163 fieldContent=[fieldContent ';' strtrim(targetString{1,i})]; +1164 end +1165 +1166 fieldContent=regexprep(fieldContent,'^;|;$',''); +1167 end +1168 +1169 function miriamStruct=parseMiriam(searchString) +1170 %Generates miriam structure from annotation field +1171 +1172 %Finding whether miriams are written in the old or the new way +1173 if strfind(searchString,'urn:miriam:') +1174 startString='urn:miriam:'; +1175 midString=':'; +1176 elseif strfind(searchString,'http://identifiers.org/') +1177 startString='http://identifiers.org/'; +1178 midString='/'; +1179 elseif strfind(searchString,'https://identifiers.org/') +1180 startString='https://identifiers.org/'; +1181 midString='/'; +1182 else +1183 miriamStruct=[]; +1184 return; +1185 end +1186 +1187 miriamStruct=[]; +1188 +1189 searchString=regexprep(searchString,'" />','"/>'); +1190 [~,targetString] = regexp(searchString,'<rdf:li rdf:resource=".*?"/>','tokens','match'); +1191 targetString=regexprep(targetString,'<rdf:li rdf:resource="|"/>',''); +1192 targetString=regexprep(targetString,startString,''); +1193 targetString=regexprep(targetString,midString,'/','once'); +1194 +1195 counter=0; +1196 for i=1:numel(targetString) +1197 if isempty(regexp(targetString{1,i},'inchi|ec-code', 'once')) +1198 counter=counter+1; +1199 miriamStruct.name{counter,1} = regexprep(targetString{1,i},'/.+','','once'); +1200 miriamStruct.value{counter,1} = regexprep(targetString{1,i},[miriamStruct.name{counter,1} '/'],'','once'); +1201 miriamStruct.name{counter,1} = regexprep(miriamStruct.name{counter,1},'^obo\.',''); +1202 end +1203 end +1204 end +1205 +1206 function miriam = addSBOtoMiriam(miriam,sboTerm) +1207 %Appends SBO term to miriam structure +1208 +1209 sboTerm = {['SBO:' sprintf('%07u',sboTerm)]}; % convert to proper format +1210 if isempty(miriam) +1211 miriam.name = {'sbo'}; +1212 miriam.value = sboTerm; +1213 else +1214 miriam.name(end+1) = {'sbo'}; +1215 miriam.value(end+1) = sboTerm; +1216 end +1217 +1218 end +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/index.html b/doc/io/index.html index f7ca85d1..90d05e46 100644 --- a/doc/io/index.html +++ b/doc/io/index.html @@ -24,6 +24,6 @@

    Matlab files in this directory:

    -
    Generated on Wed 13-Jan-2021 21:53:19 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/loadSheet.html b/doc/io/loadSheet.html index c89fc2e5..3a04e5cf 100644 --- a/doc/io/loadSheet.html +++ b/doc/io/loadSheet.html @@ -125,6 +125,6 @@

    SOURCE CODE ^%Remove empty rows 0073 raw(wasEmpty,:)=[]; 0074 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/loadWorkbook.html b/doc/io/loadWorkbook.html index e96a9439..dd973236 100644 --- a/doc/io/loadWorkbook.html +++ b/doc/io/loadWorkbook.html @@ -107,6 +107,6 @@

    SOURCE CODE ^end 0055 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/startup.html b/doc/io/startup.html index 0513edb1..4bd851bb 100644 --- a/doc/io/startup.html +++ b/doc/io/startup.html @@ -44,6 +44,6 @@

    CROSS-REFERENCE INFORMATION ^
 <h2><a name=SOURCE CODE ^

    0001 %Add the Java Paths at startup in order to be ready for use if the Toolbox is on the path
     0002 addJavaPaths()
    -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/writeSheet.html b/doc/io/writeSheet.html index 47abacc8..eedb16a5 100644 --- a/doc/io/writeSheet.html +++ b/doc/io/writeSheet.html @@ -206,6 +206,6 @@

    SOURCE CODE ^end 0149 end 0150 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/writeYaml.html b/doc/io/writeYaml.html index df74d2b0..dc153d34 100644 --- a/doc/io/writeYaml.html +++ b/doc/io/writeYaml.html @@ -284,6 +284,6 @@

    SOURCE CODE ^end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/legacy/external/constructPathwayFromCelldesigner.html b/doc/legacy/external/constructPathwayFromCelldesigner.html index 6070762d..dc4a9f2b 100644 --- a/doc/legacy/external/constructPathwayFromCelldesigner.html +++ b/doc/legacy/external/constructPathwayFromCelldesigner.html @@ -586,6 +586,6 @@

    SOURCE CODE ^end 0477 end 0478 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/legacy/external/index.html b/doc/legacy/external/index.html index 05ec6771..649c6713 100644 --- a/doc/legacy/external/index.html +++ b/doc/legacy/external/index.html @@ -24,6 +24,6 @@

    Matlab files in this directory:

    -
    Generated on Wed 13-Jan-2021 21:53:19 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
    \ No newline at end of file diff --git a/doc/pathway/colorPathway.html b/doc/pathway/colorPathway.html index 2ab13d54..46b446a3 100644 --- a/doc/pathway/colorPathway.html +++ b/doc/pathway/colorPathway.html @@ -138,6 +138,6 @@

    SOURCE CODE ^end 0070 end 0071 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/pathway/getPathwayDimensions.html b/doc/pathway/getPathwayDimensions.html index cf7bd3e5..cbc2034c 100644 --- a/doc/pathway/getPathwayDimensions.html +++ b/doc/pathway/getPathwayDimensions.html @@ -104,6 +104,6 @@

    SOURCE CODE ^end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/pathway/index.html b/doc/pathway/index.html index 0c4b639b..4fd7b374 100644 --- a/doc/pathway/index.html +++ b/doc/pathway/index.html @@ -24,6 +24,6 @@

    Matlab files in this directory:

    -
    Generated on Wed 13-Jan-2021 21:53:19 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
    \ No newline at end of file diff --git a/doc/pathway/mapPathwayRxnNames.html b/doc/pathway/mapPathwayRxnNames.html index 4f6f8928..2f97f815 100644 --- a/doc/pathway/mapPathwayRxnNames.html +++ b/doc/pathway/mapPathwayRxnNames.html @@ -93,6 +93,6 @@

    SOURCE CODE ^end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/pathway/markPathwayWithExpression.html b/doc/pathway/markPathwayWithExpression.html index 70d695f3..b71284fd 100644 --- a/doc/pathway/markPathwayWithExpression.html +++ b/doc/pathway/markPathwayWithExpression.html @@ -113,6 +113,6 @@

    SOURCE CODE ^end 0059 end 0060 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/pathway/markPathwayWithFluxes.html b/doc/pathway/markPathwayWithFluxes.html index e7d8a9b2..adc69ad5 100644 --- a/doc/pathway/markPathwayWithFluxes.html +++ b/doc/pathway/markPathwayWithFluxes.html @@ -106,6 +106,6 @@

    SOURCE CODE ^end 0047 end 0048 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/pathway/trimPathway.html b/doc/pathway/trimPathway.html index 9856429a..47d37780 100644 --- a/doc/pathway/trimPathway.html +++ b/doc/pathway/trimPathway.html @@ -141,6 +141,6 @@

    SOURCE CODE ^end 0087 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/plotting/colorSubsystem.html b/doc/plotting/colorSubsystem.html index 0d8c230c..927147ea 100644 --- a/doc/plotting/colorSubsystem.html +++ b/doc/plotting/colorSubsystem.html @@ -116,6 +116,6 @@

    SOURCE CODE ^end 0054 0055 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/plotting/drawMap.html b/doc/plotting/drawMap.html index 41e72eca..52ede6e8 100644 --- a/doc/plotting/drawMap.html +++ b/doc/plotting/drawMap.html @@ -206,6 +206,6 @@

    SOURCE CODE ^end 0138 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/plotting/drawPathway.html b/doc/plotting/drawPathway.html index fa41d88b..5d024ca7 100644 --- a/doc/plotting/drawPathway.html +++ b/doc/plotting/drawPathway.html @@ -476,6 +476,6 @@

    SOURCE CODE ^end 0416 end 0417 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/plotting/getColorCodes.html b/doc/plotting/getColorCodes.html index 31f02d96..ba3cf934 100644 --- a/doc/plotting/getColorCodes.html +++ b/doc/plotting/getColorCodes.html @@ -203,6 +203,6 @@

    SOURCE CODE ^end 0141 end 0142 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/plotting/index.html b/doc/plotting/index.html index c588f836..e8211548 100644 --- a/doc/plotting/index.html +++ b/doc/plotting/index.html @@ -24,6 +24,6 @@

    Matlab files in this directory:

    -
    Generated on Wed 13-Jan-2021 21:53:19 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
    \ No newline at end of file diff --git a/doc/plotting/plotAdditionalInfo.html b/doc/plotting/plotAdditionalInfo.html index 6627ff4b..944d9ac9 100644 --- a/doc/plotting/plotAdditionalInfo.html +++ b/doc/plotting/plotAdditionalInfo.html @@ -184,6 +184,6 @@

    SOURCE CODE ^'fontname','Small Fonts','fontsize',3,... 0114 'interpreter', 'none','verticalalignment','top','HorizontalAlignment','left'); 0115 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/plotting/plotLabels.html b/doc/plotting/plotLabels.html index 067b76ce..fee5a5c9 100644 --- a/doc/plotting/plotLabels.html +++ b/doc/plotting/plotLabels.html @@ -71,6 +71,6 @@

    SOURCE CODE ^end 0019 end 0020 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/plotting/setColorToMapRxns.html b/doc/plotting/setColorToMapRxns.html index 51c8ecbb..1122cd66 100644 --- a/doc/plotting/setColorToMapRxns.html +++ b/doc/plotting/setColorToMapRxns.html @@ -654,6 +654,6 @@

    SOURCE CODE ^end 0582 0583 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/plotting/setOmicDataToRxns.html b/doc/plotting/setOmicDataToRxns.html index 1c879fc5..1b1f8094 100644 --- a/doc/plotting/setOmicDataToRxns.html +++ b/doc/plotting/setOmicDataToRxns.html @@ -98,6 +98,6 @@

    SOURCE CODE ^end 0050 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/plotting/setTitle.html b/doc/plotting/setTitle.html index f7b18d34..b3583f9c 100644 --- a/doc/plotting/setTitle.html +++ b/doc/plotting/setTitle.html @@ -65,6 +65,6 @@

    SOURCE CODE ^'fontname','Small Fonts','fontsize',5,... 0015 'interpreter', 'tex','HorizontalAlignment','center','verticalalignment','middle'); 0016 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/solver/checkSolution.html b/doc/solver/checkSolution.html index 3da965fc..58d42b50 100644 --- a/doc/solver/checkSolution.html +++ b/doc/solver/checkSolution.html @@ -78,6 +78,6 @@

    SOURCE CODE ^end 0027 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/solver/getMILPParams.html b/doc/solver/getMILPParams.html index b5c04d88..3c99286e 100644 --- a/doc/solver/getMILPParams.html +++ b/doc/solver/getMILPParams.html @@ -126,6 +126,6 @@

    SOURCE CODE ^'printReport'); 0069 end 0070 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/solver/index.html b/doc/solver/index.html index 5b30b833..73b3a5cc 100644 --- a/doc/solver/index.html +++ b/doc/solver/index.html @@ -24,6 +24,6 @@

    Matlab files in this directory:

    -
    Generated on Wed 13-Jan-2021 21:53:19 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
    \ No newline at end of file diff --git a/doc/solver/optimizeProb.html b/doc/solver/optimizeProb.html index 90a3da6b..700c058f 100644 --- a/doc/solver/optimizeProb.html +++ b/doc/solver/optimizeProb.html @@ -107,6 +107,6 @@

    SOURCE CODE ^end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/solver/qMOMA.html b/doc/solver/qMOMA.html index e3ea66ae..8a850a4b 100644 --- a/doc/solver/qMOMA.html +++ b/doc/solver/qMOMA.html @@ -145,6 +145,6 @@

    SOURCE CODE ^end 0086 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/solver/setRavenSolver.html b/doc/solver/setRavenSolver.html index 20cb4fb5..1fb4de7d 100644 --- a/doc/solver/setRavenSolver.html +++ b/doc/solver/setRavenSolver.html @@ -75,6 +75,6 @@

    SOURCE CODE ^'Such solver is not compatible with RAVEN. Available options are ''gurobi'' and ''cobra'''; 0022 dispEM(EM); 0023 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/solver/solveLP.html b/doc/solver/solveLP.html index 5e0a1e54..d5c2d44b 100644 --- a/doc/solver/solveLP.html +++ b/doc/solver/solveLP.html @@ -289,6 +289,6 @@

    SOURCE CODE ^end 0212 end 0213 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/solver/solveQP.html b/doc/solver/solveQP.html index 1ccd797b..bd6e14ee 100644 --- a/doc/solver/solveQP.html +++ b/doc/solver/solveQP.html @@ -121,6 +121,6 @@

    SOURCE CODE ^end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/struct_conversion/cobraToGurobiProb.html b/doc/struct_conversion/cobraToGurobiProb.html index 7e9edb82..c62f0d97 100644 --- a/doc/struct_conversion/cobraToGurobiProb.html +++ b/doc/struct_conversion/cobraToGurobiProb.html @@ -67,6 +67,6 @@

    SOURCE CODE ^end 0025 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/struct_conversion/cobraToMosekRes.html b/doc/struct_conversion/cobraToMosekRes.html index 84042a7e..30a5bc06 100644 --- a/doc/struct_conversion/cobraToMosekRes.html +++ b/doc/struct_conversion/cobraToMosekRes.html @@ -77,6 +77,6 @@

    SOURCE CODE ^end 0034 end 0035 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/struct_conversion/extractMiriam.html b/doc/struct_conversion/extractMiriam.html index c548b291..5fcf24f8 100644 --- a/doc/struct_conversion/extractMiriam.html +++ b/doc/struct_conversion/extractMiriam.html @@ -170,6 +170,6 @@

    SOURCE CODE ^';',miriamName,'/'),';'); 0100 0101 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/struct_conversion/gurobiToCobraRes.html b/doc/struct_conversion/gurobiToCobraRes.html index e847bd70..9136b644 100644 --- a/doc/struct_conversion/gurobiToCobraRes.html +++ b/doc/struct_conversion/gurobiToCobraRes.html @@ -81,6 +81,6 @@

    SOURCE CODE ^end 0038 res=resCb; 0039 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/struct_conversion/index.html b/doc/struct_conversion/index.html index fdead98e..c3f4a4f7 100644 --- a/doc/struct_conversion/index.html +++ b/doc/struct_conversion/index.html @@ -24,6 +24,6 @@

    Matlab files in this directory:

    -
    Generated on Wed 13-Jan-2021 21:53:19 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
    \ No newline at end of file diff --git a/doc/struct_conversion/ravenCobraWrapper.html b/doc/struct_conversion/ravenCobraWrapper.html index b834a6da..454d20ff 100644 --- a/doc/struct_conversion/ravenCobraWrapper.html +++ b/doc/struct_conversion/ravenCobraWrapper.html @@ -491,6 +491,6 @@

    SOURCE CODE ^'^(',''); %rules that start with a "(" 0419 grRules = regexprep(grRules,')$',''); %rules that end with a ")" 0420 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/struct_conversion/standardizeModelFieldOrder.html b/doc/struct_conversion/standardizeModelFieldOrder.html index 529a754a..0fb33182 100644 --- a/doc/struct_conversion/standardizeModelFieldOrder.html +++ b/doc/struct_conversion/standardizeModelFieldOrder.html @@ -90,6 +90,6 @@

    SOURCE CODE ^end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/testing/index.html b/doc/testing/index.html index 44f8af3c..6bc89c28 100644 --- a/doc/testing/index.html +++ b/doc/testing/index.html @@ -26,6 +26,6 @@

    Subsequent directories:

    -
    Generated on Wed 13-Jan-2021 21:53:19 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
    \ No newline at end of file diff --git a/doc/testing/testBlast.html b/doc/testing/testBlast.html index e7396db5..b5d00657 100644 --- a/doc/testing/testBlast.html +++ b/doc/testing/testBlast.html @@ -184,6 +184,6 @@

    SOURCE CODE ^end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/testing/testDiamond.html b/doc/testing/testDiamond.html index 10727627..a5ca40d1 100644 --- a/doc/testing/testDiamond.html +++ b/doc/testing/testDiamond.html @@ -176,6 +176,6 @@

    SOURCE CODE ^end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/testing/unit_tests/index.html b/doc/testing/unit_tests/index.html index 877e777d..dc597b0a 100644 --- a/doc/testing/unit_tests/index.html +++ b/doc/testing/unit_tests/index.html @@ -26,6 +26,6 @@

    Subsequent directories:

    -
    Generated on Wed 13-Jan-2021 21:53:19 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
    \ No newline at end of file diff --git a/doc/testing/unit_tests/tinitTests.html b/doc/testing/unit_tests/tinitTests.html index 5a3a8fef..d978f1c9 100644 --- a/doc/testing/unit_tests/tinitTests.html +++ b/doc/testing/unit_tests/tinitTests.html @@ -109,6 +109,6 @@

    SOURCE CODE ^%and, check that the two formats produce the same 0063 verifyEqual(testCase,taskStruct,taskStructExcel) 0064 end -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/tutorial/index.html b/doc/tutorial/index.html index ad8be8b0..57d92392 100644 --- a/doc/tutorial/index.html +++ b/doc/tutorial/index.html @@ -24,8 +24,10 @@

    Matlab files in this directory:

    Other Matlab-specific files in this directory:

    +

    Subsequent directories:

    + - -
    Generated on Wed 13-Jan-2021 21:53:19 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
    \ No newline at end of file diff --git a/doc/tutorial/tutorial1.html b/doc/tutorial/tutorial1.html index 6d9e8c4c..884d4234 100644 --- a/doc/tutorial/tutorial1.html +++ b/doc/tutorial/tutorial1.html @@ -189,6 +189,6 @@

    SOURCE CODE ^%be able to zoom in on individual reactions. 0136 load 'pcPathway.mat' pathway; 0137 drawMap('Glucose vs ethanol',pathway,model,sol.x,solETH.x,modelETH,'GLCvsETH.pdf',10^-5); -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/tutorial/tutorial2.html b/doc/tutorial/tutorial2.html index fb4494c3..622570f5 100644 --- a/doc/tutorial/tutorial2.html +++ b/doc/tutorial/tutorial2.html @@ -68,6 +68,6 @@

    SOURCE CODE ^%Print all fluxes 0021 printFluxes(smallModel,sol.x,false,10^-5,[],'%rxnID (%rxnName):\n\t%eqn\n\t%flux\n'); -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/tutorial/tutorial2_solutions.html b/doc/tutorial/tutorial2_solutions.html index 49682bb5..b3ec1b93 100644 --- a/doc/tutorial/tutorial2_solutions.html +++ b/doc/tutorial/tutorial2_solutions.html @@ -62,6 +62,6 @@

    SOURCE CODE ^%Print all fluxes 0018 printFluxes(smallModel,sol.x,false,10^-5,[],'%rxnID (%rxnName):\n\t%eqn\n\t%flux\n'); -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/tutorial/tutorial3.html b/doc/tutorial/tutorial3.html index bc64bb4a..f5324996 100644 --- a/doc/tutorial/tutorial3.html +++ b/doc/tutorial/tutorial3.html @@ -129,6 +129,6 @@

    SOURCE CODE ^'Reactions involving the top 10 Reporter Metabolites',pathway,model,ones(numel(model.rxns),1),zeros(numel(model.rxns),1),[],'mapRM.pdf',10^-5); -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/tutorial/tutorial3_solutions.html b/doc/tutorial/tutorial3_solutions.html index 1c5053b7..106724cd 100644 --- a/doc/tutorial/tutorial3_solutions.html +++ b/doc/tutorial/tutorial3_solutions.html @@ -161,6 +161,6 @@

    SOURCE CODE ^'Reactions involving the top 10 Reporter Metabolites',pathway,model,ones(numel(model.rxns),1),zeros(numel(model.rxns),1),[],'mapRM.pdf',10^-5); -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/tutorial/tutorial4.html b/doc/tutorial/tutorial4.html index 9195f8e9..51c2c468 100644 --- a/doc/tutorial/tutorial4.html +++ b/doc/tutorial/tutorial4.html @@ -79,6 +79,6 @@

    SOURCE CODE ^ -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/tutorial/tutorial4_solutions.html b/doc/tutorial/tutorial4_solutions.html index 472f1ace..0b766777 100644 --- a/doc/tutorial/tutorial4_solutions.html +++ b/doc/tutorial/tutorial4_solutions.html @@ -202,6 +202,6 @@

    SOURCE CODE ^%All this stuff may be done in a more automated manner as well 0154 model=importExcelModel('smallYeastBad2.xlsx',true,false,true); 0155 gapReport(model,{refModel}); -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/tutorial/tutorial5.html b/doc/tutorial/tutorial5.html index 3cfbb170..b161694c 100644 --- a/doc/tutorial/tutorial5.html +++ b/doc/tutorial/tutorial5.html @@ -235,6 +235,6 @@

    SOURCE CODE ^%Note that only some info is printed; most of it is available in the output 0185 %structures. Work like this in an iterative manner until the model is of 0186 %sufficient quality. -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file diff --git a/doc/tutorial/tutorial6.html b/doc/tutorial/tutorial6.html index ed88b46c..8584542a 100644 --- a/doc/tutorial/tutorial6.html +++ b/doc/tutorial/tutorial6.html @@ -203,6 +203,6 @@

    SOURCE CODE ^%The results indicate that this new model is functional -
    Generated on Wed 13-Jan-2021 21:53:20 by m2html © 2005
    +
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    \ No newline at end of file From 21247e53b8e1bc88784b870b07950863e768156c Mon Sep 17 00:00:00 2001 From: Eduard Kerkhoven Date: Mon, 8 Feb 2021 21:05:38 +0100 Subject: [PATCH 2/3] chore: remove {DATE} from doc files - otherwise all HTML files are changed with each run of updateDocumentation --- software/m2html/templates/blue/graph.tpl | 2 +- software/m2html/templates/blue/master.tpl | 2 +- software/m2html/templates/blue/mdir.tpl | 2 +- software/m2html/templates/blue/mfile.tpl | 2 +- software/m2html/templates/blue/search.tpl | 2 +- software/m2html/templates/blue/todo.tpl | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/software/m2html/templates/blue/graph.tpl b/software/m2html/templates/blue/graph.tpl index 63aac403..d68d007c 100644 --- a/software/m2html/templates/blue/graph.tpl +++ b/software/m2html/templates/blue/graph.tpl @@ -23,6 +23,6 @@ -
    Generated on {DATE} by m2html © 2005
    +
    Generated by m2html © 2005
    diff --git a/software/m2html/templates/blue/master.tpl b/software/m2html/templates/blue/master.tpl index c40ea84a..d2ddcc73 100644 --- a/software/m2html/templates/blue/master.tpl +++ b/software/m2html/templates/blue/master.tpl @@ -44,6 +44,6 @@ Search for View the Graph. -
    Generated on {DATE} by m2html © 2005
    +
    Generated by m2html © 2005
    diff --git a/software/m2html/templates/blue/mdir.tpl b/software/m2html/templates/blue/mdir.tpl index c89f534b..62f5c4a4 100644 --- a/software/m2html/templates/blue/mdir.tpl +++ b/software/m2html/templates/blue/mdir.tpl @@ -55,6 +55,6 @@
  • View the TODO list.
  • -
    Generated on {DATE} by m2html © 2005
    +
    Generated by m2html © 2005
    diff --git a/software/m2html/templates/blue/mfile.tpl b/software/m2html/templates/blue/mfile.tpl index 17bbb77e..6d245e36 100644 --- a/software/m2html/templates/blue/mfile.tpl +++ b/software/m2html/templates/blue/mfile.tpl @@ -65,6 +65,6 @@ This function is called by:
    {SOURCECODE}
    -
    Generated on {DATE} by m2html © 2005
    +
    Generated by m2html © 2005
    diff --git a/software/m2html/templates/blue/search.tpl b/software/m2html/templates/blue/search.tpl index c89e2036..1ad790f2 100644 --- a/software/m2html/templates/blue/search.tpl +++ b/software/m2html/templates/blue/search.tpl @@ -24,6 +24,6 @@ Search for m2html © 2005 +
    Generated by m2html © 2005
    diff --git a/software/m2html/templates/blue/todo.tpl b/software/m2html/templates/blue/todo.tpl index 356ef5d4..8a9828f9 100644 --- a/software/m2html/templates/blue/todo.tpl +++ b/software/m2html/templates/blue/todo.tpl @@ -23,6 +23,6 @@ -
    Generated on {DATE} by m2html © 2005
    +
    Generated by m2html © 2005
    From c0a9f2339d13c458fe9e87685234ab894dc03964 Mon Sep 17 00:00:00 2001 From: Eduard Kerkhoven Date: Mon, 8 Feb 2021 21:06:29 +0100 Subject: [PATCH 3/3] chore: rerun updateDocumentation --- doc/INIT/getINITModel.html | 2 +- doc/INIT/index.html | 2 +- doc/INIT/runINIT.html | 2 +- doc/core/FSEOF.html | 2 +- doc/core/addExchangeRxns.html | 2 +- doc/core/addGenesRaven.html | 2 +- doc/core/addMets.html | 2 +- doc/core/addRxns.html | 2 +- doc/core/addRxnsGenesMets.html | 2 +- doc/core/addTransport.html | 2 +- doc/core/analyzeSampling.html | 2 +- doc/core/buildEquation.html | 2 +- doc/core/canConsume.html | 2 +- doc/core/canProduce.html | 2 +- doc/core/changeGeneAssoc.html | 2 +- doc/core/changeGrRules.html | 2 +- doc/core/changeRxns.html | 2 +- doc/core/checkModelStruct.html | 2 +- doc/core/checkProduction.html | 2 +- doc/core/checkRxn.html | 2 +- doc/core/checkTasks.html | 2 +- doc/core/compareModels.html | 2 +- doc/core/compareMultipleModels.html | 2 +- doc/core/constructEquations.html | 2 +- doc/core/constructS.html | 2 +- doc/core/consumeSomething.html | 2 +- doc/core/contractModel.html | 2 +- doc/core/convertToIrrev.html | 2 +- doc/core/copyToComps.html | 2 +- doc/core/deleteUnusedGenes.html | 2 +- doc/core/dispEM.html | 2 +- doc/core/expandModel.html | 2 +- doc/core/fillGaps.html | 2 +- doc/core/findGeneDeletions.html | 2 +- doc/core/fitParameters.html | 2 +- doc/core/fitTasks.html | 2 +- doc/core/followChanged.html | 2 +- doc/core/followFluxes.html | 2 +- doc/core/gapReport.html | 2 +- doc/core/generateNewIds.html | 2 +- doc/core/getAllRxnsFromGenes.html | 2 +- doc/core/getAllSubGraphs.html | 2 +- doc/core/getAllowedBounds.html | 2 +- doc/core/getElementalBalance.html | 2 +- doc/core/getEssentialRxns.html | 2 +- doc/core/getExchangeRxns.html | 2 +- doc/core/getExpressionStructure.html | 2 +- doc/core/getFluxZ.html | 2 +- doc/core/getIndexes.html | 2 +- doc/core/getMetsInComp.html | 2 +- doc/core/getMinNrFluxes.html | 2 +- doc/core/getModelFromHomology.html | 2 +- doc/core/getObjectiveString.html | 2 +- doc/core/getRxnsInComp.html | 2 +- doc/core/getTransportRxns.html | 2 +- doc/core/guessComposition.html | 2 +- doc/core/haveFlux.html | 2 +- doc/core/index.html | 2 +- doc/core/makeSomething.html | 2 +- doc/core/mapCompartments.html | 2 +- doc/core/mergeCompartments.html | 2 +- doc/core/mergeModels.html | 2 +- doc/core/parseFormulas.html | 2 +- doc/core/parseRxnEqu.html | 2 +- doc/core/parseTaskList.html | 2 +- doc/core/permuteModel.html | 2 +- doc/core/predictLocalization.html | 2 +- doc/core/printFluxes.html | 2 +- doc/core/printModel.html | 2 +- doc/core/printModelStats.html | 2 +- doc/core/randomSampling.html | 2 +- doc/core/removeBadRxns.html | 2 +- doc/core/removeGenes.html | 2 +- doc/core/removeMets.html | 2 +- doc/core/removeReactions.html | 2 +- doc/core/replaceMets.html | 2 +- doc/core/reporterMetabolites.html | 2 +- doc/core/setExchangeBounds.html | 2 +- doc/core/setParam.html | 2 +- doc/core/simplifyModel.html | 2 +- doc/core/sortModel.html | 2 +- doc/core/standardizeGrRules.html | 2 +- doc/external/combineMetaCycKEGGModels.html | 2 +- doc/external/getBlast.html | 2 +- doc/external/getBlastFromExcel.html | 2 +- doc/external/getDiamond.html | 2 +- doc/external/getWoLFScores.html | 2 +- doc/external/index.html | 2 +- doc/external/kegg/constructMultiFasta.html | 2 +- doc/external/kegg/getGenesFromKEGG.html | 2 +- .../kegg/getKEGGModelForOrganism.html | 1481 +++++++++-------- doc/external/kegg/getMetsFromKEGG.html | 2 +- doc/external/kegg/getModelFromKEGG.html | 2 +- doc/external/kegg/getPhylDist.html | 2 +- doc/external/kegg/getRxnsFromKEGG.html | 2 +- doc/external/kegg/index.html | 2 +- doc/external/makeFakeBlastStructure.html | 2 +- doc/external/metacyc/addSpontaneousRxns.html | 2 +- .../metacyc/getEnzymesFromMetaCyc.html | 2 +- .../metacyc/getMetaCycModelForOrganism.html | 2 +- doc/external/metacyc/getMetsFromMetaCyc.html | 2 +- doc/external/metacyc/getModelFromMetaCyc.html | 2 +- doc/external/metacyc/getRxnsFromMetaCyc.html | 2 +- doc/external/metacyc/index.html | 2 +- doc/external/metacyc/linkMetaCycKEGGRxns.html | 2 +- doc/external/parseScores.html | 2 +- doc/external/updateDocumentation.html | 2 +- doc/hpa/index.html | 2 +- doc/hpa/parseHPA.html | 2 +- doc/hpa/parseHPArna.html | 2 +- doc/hpa/scoreModel.html | 2 +- doc/index.html | 2 +- doc/installation/addRavenToUserPath.html | 2 +- doc/installation/checkFunctionUniqueness.html | 2 +- doc/installation/checkInstallation.html | 2 +- doc/installation/index.html | 2 +- doc/io/SBMLFromExcel.html | 2 +- doc/io/addJavaPaths.html | 2 +- doc/io/checkFileExistence.html | 2 +- doc/io/cleanSheet.html | 2 +- doc/io/closeModel.html | 2 +- doc/io/exportForGit.html | 2 +- doc/io/exportModel.html | 2 +- doc/io/exportModelToSIF.html | 2 +- doc/io/exportToExcelFormat.html | 2 +- doc/io/exportToTabDelimited.html | 2 +- doc/io/getFullPath.html | 2 +- doc/io/getToolboxVersion.html | 2 +- doc/io/importExcelModel.html | 2 +- doc/io/importModel.html | 2 +- doc/io/index.html | 2 +- doc/io/loadSheet.html | 2 +- doc/io/loadWorkbook.html | 2 +- doc/io/startup.html | 2 +- doc/io/writeSheet.html | 2 +- doc/io/writeYaml.html | 2 +- .../constructPathwayFromCelldesigner.html | 2 +- doc/legacy/external/index.html | 2 +- doc/pathway/colorPathway.html | 2 +- doc/pathway/getPathwayDimensions.html | 2 +- doc/pathway/index.html | 2 +- doc/pathway/mapPathwayRxnNames.html | 2 +- doc/pathway/markPathwayWithExpression.html | 2 +- doc/pathway/markPathwayWithFluxes.html | 2 +- doc/pathway/trimPathway.html | 2 +- doc/plotting/colorSubsystem.html | 2 +- doc/plotting/drawMap.html | 2 +- doc/plotting/drawPathway.html | 2 +- doc/plotting/getColorCodes.html | 2 +- doc/plotting/index.html | 2 +- doc/plotting/plotAdditionalInfo.html | 2 +- doc/plotting/plotLabels.html | 2 +- doc/plotting/setColorToMapRxns.html | 2 +- doc/plotting/setOmicDataToRxns.html | 2 +- doc/plotting/setTitle.html | 2 +- doc/solver/checkSolution.html | 2 +- doc/solver/getMILPParams.html | 2 +- doc/solver/index.html | 2 +- doc/solver/optimizeProb.html | 2 +- doc/solver/qMOMA.html | 2 +- doc/solver/setRavenSolver.html | 2 +- doc/solver/solveLP.html | 2 +- doc/solver/solveQP.html | 2 +- doc/struct_conversion/cobraToGurobiProb.html | 2 +- doc/struct_conversion/cobraToMosekRes.html | 2 +- doc/struct_conversion/extractMiriam.html | 2 +- doc/struct_conversion/gurobiToCobraRes.html | 2 +- doc/struct_conversion/index.html | 2 +- doc/struct_conversion/ravenCobraWrapper.html | 2 +- .../standardizeModelFieldOrder.html | 2 +- doc/testing/index.html | 2 +- doc/testing/testBlast.html | 2 +- doc/testing/testDiamond.html | 2 +- doc/testing/unit_tests/index.html | 2 +- doc/testing/unit_tests/tinitTests.html | 2 +- doc/tutorial/index.html | 2 +- doc/tutorial/tutorial1.html | 2 +- doc/tutorial/tutorial2.html | 2 +- doc/tutorial/tutorial2_solutions.html | 2 +- doc/tutorial/tutorial3.html | 2 +- doc/tutorial/tutorial3_solutions.html | 2 +- doc/tutorial/tutorial4.html | 2 +- doc/tutorial/tutorial4_solutions.html | 2 +- doc/tutorial/tutorial5.html | 2 +- doc/tutorial/tutorial6.html | 2 +- 185 files changed, 928 insertions(+), 921 deletions(-) diff --git a/doc/INIT/getINITModel.html b/doc/INIT/getINITModel.html index e0866420..5c3d587f 100644 --- a/doc/INIT/getINITModel.html +++ b/doc/INIT/getINITModel.html @@ -609,6 +609,6 @@

    SOURCE CODE ^'\tMean gene score: ' num2str(geneS) '\n']); 0458 fprintf(['\tReactions with positive scores: ' num2str(100*sum(a>0)/numel(a)) '%%\n\n']); 0459 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/INIT/index.html b/doc/INIT/index.html index c64ad6bf..b30dedb3 100644 --- a/doc/INIT/index.html +++ b/doc/INIT/index.html @@ -24,6 +24,6 @@

    Matlab files in this directory:

    -
    Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/INIT/runINIT.html b/doc/INIT/runINIT.html index 99a945f5..a37eb130 100644 --- a/doc/INIT/runINIT.html +++ b/doc/INIT/runINIT.html @@ -447,6 +447,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/FSEOF.html b/doc/core/FSEOF.html index 39f645ae..b5f329f4 100644 --- a/doc/core/FSEOF.html +++ b/doc/core/FSEOF.html @@ -190,6 +190,6 @@

    SOURCE CODE ^%Slope calculation 0133 end 0134 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/addExchangeRxns.html b/doc/core/addExchangeRxns.html index 857e5866..e1aad455 100644 --- a/doc/core/addExchangeRxns.html +++ b/doc/core/addExchangeRxns.html @@ -151,6 +151,6 @@

    SOURCE CODE ^end 0089 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/addGenesRaven.html b/doc/core/addGenesRaven.html index ddd26be3..9e98b7c6 100644 --- a/doc/core/addGenesRaven.html +++ b/doc/core/addGenesRaven.html @@ -187,6 +187,6 @@

    SOURCE CODE ^end 0124 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/addMets.html b/doc/core/addMets.html index 0badf1b8..87f6e07d 100644 --- a/doc/core/addMets.html +++ b/doc/core/addMets.html @@ -412,6 +412,6 @@

    SOURCE CODE ^end 0317 end 0318 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/addRxns.html b/doc/core/addRxns.html index de690e3f..8c1bee88 100644 --- a/doc/core/addRxns.html +++ b/doc/core/addRxns.html @@ -799,6 +799,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/addRxnsGenesMets.html b/doc/core/addRxnsGenesMets.html index 1b41db9f..58da5011 100644 --- a/doc/core/addRxnsGenesMets.html +++ b/doc/core/addRxnsGenesMets.html @@ -254,6 +254,6 @@

    SOURCE CODE ^'\nNumber of reactions added to the model:\n') 0170 fprintf([num2str(numel(rxnIdx)),'\n']) 0171 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/addTransport.html b/doc/core/addTransport.html index 0c7f24b3..4f1d4aba 100644 --- a/doc/core/addTransport.html +++ b/doc/core/addTransport.html @@ -244,6 +244,6 @@

    SOURCE CODE ^end 0178 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/analyzeSampling.html b/doc/core/analyzeSampling.html index 40e55d52..f1697543 100644 --- a/doc/core/analyzeSampling.html +++ b/doc/core/analyzeSampling.html @@ -183,6 +183,6 @@

    SOURCE CODE ^end 0112 end 0113 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/buildEquation.html b/doc/core/buildEquation.html index 4b4ccc65..4b812c3a 100644 --- a/doc/core/buildEquation.html +++ b/doc/core/buildEquation.html @@ -122,6 +122,6 @@

    SOURCE CODE ^end 0068 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/canConsume.html b/doc/core/canConsume.html index df578702..47cf03b1 100644 --- a/doc/core/canConsume.html +++ b/doc/core/canConsume.html @@ -76,6 +76,6 @@

    SOURCE CODE ^addExchangeRxns(model,'in',mets); 0021 consumed=haveFlux(model,10^-5,rxns); 0022 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/canProduce.html b/doc/core/canProduce.html index 775a9abc..823bfb08 100644 --- a/doc/core/canProduce.html +++ b/doc/core/canProduce.html @@ -78,6 +78,6 @@

    SOURCE CODE ^addExchangeRxns(model,'out',mets); 0022 produced=haveFlux(model,10^-5,rxns); 0023 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/changeGeneAssoc.html b/doc/core/changeGeneAssoc.html index 23a9fd5e..7c1cb4ae 100644 --- a/doc/core/changeGeneAssoc.html +++ b/doc/core/changeGeneAssoc.html @@ -110,6 +110,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/changeGrRules.html b/doc/core/changeGrRules.html index c56bdfcd..f62b1f3a 100644 --- a/doc/core/changeGrRules.html +++ b/doc/core/changeGrRules.html @@ -114,6 +114,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/changeRxns.html b/doc/core/changeRxns.html index a1712992..8b5972ee 100644 --- a/doc/core/changeRxns.html +++ b/doc/core/changeRxns.html @@ -245,6 +245,6 @@

    SOURCE CODE ^addRxns(model,rxnsToChange,eqnType,compartment,allowNewMets); 0150 model=permuteModel(model,order,'rxns'); 0151 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/checkModelStruct.html b/doc/core/checkModelStruct.html index 6e10df1e..8c1f5c05 100644 --- a/doc/core/checkModelStruct.html +++ b/doc/core/checkModelStruct.html @@ -415,6 +415,6 @@

    SOURCE CODE ^end 0358 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/checkProduction.html b/doc/core/checkProduction.html index 9637c166..8c828f82 100644 --- a/doc/core/checkProduction.html +++ b/doc/core/checkProduction.html @@ -235,6 +235,6 @@

    SOURCE CODE ^end 0151 end 0152 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/checkRxn.html b/doc/core/checkRxn.html index ee85bccc..43c4f589 100644 --- a/doc/core/checkRxn.html +++ b/doc/core/checkRxn.html @@ -154,6 +154,6 @@

    SOURCE CODE ^end 0090 end 0091 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/checkTasks.html b/doc/core/checkTasks.html index d9b78502..768a9b79 100644 --- a/doc/core/checkTasks.html +++ b/doc/core/checkTasks.html @@ -338,6 +338,6 @@

    SOURCE CODE ^end 0254 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/compareModels.html b/doc/core/compareModels.html index 4b535ae2..5a2eb0b3 100644 --- a/doc/core/compareModels.html +++ b/doc/core/compareModels.html @@ -242,6 +242,6 @@

    SOURCE CODE ^end 0174 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/compareMultipleModels.html b/doc/core/compareMultipleModels.html index 2c3c725b..1c2d6a78 100644 --- a/doc/core/compareMultipleModels.html +++ b/doc/core/compareMultipleModels.html @@ -511,6 +511,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/constructEquations.html b/doc/core/constructEquations.html index ab1aff26..52376acf 100644 --- a/doc/core/constructEquations.html +++ b/doc/core/constructEquations.html @@ -162,6 +162,6 @@

    SOURCE CODE ^end 0091 0092 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/constructS.html b/doc/core/constructS.html index a08aafe6..447fb77d 100644 --- a/doc/core/constructS.html +++ b/doc/core/constructS.html @@ -216,6 +216,6 @@

    SOURCE CODE ^end 0150 end 0151 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/consumeSomething.html b/doc/core/consumeSomething.html index 884fe6b6..f716afe5 100644 --- a/doc/core/consumeSomething.html +++ b/doc/core/consumeSomething.html @@ -256,6 +256,6 @@

    SOURCE CODE ^end 0174 end 0175 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/contractModel.html b/doc/core/contractModel.html index 20eef951..fa507786 100644 --- a/doc/core/contractModel.html +++ b/doc/core/contractModel.html @@ -184,6 +184,6 @@

    SOURCE CODE ^end 0124 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/convertToIrrev.html b/doc/core/convertToIrrev.html index 41a70c75..61376c46 100644 --- a/doc/core/convertToIrrev.html +++ b/doc/core/convertToIrrev.html @@ -147,6 +147,6 @@

    SOURCE CODE ^end 0092 end 0093 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/copyToComps.html b/doc/core/copyToComps.html index 5dcffc30..a078d4ff 100644 --- a/doc/core/copyToComps.html +++ b/doc/core/copyToComps.html @@ -153,6 +153,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/deleteUnusedGenes.html b/doc/core/deleteUnusedGenes.html index f0598306..16829619 100644 --- a/doc/core/deleteUnusedGenes.html +++ b/doc/core/deleteUnusedGenes.html @@ -88,6 +88,6 @@

    SOURCE CODE ^end 0039 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/dispEM.html b/doc/core/dispEM.html index b286f7d1..93bcf6bc 100644 --- a/doc/core/dispEM.html +++ b/doc/core/dispEM.html @@ -104,6 +104,6 @@

    SOURCE CODE ^'',errorText)); 0048 end 0049 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/expandModel.html b/doc/core/expandModel.html index 0c328deb..8284857c 100644 --- a/doc/core/expandModel.html +++ b/doc/core/expandModel.html @@ -185,6 +185,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/fillGaps.html b/doc/core/fillGaps.html index a9b9a92d..0ce8c106 100644 --- a/doc/core/fillGaps.html +++ b/doc/core/fillGaps.html @@ -322,6 +322,6 @@

    SOURCE CODE ^'rxnScores'); 0218 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/findGeneDeletions.html b/doc/core/findGeneDeletions.html index c06e06f2..40937171 100644 --- a/doc/core/findGeneDeletions.html +++ b/doc/core/findGeneDeletions.html @@ -264,6 +264,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/fitParameters.html b/doc/core/fitParameters.html index 50e1cb3c..f40cba8b 100644 --- a/doc/core/fitParameters.html +++ b/doc/core/fitParameters.html @@ -189,6 +189,6 @@

    SOURCE CODE ^end 0112 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/fitTasks.html b/doc/core/fitTasks.html index 54e5cbc4..537561fe 100644 --- a/doc/core/fitTasks.html +++ b/doc/core/fitTasks.html @@ -408,6 +408,6 @@

    SOURCE CODE ^end 0329 outModel=model; 0330 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/followChanged.html b/doc/core/followChanged.html index f64077a2..c6fb706f 100644 --- a/doc/core/followChanged.html +++ b/doc/core/followChanged.html @@ -163,6 +163,6 @@

    SOURCE CODE ^end 0102 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/followFluxes.html b/doc/core/followFluxes.html index 31f259a4..0a94115a 100644 --- a/doc/core/followFluxes.html +++ b/doc/core/followFluxes.html @@ -104,6 +104,6 @@

    SOURCE CODE ^end 0049 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/gapReport.html b/doc/core/gapReport.html index ebf19b59..cfe9b10c 100644 --- a/doc/core/gapReport.html +++ b/doc/core/gapReport.html @@ -188,6 +188,6 @@

    SOURCE CODE ^' unconnected reactions can be connected by including ' num2str(numel(addedFromTemplates)) ' reactions from\n' t '\n']); 0107 end 0108 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/generateNewIds.html b/doc/core/generateNewIds.html index 8c5cb672..fb074a5e 100644 --- a/doc/core/generateNewIds.html +++ b/doc/core/generateNewIds.html @@ -110,6 +110,6 @@

    SOURCE CODE ^'%0' num2str(numLength) 'd'])]; 0052 end 0053 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/getAllRxnsFromGenes.html b/doc/core/getAllRxnsFromGenes.html index d35fe279..d1b9e4c0 100644 --- a/doc/core/getAllRxnsFromGenes.html +++ b/doc/core/getAllRxnsFromGenes.html @@ -93,6 +93,6 @@

    SOURCE CODE ^end 0036 end 0037 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/getAllSubGraphs.html b/doc/core/getAllSubGraphs.html index e5c2941d..de4fc975 100644 --- a/doc/core/getAllSubGraphs.html +++ b/doc/core/getAllSubGraphs.html @@ -115,6 +115,6 @@

    SOURCE CODE ^%Also remove empty subgraphs (can happen when metabolites are never used) 0060 subGraphs(:,sum(subGraphs)==0)=[]; 0061 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/getAllowedBounds.html b/doc/core/getAllowedBounds.html index 0318a740..fc681b32 100644 --- a/doc/core/getAllowedBounds.html +++ b/doc/core/getAllowedBounds.html @@ -112,6 +112,6 @@

    SOURCE CODE ^end 0054 end 0055 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/getElementalBalance.html b/doc/core/getElementalBalance.html index 1fa092a7..aada6e53 100644 --- a/doc/core/getElementalBalance.html +++ b/doc/core/getElementalBalance.html @@ -208,6 +208,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/getEssentialRxns.html b/doc/core/getEssentialRxns.html index 0ead76d4..b4b261b7 100644 --- a/doc/core/getEssentialRxns.html +++ b/doc/core/getEssentialRxns.html @@ -119,6 +119,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/getExchangeRxns.html b/doc/core/getExchangeRxns.html index ae3ba505..9a4d0c5d 100644 --- a/doc/core/getExchangeRxns.html +++ b/doc/core/getExchangeRxns.html @@ -102,6 +102,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/getExpressionStructure.html b/doc/core/getExpressionStructure.html index 9a4f1d77..c7233cc1 100644 --- a/doc/core/getExpressionStructure.html +++ b/doc/core/getExpressionStructure.html @@ -175,6 +175,6 @@

    SOURCE CODE ^dispEM(EM); 0087 end 0088 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/getFluxZ.html b/doc/core/getFluxZ.html index 0b719c90..8f17bb74 100644 --- a/doc/core/getFluxZ.html +++ b/doc/core/getFluxZ.html @@ -115,6 +115,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/getIndexes.html b/doc/core/getIndexes.html index 85e1eab2..c59ada7d 100644 --- a/doc/core/getIndexes.html +++ b/doc/core/getIndexes.html @@ -167,6 +167,6 @@

    SOURCE CODE ^end 0106 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/getMetsInComp.html b/doc/core/getMetsInComp.html index 70bc73e0..9feb3bc3 100644 --- a/doc/core/getMetsInComp.html +++ b/doc/core/getMetsInComp.html @@ -77,6 +77,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/getMinNrFluxes.html b/doc/core/getMinNrFluxes.html index 5e3f991f..20ab4ad9 100644 --- a/doc/core/getMinNrFluxes.html +++ b/doc/core/getMinNrFluxes.html @@ -238,6 +238,6 @@

    SOURCE CODE ^'_REV','')); 0170 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/getModelFromHomology.html b/doc/core/getModelFromHomology.html index 2bc20cb3..00090b7d 100644 --- a/doc/core/getModelFromHomology.html +++ b/doc/core/getModelFromHomology.html @@ -623,6 +623,6 @@

    SOURCE CODE ^%Standardize grRules and notify if problematic grRules are found 0517 [draftModel.grRules,draftModel.rxnGeneMat]=standardizeGrRules(draftModel,false); 0518 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/getObjectiveString.html b/doc/core/getObjectiveString.html index 925da578..785e70c7 100644 --- a/doc/core/getObjectiveString.html +++ b/doc/core/getObjectiveString.html @@ -109,6 +109,6 @@

    SOURCE CODE ^end 0055 end 0056 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/getRxnsInComp.html b/doc/core/getRxnsInComp.html index 854c2730..ed0df70f 100644 --- a/doc/core/getRxnsInComp.html +++ b/doc/core/getRxnsInComp.html @@ -97,6 +97,6 @@

    SOURCE CODE ^end 0042 rxnNames=model.rxnNames(I); 0043 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/getTransportRxns.html b/doc/core/getTransportRxns.html index 89d6238e..8eb4487b 100644 --- a/doc/core/getTransportRxns.html +++ b/doc/core/getTransportRxns.html @@ -75,6 +75,6 @@

    SOURCE CODE ^end 0022 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/guessComposition.html b/doc/core/guessComposition.html index 5022fd49..eba3f27b 100644 --- a/doc/core/guessComposition.html +++ b/doc/core/guessComposition.html @@ -242,6 +242,6 @@

    SOURCE CODE ^end 0165 end 0166 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/haveFlux.html b/doc/core/haveFlux.html index ec78e9ce..1f7befac 100644 --- a/doc/core/haveFlux.html +++ b/doc/core/haveFlux.html @@ -135,6 +135,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/index.html b/doc/core/index.html index 2b1bfbca..49cc1fca 100644 --- a/doc/core/index.html +++ b/doc/core/index.html @@ -24,6 +24,6 @@

    Matlab files in this directory:

    -
    Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/makeSomething.html b/doc/core/makeSomething.html index 7d87418c..ca637d74 100644 --- a/doc/core/makeSomething.html +++ b/doc/core/makeSomething.html @@ -268,6 +268,6 @@

    SOURCE CODE ^end 0184 end 0185 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/mapCompartments.html b/doc/core/mapCompartments.html index 5a532896..f54e3c59 100644 --- a/doc/core/mapCompartments.html +++ b/doc/core/mapCompartments.html @@ -209,6 +209,6 @@

    SOURCE CODE ^end 0160 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/mergeCompartments.html b/doc/core/mergeCompartments.html index 65b3da08..9f16ae4e 100644 --- a/doc/core/mergeCompartments.html +++ b/doc/core/mergeCompartments.html @@ -204,6 +204,6 @@

    SOURCE CODE ^%And then finally merge the identical reactions 0130 [model, ~, duplicateRxns]=contractModel(model,distReverse); 0131 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/mergeModels.html b/doc/core/mergeModels.html index a51a29ed..e57ca97e 100644 --- a/doc/core/mergeModels.html +++ b/doc/core/mergeModels.html @@ -606,6 +606,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/parseFormulas.html b/doc/core/parseFormulas.html index 94a2c38b..9c860042 100644 --- a/doc/core/parseFormulas.html +++ b/doc/core/parseFormulas.html @@ -313,6 +313,6 @@

    SOURCE CODE ^end 0242 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/parseRxnEqu.html b/doc/core/parseRxnEqu.html index c7f66298..e80c71e7 100644 --- a/doc/core/parseRxnEqu.html +++ b/doc/core/parseRxnEqu.html @@ -130,6 +130,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/parseTaskList.html b/doc/core/parseTaskList.html index be77878f..e3796573 100644 --- a/doc/core/parseTaskList.html +++ b/doc/core/parseTaskList.html @@ -434,6 +434,6 @@

    SOURCE CODE ^%Should add more checks, such as unique IDs and missing headers 0283 0284 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/permuteModel.html b/doc/core/permuteModel.html index 4b99d47f..e09feed4 100644 --- a/doc/core/permuteModel.html +++ b/doc/core/permuteModel.html @@ -164,6 +164,6 @@

    SOURCE CODE ^end 0111 end 0112 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/predictLocalization.html b/doc/core/predictLocalization.html index 4edf8cd2..c6572bf0 100644 --- a/doc/core/predictLocalization.html +++ b/doc/core/predictLocalization.html @@ -1091,6 +1091,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/printFluxes.html b/doc/core/printFluxes.html index eaed2f79..da58896f 100644 --- a/doc/core/printFluxes.html +++ b/doc/core/printFluxes.html @@ -257,6 +257,6 @@

    SOURCE CODE ^end 0182 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/printModel.html b/doc/core/printModel.html index a5ee39c6..2e8bd0d7 100644 --- a/doc/core/printModel.html +++ b/doc/core/printModel.html @@ -140,6 +140,6 @@

    SOURCE CODE ^printFluxes(model, I, false, 0.1, outputFile,outputString); 0063 end 0064 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/printModelStats.html b/doc/core/printModelStats.html index 1b759dd7..c5815ba4 100644 --- a/doc/core/printModelStats.html +++ b/doc/core/printModelStats.html @@ -216,6 +216,6 @@

    SOURCE CODE ^end 0162 end 0163 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/randomSampling.html b/doc/core/randomSampling.html index d90ea975..211b6f1c 100644 --- a/doc/core/randomSampling.html +++ b/doc/core/randomSampling.html @@ -269,6 +269,6 @@

    SOURCE CODE ^end 0180 I=I(:); 0181 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/removeBadRxns.html b/doc/core/removeBadRxns.html index c160b899..12245428 100644 --- a/doc/core/removeBadRxns.html +++ b/doc/core/removeBadRxns.html @@ -348,6 +348,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/removeGenes.html b/doc/core/removeGenes.html index 6e1cd122..43833d99 100644 --- a/doc/core/removeGenes.html +++ b/doc/core/removeGenes.html @@ -189,6 +189,6 @@

    SOURCE CODE ^' or '); 0129 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/removeMets.html b/doc/core/removeMets.html index 477e84d0..3ac02121 100644 --- a/doc/core/removeMets.html +++ b/doc/core/removeMets.html @@ -192,6 +192,6 @@

    SOURCE CODE ^end 0127 end 0128 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/removeReactions.html b/doc/core/removeReactions.html index 44a5d471..70323e42 100644 --- a/doc/core/removeReactions.html +++ b/doc/core/removeReactions.html @@ -203,6 +203,6 @@

    SOURCE CODE ^end 0144 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/replaceMets.html b/doc/core/replaceMets.html index cf064275..ef9fb7b6 100644 --- a/doc/core/replaceMets.html +++ b/doc/core/replaceMets.html @@ -163,6 +163,6 @@

    SOURCE CODE ^% This could now have created duplicate reactions. Contract model. 0104 model=contractModel(model); 0105 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/reporterMetabolites.html b/doc/core/reporterMetabolites.html index ff4c6bbb..4e6ef3b7 100644 --- a/doc/core/reporterMetabolites.html +++ b/doc/core/reporterMetabolites.html @@ -268,6 +268,6 @@

    SOURCE CODE ^end 0188 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/setExchangeBounds.html b/doc/core/setExchangeBounds.html index 56660864..73bf7bf5 100644 --- a/doc/core/setExchangeBounds.html +++ b/doc/core/setExchangeBounds.html @@ -304,6 +304,6 @@

    SOURCE CODE ^ -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/setParam.html b/doc/core/setParam.html index 1f9acefe..a6f88740 100644 --- a/doc/core/setParam.html +++ b/doc/core/setParam.html @@ -161,6 +161,6 @@

    SOURCE CODE ^end 0096 end 0097 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/simplifyModel.html b/doc/core/simplifyModel.html index 0c0e5e50..f27f7c5e 100644 --- a/doc/core/simplifyModel.html +++ b/doc/core/simplifyModel.html @@ -393,6 +393,6 @@

    SOURCE CODE ^end 0317 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/sortModel.html b/doc/core/sortModel.html index 43bb68ce..26ee663c 100644 --- a/doc/core/sortModel.html +++ b/doc/core/sortModel.html @@ -241,6 +241,6 @@

    SOURCE CODE ^end 0180 end 0181 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/core/standardizeGrRules.html b/doc/core/standardizeGrRules.html index 301630ec..fc7c13f7 100644 --- a/doc/core/standardizeGrRules.html +++ b/doc/core/standardizeGrRules.html @@ -232,6 +232,6 @@

    SOURCE CODE ^' AND ',' and '); 0167 grRules=strrep(grRules,' OR ',' or '); 0168 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/combineMetaCycKEGGModels.html b/doc/external/combineMetaCycKEGGModels.html index e88bf23a..7015aa6d 100644 --- a/doc/external/combineMetaCycKEGGModels.html +++ b/doc/external/combineMetaCycKEGGModels.html @@ -375,6 +375,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/getBlast.html b/doc/external/getBlast.html index 3dcd4841..09ddcfcb 100644 --- a/doc/external/getBlast.html +++ b/doc/external/getBlast.html @@ -206,6 +206,6 @@

    SOURCE CODE ^%Remove the old tempfiles 0137 delete([outFile '*']); 0138 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/getBlastFromExcel.html b/doc/external/getBlastFromExcel.html index 76367eb4..3f3a4900 100644 --- a/doc/external/getBlastFromExcel.html +++ b/doc/external/getBlastFromExcel.html @@ -179,6 +179,6 @@

    SOURCE CODE ^end 0112 0113 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/getDiamond.html b/doc/external/getDiamond.html index 5204e6a2..eda2386c 100644 --- a/doc/external/getDiamond.html +++ b/doc/external/getDiamond.html @@ -208,6 +208,6 @@

    SOURCE CODE ^%Remove the old tempfiles 0138 delete([outFile '*']); 0139 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/getWoLFScores.html b/doc/external/getWoLFScores.html index 1f76b717..339bffba 100644 --- a/doc/external/getWoLFScores.html +++ b/doc/external/getWoLFScores.html @@ -109,6 +109,6 @@

    SOURCE CODE ^%Clean up 0051 delete(outFile); 0052 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/index.html b/doc/external/index.html index a84b90fa..8521638f 100644 --- a/doc/external/index.html +++ b/doc/external/index.html @@ -26,6 +26,6 @@

    Subsequent directories:

    -
    Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/kegg/constructMultiFasta.html b/doc/external/kegg/constructMultiFasta.html index 4b924e6f..980bfae6 100644 --- a/doc/external/kegg/constructMultiFasta.html +++ b/doc/external/kegg/constructMultiFasta.html @@ -229,6 +229,6 @@

    SOURCE CODE ^'.out',''); 0171 files=strrep(files,'.faw',''); 0172 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/kegg/getGenesFromKEGG.html b/doc/external/kegg/getGenesFromKEGG.html index 2bc24f21..3b1c14f4 100644 --- a/doc/external/kegg/getGenesFromKEGG.html +++ b/doc/external/kegg/getGenesFromKEGG.html @@ -443,6 +443,6 @@

    SOURCE CODE ^end 0337 allKOs=unique(allKOs); 0338 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/kegg/getKEGGModelForOrganism.html b/doc/external/kegg/getKEGGModelForOrganism.html index eee81511..db647501 100644 --- a/doc/external/kegg/getKEGGModelForOrganism.html +++ b/doc/external/kegg/getKEGGModelForOrganism.html @@ -680,750 +680,757 @@

    SOURCE CODE ^'Downloading the HMMs archive file... '); -0376 websave([dataDir,'.zip'],['https://chalmersuniversity.box.com/shared/static/',hmmLinks{hmmIndex},'.zip']); -0377 fprintf('COMPLETE\n'); -0378 fprintf('Extracting the HMMs archive file... '); -0379 unzip([dataDir,'.zip']); -0380 fprintf('COMPLETE\n'); -0381 end -0382 %Check if HMMs are extracted -0383 if ~exist(fullfile(dataDir,'hmms','K00844.hmm'),'file') -0384 EM=['The HMM files seem improperly extracted and not found in ',dataDir,'/hmms. Please remove ',dataDir,' folder and rerun getKEGGModelForOrganism']; -0385 disp(EM); -0386 error('Fatal error occured. See the details above'); -0387 end -0388 end -0389 end -0390 -0391 %Check if the fasta-file contains '/' or'\'. If not then it's probably just -0392 %a file name. Expand to full path. -0393 if any(fastaFile) -0394 if ~any(strfind(fastaFile,'\')) && ~any(strfind(fastaFile,'/')) -0395 fastaFile=which(fastaFile); -0396 end -0397 %Create the required sub-folders in dataDir if they dont exist -0398 if ~exist(fullfile(dataDir,'keggdb'),'dir') -0399 mkdir(dataDir,'keggdb'); -0400 end -0401 if ~exist(fullfile(dataDir,'fasta'),'dir') -0402 mkdir(dataDir,'fasta'); +0376 try +0377 websave([dataDir,'.zip'],['https://chalmersuniversity.box.com/shared/static/',hmmLinks{hmmIndex},'.zip']); +0378 catch ME +0379 if strcmp(ME.identifier,'MATLAB:webservices:HTTP404StatusCodeError') +0380 error('Failed to download the HMMs archive file, the server returned a 404 error, try again later. If the problem persists please report it on the RAVEN GitHub Issues page: https://github.com/SysBioChalmers/RAVEN/issues') +0381 end +0382 end +0383 +0384 fprintf('COMPLETE\n'); +0385 fprintf('Extracting the HMMs archive file... '); +0386 unzip([dataDir,'.zip']); +0387 fprintf('COMPLETE\n'); +0388 end +0389 %Check if HMMs are extracted +0390 if ~exist(fullfile(dataDir,'hmms','K00844.hmm'),'file') +0391 EM=['The HMM files seem improperly extracted and not found in ',dataDir,'/hmms. Please remove ',dataDir,' folder and rerun getKEGGModelForOrganism']; +0392 disp(EM); +0393 error('Fatal error occured. See the details above'); +0394 end +0395 end +0396 end +0397 +0398 %Check if the fasta-file contains '/' or'\'. If not then it's probably just +0399 %a file name. Expand to full path. +0400 if any(fastaFile) +0401 if ~any(strfind(fastaFile,'\')) && ~any(strfind(fastaFile,'/')) +0402 fastaFile=which(fastaFile); 0403 end -0404 if ~exist(fullfile(dataDir,'aligned'),'dir') -0405 mkdir(dataDir,'aligned'); -0406 end -0407 if ~exist(fullfile(dataDir,'hmms'),'dir') -0408 mkdir(dataDir,'hmms'); -0409 end -0410 if ~exist(outDir,'dir') -0411 mkdir(outDir); -0412 end -0413 end -0414 -0415 %First generate the full KEGG model. The dataDir must not be supplied as -0416 %there is also an internal RAVEN version available -0417 if any(dataDir) -0418 [model, KOModel]=getModelFromKEGG(fullfile(dataDir,'keggdb'),keepSpontaneous,keepUndefinedStoich,keepIncomplete,keepGeneral); -0419 else -0420 [model, KOModel]=getModelFromKEGG([],keepSpontaneous,keepUndefinedStoich,keepIncomplete,keepGeneral); -0421 end -0422 model.id=organismID; -0423 model.c=zeros(numel(model.rxns),1); -0424 -0425 %If no FASTA file is supplied, then just remove all genes which are not for -0426 %the given organism ID -0427 if isempty(fastaFile) -0428 fprintf(['Pruning the model from <strong>non-' organismID '</strong> genes... ']); -0429 if ismember(organismID,{'eukaryotes','prokaryotes'}) -0430 phylDists=getPhylDist(fullfile(dataDir,'keggdb'),maxPhylDist==-1); -0431 if strcmp(organismID,'eukaryotes') -0432 proxyid='hsa'; -0433 %Use H. sapiens here -0434 else -0435 proxyid='eco'; -0436 %Use E. coli here -0437 end -0438 [~, phylDistId]=ismember(proxyid,phylDists.ids); -0439 idsToKeep=phylDists.ids(~isinf(phylDists.distMat(phylDistId,:))); -0440 taxIDs=cellfun(@(x) x{1},cellfun(@(x) strsplit(x,':'),model.genes,'UniformOutput',false),'UniformOutput',false); -0441 I=ismember(upper(taxIDs),upper(idsToKeep)); -0442 else -0443 %KEGG organism IDs may have three or four letters -0444 organismID=strcat(organismID,':'); -0445 %Add colon for accurate matching -0446 if length(organismID)==4 -0447 I=cellfun(@(x) strcmpi(x(1:4),organismID),model.genes); -0448 elseif length(organismID)==5 -0449 I=cellfun(@(x) strcmpi(x(1:5),organismID),model.genes); -0450 end -0451 end -0452 %Remove those genes -0453 model.genes=model.genes(I); -0454 model.rxnGeneMat=model.rxnGeneMat(:,I); -0455 fprintf('COMPLETE\n'); -0456 end -0457 -0458 %First remove all reactions without genes -0459 if keepSpontaneous==true -0460 fprintf('Removing non-spontaneous reactions without GPR rules... '); -0461 load(fullfile(ravenPath,'external','kegg','keggRxns.mat'),'isSpontaneous'); -0462 I=~any(model.rxnGeneMat,2)&~ismember(model.rxns,isSpontaneous); -0463 spontRxnsWithGenes=model.rxns(any(model.rxnGeneMat,2)&~ismember(model.rxns,isSpontaneous)); -0464 else -0465 fprintf('Removing reactions without GPR rules... '); -0466 I=~any(model.rxnGeneMat,2); -0467 end -0468 model=removeReactions(model,I,true); -0469 fprintf('COMPLETE\n'); -0470 -0471 %Clean gene names -0472 fprintf('Fixing gene names in the model... '); -0473 for i=1:numel(model.genes) -0474 %First get rid of the prefix organism id -0475 model.genes{i}=model.genes{i}(strfind(model.genes{i},':')+1:end); -0476 %Find and remove the description in parentheses if any -0477 s=strfind(model.genes{i},'('); -0478 if any(s) -0479 model.genes{i}=model.genes{i}(1:s-1); -0480 end -0481 end -0482 fprintf('COMPLETE\n'); -0483 -0484 %If no FASTA file is supplied, then we are done here -0485 if isempty(fastaFile) -0486 %Create grRules -0487 fprintf('Constructing GPR associations and annotations for the model... '); -0488 model.grRules=cell(numel(model.rxns),1); -0489 model.grRules(:)={''}; -0490 %Add the gene associations as 'or' -0491 for i=1:numel(model.rxns) -0492 %Find the involved genes -0493 I=find(model.rxnGeneMat(i,:)); -0494 if any(I) -0495 model.grRules{i}=['(' model.genes{I(1)}]; -0496 for j=2:numel(I) -0497 model.grRules{i}=[model.grRules{i} ' or ' model.genes{I(j)}]; -0498 end -0499 model.grRules{i}=[model.grRules{i} ')']; -0500 end -0501 end -0502 %Fix grRules and reconstruct rxnGeneMat -0503 [grRules,rxnGeneMat] = standardizeGrRules(model); %Give detailed output -0504 model.grRules = grRules; -0505 model.rxnGeneMat = rxnGeneMat; -0506 %Add geneMiriams, assuming that it follows the syntax -0507 %kegg.genes/organismID:geneName -0508 model.geneMiriams=''; -0509 for i=1:numel(model.genes) -0510 model.geneMiriams{i,1}.name{1,1}='kegg.genes'; -0511 model.geneMiriams{i,1}.value{1,1}=strcat(lower(organismID),model.genes{i,1}); -0512 end -0513 %Add the description to the reactions -0514 for i=1:numel(model.rxns) -0515 if ~isempty(model.rxnNotes{i}) -0516 model.rxnNotes(i)=strcat('Included by getKEGGModelForOrganism (without HMMs).',model.rxnNotes(i)); -0517 model.rxnNotes(i)=strrep(model.rxnNotes(i),'.','. '); -0518 else -0519 model.rxnNotes(i)={'Included by getKEGGModelForOrganism (without HMMs)'}; -0520 end -0521 end -0522 fprintf('COMPLETE\n\n'); -0523 fprintf('*** Model reconstruction complete ***\n'); -0524 return; -0525 end -0526 -0527 %Create a phylogenetic distance structure -0528 phylDistStruct=getPhylDist(fullfile(dataDir,'keggdb'),maxPhylDist==-1); -0529 [~, phylDistId]=ismember(model.id,phylDistStruct.ids); -0530 -0531 %Calculate the real maximal distance now. An abitary large number of 1000 -0532 %is used for the "all in kingdom" or "all sequences" options. This is a bit -0533 %inconvenient way to do it, but it is to make it fit with some older code -0534 if isinf(maxPhylDist) || maxPhylDist==-1 -0535 maxPhylDist=1000; -0536 end +0404 %Create the required sub-folders in dataDir if they dont exist +0405 if ~exist(fullfile(dataDir,'keggdb'),'dir') +0406 mkdir(dataDir,'keggdb'); +0407 end +0408 if ~exist(fullfile(dataDir,'fasta'),'dir') +0409 mkdir(dataDir,'fasta'); +0410 end +0411 if ~exist(fullfile(dataDir,'aligned'),'dir') +0412 mkdir(dataDir,'aligned'); +0413 end +0414 if ~exist(fullfile(dataDir,'hmms'),'dir') +0415 mkdir(dataDir,'hmms'); +0416 end +0417 if ~exist(outDir,'dir') +0418 mkdir(outDir); +0419 end +0420 end +0421 +0422 %First generate the full KEGG model. The dataDir must not be supplied as +0423 %there is also an internal RAVEN version available +0424 if any(dataDir) +0425 [model, KOModel]=getModelFromKEGG(fullfile(dataDir,'keggdb'),keepSpontaneous,keepUndefinedStoich,keepIncomplete,keepGeneral); +0426 else +0427 [model, KOModel]=getModelFromKEGG([],keepSpontaneous,keepUndefinedStoich,keepIncomplete,keepGeneral); +0428 end +0429 model.id=organismID; +0430 model.c=zeros(numel(model.rxns),1); +0431 +0432 %If no FASTA file is supplied, then just remove all genes which are not for +0433 %the given organism ID +0434 if isempty(fastaFile) +0435 fprintf(['Pruning the model from <strong>non-' organismID '</strong> genes... ']); +0436 if ismember(organismID,{'eukaryotes','prokaryotes'}) +0437 phylDists=getPhylDist(fullfile(dataDir,'keggdb'),maxPhylDist==-1); +0438 if strcmp(organismID,'eukaryotes') +0439 proxyid='hsa'; +0440 %Use H. sapiens here +0441 else +0442 proxyid='eco'; +0443 %Use E. coli here +0444 end +0445 [~, phylDistId]=ismember(proxyid,phylDists.ids); +0446 idsToKeep=phylDists.ids(~isinf(phylDists.distMat(phylDistId,:))); +0447 taxIDs=cellfun(@(x) x{1},cellfun(@(x) strsplit(x,':'),model.genes,'UniformOutput',false),'UniformOutput',false); +0448 I=ismember(upper(taxIDs),upper(idsToKeep)); +0449 else +0450 %KEGG organism IDs may have three or four letters +0451 organismID=strcat(organismID,':'); +0452 %Add colon for accurate matching +0453 if length(organismID)==4 +0454 I=cellfun(@(x) strcmpi(x(1:4),organismID),model.genes); +0455 elseif length(organismID)==5 +0456 I=cellfun(@(x) strcmpi(x(1:5),organismID),model.genes); +0457 end +0458 end +0459 %Remove those genes +0460 model.genes=model.genes(I); +0461 model.rxnGeneMat=model.rxnGeneMat(:,I); +0462 fprintf('COMPLETE\n'); +0463 end +0464 +0465 %First remove all reactions without genes +0466 if keepSpontaneous==true +0467 fprintf('Removing non-spontaneous reactions without GPR rules... '); +0468 load(fullfile(ravenPath,'external','kegg','keggRxns.mat'),'isSpontaneous'); +0469 I=~any(model.rxnGeneMat,2)&~ismember(model.rxns,isSpontaneous); +0470 spontRxnsWithGenes=model.rxns(any(model.rxnGeneMat,2)&~ismember(model.rxns,isSpontaneous)); +0471 else +0472 fprintf('Removing reactions without GPR rules... '); +0473 I=~any(model.rxnGeneMat,2); +0474 end +0475 model=removeReactions(model,I,true); +0476 fprintf('COMPLETE\n'); +0477 +0478 %Clean gene names +0479 fprintf('Fixing gene names in the model... '); +0480 for i=1:numel(model.genes) +0481 %First get rid of the prefix organism id +0482 model.genes{i}=model.genes{i}(strfind(model.genes{i},':')+1:end); +0483 %Find and remove the description in parentheses if any +0484 s=strfind(model.genes{i},'('); +0485 if any(s) +0486 model.genes{i}=model.genes{i}(1:s-1); +0487 end +0488 end +0489 fprintf('COMPLETE\n'); +0490 +0491 %If no FASTA file is supplied, then we are done here +0492 if isempty(fastaFile) +0493 %Create grRules +0494 fprintf('Constructing GPR associations and annotations for the model... '); +0495 model.grRules=cell(numel(model.rxns),1); +0496 model.grRules(:)={''}; +0497 %Add the gene associations as 'or' +0498 for i=1:numel(model.rxns) +0499 %Find the involved genes +0500 I=find(model.rxnGeneMat(i,:)); +0501 if any(I) +0502 model.grRules{i}=['(' model.genes{I(1)}]; +0503 for j=2:numel(I) +0504 model.grRules{i}=[model.grRules{i} ' or ' model.genes{I(j)}]; +0505 end +0506 model.grRules{i}=[model.grRules{i} ')']; +0507 end +0508 end +0509 %Fix grRules and reconstruct rxnGeneMat +0510 [grRules,rxnGeneMat] = standardizeGrRules(model); %Give detailed output +0511 model.grRules = grRules; +0512 model.rxnGeneMat = rxnGeneMat; +0513 %Add geneMiriams, assuming that it follows the syntax +0514 %kegg.genes/organismID:geneName +0515 model.geneMiriams=''; +0516 for i=1:numel(model.genes) +0517 model.geneMiriams{i,1}.name{1,1}='kegg.genes'; +0518 model.geneMiriams{i,1}.value{1,1}=strcat(lower(organismID),model.genes{i,1}); +0519 end +0520 %Add the description to the reactions +0521 for i=1:numel(model.rxns) +0522 if ~isempty(model.rxnNotes{i}) +0523 model.rxnNotes(i)=strcat('Included by getKEGGModelForOrganism (without HMMs).',model.rxnNotes(i)); +0524 model.rxnNotes(i)=strrep(model.rxnNotes(i),'.','. '); +0525 else +0526 model.rxnNotes(i)={'Included by getKEGGModelForOrganism (without HMMs)'}; +0527 end +0528 end +0529 fprintf('COMPLETE\n\n'); +0530 fprintf('*** Model reconstruction complete ***\n'); +0531 return; +0532 end +0533 +0534 %Create a phylogenetic distance structure +0535 phylDistStruct=getPhylDist(fullfile(dataDir,'keggdb'),maxPhylDist==-1); +0536 [~, phylDistId]=ismember(model.id,phylDistStruct.ids); 0537 -0538 %Get the KO ids for which files have been generated. Maybe not the neatest -0539 %way.. -0540 fastaFiles=listFiles(fullfile(dataDir,'fasta','*.fa')); -0541 alignedFiles=listFiles(fullfile(dataDir,'aligned','*.fa')); -0542 alignedWorking=listFiles(fullfile(dataDir,'aligned','*.faw')); -0543 hmmFiles=listFiles(fullfile(dataDir,'hmms','*.hmm')); -0544 outFiles=listFiles(fullfile(outDir,'*.out')); -0545 -0546 %Check if multi-FASTA files should be generated. This should only be -0547 %performed if there are IDs in the KOModel structure that haven't been -0548 %parsed yet -0549 missingFASTA=setdiff(KOModel.rxns,[fastaFiles;alignedFiles;hmmFiles;outFiles]); -0550 -0551 if ~isempty(missingFASTA) -0552 if ~exist(fullfile(dataDir,'keggdb','genes.pep'),'file') -0553 EM=['The file ''genes.pep'' cannot be located at ' strrep(dataDir,'\','/') '/ and should be downloaded from the KEGG FTP.\n']; -0554 dispEM(EM); -0555 end -0556 %Only construct models for KOs which don't have files already -0557 fastaModel=removeReactions(KOModel,setdiff(KOModel.rxns,missingFASTA),true,true); -0558 %Permute the order of the KOs in the model so that constructMultiFasta -0559 %can be run on several processors at once -0560 fastaModel=permuteModel(fastaModel,randperm(RandStream.create('mrg32k3a','Seed',cputime()),numel(fastaModel.rxns)),'rxns'); -0561 constructMultiFasta(fastaModel,fullfile(dataDir,'keggdb','genes.pep'),fullfile(dataDir,'fasta')); -0562 else -0563 fprintf('Generating the KEGG Orthology specific multi-FASTA files... COMPLETE\n'); -0564 end -0565 -0566 if isunix -0567 if ismac -0568 binEnd='.mac'; -0569 else -0570 binEnd=''; -0571 end -0572 elseif ispc -0573 binEnd=''; -0574 else -0575 EM='Unknown OS, exiting.'; -0576 disp(EM); -0577 return -0578 end -0579 -0580 %Check if alignment of FASTA files should be performed -0581 missingAligned=setdiff(KOModel.rxns,[alignedFiles;hmmFiles;alignedWorking;outFiles]); -0582 if ~isempty(missingAligned) -0583 if seqIdentity==-1 -0584 fprintf('Performing the multiple alignment for KEGG Orthology specific protein sets... '); -0585 else -0586 fprintf('Performing clustering and multiple alignment for KEGG Orthology specific protein sets... '); -0587 end -0588 missingAligned=missingAligned(randperm(RandStream.create('mrg32k3a','Seed',cputime()),numel(missingAligned))); -0589 progressFlag=0; -0590 %Update fastaFiles. This is needed once rebuilding KEGG from FTP dump -0591 %files for more accurate progress reporting -0592 fastaFiles=listFiles(fullfile(dataDir,'fasta','*.fa')); -0593 %Align all sequences using MAFFT -0594 for i=1:numel(missingAligned) -0595 %This is checked here because it could be that it is created by a -0596 %parallel process. The faw-files are saved as temporary files to -0597 %kept track of which files are being worked on -0598 if ~exist(fullfile(dataDir,'aligned',[missingAligned{i} '.faw']),'file') &&... -0599 ~exist(fullfile(dataDir,'aligned',[missingAligned{i} '.fa']),'file') -0600 %Check that the multi-FASTA file exists. It should do so since -0601 %we are saving empty files as well. Print a warning and -0602 %continue if not -0603 if ~exist(fullfile(dataDir,'fasta',[missingAligned{i} '.fa']),'file') -0604 EM=['WARNING: The multi-FASTA file for ' missingAligned{i} ' does not exist']; -0605 dispEM(EM,false); -0606 continue; -0607 end -0608 -0609 %If the multi-FASTA file is empty then save an empty aligned -0610 %file and continue -0611 s=dir(fullfile(dataDir,'fasta',[missingAligned{i} '.fa'])); -0612 if s.bytes<=0 -0613 fid=fopen(fullfile(dataDir,'aligned',[missingAligned{i} '.fa']),'w'); -0614 fclose(fid); -0615 continue; -0616 end -0617 -0618 %Create an empty file to prevent other threads to start to work -0619 %on the same alignment -0620 fid=fopen(fullfile(dataDir,'aligned',[missingAligned{i} '.faw']),'w'); -0621 fclose(fid); -0622 -0623 %First load the FASTA file, then select up to nSequences -0624 %sequences of the most closely related species, apply any -0625 %constraints from maxPhylDist, and save it as a temporary file, -0626 %and create the model from that -0627 -0628 fastaStruct=fastaread(fullfile(dataDir,'fasta',[missingAligned{i} '.fa'])); -0629 phylDist=inf(numel(fastaStruct),1); -0630 for j=1:numel(fastaStruct) -0631 %Get the organism abbreviation -0632 index=strfind(fastaStruct(j).Header,':'); -0633 if any(index) -0634 abbrev=fastaStruct(j).Header(1:index(1)-1); -0635 [~, index]=ismember(abbrev,phylDistStruct.ids); -0636 if any(index) -0637 phylDist(j)=phylDistStruct.distMat(index(1),phylDistId); -0638 end -0639 end -0640 end -0641 -0642 %Inf means that it should not be included -0643 phylDist(phylDist>maxPhylDist)=[]; -0644 -0645 %Sort based on phylDist -0646 [~, order]=sort(phylDist); -0647 -0648 %Save the first nSequences hits to a temporary FASTA file -0649 if nSequences<=numel(fastaStruct) -0650 fastaStruct=fastaStruct(order(1:nSequences)); -0651 else -0652 fastaStruct=fastaStruct(order); -0653 end +0538 %Calculate the real maximal distance now. An abitary large number of 1000 +0539 %is used for the "all in kingdom" or "all sequences" options. This is a bit +0540 %inconvenient way to do it, but it is to make it fit with some older code +0541 if isinf(maxPhylDist) || maxPhylDist==-1 +0542 maxPhylDist=1000; +0543 end +0544 +0545 %Get the KO ids for which files have been generated. Maybe not the neatest +0546 %way.. +0547 fastaFiles=listFiles(fullfile(dataDir,'fasta','*.fa')); +0548 alignedFiles=listFiles(fullfile(dataDir,'aligned','*.fa')); +0549 alignedWorking=listFiles(fullfile(dataDir,'aligned','*.faw')); +0550 hmmFiles=listFiles(fullfile(dataDir,'hmms','*.hmm')); +0551 outFiles=listFiles(fullfile(outDir,'*.out')); +0552 +0553 %Check if multi-FASTA files should be generated. This should only be +0554 %performed if there are IDs in the KOModel structure that haven't been +0555 %parsed yet +0556 missingFASTA=setdiff(KOModel.rxns,[fastaFiles;alignedFiles;hmmFiles;outFiles]); +0557 +0558 if ~isempty(missingFASTA) +0559 if ~exist(fullfile(dataDir,'keggdb','genes.pep'),'file') +0560 EM=['The file ''genes.pep'' cannot be located at ' strrep(dataDir,'\','/') '/ and should be downloaded from the KEGG FTP.\n']; +0561 dispEM(EM); +0562 end +0563 %Only construct models for KOs which don't have files already +0564 fastaModel=removeReactions(KOModel,setdiff(KOModel.rxns,missingFASTA),true,true); +0565 %Permute the order of the KOs in the model so that constructMultiFasta +0566 %can be run on several processors at once +0567 fastaModel=permuteModel(fastaModel,randperm(RandStream.create('mrg32k3a','Seed',cputime()),numel(fastaModel.rxns)),'rxns'); +0568 constructMultiFasta(fastaModel,fullfile(dataDir,'keggdb','genes.pep'),fullfile(dataDir,'fasta')); +0569 else +0570 fprintf('Generating the KEGG Orthology specific multi-FASTA files... COMPLETE\n'); +0571 end +0572 +0573 if isunix +0574 if ismac +0575 binEnd='.mac'; +0576 else +0577 binEnd=''; +0578 end +0579 elseif ispc +0580 binEnd=''; +0581 else +0582 EM='Unknown OS, exiting.'; +0583 disp(EM); +0584 return +0585 end +0586 +0587 %Check if alignment of FASTA files should be performed +0588 missingAligned=setdiff(KOModel.rxns,[alignedFiles;hmmFiles;alignedWorking;outFiles]); +0589 if ~isempty(missingAligned) +0590 if seqIdentity==-1 +0591 fprintf('Performing the multiple alignment for KEGG Orthology specific protein sets... '); +0592 else +0593 fprintf('Performing clustering and multiple alignment for KEGG Orthology specific protein sets... '); +0594 end +0595 missingAligned=missingAligned(randperm(RandStream.create('mrg32k3a','Seed',cputime()),numel(missingAligned))); +0596 progressFlag=0; +0597 %Update fastaFiles. This is needed once rebuilding KEGG from FTP dump +0598 %files for more accurate progress reporting +0599 fastaFiles=listFiles(fullfile(dataDir,'fasta','*.fa')); +0600 %Align all sequences using MAFFT +0601 for i=1:numel(missingAligned) +0602 %This is checked here because it could be that it is created by a +0603 %parallel process. The faw-files are saved as temporary files to +0604 %kept track of which files are being worked on +0605 if ~exist(fullfile(dataDir,'aligned',[missingAligned{i} '.faw']),'file') &&... +0606 ~exist(fullfile(dataDir,'aligned',[missingAligned{i} '.fa']),'file') +0607 %Check that the multi-FASTA file exists. It should do so since +0608 %we are saving empty files as well. Print a warning and +0609 %continue if not +0610 if ~exist(fullfile(dataDir,'fasta',[missingAligned{i} '.fa']),'file') +0611 EM=['WARNING: The multi-FASTA file for ' missingAligned{i} ' does not exist']; +0612 dispEM(EM,false); +0613 continue; +0614 end +0615 +0616 %If the multi-FASTA file is empty then save an empty aligned +0617 %file and continue +0618 s=dir(fullfile(dataDir,'fasta',[missingAligned{i} '.fa'])); +0619 if s.bytes<=0 +0620 fid=fopen(fullfile(dataDir,'aligned',[missingAligned{i} '.fa']),'w'); +0621 fclose(fid); +0622 continue; +0623 end +0624 +0625 %Create an empty file to prevent other threads to start to work +0626 %on the same alignment +0627 fid=fopen(fullfile(dataDir,'aligned',[missingAligned{i} '.faw']),'w'); +0628 fclose(fid); +0629 +0630 %First load the FASTA file, then select up to nSequences +0631 %sequences of the most closely related species, apply any +0632 %constraints from maxPhylDist, and save it as a temporary file, +0633 %and create the model from that +0634 +0635 fastaStruct=fastaread(fullfile(dataDir,'fasta',[missingAligned{i} '.fa'])); +0636 phylDist=inf(numel(fastaStruct),1); +0637 for j=1:numel(fastaStruct) +0638 %Get the organism abbreviation +0639 index=strfind(fastaStruct(j).Header,':'); +0640 if any(index) +0641 abbrev=fastaStruct(j).Header(1:index(1)-1); +0642 [~, index]=ismember(abbrev,phylDistStruct.ids); +0643 if any(index) +0644 phylDist(j)=phylDistStruct.distMat(index(1),phylDistId); +0645 end +0646 end +0647 end +0648 +0649 %Inf means that it should not be included +0650 phylDist(phylDist>maxPhylDist)=[]; +0651 +0652 %Sort based on phylDist +0653 [~, order]=sort(phylDist); 0654 -0655 %Do the clustering and alignment if there are more than one -0656 %sequences, otherwise just save the sequence (or an empty file) -0657 if numel(fastaStruct)>1 -0658 if seqIdentity==0.9 -0659 cdhitInp100=tempname; -0660 fastawrite(cdhitInp100,fastaStruct); -0661 cdhitInp90=tempname; -0662 [status, output]=system(['"' fullfile(ravenPath,'software','cd-hit',['cd-hit' binEnd]) '" -T "' num2str(cores) '" -i "' cdhitInp100 '" -o "' cdhitInp90 '" -c 1.0 -n 5 -M 2000']); -0663 if status~=0 -0664 EM=['Error when performing clustering of ' missingAligned{i} ':\n' output]; -0665 dispEM(EM); -0666 end -0667 %Remove the old tempfile -0668 if exist(cdhitInp100, 'file') -0669 delete([cdhitInp100 '*']); -0670 end -0671 tmpFile=tempname; -0672 [status, output]=system(['"' fullfile(ravenPath,'software','cd-hit',['cd-hit' binEnd]) '" -T "' num2str(cores) '" -i "' cdhitInp90 '" -o "' tmpFile '" -c 0.9 -n 5 -M 2000 -aL 0.8']); -0673 if status~=0 -0674 EM=['Error when performing clustering of ' missingAligned{i} ':\n' output]; -0675 dispEM(EM); -0676 end -0677 %Remove the old tempfile -0678 if exist(cdhitInp90, 'file') -0679 delete([cdhitInp90 '*']); -0680 end -0681 elseif seqIdentity==0.5 -0682 cdhitInp100=tempname; -0683 fastawrite(cdhitInp100,fastaStruct); -0684 cdhitInp90=tempname; -0685 [status, output]=system(['"' fullfile(ravenPath,'software','cd-hit',['cd-hit' binEnd]) '" -T "' num2str(cores) '" -i "' cdhitInp100 '" -o "' cdhitInp90 '" -c 1.0 -n 5 -M 2000']); -0686 if status~=0 -0687 EM=['Error when performing clustering of ' missingAligned{i} ':\n' output]; -0688 dispEM(EM); -0689 end -0690 %Remove the old tempfile -0691 if exist(cdhitInp100, 'file') -0692 delete([cdhitInp100 '*']); -0693 end -0694 cdhitInp50=tempname; -0695 [status, output]=system(['"' fullfile(ravenPath,'software','cd-hit',['cd-hit' binEnd]) '" -T "' num2str(cores) '" -i "' cdhitInp90 '" -o "' cdhitInp50 '" -c 0.9 -n 5 -M 2000 -aL 0.8']); -0696 if status~=0 -0697 EM=['Error when performing clustering of ' missingAligned{i} ':\n' output]; -0698 dispEM(EM); -0699 end -0700 %Remove the old tempfile -0701 if exist(cdhitInp90, 'file') -0702 delete([cdhitInp90 '*']); -0703 end -0704 tmpFile=tempname; -0705 [status, output]=system(['"' fullfile(ravenPath,'software','cd-hit',['cd-hit' binEnd]) '" -T "' num2str(cores) '" -i "' cdhitInp50 '" -o "' tmpFile '" -c 0.5 -n 3 -M 2000 -aL 0.8']); -0706 if status~=0 -0707 EM=['Error when performing clustering of ' missingAligned{i} ':\n' output]; -0708 dispEM(EM); -0709 end -0710 %Remove the old tempfile -0711 if exist(cdhitInp50, 'file') -0712 delete([cdhitInp50 '*']); -0713 end -0714 elseif seqIdentity~=-1 -0715 cdhitInpCustom=tempname; -0716 fastawrite(cdhitInpCustom,fastaStruct); -0717 tmpFile=tempname; -0718 if seqIdentity<=1 && seqIdentity>0.7 -0719 [status, output]=system(['"' fullfile(ravenPath,'software','cd-hit',['cd-hit' binEnd]) '" -T "' num2str(cores) '" -i "' cdhitInpCustom '" -o "' tmpFile '" -c "' num2str(seqIdentity) '" -n 5 -M 2000']); -0720 elseif seqIdentity>0.6 -0721 [status, output]=system(['"' fullfile(ravenPath,'software','cd-hit',['cd-hit' binEnd]) '" -T "' num2str(cores) '" -i "' cdhitInpCustom '" -o "' tmpFile '" -c "' num2str(seqIdentity) '" -n 4 -M 2000']); -0722 elseif seqidentity>0.5 -0723 [status, output]=system(['"' fullfile(ravenPath,'software','cd-hit',['cd-hit' binEnd]) '" -T "' num2str(cores) '" -i "' cdhitInpCustom '" -o "' tmpFile '" -c "' num2str(seqIdentity) '" -n 3 -M 2000']); -0724 elseif seqidentity>0.4 -0725 [status, output]=system(['"' fullfile(ravenPath,'software','cd-hit',['cd-hit' binEnd]) '" -T "' num2str(cores) '" -i "' cdhitInpCustom '" -o "' tmpFile '" -c "' num2str(seqIdentity) '" -n 2 -M 2000']); -0726 else -0727 EM='The provided seqIdentity must be between 0 and 1\n'; -0728 dispEM(EM); -0729 end -0730 if status~=0 -0731 EM=['Error when performing clustering of ' missingAligned{i} ':\n' output]; -0732 dispEM(EM); -0733 end -0734 %Remove the old tempfile -0735 if exist(cdhitInpCustom, 'file') -0736 delete([cdhitInpCustom '*']); -0737 end -0738 else -0739 %This means that CD-HIT should be skipped since -0740 %seqIdentity is equal to -1 -0741 tmpFile=tempname; -0742 fastawrite(tmpFile,fastaStruct); -0743 end -0744 %Do the alignment for this file -0745 if ismac -0746 [status, output]=system(['"' fullfile(ravenPath,'software','mafft','mafft-mac','mafft.bat') '" --auto --anysymbol --thread "' num2str(cores) '" "' tmpFile '" > "' fullfile(dataDir,'aligned',[missingAligned{i} '.faw']) '"']); -0747 elseif isunix -0748 [status, output]=system(['"' fullfile(ravenPath,'software','mafft','mafft-linux64','mafft.bat') '" --auto --anysymbol --thread "' num2str(cores) '" "' tmpFile '" > "' fullfile(dataDir,'aligned',[missingAligned{i} '.faw']) '"']); -0749 elseif ispc -0750 [status, output]=system(['"' fullfile(ravenPath,'software','mafft','mafft-win','mafft.bat') '" --auto --anysymbol --thread "' num2str(cores) '" "' tmpFile '" > "' fullfile(dataDir,'aligned',[missingAligned{i} '.faw']) '"']); -0751 end -0752 if status~=0 -0753 %It could be that alignment failed because only one -0754 %sequence was left after clustering. If that is the -0755 %case, then the clustered file is just copied as 'faw' -0756 %file -0757 if any(regexp(output,'Only 1 sequence found')) -0758 movefile(tmpFile,fullfile(dataDir,'aligned',[missingAligned{i} '.faw']),'f'); -0759 else -0760 EM=['Error when performing alignment of ' missingAligned{i} ':\n' output]; -0761 dispEM(EM); -0762 end -0763 end -0764 %Remove the old tempfile -0765 if exist(tmpFile, 'file') -0766 delete([tmpFile '*']); -0767 end -0768 else -0769 %If there is only one sequence then it's not possible to do -0770 %a multiple alignment. Just print the sequence instead. An -0771 %empty file was written previously so that doesn't have to -0772 %be dealt with -0773 if numel(fastaStruct)==1 -0774 fastawrite(fullfile(dataDir,'aligned',[missingAligned{i} '.faw']),fastaStruct); -0775 end -0776 end -0777 %Move the temporary file to the real one -0778 movefile(fullfile(dataDir,'aligned',[missingAligned{i} '.faw']),fullfile(dataDir,'aligned',[missingAligned{i} '.fa']),'f'); -0779 -0780 %Print the progress: no need to update this for every -0781 %iteration, just report once 25%, 50% and 75% are done -0782 if progressFlag==0 && i>numel(missingAligned)*0.25 -0783 fprintf('%*.*f%% complete',5,2,(numel(listFiles(fullfile(dataDir,'*.fa')))/numel(fastaFiles))*100); -0784 progressFlag=progressFlag+1; -0785 elseif (progressFlag==1 && i>=numel(missingAligned)*0.5) || (progressFlag==2 && i>=numel(missingAligned)*0.75) -0786 fprintf('\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b%*.*f%% complete',5,2,(numel(listFiles(fullfile(dataDir,'*.fa')))/numel(fastaFiles))*100); -0787 progressFlag=progressFlag+1; -0788 end -0789 end -0790 end -0791 fprintf('\b\b\b\b\b\b\b\b\b\b\b\b\b\b\bCOMPLETE\n'); -0792 else -0793 if seqIdentity==-1 -0794 fprintf('Performing the multiple alignment for KEGG Orthology specific protein sets... COMPLETE\n'); -0795 else -0796 fprintf('Performing clustering and multiple alignment for KEGG Orthology specific protein sets... COMPLETE\n'); +0655 %Save the first nSequences hits to a temporary FASTA file +0656 if nSequences<=numel(fastaStruct) +0657 fastaStruct=fastaStruct(order(1:nSequences)); +0658 else +0659 fastaStruct=fastaStruct(order); +0660 end +0661 +0662 %Do the clustering and alignment if there are more than one +0663 %sequences, otherwise just save the sequence (or an empty file) +0664 if numel(fastaStruct)>1 +0665 if seqIdentity==0.9 +0666 cdhitInp100=tempname; +0667 fastawrite(cdhitInp100,fastaStruct); +0668 cdhitInp90=tempname; +0669 [status, output]=system(['"' fullfile(ravenPath,'software','cd-hit',['cd-hit' binEnd]) '" -T "' num2str(cores) '" -i "' cdhitInp100 '" -o "' cdhitInp90 '" -c 1.0 -n 5 -M 2000']); +0670 if status~=0 +0671 EM=['Error when performing clustering of ' missingAligned{i} ':\n' output]; +0672 dispEM(EM); +0673 end +0674 %Remove the old tempfile +0675 if exist(cdhitInp100, 'file') +0676 delete([cdhitInp100 '*']); +0677 end +0678 tmpFile=tempname; +0679 [status, output]=system(['"' fullfile(ravenPath,'software','cd-hit',['cd-hit' binEnd]) '" -T "' num2str(cores) '" -i "' cdhitInp90 '" -o "' tmpFile '" -c 0.9 -n 5 -M 2000 -aL 0.8']); +0680 if status~=0 +0681 EM=['Error when performing clustering of ' missingAligned{i} ':\n' output]; +0682 dispEM(EM); +0683 end +0684 %Remove the old tempfile +0685 if exist(cdhitInp90, 'file') +0686 delete([cdhitInp90 '*']); +0687 end +0688 elseif seqIdentity==0.5 +0689 cdhitInp100=tempname; +0690 fastawrite(cdhitInp100,fastaStruct); +0691 cdhitInp90=tempname; +0692 [status, output]=system(['"' fullfile(ravenPath,'software','cd-hit',['cd-hit' binEnd]) '" -T "' num2str(cores) '" -i "' cdhitInp100 '" -o "' cdhitInp90 '" -c 1.0 -n 5 -M 2000']); +0693 if status~=0 +0694 EM=['Error when performing clustering of ' missingAligned{i} ':\n' output]; +0695 dispEM(EM); +0696 end +0697 %Remove the old tempfile +0698 if exist(cdhitInp100, 'file') +0699 delete([cdhitInp100 '*']); +0700 end +0701 cdhitInp50=tempname; +0702 [status, output]=system(['"' fullfile(ravenPath,'software','cd-hit',['cd-hit' binEnd]) '" -T "' num2str(cores) '" -i "' cdhitInp90 '" -o "' cdhitInp50 '" -c 0.9 -n 5 -M 2000 -aL 0.8']); +0703 if status~=0 +0704 EM=['Error when performing clustering of ' missingAligned{i} ':\n' output]; +0705 dispEM(EM); +0706 end +0707 %Remove the old tempfile +0708 if exist(cdhitInp90, 'file') +0709 delete([cdhitInp90 '*']); +0710 end +0711 tmpFile=tempname; +0712 [status, output]=system(['"' fullfile(ravenPath,'software','cd-hit',['cd-hit' binEnd]) '" -T "' num2str(cores) '" -i "' cdhitInp50 '" -o "' tmpFile '" -c 0.5 -n 3 -M 2000 -aL 0.8']); +0713 if status~=0 +0714 EM=['Error when performing clustering of ' missingAligned{i} ':\n' output]; +0715 dispEM(EM); +0716 end +0717 %Remove the old tempfile +0718 if exist(cdhitInp50, 'file') +0719 delete([cdhitInp50 '*']); +0720 end +0721 elseif seqIdentity~=-1 +0722 cdhitInpCustom=tempname; +0723 fastawrite(cdhitInpCustom,fastaStruct); +0724 tmpFile=tempname; +0725 if seqIdentity<=1 && seqIdentity>0.7 +0726 [status, output]=system(['"' fullfile(ravenPath,'software','cd-hit',['cd-hit' binEnd]) '" -T "' num2str(cores) '" -i "' cdhitInpCustom '" -o "' tmpFile '" -c "' num2str(seqIdentity) '" -n 5 -M 2000']); +0727 elseif seqIdentity>0.6 +0728 [status, output]=system(['"' fullfile(ravenPath,'software','cd-hit',['cd-hit' binEnd]) '" -T "' num2str(cores) '" -i "' cdhitInpCustom '" -o "' tmpFile '" -c "' num2str(seqIdentity) '" -n 4 -M 2000']); +0729 elseif seqidentity>0.5 +0730 [status, output]=system(['"' fullfile(ravenPath,'software','cd-hit',['cd-hit' binEnd]) '" -T "' num2str(cores) '" -i "' cdhitInpCustom '" -o "' tmpFile '" -c "' num2str(seqIdentity) '" -n 3 -M 2000']); +0731 elseif seqidentity>0.4 +0732 [status, output]=system(['"' fullfile(ravenPath,'software','cd-hit',['cd-hit' binEnd]) '" -T "' num2str(cores) '" -i "' cdhitInpCustom '" -o "' tmpFile '" -c "' num2str(seqIdentity) '" -n 2 -M 2000']); +0733 else +0734 EM='The provided seqIdentity must be between 0 and 1\n'; +0735 dispEM(EM); +0736 end +0737 if status~=0 +0738 EM=['Error when performing clustering of ' missingAligned{i} ':\n' output]; +0739 dispEM(EM); +0740 end +0741 %Remove the old tempfile +0742 if exist(cdhitInpCustom, 'file') +0743 delete([cdhitInpCustom '*']); +0744 end +0745 else +0746 %This means that CD-HIT should be skipped since +0747 %seqIdentity is equal to -1 +0748 tmpFile=tempname; +0749 fastawrite(tmpFile,fastaStruct); +0750 end +0751 %Do the alignment for this file +0752 if ismac +0753 [status, output]=system(['"' fullfile(ravenPath,'software','mafft','mafft-mac','mafft.bat') '" --auto --anysymbol --thread "' num2str(cores) '" "' tmpFile '" > "' fullfile(dataDir,'aligned',[missingAligned{i} '.faw']) '"']); +0754 elseif isunix +0755 [status, output]=system(['"' fullfile(ravenPath,'software','mafft','mafft-linux64','mafft.bat') '" --auto --anysymbol --thread "' num2str(cores) '" "' tmpFile '" > "' fullfile(dataDir,'aligned',[missingAligned{i} '.faw']) '"']); +0756 elseif ispc +0757 [status, output]=system(['"' fullfile(ravenPath,'software','mafft','mafft-win','mafft.bat') '" --auto --anysymbol --thread "' num2str(cores) '" "' tmpFile '" > "' fullfile(dataDir,'aligned',[missingAligned{i} '.faw']) '"']); +0758 end +0759 if status~=0 +0760 %It could be that alignment failed because only one +0761 %sequence was left after clustering. If that is the +0762 %case, then the clustered file is just copied as 'faw' +0763 %file +0764 if any(regexp(output,'Only 1 sequence found')) +0765 movefile(tmpFile,fullfile(dataDir,'aligned',[missingAligned{i} '.faw']),'f'); +0766 else +0767 EM=['Error when performing alignment of ' missingAligned{i} ':\n' output]; +0768 dispEM(EM); +0769 end +0770 end +0771 %Remove the old tempfile +0772 if exist(tmpFile, 'file') +0773 delete([tmpFile '*']); +0774 end +0775 else +0776 %If there is only one sequence then it's not possible to do +0777 %a multiple alignment. Just print the sequence instead. An +0778 %empty file was written previously so that doesn't have to +0779 %be dealt with +0780 if numel(fastaStruct)==1 +0781 fastawrite(fullfile(dataDir,'aligned',[missingAligned{i} '.faw']),fastaStruct); +0782 end +0783 end +0784 %Move the temporary file to the real one +0785 movefile(fullfile(dataDir,'aligned',[missingAligned{i} '.faw']),fullfile(dataDir,'aligned',[missingAligned{i} '.fa']),'f'); +0786 +0787 %Print the progress: no need to update this for every +0788 %iteration, just report once 25%, 50% and 75% are done +0789 if progressFlag==0 && i>numel(missingAligned)*0.25 +0790 fprintf('%*.*f%% complete',5,2,(numel(listFiles(fullfile(dataDir,'*.fa')))/numel(fastaFiles))*100); +0791 progressFlag=progressFlag+1; +0792 elseif (progressFlag==1 && i>=numel(missingAligned)*0.5) || (progressFlag==2 && i>=numel(missingAligned)*0.75) +0793 fprintf('\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b%*.*f%% complete',5,2,(numel(listFiles(fullfile(dataDir,'*.fa')))/numel(fastaFiles))*100); +0794 progressFlag=progressFlag+1; +0795 end +0796 end 0797 end -0798 end -0799 -0800 %Check if training of Hidden Markov models should be performed -0801 missingHMMs=setdiff(KOModel.rxns,[hmmFiles;outFiles]); -0802 if ~isempty(missingHMMs) -0803 fprintf('Training the KEGG Orthology specific HMMs... '); -0804 missingHMMs=missingHMMs(randperm(RandStream.create('mrg32k3a','Seed',cputime()),numel(missingHMMs))); -0805 progressFlag=0; -0806 %Update alignedFiles. This is needed once rebuilding KEGG from FTP dump -0807 %files for more accurate progress reporting -0808 alignedFiles=listFiles(fullfile(dataDir,'aligned','*.fa')); -0809 %Train models for all missing KOs -0810 for i=1:numel(missingHMMs) -0811 %This is checked here because it could be that it is created by a -0812 %parallel process -0813 if ~exist(fullfile(dataDir,'hmms',[missingHMMs{i} '.hmm']),'file') && ~exist(fullfile(dataDir,'hmms',[missingHMMs{i} '.hmw']),'file') -0814 %Check that the aligned FASTA file exists. It could be that it -0815 %is still being worked on by some other instance of the program -0816 %(the .faw file should then exist). This should not happen on a -0817 %single computer. It doesn't throw an error, because it should -0818 %finalize the ones it can -0819 if ~exist(fullfile(dataDir,'aligned',[missingHMMs{i} '.fa']),'file') -0820 EM=['The aligned FASTA file for ' missingHMMs{i} ' does not exist']; -0821 dispEM(EM,false); -0822 continue; -0823 end -0824 -0825 %If the multi-FASTA file is empty then save an empty aligned -0826 %file and continue -0827 s=dir(fullfile(dataDir,'aligned',[missingHMMs{i} '.fa'])); -0828 if s.bytes<=0 -0829 fid=fopen(fullfile(dataDir,'hmms',[missingHMMs{i} '.hmm']),'w'); -0830 fclose(fid); -0831 continue; -0832 end -0833 %Create a temporary file to indicate that it is working on the -0834 %KO. This is because hmmbuild cannot overwrite existing files -0835 fid=fopen(fullfile(dataDir,'hmms',[missingHMMs{i} '.hmw']),'w'); -0836 fclose(fid); -0837 -0838 %Create HMM -0839 [status, output]=system(['"' fullfile(ravenPath,'software','hmmer',['hmmbuild' binEnd]) '" --cpu "' num2str(cores) '" "' fullfile(dataDir,'hmms',[missingHMMs{i} '.hmm']) '" "' fullfile(dataDir,'aligned',[missingHMMs{i} '.fa']) '"']); -0840 if status~=0 -0841 EM=['Error when training HMM for ' missingHMMs{i} ':\n' output]; -0842 dispEM(EM); -0843 end +0798 fprintf('\b\b\b\b\b\b\b\b\b\b\b\b\b\b\bCOMPLETE\n'); +0799 else +0800 if seqIdentity==-1 +0801 fprintf('Performing the multiple alignment for KEGG Orthology specific protein sets... COMPLETE\n'); +0802 else +0803 fprintf('Performing clustering and multiple alignment for KEGG Orthology specific protein sets... COMPLETE\n'); +0804 end +0805 end +0806 +0807 %Check if training of Hidden Markov models should be performed +0808 missingHMMs=setdiff(KOModel.rxns,[hmmFiles;outFiles]); +0809 if ~isempty(missingHMMs) +0810 fprintf('Training the KEGG Orthology specific HMMs... '); +0811 missingHMMs=missingHMMs(randperm(RandStream.create('mrg32k3a','Seed',cputime()),numel(missingHMMs))); +0812 progressFlag=0; +0813 %Update alignedFiles. This is needed once rebuilding KEGG from FTP dump +0814 %files for more accurate progress reporting +0815 alignedFiles=listFiles(fullfile(dataDir,'aligned','*.fa')); +0816 %Train models for all missing KOs +0817 for i=1:numel(missingHMMs) +0818 %This is checked here because it could be that it is created by a +0819 %parallel process +0820 if ~exist(fullfile(dataDir,'hmms',[missingHMMs{i} '.hmm']),'file') && ~exist(fullfile(dataDir,'hmms',[missingHMMs{i} '.hmw']),'file') +0821 %Check that the aligned FASTA file exists. It could be that it +0822 %is still being worked on by some other instance of the program +0823 %(the .faw file should then exist). This should not happen on a +0824 %single computer. It doesn't throw an error, because it should +0825 %finalize the ones it can +0826 if ~exist(fullfile(dataDir,'aligned',[missingHMMs{i} '.fa']),'file') +0827 EM=['The aligned FASTA file for ' missingHMMs{i} ' does not exist']; +0828 dispEM(EM,false); +0829 continue; +0830 end +0831 +0832 %If the multi-FASTA file is empty then save an empty aligned +0833 %file and continue +0834 s=dir(fullfile(dataDir,'aligned',[missingHMMs{i} '.fa'])); +0835 if s.bytes<=0 +0836 fid=fopen(fullfile(dataDir,'hmms',[missingHMMs{i} '.hmm']),'w'); +0837 fclose(fid); +0838 continue; +0839 end +0840 %Create a temporary file to indicate that it is working on the +0841 %KO. This is because hmmbuild cannot overwrite existing files +0842 fid=fopen(fullfile(dataDir,'hmms',[missingHMMs{i} '.hmw']),'w'); +0843 fclose(fid); 0844 -0845 %Delete the temporary file -0846 delete(fullfile(dataDir,'hmms',[missingHMMs{i} '.hmw'])); -0847 -0848 %Print the progress: no need to update this for every -0849 %iteration, just report once 25%, 50% and 75% are done -0850 if progressFlag==0 && i>numel(missingHMMs)*0.25 -0851 fprintf('%*.*f%% complete',5,2,(numel(listFiles(fullfile(dataDir,'*.hmm')))/numel(alignedFiles))*100); -0852 progressFlag=progressFlag+1; -0853 elseif (progressFlag==1 && i>=numel(missingHMMs)*0.5) || (progressFlag==2 && i>=numel(missingHMMs)*0.75) -0854 fprintf('\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b%*.*f%% complete',5,2,(numel(listFiles(fullfile(dataDir,'*.hmm')))/numel(alignedFiles))*100); -0855 progressFlag=progressFlag+1; -0856 end -0857 end -0858 end -0859 fprintf('\b\b\b\b\b\b\b\b\b\b\b\b\b\b\bCOMPLETE\n'); -0860 else -0861 fprintf('Training the KEGG Orthology specific HMMs... COMPLETE\n'); -0862 end -0863 -0864 %Check which new .out files that should be generated. Check if training of -0865 %Hidden Markov models should be performed -0866 missingOUT=setdiff(KOModel.rxns,outFiles); -0867 if ~isempty(missingOUT) -0868 fprintf(['Querying <strong>' strrep(fastaFile,'\','/') '</strong> against the KEGG Orthology specific HMMs... ']); -0869 missingOUT=missingOUT(randperm(RandStream.create('mrg32k3a','Seed',cputime()),numel(missingOUT))); -0870 progressFlag=0; -0871 %Update hmmFiles. This is needed once rebuilding KEGG from FTP dump -0872 %files for more accurate progress reporting -0873 hmmFiles=listFiles(fullfile(dataDir,'hmms','*.hmm')); -0874 for i=1:numel(missingOUT) -0875 %This is checked here because it could be that it is created by a -0876 %parallel process -0877 if ~exist(fullfile(outDir,[missingOUT{i} '.out']),'file') -0878 %Check that the HMM file exists. It should do so since %we are -0879 %saving empty files as well. Print a warning and continue if -0880 %not -0881 if ~exist(fullfile(dataDir,'hmms',[missingOUT{i} '.hmm']),'file') -0882 EM=['The HMM file for ' missingOUT{i} ' does not exist']; -0883 dispEM(EM,false); -0884 continue; -0885 end -0886 -0887 %Save an empty file to prevent several threads working on the -0888 %same file -0889 fid=fopen(fullfile(outDir,[missingOUT{i} '.out']),'w'); -0890 fclose(fid); -0891 -0892 %If the HMM file is empty then save an out file and continue -0893 s=dir(fullfile(dataDir,'hmms',[missingOUT{i} '.hmm'])); -0894 if s.bytes<=0 -0895 continue; -0896 end -0897 -0898 %Check each gene in the input file against this model -0899 [status, output]=system(['"' fullfile(ravenPath,'software','hmmer',['hmmsearch' binEnd]) '" --cpu "' num2str(cores) '" "' fullfile(dataDir,'hmms',[missingOUT{i} '.hmm']) '" "' fastaFile '"']); -0900 if status~=0 -0901 EM=['Error when querying HMM for ' missingOUT{i} ':\n' output]; -0902 dispEM(EM); +0845 %Create HMM +0846 [status, output]=system(['"' fullfile(ravenPath,'software','hmmer',['hmmbuild' binEnd]) '" --cpu "' num2str(cores) '" "' fullfile(dataDir,'hmms',[missingHMMs{i} '.hmm']) '" "' fullfile(dataDir,'aligned',[missingHMMs{i} '.fa']) '"']); +0847 if status~=0 +0848 EM=['Error when training HMM for ' missingHMMs{i} ':\n' output]; +0849 dispEM(EM); +0850 end +0851 +0852 %Delete the temporary file +0853 delete(fullfile(dataDir,'hmms',[missingHMMs{i} '.hmw'])); +0854 +0855 %Print the progress: no need to update this for every +0856 %iteration, just report once 25%, 50% and 75% are done +0857 if progressFlag==0 && i>numel(missingHMMs)*0.25 +0858 fprintf('%*.*f%% complete',5,2,(numel(listFiles(fullfile(dataDir,'*.hmm')))/numel(alignedFiles))*100); +0859 progressFlag=progressFlag+1; +0860 elseif (progressFlag==1 && i>=numel(missingHMMs)*0.5) || (progressFlag==2 && i>=numel(missingHMMs)*0.75) +0861 fprintf('\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b%*.*f%% complete',5,2,(numel(listFiles(fullfile(dataDir,'*.hmm')))/numel(alignedFiles))*100); +0862 progressFlag=progressFlag+1; +0863 end +0864 end +0865 end +0866 fprintf('\b\b\b\b\b\b\b\b\b\b\b\b\b\b\bCOMPLETE\n'); +0867 else +0868 fprintf('Training the KEGG Orthology specific HMMs... COMPLETE\n'); +0869 end +0870 +0871 %Check which new .out files that should be generated. Check if training of +0872 %Hidden Markov models should be performed +0873 missingOUT=setdiff(KOModel.rxns,outFiles); +0874 if ~isempty(missingOUT) +0875 fprintf(['Querying <strong>' strrep(fastaFile,'\','/') '</strong> against the KEGG Orthology specific HMMs... ']); +0876 missingOUT=missingOUT(randperm(RandStream.create('mrg32k3a','Seed',cputime()),numel(missingOUT))); +0877 progressFlag=0; +0878 %Update hmmFiles. This is needed once rebuilding KEGG from FTP dump +0879 %files for more accurate progress reporting +0880 hmmFiles=listFiles(fullfile(dataDir,'hmms','*.hmm')); +0881 for i=1:numel(missingOUT) +0882 %This is checked here because it could be that it is created by a +0883 %parallel process +0884 if ~exist(fullfile(outDir,[missingOUT{i} '.out']),'file') +0885 %Check that the HMM file exists. It should do so since %we are +0886 %saving empty files as well. Print a warning and continue if +0887 %not +0888 if ~exist(fullfile(dataDir,'hmms',[missingOUT{i} '.hmm']),'file') +0889 EM=['The HMM file for ' missingOUT{i} ' does not exist']; +0890 dispEM(EM,false); +0891 continue; +0892 end +0893 +0894 %Save an empty file to prevent several threads working on the +0895 %same file +0896 fid=fopen(fullfile(outDir,[missingOUT{i} '.out']),'w'); +0897 fclose(fid); +0898 +0899 %If the HMM file is empty then save an out file and continue +0900 s=dir(fullfile(dataDir,'hmms',[missingOUT{i} '.hmm'])); +0901 if s.bytes<=0 +0902 continue; 0903 end 0904 -0905 %Save the output to a file -0906 fid=fopen(fullfile(outDir,[missingOUT{i} '.out']),'w'); -0907 fwrite(fid,output); -0908 fclose(fid); -0909 -0910 %Print the progress: no need to update this for every -0911 %iteration, just report once 25%, 50% and 75% are done -0912 if progressFlag==0 && i>numel(missingOUT)*0.25 -0913 fprintf('%*.*f%% complete',5,2,(numel(listFiles(fullfile(outDir,'*.out')))/numel(hmmFiles))*100); -0914 progressFlag=progressFlag+1; -0915 elseif (progressFlag==1 && i>=numel(missingOUT)*0.5) || (progressFlag==2 && i>=numel(missingOUT)*0.75) -0916 fprintf('\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b%*.*f%% complete',5,2,(numel(listFiles(fullfile(outDir,'*.out')))/numel(hmmFiles))*100); -0917 progressFlag=progressFlag+1; -0918 end -0919 end -0920 end -0921 fprintf('\b\b\b\b\b\b\b\b\b\b\b\b\b\b\bCOMPLETE\n'); -0922 else -0923 fprintf(['Querying <strong>' fastaFile '</strong> against the KEGG Orthology specific HMMs... COMPLETE\n']); -0924 end -0925 -0926 -0927 %***Begin retrieving the output and putting together the resulting model -0928 -0929 fprintf('Parsing the HMM search results... '); -0930 %Retrieve matched genes from the HMMs -0931 koGeneMat=zeros(numel(KOModel.rxns),3000); %Make room for 3000 genes -0932 genes=cell(3000,1); -0933 %Store the best score for a gene in a hash list (since it will be searching -0934 %many times) -0935 hTable = java.util.Hashtable; -0936 -0937 geneCounter=0; -0938 for i=1:numel(KOModel.rxns) -0939 if exist(fullfile(outDir,[KOModel.rxns{i} '.out']), 'file') -0940 fid=fopen(fullfile(outDir,[KOModel.rxns{i} '.out']),'r'); -0941 beginMatches=false; -0942 while 1 -0943 %Get the next line -0944 tline = fgetl(fid); -0945 -0946 %Abort at end of file -0947 if ~ischar(tline) -0948 break; -0949 end -0950 -0951 if and(beginMatches,strcmp(tline,' ------ inclusion threshold ------')) -0952 break; -0953 end -0954 -0955 if beginMatches==false -0956 %This is how the listing of matches begins -0957 if any(strfind(tline,'E-value ')) -0958 %Read one more line that is only padding -0959 tline = fgetl(fid); -0960 beginMatches=true; -0961 end -0962 else -0963 %If matches should be read -0964 if ~strcmp(tline,' [No hits detected that satisfy reporting thresholds]') && ~isempty(tline) -0965 elements=regexp(tline,' ','split'); -0966 elements=elements(cellfun(@any,elements)); -0967 -0968 %Check if the match is below the treshhold -0969 score=str2double(elements{1}); -0970 gene=elements{9}; -0971 if score<=cutOff -0972 %If the score is exactly 0, change it to a very -0973 %small value to avoid NaN -0974 if score==0 -0975 score=10^-250; -0976 end -0977 %Check if the gene is added already and, is so, get -0978 %the best score for it -0979 I=hTable.get(gene); -0980 if any(I) -0981 koGeneMat(i,I)=score; -0982 else -0983 geneCounter=geneCounter+1; -0984 %The gene was not present yet so add it -0985 hTable.put(gene,geneCounter); -0986 genes{geneCounter}=gene; -0987 koGeneMat(i,geneCounter)=score; -0988 end -0989 end -0990 else -0991 break; -0992 end -0993 end -0994 end -0995 fclose(fid); -0996 end -0997 end -0998 fprintf('COMPLETE\n'); -0999 -1000 fprintf('Removing gene, KEGG Orthology associations below minScoreRatioKO, minScoreRatioG... '); -1001 koGeneMat=koGeneMat(:,1:geneCounter); -1002 -1003 %Remove the genes for each KO that are below minScoreRatioKO. -1004 for i=1:size(koGeneMat,1) -1005 J=find(koGeneMat(i,:)); -1006 if any(J) -1007 koGeneMat(i,J(log(koGeneMat(i,J))/log(min(koGeneMat(i,J)))<minScoreRatioKO))=0; -1008 end -1009 end -1010 -1011 %Remove the KOs for each gene that are below minScoreRatioG -1012 for i=1:size(koGeneMat,2) -1013 J=find(koGeneMat(:,i)); -1014 if any(J) -1015 koGeneMat(J(log(koGeneMat(J,i))/log(min(koGeneMat(J,i)))<minScoreRatioG),i)=0; -1016 end -1017 end -1018 fprintf('COMPLETE\n'); -1019 -1020 fprintf('Adding gene annotations to the model... '); -1021 %Create the new model -1022 model.genes=genes(1:geneCounter); -1023 model.grRules=cell(numel(model.rxns),1); -1024 model.grRules(:)={''}; -1025 model.rxnGeneMat=sparse(numel(model.rxns),numel(model.genes)); +0905 %Check each gene in the input file against this model +0906 [status, output]=system(['"' fullfile(ravenPath,'software','hmmer',['hmmsearch' binEnd]) '" --cpu "' num2str(cores) '" "' fullfile(dataDir,'hmms',[missingOUT{i} '.hmm']) '" "' fastaFile '"']); +0907 if status~=0 +0908 EM=['Error when querying HMM for ' missingOUT{i} ':\n' output]; +0909 dispEM(EM); +0910 end +0911 +0912 %Save the output to a file +0913 fid=fopen(fullfile(outDir,[missingOUT{i} '.out']),'w'); +0914 fwrite(fid,output); +0915 fclose(fid); +0916 +0917 %Print the progress: no need to update this for every +0918 %iteration, just report once 25%, 50% and 75% are done +0919 if progressFlag==0 && i>numel(missingOUT)*0.25 +0920 fprintf('%*.*f%% complete',5,2,(numel(listFiles(fullfile(outDir,'*.out')))/numel(hmmFiles))*100); +0921 progressFlag=progressFlag+1; +0922 elseif (progressFlag==1 && i>=numel(missingOUT)*0.5) || (progressFlag==2 && i>=numel(missingOUT)*0.75) +0923 fprintf('\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b%*.*f%% complete',5,2,(numel(listFiles(fullfile(outDir,'*.out')))/numel(hmmFiles))*100); +0924 progressFlag=progressFlag+1; +0925 end +0926 end +0927 end +0928 fprintf('\b\b\b\b\b\b\b\b\b\b\b\b\b\b\bCOMPLETE\n'); +0929 else +0930 fprintf(['Querying <strong>' fastaFile '</strong> against the KEGG Orthology specific HMMs... COMPLETE\n']); +0931 end +0932 +0933 +0934 %***Begin retrieving the output and putting together the resulting model +0935 +0936 fprintf('Parsing the HMM search results... '); +0937 %Retrieve matched genes from the HMMs +0938 koGeneMat=zeros(numel(KOModel.rxns),3000); %Make room for 3000 genes +0939 genes=cell(3000,1); +0940 %Store the best score for a gene in a hash list (since it will be searching +0941 %many times) +0942 hTable = java.util.Hashtable; +0943 +0944 geneCounter=0; +0945 for i=1:numel(KOModel.rxns) +0946 if exist(fullfile(outDir,[KOModel.rxns{i} '.out']), 'file') +0947 fid=fopen(fullfile(outDir,[KOModel.rxns{i} '.out']),'r'); +0948 beginMatches=false; +0949 while 1 +0950 %Get the next line +0951 tline = fgetl(fid); +0952 +0953 %Abort at end of file +0954 if ~ischar(tline) +0955 break; +0956 end +0957 +0958 if and(beginMatches,strcmp(tline,' ------ inclusion threshold ------')) +0959 break; +0960 end +0961 +0962 if beginMatches==false +0963 %This is how the listing of matches begins +0964 if any(strfind(tline,'E-value ')) +0965 %Read one more line that is only padding +0966 tline = fgetl(fid); +0967 beginMatches=true; +0968 end +0969 else +0970 %If matches should be read +0971 if ~strcmp(tline,' [No hits detected that satisfy reporting thresholds]') && ~isempty(tline) +0972 elements=regexp(tline,' ','split'); +0973 elements=elements(cellfun(@any,elements)); +0974 +0975 %Check if the match is below the treshhold +0976 score=str2double(elements{1}); +0977 gene=elements{9}; +0978 if score<=cutOff +0979 %If the score is exactly 0, change it to a very +0980 %small value to avoid NaN +0981 if score==0 +0982 score=10^-250; +0983 end +0984 %Check if the gene is added already and, is so, get +0985 %the best score for it +0986 I=hTable.get(gene); +0987 if any(I) +0988 koGeneMat(i,I)=score; +0989 else +0990 geneCounter=geneCounter+1; +0991 %The gene was not present yet so add it +0992 hTable.put(gene,geneCounter); +0993 genes{geneCounter}=gene; +0994 koGeneMat(i,geneCounter)=score; +0995 end +0996 end +0997 else +0998 break; +0999 end +1000 end +1001 end +1002 fclose(fid); +1003 end +1004 end +1005 fprintf('COMPLETE\n'); +1006 +1007 fprintf('Removing gene, KEGG Orthology associations below minScoreRatioKO, minScoreRatioG... '); +1008 koGeneMat=koGeneMat(:,1:geneCounter); +1009 +1010 %Remove the genes for each KO that are below minScoreRatioKO. +1011 for i=1:size(koGeneMat,1) +1012 J=find(koGeneMat(i,:)); +1013 if any(J) +1014 koGeneMat(i,J(log(koGeneMat(i,J))/log(min(koGeneMat(i,J)))<minScoreRatioKO))=0; +1015 end +1016 end +1017 +1018 %Remove the KOs for each gene that are below minScoreRatioG +1019 for i=1:size(koGeneMat,2) +1020 J=find(koGeneMat(:,i)); +1021 if any(J) +1022 koGeneMat(J(log(koGeneMat(J,i))/log(min(koGeneMat(J,i)))<minScoreRatioG),i)=0; +1023 end +1024 end +1025 fprintf('COMPLETE\n'); 1026 -1027 %Loop through the reactions and add the corresponding genes -1028 for i=1:numel(model.rxns) -1029 if isstruct(model.rxnMiriams{i}) -1030 %Get all KOs -1031 I=find(strcmpi(model.rxnMiriams{i}.name,'kegg.orthology')); -1032 KOs=model.rxnMiriams{i}.value(I); -1033 %Find the KOs and the corresponding genes -1034 J=ismember(KOModel.rxns,KOs); -1035 [~, K]=find(koGeneMat(J,:)); -1036 -1037 if any(K) -1038 model.rxnGeneMat(i,K)=1; -1039 %Also delete KOs for which no genes were found. If no genes at -1040 %all were matched to the reaction it will be deleted later -1041 L=sum(koGeneMat(J,:),2)==0; -1042 model.rxnMiriams{i}.value(I(L))=[]; -1043 model.rxnMiriams{i}.name(I(L))=[]; -1044 end -1045 end -1046 end -1047 fprintf('COMPLETE\n'); -1048 -1049 %Find and delete all reactions without genes. This also removes genes that -1050 %are not used (which could happen because minScoreRatioG and -1051 %minScoreRatioKO). If keepSpontaneous==true, the spontaneous reactions -1052 %without genes are kept in the model. Spontaneous reactions with original -1053 %gene associations are treated in the same way, like the rest of the -1054 %reactions - if gene associations were removed during HMM search, such -1055 %reactions are deleted from the model -1056 if keepSpontaneous==true -1057 %Not the most comprise way to delete reactions without genes, but this -1058 %makes the code easier to understand. Firstly the non-spontaneous -1059 %reactions without genes are removed. After that, the second deletion -1060 %step removes spontaneous reactions, which had gene associations before -1061 %HMM search, but no longer have after it -1062 fprintf('Removing non-spontaneous reactions which after HMM search no longer have GPR rules... '); -1063 I=~any(model.rxnGeneMat,2)&~ismember(model.rxns,isSpontaneous); -1064 model=removeReactions(model,I,true,true); -1065 I=~any(model.rxnGeneMat,2)&ismember(model.rxns,spontRxnsWithGenes); -1066 model=removeReactions(model,I,true,true); -1067 else -1068 %Just simply check for any new reactions without genes and remove -1069 %it -1070 fprintf('Removing reactions which after HMM search no longer have GPR rules... '); -1071 I=~any(model.rxnGeneMat,2); -1072 model=removeReactions(model,I,true,true); -1073 end -1074 fprintf('COMPLETE\n'); -1075 -1076 fprintf('Constructing GPR rules and finalizing the model... '); -1077 %Add the gene associations as 'or' -1078 for i=1:numel(model.rxns) -1079 %Find the involved genes -1080 I=find(model.rxnGeneMat(i,:)); -1081 if any(I) -1082 model.grRules{i}=['(' model.genes{I(1)}]; -1083 for j=2:numel(I) -1084 model.grRules{i}=[model.grRules{i} ' or ' model.genes{I(j)}]; -1085 end -1086 model.grRules{i}=[model.grRules{i} ')']; -1087 end -1088 end -1089 -1090 %Fix grRules and reconstruct rxnGeneMat -1091 [grRules,rxnGeneMat] = standardizeGrRules(model,false); %Give detailed output -1092 model.grRules = grRules; -1093 model.rxnGeneMat = rxnGeneMat; -1094 -1095 %Add the description to the reactions -1096 for i=1:numel(model.rxns) -1097 if ~isempty(model.rxnNotes{i}) -1098 model.rxnNotes(i)=strcat('Included by getKEGGModelForOrganism (using HMMs).',model.rxnNotes(i)); -1099 model.rxnNotes(i)=strrep(model.rxnNotes(i),'.','. '); -1100 else -1101 model.rxnNotes(i)={'Included by getKEGGModelForOrganism (using HMMs)'}; -1102 end -1103 end -1104 fprintf('COMPLETE\n\n*** Model reconstruction complete ***\n'); -1105 end -1106 -1107 function files=listFiles(directory) -1108 %Supporter function to list the files in a directory and return them as a -1109 %cell array -1110 temp=dir(directory); -1111 files=cell(numel(temp),1); -1112 for i=1:numel(temp) -1113 files{i}=temp(i,1).name; -1114 end -1115 files=strrep(files,'.fa',''); -1116 files=strrep(files,'.hmm',''); -1117 files=strrep(files,'.out',''); -1118 files=strrep(files,'.faw',''); -1119 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +1027 fprintf('Adding gene annotations to the model... '); +1028 %Create the new model +1029 model.genes=genes(1:geneCounter); +1030 model.grRules=cell(numel(model.rxns),1); +1031 model.grRules(:)={''}; +1032 model.rxnGeneMat=sparse(numel(model.rxns),numel(model.genes)); +1033 +1034 %Loop through the reactions and add the corresponding genes +1035 for i=1:numel(model.rxns) +1036 if isstruct(model.rxnMiriams{i}) +1037 %Get all KOs +1038 I=find(strcmpi(model.rxnMiriams{i}.name,'kegg.orthology')); +1039 KOs=model.rxnMiriams{i}.value(I); +1040 %Find the KOs and the corresponding genes +1041 J=ismember(KOModel.rxns,KOs); +1042 [~, K]=find(koGeneMat(J,:)); +1043 +1044 if any(K) +1045 model.rxnGeneMat(i,K)=1; +1046 %Also delete KOs for which no genes were found. If no genes at +1047 %all were matched to the reaction it will be deleted later +1048 L=sum(koGeneMat(J,:),2)==0; +1049 model.rxnMiriams{i}.value(I(L))=[]; +1050 model.rxnMiriams{i}.name(I(L))=[]; +1051 end +1052 end +1053 end +1054 fprintf('COMPLETE\n'); +1055 +1056 %Find and delete all reactions without genes. This also removes genes that +1057 %are not used (which could happen because minScoreRatioG and +1058 %minScoreRatioKO). If keepSpontaneous==true, the spontaneous reactions +1059 %without genes are kept in the model. Spontaneous reactions with original +1060 %gene associations are treated in the same way, like the rest of the +1061 %reactions - if gene associations were removed during HMM search, such +1062 %reactions are deleted from the model +1063 if keepSpontaneous==true +1064 %Not the most comprise way to delete reactions without genes, but this +1065 %makes the code easier to understand. Firstly the non-spontaneous +1066 %reactions without genes are removed. After that, the second deletion +1067 %step removes spontaneous reactions, which had gene associations before +1068 %HMM search, but no longer have after it +1069 fprintf('Removing non-spontaneous reactions which after HMM search no longer have GPR rules... '); +1070 I=~any(model.rxnGeneMat,2)&~ismember(model.rxns,isSpontaneous); +1071 model=removeReactions(model,I,true,true); +1072 I=~any(model.rxnGeneMat,2)&ismember(model.rxns,spontRxnsWithGenes); +1073 model=removeReactions(model,I,true,true); +1074 else +1075 %Just simply check for any new reactions without genes and remove +1076 %it +1077 fprintf('Removing reactions which after HMM search no longer have GPR rules... '); +1078 I=~any(model.rxnGeneMat,2); +1079 model=removeReactions(model,I,true,true); +1080 end +1081 fprintf('COMPLETE\n'); +1082 +1083 fprintf('Constructing GPR rules and finalizing the model... '); +1084 %Add the gene associations as 'or' +1085 for i=1:numel(model.rxns) +1086 %Find the involved genes +1087 I=find(model.rxnGeneMat(i,:)); +1088 if any(I) +1089 model.grRules{i}=['(' model.genes{I(1)}]; +1090 for j=2:numel(I) +1091 model.grRules{i}=[model.grRules{i} ' or ' model.genes{I(j)}]; +1092 end +1093 model.grRules{i}=[model.grRules{i} ')']; +1094 end +1095 end +1096 +1097 %Fix grRules and reconstruct rxnGeneMat +1098 [grRules,rxnGeneMat] = standardizeGrRules(model,false); %Give detailed output +1099 model.grRules = grRules; +1100 model.rxnGeneMat = rxnGeneMat; +1101 +1102 %Add the description to the reactions +1103 for i=1:numel(model.rxns) +1104 if ~isempty(model.rxnNotes{i}) +1105 model.rxnNotes(i)=strcat('Included by getKEGGModelForOrganism (using HMMs).',model.rxnNotes(i)); +1106 model.rxnNotes(i)=strrep(model.rxnNotes(i),'.','. '); +1107 else +1108 model.rxnNotes(i)={'Included by getKEGGModelForOrganism (using HMMs)'}; +1109 end +1110 end +1111 fprintf('COMPLETE\n\n*** Model reconstruction complete ***\n'); +1112 end +1113 +1114 function files=listFiles(directory) +1115 %Supporter function to list the files in a directory and return them as a +1116 %cell array +1117 temp=dir(directory); +1118 files=cell(numel(temp),1); +1119 for i=1:numel(temp) +1120 files{i}=temp(i,1).name; +1121 end +1122 files=strrep(files,'.fa',''); +1123 files=strrep(files,'.hmm',''); +1124 files=strrep(files,'.out',''); +1125 files=strrep(files,'.faw',''); +1126 end +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/kegg/getMetsFromKEGG.html b/doc/external/kegg/getMetsFromKEGG.html index 6263d804..44556142 100644 --- a/doc/external/kegg/getMetsFromKEGG.html +++ b/doc/external/kegg/getMetsFromKEGG.html @@ -385,6 +385,6 @@

    SOURCE CODE ^end 0282 fprintf('COMPLETE\n'); 0283 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/kegg/getModelFromKEGG.html b/doc/external/kegg/getModelFromKEGG.html index fb3a6be9..a0f5bdd5 100644 --- a/doc/external/kegg/getModelFromKEGG.html +++ b/doc/external/kegg/getModelFromKEGG.html @@ -364,6 +364,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/kegg/getPhylDist.html b/doc/external/kegg/getPhylDist.html index 528b87d9..d427a15b 100644 --- a/doc/external/kegg/getPhylDist.html +++ b/doc/external/kegg/getPhylDist.html @@ -199,6 +199,6 @@

    SOURCE CODE ^end 0137 end 0138 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/kegg/getRxnsFromKEGG.html b/doc/external/kegg/getRxnsFromKEGG.html index c7311279..e8e5e640 100644 --- a/doc/external/kegg/getRxnsFromKEGG.html +++ b/doc/external/kegg/getRxnsFromKEGG.html @@ -606,6 +606,6 @@

    SOURCE CODE ^'COMPLETE\n'); 0498 0499 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/kegg/index.html b/doc/external/kegg/index.html index c795d8dc..8e83d8ae 100644 --- a/doc/external/kegg/index.html +++ b/doc/external/kegg/index.html @@ -26,6 +26,6 @@

    Other Matlab-specific files in this directory:

  • keggGenes.mat
  • keggMets.mat
  • keggModel.mat
  • keggPhylDist.mat
  • keggRxns.mat
  • -
    Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/makeFakeBlastStructure.html b/doc/external/makeFakeBlastStructure.html index a0240c21..4ff0d0b5 100644 --- a/doc/external/makeFakeBlastStructure.html +++ b/doc/external/makeFakeBlastStructure.html @@ -122,6 +122,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/metacyc/addSpontaneousRxns.html b/doc/external/metacyc/addSpontaneousRxns.html index 9f80669b..32f58a52 100644 --- a/doc/external/metacyc/addSpontaneousRxns.html +++ b/doc/external/metacyc/addSpontaneousRxns.html @@ -157,6 +157,6 @@

    SOURCE CODE ^end 0099 0100 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/metacyc/getEnzymesFromMetaCyc.html b/doc/external/metacyc/getEnzymesFromMetaCyc.html index 8ec94807..b2b76a02 100644 --- a/doc/external/metacyc/getEnzymesFromMetaCyc.html +++ b/doc/external/metacyc/getEnzymesFromMetaCyc.html @@ -356,6 +356,6 @@

    SOURCE CODE ^end 0283 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/metacyc/getMetaCycModelForOrganism.html b/doc/external/metacyc/getMetaCycModelForOrganism.html index 3c0b8a14..056adcac 100644 --- a/doc/external/metacyc/getMetaCycModelForOrganism.html +++ b/doc/external/metacyc/getMetaCycModelForOrganism.html @@ -320,6 +320,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/metacyc/getMetsFromMetaCyc.html b/doc/external/metacyc/getMetsFromMetaCyc.html index 23c44cae..c739804d 100644 --- a/doc/external/metacyc/getMetsFromMetaCyc.html +++ b/doc/external/metacyc/getMetsFromMetaCyc.html @@ -352,6 +352,6 @@

    SOURCE CODE ^end 0279 end 0280 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/metacyc/getModelFromMetaCyc.html b/doc/external/metacyc/getModelFromMetaCyc.html index b341e144..b7b65e29 100644 --- a/doc/external/metacyc/getModelFromMetaCyc.html +++ b/doc/external/metacyc/getModelFromMetaCyc.html @@ -253,6 +253,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/metacyc/getRxnsFromMetaCyc.html b/doc/external/metacyc/getRxnsFromMetaCyc.html index 20c7bbb3..883cd183 100644 --- a/doc/external/metacyc/getRxnsFromMetaCyc.html +++ b/doc/external/metacyc/getRxnsFromMetaCyc.html @@ -621,6 +621,6 @@

    SOURCE CODE ^'[&;]',''); 0530 newString=string; 0531 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/metacyc/index.html b/doc/external/metacyc/index.html index 2df90fde..10337f06 100644 --- a/doc/external/metacyc/index.html +++ b/doc/external/metacyc/index.html @@ -26,6 +26,6 @@

    Other Matlab-specific files in this directory:

  • metaCycEnzymes.mat
  • metaCycMets.mat
  • metaCycRxns.mat
  • -
    Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/metacyc/linkMetaCycKEGGRxns.html b/doc/external/metacyc/linkMetaCycKEGGRxns.html index aa86a72c..7a93c47d 100644 --- a/doc/external/metacyc/linkMetaCycKEGGRxns.html +++ b/doc/external/metacyc/linkMetaCycKEGGRxns.html @@ -155,6 +155,6 @@

    SOURCE CODE ^'Reaction associations between MetaCyc and KEGG have been successfully updated!\n\n']); 0106 0107 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/parseScores.html b/doc/external/parseScores.html index 13897829..8c822574 100644 --- a/doc/external/parseScores.html +++ b/doc/external/parseScores.html @@ -182,6 +182,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/external/updateDocumentation.html b/doc/external/updateDocumentation.html index 06b19c05..9c6bdcc5 100644 --- a/doc/external/updateDocumentation.html +++ b/doc/external/updateDocumentation.html @@ -79,6 +79,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/hpa/index.html b/doc/hpa/index.html index c8beedb5..a659dab2 100644 --- a/doc/hpa/index.html +++ b/doc/hpa/index.html @@ -24,6 +24,6 @@

    Matlab files in this directory:

    -
    Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/hpa/parseHPA.html b/doc/hpa/parseHPA.html index b7e556d3..f28de86c 100644 --- a/doc/hpa/parseHPA.html +++ b/doc/hpa/parseHPA.html @@ -182,6 +182,6 @@

    SOURCE CODE ^end 0105 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/hpa/parseHPArna.html b/doc/hpa/parseHPArna.html index a59f9ab7..7588a60d 100644 --- a/doc/hpa/parseHPArna.html +++ b/doc/hpa/parseHPArna.html @@ -130,6 +130,6 @@

    SOURCE CODE ^ -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/hpa/scoreModel.html b/doc/hpa/scoreModel.html index 9fc80a4a..60440372 100644 --- a/doc/hpa/scoreModel.html +++ b/doc/hpa/scoreModel.html @@ -417,6 +417,6 @@

    SOURCE CODE ^end 0318 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/index.html b/doc/index.html index c55d7829..920e5492 100644 --- a/doc/index.html +++ b/doc/index.html @@ -64,6 +64,6 @@

    Matlab Files found in these Directories

    copyToComps getMinNrFluxes qMOMA -
    Generated on Mon 08-Feb-2021 16:49:50 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/installation/addRavenToUserPath.html b/doc/installation/addRavenToUserPath.html index f4912a22..a990834e 100644 --- a/doc/installation/addRavenToUserPath.html +++ b/doc/installation/addRavenToUserPath.html @@ -94,6 +94,6 @@

    SOURCE CODE ^'t%s',strcat('''',subpath{length(subpath)},''');')); 0042 fclose(fid); 0043 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/installation/checkFunctionUniqueness.html b/doc/installation/checkFunctionUniqueness.html index 6fa9b6e7..1d804c53 100644 --- a/doc/installation/checkFunctionUniqueness.html +++ b/doc/installation/checkFunctionUniqueness.html @@ -107,6 +107,6 @@

    SOURCE CODE ^end 0060 0061 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/installation/checkInstallation.html b/doc/installation/checkInstallation.html index ed7caf95..b0381763 100644 --- a/doc/installation/checkInstallation.html +++ b/doc/installation/checkInstallation.html @@ -243,6 +243,6 @@

    SOURCE CODE ^'\n*** checkInstallation complete ***\n\n'); 0195 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/installation/index.html b/doc/installation/index.html index 80d2fe2b..3bc0cc25 100644 --- a/doc/installation/index.html +++ b/doc/installation/index.html @@ -24,6 +24,6 @@

    Matlab files in this directory:

    -
    Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/SBMLFromExcel.html b/doc/io/SBMLFromExcel.html index d9749d59..9799b702 100644 --- a/doc/io/SBMLFromExcel.html +++ b/doc/io/SBMLFromExcel.html @@ -88,6 +88,6 @@

    SOURCE CODE ^exportModel(model,outputFileName,toCOBRA,true); 0030 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/addJavaPaths.html b/doc/io/addJavaPaths.html index 437512fb..6bcc68f8 100644 --- a/doc/io/addJavaPaths.html +++ b/doc/io/addJavaPaths.html @@ -72,6 +72,6 @@

    SOURCE CODE ^end 0026 end 0027 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/checkFileExistence.html b/doc/io/checkFileExistence.html index f479ee8f..703f1c0d 100644 --- a/doc/io/checkFileExistence.html +++ b/doc/io/checkFileExistence.html @@ -105,6 +105,6 @@

    SOURCE CODE ^if oneFile == true 0048 files = files{1}; 0049 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/cleanSheet.html b/doc/io/cleanSheet.html index a4f4ede5..97a98b5e 100644 --- a/doc/io/cleanSheet.html +++ b/doc/io/cleanSheet.html @@ -165,6 +165,6 @@

    SOURCE CODE ^end 0103 end 0104 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/closeModel.html b/doc/io/closeModel.html index 7d36d140..83bac0b4 100644 --- a/doc/io/closeModel.html +++ b/doc/io/closeModel.html @@ -101,6 +101,6 @@

    SOURCE CODE ^end; 0050 0051 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/exportForGit.html b/doc/io/exportForGit.html index ace8670e..8432b771 100644 --- a/doc/io/exportForGit.html +++ b/doc/io/exportForGit.html @@ -198,6 +198,6 @@

    SOURCE CODE ^end 0132 fclose(fid); 0133 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/exportModel.html b/doc/io/exportModel.html index 1b78942b..8bf0c3de 100644 --- a/doc/io/exportModel.html +++ b/doc/io/exportModel.html @@ -857,6 +857,6 @@

    SOURCE CODE ^end 0800 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/exportModelToSIF.html b/doc/io/exportModelToSIF.html index 089fb20f..f0307ed4 100644 --- a/doc/io/exportModelToSIF.html +++ b/doc/io/exportModelToSIF.html @@ -143,6 +143,6 @@

    SOURCE CODE ^end 0086 fclose(fid); 0087 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/exportToExcelFormat.html b/doc/io/exportToExcelFormat.html index 1cc24641..0ee4b358 100644 --- a/doc/io/exportToExcelFormat.html +++ b/doc/io/exportToExcelFormat.html @@ -431,6 +431,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/exportToTabDelimited.html b/doc/io/exportToTabDelimited.html index 949c0db6..6d039aa0 100644 --- a/doc/io/exportToTabDelimited.html +++ b/doc/io/exportToTabDelimited.html @@ -389,6 +389,6 @@

    SOURCE CODE ^end 0332 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/getFullPath.html b/doc/io/getFullPath.html index 1293852f..63e4a39b 100644 --- a/doc/io/getFullPath.html +++ b/doc/io/getFullPath.html @@ -434,6 +434,6 @@

    SOURCE CODE ^% return; 0332 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/getToolboxVersion.html b/doc/io/getToolboxVersion.html index d1ac260b..ef1b173f 100644 --- a/doc/io/getToolboxVersion.html +++ b/doc/io/getToolboxVersion.html @@ -137,6 +137,6 @@

    SOURCE CODE ^'/'); %MAC/Linux 0079 end 0080 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/importExcelModel.html b/doc/io/importExcelModel.html index 2482096a..be6d6c8e 100644 --- a/doc/io/importExcelModel.html +++ b/doc/io/importExcelModel.html @@ -1044,6 +1044,6 @@

    SOURCE CODE ^end 0925 y=NaN; %This means that the input couldn't be parsed 0926 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/importModel.html b/doc/io/importModel.html index ea2a3913..e60f254f 100644 --- a/doc/io/importModel.html +++ b/doc/io/importModel.html @@ -1334,6 +1334,6 @@

    SOURCE CODE ^end 1217 1218 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/index.html b/doc/io/index.html index 90d05e46..f17f6cf2 100644 --- a/doc/io/index.html +++ b/doc/io/index.html @@ -24,6 +24,6 @@

    Matlab files in this directory:

    -
    Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/loadSheet.html b/doc/io/loadSheet.html index 3a04e5cf..2680560e 100644 --- a/doc/io/loadSheet.html +++ b/doc/io/loadSheet.html @@ -125,6 +125,6 @@

    SOURCE CODE ^%Remove empty rows 0073 raw(wasEmpty,:)=[]; 0074 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/loadWorkbook.html b/doc/io/loadWorkbook.html index dd973236..7c06b146 100644 --- a/doc/io/loadWorkbook.html +++ b/doc/io/loadWorkbook.html @@ -107,6 +107,6 @@

    SOURCE CODE ^end 0055 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/startup.html b/doc/io/startup.html index 4bd851bb..1f8c3115 100644 --- a/doc/io/startup.html +++ b/doc/io/startup.html @@ -44,6 +44,6 @@

    CROSS-REFERENCE INFORMATION ^
 <h2><a name=SOURCE CODE ^

    0001 %Add the Java Paths at startup in order to be ready for use if the Toolbox is on the path
     0002 addJavaPaths()
    -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/writeSheet.html b/doc/io/writeSheet.html index eedb16a5..10b1aa8c 100644 --- a/doc/io/writeSheet.html +++ b/doc/io/writeSheet.html @@ -206,6 +206,6 @@

    SOURCE CODE ^end 0149 end 0150 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/io/writeYaml.html b/doc/io/writeYaml.html index dc153d34..bb15a055 100644 --- a/doc/io/writeYaml.html +++ b/doc/io/writeYaml.html @@ -284,6 +284,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/legacy/external/constructPathwayFromCelldesigner.html b/doc/legacy/external/constructPathwayFromCelldesigner.html index dc4a9f2b..2a62f307 100644 --- a/doc/legacy/external/constructPathwayFromCelldesigner.html +++ b/doc/legacy/external/constructPathwayFromCelldesigner.html @@ -586,6 +586,6 @@

    SOURCE CODE ^end 0477 end 0478 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/legacy/external/index.html b/doc/legacy/external/index.html index 649c6713..91f40e6d 100644 --- a/doc/legacy/external/index.html +++ b/doc/legacy/external/index.html @@ -24,6 +24,6 @@

    Matlab files in this directory:

    -
    Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/pathway/colorPathway.html b/doc/pathway/colorPathway.html index 46b446a3..6ac7742f 100644 --- a/doc/pathway/colorPathway.html +++ b/doc/pathway/colorPathway.html @@ -138,6 +138,6 @@

    SOURCE CODE ^end 0070 end 0071 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/pathway/getPathwayDimensions.html b/doc/pathway/getPathwayDimensions.html index cbc2034c..f2a33f1f 100644 --- a/doc/pathway/getPathwayDimensions.html +++ b/doc/pathway/getPathwayDimensions.html @@ -104,6 +104,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/pathway/index.html b/doc/pathway/index.html index 4fd7b374..b2c907cb 100644 --- a/doc/pathway/index.html +++ b/doc/pathway/index.html @@ -24,6 +24,6 @@

    Matlab files in this directory:

    -
    Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/pathway/mapPathwayRxnNames.html b/doc/pathway/mapPathwayRxnNames.html index 2f97f815..b95fbb05 100644 --- a/doc/pathway/mapPathwayRxnNames.html +++ b/doc/pathway/mapPathwayRxnNames.html @@ -93,6 +93,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/pathway/markPathwayWithExpression.html b/doc/pathway/markPathwayWithExpression.html index b71284fd..f79b386d 100644 --- a/doc/pathway/markPathwayWithExpression.html +++ b/doc/pathway/markPathwayWithExpression.html @@ -113,6 +113,6 @@

    SOURCE CODE ^end 0059 end 0060 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/pathway/markPathwayWithFluxes.html b/doc/pathway/markPathwayWithFluxes.html index adc69ad5..ac796df2 100644 --- a/doc/pathway/markPathwayWithFluxes.html +++ b/doc/pathway/markPathwayWithFluxes.html @@ -106,6 +106,6 @@

    SOURCE CODE ^end 0047 end 0048 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/pathway/trimPathway.html b/doc/pathway/trimPathway.html index 47d37780..2714fdb0 100644 --- a/doc/pathway/trimPathway.html +++ b/doc/pathway/trimPathway.html @@ -141,6 +141,6 @@

    SOURCE CODE ^end 0087 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/plotting/colorSubsystem.html b/doc/plotting/colorSubsystem.html index 927147ea..3b70c084 100644 --- a/doc/plotting/colorSubsystem.html +++ b/doc/plotting/colorSubsystem.html @@ -116,6 +116,6 @@

    SOURCE CODE ^end 0054 0055 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/plotting/drawMap.html b/doc/plotting/drawMap.html index 52ede6e8..0abf0b54 100644 --- a/doc/plotting/drawMap.html +++ b/doc/plotting/drawMap.html @@ -206,6 +206,6 @@

    SOURCE CODE ^end 0138 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/plotting/drawPathway.html b/doc/plotting/drawPathway.html index 5d024ca7..b178fe99 100644 --- a/doc/plotting/drawPathway.html +++ b/doc/plotting/drawPathway.html @@ -476,6 +476,6 @@

    SOURCE CODE ^end 0416 end 0417 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/plotting/getColorCodes.html b/doc/plotting/getColorCodes.html index ba3cf934..b9f9dc22 100644 --- a/doc/plotting/getColorCodes.html +++ b/doc/plotting/getColorCodes.html @@ -203,6 +203,6 @@

    SOURCE CODE ^end 0141 end 0142 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/plotting/index.html b/doc/plotting/index.html index e8211548..c7668bc5 100644 --- a/doc/plotting/index.html +++ b/doc/plotting/index.html @@ -24,6 +24,6 @@

    Matlab files in this directory:

    -
    Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/plotting/plotAdditionalInfo.html b/doc/plotting/plotAdditionalInfo.html index 944d9ac9..7126d769 100644 --- a/doc/plotting/plotAdditionalInfo.html +++ b/doc/plotting/plotAdditionalInfo.html @@ -184,6 +184,6 @@

    SOURCE CODE ^'fontname','Small Fonts','fontsize',3,... 0114 'interpreter', 'none','verticalalignment','top','HorizontalAlignment','left'); 0115 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/plotting/plotLabels.html b/doc/plotting/plotLabels.html index fee5a5c9..71621e28 100644 --- a/doc/plotting/plotLabels.html +++ b/doc/plotting/plotLabels.html @@ -71,6 +71,6 @@

    SOURCE CODE ^end 0019 end 0020 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/plotting/setColorToMapRxns.html b/doc/plotting/setColorToMapRxns.html index 1122cd66..be20ac41 100644 --- a/doc/plotting/setColorToMapRxns.html +++ b/doc/plotting/setColorToMapRxns.html @@ -654,6 +654,6 @@

    SOURCE CODE ^end 0582 0583 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/plotting/setOmicDataToRxns.html b/doc/plotting/setOmicDataToRxns.html index 1b1f8094..7f65dc6c 100644 --- a/doc/plotting/setOmicDataToRxns.html +++ b/doc/plotting/setOmicDataToRxns.html @@ -98,6 +98,6 @@

    SOURCE CODE ^end 0050 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/plotting/setTitle.html b/doc/plotting/setTitle.html index b3583f9c..d5004f58 100644 --- a/doc/plotting/setTitle.html +++ b/doc/plotting/setTitle.html @@ -65,6 +65,6 @@

    SOURCE CODE ^'fontname','Small Fonts','fontsize',5,... 0015 'interpreter', 'tex','HorizontalAlignment','center','verticalalignment','middle'); 0016 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/solver/checkSolution.html b/doc/solver/checkSolution.html index 58d42b50..7995f5eb 100644 --- a/doc/solver/checkSolution.html +++ b/doc/solver/checkSolution.html @@ -78,6 +78,6 @@

    SOURCE CODE ^end 0027 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/solver/getMILPParams.html b/doc/solver/getMILPParams.html index 3c99286e..13728baa 100644 --- a/doc/solver/getMILPParams.html +++ b/doc/solver/getMILPParams.html @@ -126,6 +126,6 @@

    SOURCE CODE ^'printReport'); 0069 end 0070 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/solver/index.html b/doc/solver/index.html index 73b3a5cc..dc27b09b 100644 --- a/doc/solver/index.html +++ b/doc/solver/index.html @@ -24,6 +24,6 @@

    Matlab files in this directory:

    -
    Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/solver/optimizeProb.html b/doc/solver/optimizeProb.html index 700c058f..39a056b6 100644 --- a/doc/solver/optimizeProb.html +++ b/doc/solver/optimizeProb.html @@ -107,6 +107,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/solver/qMOMA.html b/doc/solver/qMOMA.html index 8a850a4b..94bed5be 100644 --- a/doc/solver/qMOMA.html +++ b/doc/solver/qMOMA.html @@ -145,6 +145,6 @@

    SOURCE CODE ^end 0086 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/solver/setRavenSolver.html b/doc/solver/setRavenSolver.html index 1fb4de7d..abdaf0a1 100644 --- a/doc/solver/setRavenSolver.html +++ b/doc/solver/setRavenSolver.html @@ -75,6 +75,6 @@

    SOURCE CODE ^'Such solver is not compatible with RAVEN. Available options are ''gurobi'' and ''cobra'''; 0022 dispEM(EM); 0023 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/solver/solveLP.html b/doc/solver/solveLP.html index d5c2d44b..c5e67af8 100644 --- a/doc/solver/solveLP.html +++ b/doc/solver/solveLP.html @@ -289,6 +289,6 @@

    SOURCE CODE ^end 0212 end 0213 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/solver/solveQP.html b/doc/solver/solveQP.html index bd6e14ee..229ad8a3 100644 --- a/doc/solver/solveQP.html +++ b/doc/solver/solveQP.html @@ -121,6 +121,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/struct_conversion/cobraToGurobiProb.html b/doc/struct_conversion/cobraToGurobiProb.html index c62f0d97..75d4cba4 100644 --- a/doc/struct_conversion/cobraToGurobiProb.html +++ b/doc/struct_conversion/cobraToGurobiProb.html @@ -67,6 +67,6 @@

    SOURCE CODE ^end 0025 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/struct_conversion/cobraToMosekRes.html b/doc/struct_conversion/cobraToMosekRes.html index 30a5bc06..7d6e231b 100644 --- a/doc/struct_conversion/cobraToMosekRes.html +++ b/doc/struct_conversion/cobraToMosekRes.html @@ -77,6 +77,6 @@

    SOURCE CODE ^end 0034 end 0035 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/struct_conversion/extractMiriam.html b/doc/struct_conversion/extractMiriam.html index 5fcf24f8..b54bcfb1 100644 --- a/doc/struct_conversion/extractMiriam.html +++ b/doc/struct_conversion/extractMiriam.html @@ -170,6 +170,6 @@

    SOURCE CODE ^';',miriamName,'/'),';'); 0100 0101 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/struct_conversion/gurobiToCobraRes.html b/doc/struct_conversion/gurobiToCobraRes.html index 9136b644..d93c4cdb 100644 --- a/doc/struct_conversion/gurobiToCobraRes.html +++ b/doc/struct_conversion/gurobiToCobraRes.html @@ -81,6 +81,6 @@

    SOURCE CODE ^end 0038 res=resCb; 0039 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/struct_conversion/index.html b/doc/struct_conversion/index.html index c3f4a4f7..96079fa7 100644 --- a/doc/struct_conversion/index.html +++ b/doc/struct_conversion/index.html @@ -24,6 +24,6 @@

    Matlab files in this directory:

    -
    Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/struct_conversion/ravenCobraWrapper.html b/doc/struct_conversion/ravenCobraWrapper.html index 454d20ff..44500f1d 100644 --- a/doc/struct_conversion/ravenCobraWrapper.html +++ b/doc/struct_conversion/ravenCobraWrapper.html @@ -491,6 +491,6 @@

    SOURCE CODE ^'^(',''); %rules that start with a "(" 0419 grRules = regexprep(grRules,')$',''); %rules that end with a ")" 0420 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/struct_conversion/standardizeModelFieldOrder.html b/doc/struct_conversion/standardizeModelFieldOrder.html index 0fb33182..86aff153 100644 --- a/doc/struct_conversion/standardizeModelFieldOrder.html +++ b/doc/struct_conversion/standardizeModelFieldOrder.html @@ -90,6 +90,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/testing/index.html b/doc/testing/index.html index 6bc89c28..e9dab614 100644 --- a/doc/testing/index.html +++ b/doc/testing/index.html @@ -26,6 +26,6 @@

    Subsequent directories:

    -
    Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/testing/testBlast.html b/doc/testing/testBlast.html index b5d00657..e0b78733 100644 --- a/doc/testing/testBlast.html +++ b/doc/testing/testBlast.html @@ -184,6 +184,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/testing/testDiamond.html b/doc/testing/testDiamond.html index a5ca40d1..3e9aa29e 100644 --- a/doc/testing/testDiamond.html +++ b/doc/testing/testDiamond.html @@ -176,6 +176,6 @@

    SOURCE CODE ^end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/testing/unit_tests/index.html b/doc/testing/unit_tests/index.html index dc597b0a..3e1a88a1 100644 --- a/doc/testing/unit_tests/index.html +++ b/doc/testing/unit_tests/index.html @@ -26,6 +26,6 @@

    Subsequent directories:

    • test_data
    -
    Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/testing/unit_tests/tinitTests.html b/doc/testing/unit_tests/tinitTests.html index d978f1c9..2ad5a268 100644 --- a/doc/testing/unit_tests/tinitTests.html +++ b/doc/testing/unit_tests/tinitTests.html @@ -109,6 +109,6 @@

    SOURCE CODE ^%and, check that the two formats produce the same 0063 verifyEqual(testCase,taskStruct,taskStructExcel) 0064 end -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/tutorial/index.html b/doc/tutorial/index.html index 57d92392..bb076178 100644 --- a/doc/tutorial/index.html +++ b/doc/tutorial/index.html @@ -28,6 +28,6 @@

    Subsequent directories:

    • euk100_kegg94
    • output
    -
    Generated on Mon 08-Feb-2021 16:49:51 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/tutorial/tutorial1.html b/doc/tutorial/tutorial1.html index 884d4234..b74f3136 100644 --- a/doc/tutorial/tutorial1.html +++ b/doc/tutorial/tutorial1.html @@ -189,6 +189,6 @@

    SOURCE CODE ^%be able to zoom in on individual reactions. 0136 load 'pcPathway.mat' pathway; 0137 drawMap('Glucose vs ethanol',pathway,model,sol.x,solETH.x,modelETH,'GLCvsETH.pdf',10^-5); -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/tutorial/tutorial2.html b/doc/tutorial/tutorial2.html index 622570f5..f480bd48 100644 --- a/doc/tutorial/tutorial2.html +++ b/doc/tutorial/tutorial2.html @@ -68,6 +68,6 @@

    SOURCE CODE ^%Print all fluxes 0021 printFluxes(smallModel,sol.x,false,10^-5,[],'%rxnID (%rxnName):\n\t%eqn\n\t%flux\n'); -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/tutorial/tutorial2_solutions.html b/doc/tutorial/tutorial2_solutions.html index b3ec1b93..1c7a6102 100644 --- a/doc/tutorial/tutorial2_solutions.html +++ b/doc/tutorial/tutorial2_solutions.html @@ -62,6 +62,6 @@

    SOURCE CODE ^%Print all fluxes 0018 printFluxes(smallModel,sol.x,false,10^-5,[],'%rxnID (%rxnName):\n\t%eqn\n\t%flux\n'); -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/tutorial/tutorial3.html b/doc/tutorial/tutorial3.html index f5324996..f4cd9cc9 100644 --- a/doc/tutorial/tutorial3.html +++ b/doc/tutorial/tutorial3.html @@ -129,6 +129,6 @@

    SOURCE CODE ^'Reactions involving the top 10 Reporter Metabolites',pathway,model,ones(numel(model.rxns),1),zeros(numel(model.rxns),1),[],'mapRM.pdf',10^-5); -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/tutorial/tutorial3_solutions.html b/doc/tutorial/tutorial3_solutions.html index 106724cd..d9c433e4 100644 --- a/doc/tutorial/tutorial3_solutions.html +++ b/doc/tutorial/tutorial3_solutions.html @@ -161,6 +161,6 @@

    SOURCE CODE ^'Reactions involving the top 10 Reporter Metabolites',pathway,model,ones(numel(model.rxns),1),zeros(numel(model.rxns),1),[],'mapRM.pdf',10^-5); -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/tutorial/tutorial4.html b/doc/tutorial/tutorial4.html index 51c2c468..6f3e8a77 100644 --- a/doc/tutorial/tutorial4.html +++ b/doc/tutorial/tutorial4.html @@ -79,6 +79,6 @@

    SOURCE CODE ^ -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/tutorial/tutorial4_solutions.html b/doc/tutorial/tutorial4_solutions.html index 0b766777..74c15ea0 100644 --- a/doc/tutorial/tutorial4_solutions.html +++ b/doc/tutorial/tutorial4_solutions.html @@ -202,6 +202,6 @@

    SOURCE CODE ^%All this stuff may be done in a more automated manner as well 0154 model=importExcelModel('smallYeastBad2.xlsx',true,false,true); 0155 gapReport(model,{refModel}); -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/tutorial/tutorial5.html b/doc/tutorial/tutorial5.html index b161694c..177ff49e 100644 --- a/doc/tutorial/tutorial5.html +++ b/doc/tutorial/tutorial5.html @@ -235,6 +235,6 @@

    SOURCE CODE ^%Note that only some info is printed; most of it is available in the output 0185 %structures. Work like this in an iterative manner until the model is of 0186 %sufficient quality. -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file diff --git a/doc/tutorial/tutorial6.html b/doc/tutorial/tutorial6.html index 8584542a..7d8216ae 100644 --- a/doc/tutorial/tutorial6.html +++ b/doc/tutorial/tutorial6.html @@ -203,6 +203,6 @@

    SOURCE CODE ^%The results indicate that this new model is functional -
    Generated on Mon 08-Feb-2021 16:49:52 by m2html © 2005
    +
    Generated by m2html © 2005
    \ No newline at end of file