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

Map mets/rxns in the model to have MNX IDs #167

Merged
merged 8 commits into from
Oct 25, 2018
Merged

Map mets/rxns in the model to have MNX IDs #167

merged 8 commits into from
Oct 25, 2018

Conversation

feiranl
Copy link
Collaborator

@feiranl feiranl commented Oct 9, 2018

Main improvements in this PR:

Adresses issue #154

  • We included MetaNetX ID for both reactions and metabolites.
  • We downloaded yeast7.6 MetaNet model from MetaNetX database, and genrate two maping list Yeast7.6MNXRxnMappingList.tsv and Yeast7.6MNXMetMappingList.tsv
  • Through metabolites ID mapping, we mapped MetaNetX IDs for those metabolites and reactions appeared in the yeast7.6 model.
  • For newly added metabolites, we used ChEBI and KEGG ID to query MetaNetX database, to find MetaNetX ID. Only if when the same MetaNetX ID were found by KEGG and ChEBI, then we added that MetaNetX ID into our model.
  • As for newly added reactions, since we only have KEGG IDs for reactions, we used reaction KEGG ID to query MetaNetX database to find MetaNetX ID.
  • All those steps were done automatically by the Matlab function: GetMNXID.m.
  • This function calls the function mapIDsViaMNXref.m, which would load MNX database file from RAVEN toolbox
  • Updated MetaNetX IDs were stored as model.metMetaNetXID and model. rxnMetaNetXID in the .mat version of model.
  • For now, 1855 metabolites and 1607 reactions have MetaNetX IDs in the model.

I hereby confirm that I have:

  • Tested my code with all requirements for running the model
  • Selected devel as a target branch (top left drop-down menu)
  • If needed, asked first in the Gitter chat room about this PR

Upload the function mapIDsViaMNXref.m and GetMNXID.m which are used for getting the MNX IDs for mapping the KEGGid and CHEBIID to MetaNetX ID. A reference file as MNX.mat was also uploaded, and two mapping lists from yeast7.6MNXmodel also uploaded to the database file.
Run the code: model = loadYeastModel
model = GetMNXID(model,'mets',2) to get the met annotation for mets. 2 stands for also include the yeast7.6 MNX model information.
Run the code: model = loadYeastModel
model = GetMNXID(model,'rxns',2) to get the met annotation for rxns. 2 stands for also include the yeast7.6 MNX model information.
Copy link
Contributor

@BenjaSanchez BenjaSanchez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR @feiranl please see my comments in my review for complying with the standard of the repo and making some sections simpler

comply with repo format
rewrite the load MNXref data structure part
add more annotation to the function
remove conflicting part
feiranl and others added 3 commits October 16, 2018 06:50
fix a bug in function
fix a bug for windows
* corrected matching of slash character in the toolbox path
* fixed for loops in the level=1 case
* proper indentation of functions
* switched RAVEN to master (after 2.0.4 release)
Copy link
Contributor

@BenjaSanchez BenjaSanchez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added a couple fixes, including fixing the for loops in the level=1 case. @feiranl note that after the new release of RAVEN you can switch back your branch to master for any new PRs and it should work fine

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.

3 participants