Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update fix/export_functions with latest changes from devel branch #80

Merged
merged 45 commits into from
Apr 10, 2018

Conversation

edkerk
Copy link
Member

@edkerk edkerk commented Apr 10, 2018

No description provided.

Simonas Marcišauskas and others added 30 commits March 18, 2018 00:40
also finally renaming metaboliteCharge to metaboliteCharges in importModel
Fixed all the functions involving subSystems field. Also fixed KEGG, MetaCyc and HMR databases, since the Matlab structures with subSystems as cell array columns of string are no longer compatible with export functions.
Added padding for reactions and reaction annotation in order to prevent size mismatch problems in convertToIrrev line 27
Fixed an issue, when rxnConfidenceScore would still be kept even though it consists of NaNs
In addtion to the retrieved spontaneous reaction, the relevant pathways are now provided as optional output
style:
-performed semi-automatic smart indentation, making things easier for the future development
-updated functions annotation
-removed unecessary semicolons preceding "end"
feat:
-getRxnsFromKEGG now comes with full subsystems annotation, excluding the general/overview ones (see 1.0 category in KEGG PATHWAY)
-getRxnsFromKEGG rxns now contains KEGG reaction ids in rxnMiriams
-getRxnsFromKEGG now contains KEGG Module ids in rxnMiriams
-getMetsFromKEGG now imports the full information of kegg metabolite/glycan, PubChem and ChEBI ids
-getKEGGModelForOrganism: when fastaFile is not available, geneMiriams field is generated referring to kegg.genes
to prevent the critical error coming from reactions without any subSystems associated
geneRules is now properly created. Also increases performance of function quite a bit (from 11 secs to 2 secs in a desktop Windows 10 PC)
removal/blockage of rxns is decided based on the grRule and not the geneRxnMatrix.
The script standardizes grRules according to the following criteria:

- Overall enclosing brackets are deleted
- Every isoenzyme is enclosed into brackets
- ' or ' and ' and ' are set to lowercases
- Unnecessary blanks are deleted

The functions also modifies the field rxnGeneMat for providing consistency with the grRules
as standardizeGeneRules already creates the geneRxnMatrix, we can avoid redundancy
Only function in RAVEN that was calling removeGenes.m, changed for compatibility
repIdx is not always the first instance in metCompsNidx
since it contained only TRANSPORT cell array after the commit 6f29d82
fix: replaceMets mistakingly removed metabolite
…ntaneousRxns

feat: add option of pathway ids when output spontaneous rxns
BenjaSanchez and others added 15 commits April 3, 2018 18:27
The function standardizeGrRules was implemented in RAVEN. This function is direct replacement of getRxnGeneMat function, now excluded from the toolbox. Although standardizeGrRules was mainly introduced to address the removeGenes problem (#69), its utilization in RAVEN was expanded and is now used to (re)construct rxnGeneMat wherever possible thereby standardizing grRules field. The two main utilization purposes are:
1. To provide standardized grRules and rxnGeneMat fields in newly generated RAVEN model structures, obtained from importModel, importExcelModel, ravenCobraWrapper, getModelFromHomology, getKEGGModelForOrganism, getMetaCycModelForOrganism, getINITModel.
2. To ensure that standardized grRules and rxnGeneMat fields are retained in the cases when these fields are heavily modified. This includes functions: addGenes, addRxns, changeGeneAssoc, contractModel, expandModel, mergeModels and predictLocalization. The function getModelFromHomology was not modified since it already relies on mergeModels.

The main modifications in this commit:
-addGenes: now uses standardizeGrRules.
-addRxns: the loop, previously used to update rxnGeneMat is not used to check whether all the genes appearing in grRules ar found in genes field; standardizeGrRules is utilized right after this loop.
-changeGeneAssoc: now uses standardizeGrRules.
-contractModel: now uses standardizeGrRules, replacing previous rxnGeneMat reconstruction.
-expandModel: now uses standardizeGrRules.
-mergeModels: now uses standardizeGrRules, replacing previous rxnGeneMat reconstruction.
-predictLocalization: as the grRules and rxnGeneMat modification is complicated, standardizeGrRules is performed in the end of the function.
-getKEGGModelForOrganism: now uses standardizeGrRules.
-getMetaCycModelForOrganism: now uses standardizeGrRules.
-getINITModel: now uses standardizeGrRules.
-importExcelModel: the loop, previously used to update rxnGeneMat is not used to check whether all the genes appearing in grRules ar found in genes field; standardizeGrRules is utilized right after this loop.
-mergeModels: now uses standardizeGrRules, completely replacing previous rxnGeneMat reconstruction. The child function getGeneMat was renamed into getGeneList.
chmod a+x replaceMets.m
chmod a+x standardizeGrRules.m
chmod a+x exportToGit.m
-applied MATLAB smart indent (EDITOR -> EDIT -> Indent -> Smart)
-removed whitespaces between "%" and beginning of the comment text
In previous version the function standardizeGrRules was called too early, since S-matrix was not constructed yet. This lead to transposed grRules and rxnGeneMat without all-zero rows.
-applied MATLAB smart indent (EDITOR -> EDIT -> Indent -> Smart)
The separator between paths in MATLAB should be colon, not semicolon
-applied MATLAB smart indent (EDITOR -> EDIT -> Indent -> Smart) for both functions. Also removed unecessary semicolons after each 'end'
Making Java library addition dynamic
@edkerk edkerk merged commit 5d2362b into fix/export_functions Apr 10, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants