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

feat: Add new reactions annotated for genes related to Glycolysis pathway #535

Merged
merged 7 commits into from
Apr 18, 2023
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 94 additions & 0 deletions code/modelCuration/GlycolysisCuration.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
% This function is for adding new rxns annotated for glycolysis genes of GPRs identified by GPT.
rxnStruct = importTsvFile('../../data/modelCuration/addRxnGly_20230414.tsv');
MetStruct = importTsvFile('../../data/modelCuration/addMetGly_20230414.tsv');

model = importYaml('Human-GEM.yml');

rxnsToAdd.rxns = rxnStruct.rxnID;
rxnsToAdd.eccodes = rxnStruct.ECNumber;
rxnsToAdd.equations = rxnStruct.Equation;
rxnsToAdd.rxnNames = rxnStruct.rxnID;
rxnsToAdd.lb = zeros(length(rxnStruct.rxnID),1);
rxnsToAdd.ub = repmat(1000,length(rxnStruct.rxnID),1);
idx = find(cell2mat(rxnStruct.Reversibility) == 1);
rxnsToAdd.lb(idx) = -1000;
rxnsToAdd.grRules = rxnStruct.grRules;
rxnsToAdd.subSystems = rxnStruct.Subsystems;
rxnsToAdd.rxnConfidenceScores = zeros(length(rxnStruct.rxnID),1);
[~,idx] = ismember(MetStruct.MetID,model.mets);
metsToAdd.mets = MetStruct.MetID(~idx,1);
metsToAdd.metNames = MetStruct.Name(~idx,1);
metsToAdd.compartments = MetStruct.Comp(~idx,1);
metsToAdd.metFormulas = MetStruct.Fromula(~idx,1);
metsToAdd.metCharges = MetStruct.Charge(~idx,1);
tmp = [];
for i = 1:length(metsToAdd.metCharges)
if ~isempty(metsToAdd.metCharges{i})
tmp(i,1) = str2double(metsToAdd.metCharges{i});
else
tmp(i,1) = NaN;
end
end
metsToAdd.metCharges = tmp;

[newModel, modelChanges] = addMetabolicNetwork(model,rxnsToAdd,metsToAdd);

% export the new mets, new reactions to the table
structure = importTsvFile('../../model/metabolites.tsv');
[~,idx] = ismember(modelChanges.mets.mets,MetStruct.MetID);
MetStruct.BiGGID(1:length(MetStruct.MetID),1) = {''};
% metID metNames metFormulas metCharges compartments metKEGGID metPubChemID metChEBIID metMetaCycID metMetaNetXID
metNocomp = cellfun(@(s) s(1:8), MetStruct.MetID(idx,1), 'UniformOutput', false);
structure.mets = [structure.mets;MetStruct.MetID(idx,1)];
structure.metBiGGID = [structure.metBiGGID;MetStruct.BiGGID(idx,1)];
structure.metKEGGID = [structure.metKEGGID;MetStruct.KEGG(idx,1)];
structure.metsNoComp = [structure.metsNoComp;metNocomp];
structure.metHMDBID = [structure.metHMDBID;MetStruct.BiGGID(idx,1)];
structure.metChEBIID = [structure.metChEBIID;MetStruct.CHEBI(idx,1)];
structure.metPubChemID = [structure.metPubChemID;MetStruct.BiGGID(idx,1)];
structure.metLipidMapsID = [structure.metLipidMapsID;MetStruct.CHEBI(idx,1)];
Copy link
Member

@haowang-bioinfo haowang-bioinfo Apr 16, 2023

Choose a reason for hiding this comment

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

the line 49 probably should be modified, now ChEBI ids were also updated to the column of Lipidmap ids

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Thanks for identifying this. Changed in the latest commit.

structure.metEHMNID = [structure.metEHMNID;MetStruct.BiGGID(idx,1)];
structure.metHepatoNET1ID = [structure.metHepatoNET1ID;MetStruct.BiGGID(idx,1)];
structure.metRecon3DID = [structure.metRecon3DID;MetStruct.BiGGID(idx,1)];
structure.metMetaNetXID = [structure.metMetaNetXID;MetStruct.MetaNetx(idx,1)];
structure.metHMR2ID = [structure.metHMR2ID;MetStruct.BiGGID(idx,1)];
structure.metRetired = [structure.metRetired;MetStruct.BiGGID(idx,1)];
% sort the order based on the model.mets
[~,idx] = ismember(model.mets,structure.mets);
structure.mets = structure.mets(idx);
structure.metsNoComp = structure.metsNoComp(idx);
structure.metBiGGID = structure.metBiGGID(idx,1);
structure.metKEGGID = structure.metKEGGID(idx,1);
structure.metHMDBID = structure.metHMDBID(idx,1);
structure.metChEBIID = structure.metChEBIID(idx,1);
structure.metPubChemID = structure.metPubChemID(idx,1);
structure.metLipidMapsID = structure.metLipidMapsID(idx,1);
structure.metEHMNID = structure.metEHMNID(idx,1);
structure.metHepatoNET1ID = structure.metHepatoNET1ID(idx,1);
structure.metRecon3DID = structure.metRecon3DID(idx,1);
structure.metMetaNetXID = structure.metMetaNetXID(idx,1);
structure.metHMR2ID = structure.metHMR2ID(idx,1);
structure.metRetired = structure.metRetired(idx,1);
exportTsvFile(structure, '../../model/metabolites.tsv')

structure = importTsvFile('../../model/reactions.tsv');
[~,idx] = ismember(modelChanges.rxns.rxns,rxnStruct.rxnID);
rxnStruct.EHMN(1:length(rxnStruct.rxnID),1) = {''};
structure.rxns = [structure.rxns;rxnStruct.rxnID(idx,1) ];
structure.rxnKEGGID = [structure.rxnKEGGID;rxnStruct.KEGG(idx,1) ];
structure.rxnBiGGID= [structure.rxnBiGGID;rxnStruct.BiGG(idx,1) ];
structure.rxnEHMNID = [structure.rxnEHMNID;rxnStruct.EHMN(idx,1) ];
structure.rxnHepatoNET1ID = [structure.rxnHepatoNET1ID;rxnStruct.EHMN(idx,1) ];
structure.rxnREACTOMEID = [structure.rxnREACTOMEID;rxnStruct.Reactome(idx,1) ];
structure.rxnRecon3DID = [structure.rxnRecon3DID;rxnStruct.EHMN(idx,1) ];
structure.rxnMetaNetXID = [structure.rxnMetaNetXID;rxnStruct.MetaNetx(idx,1) ];
structure.rxnHMR2ID = [structure.rxnHMR2ID;rxnStruct.EHMN(idx,1) ];
structure.rxnRatconID = [structure.rxnRatconID;rxnStruct.EHMN(idx,1) ];
structure.rxnTCDBID = [structure.rxnTCDBID;rxnStruct.EHMN(idx,1) ];
structure.spontaneous = [structure.spontaneous;zeros(length(rxnStruct.rxnID(idx,1)),1) ];
structure.rxnRheaID = [structure.rxnRheaID;rxnStruct.RHEA(idx,1) ];
structure.rxnRheaMasterID = [structure.rxnRheaMasterID;rxnStruct.EHMN(idx,1) ];
structure.rxnRetired = [structure.rxnRetired;rxnStruct.EHMN(idx,1) ];

exportTsvFile(structure, '../../model/reactions.tsv')

127 changes: 127 additions & 0 deletions data/modelCuration/addMetGly_20230414.tsv
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
MetID Name Fromula Charge Comp KEGG PubChem CHEBI MetaCyc MetaNetx
MAM02039n H+ H 1 n CHEBI:15378 MNXM1
MAM20001n retinol C20H30O n CHEBI:50211 MNXM729111
MAM20002n retinal C20H28O 0 n CHEBI:15035 MNXM1105989
MAM02552n NAD+ C21H26N7O14P2 n CHEBI:57540 MNXM8
MAM02553n NADH C21H27N7O14P2 -2 n CHEBI:57945 MNXM10
MAM02039c H+ H 1 c CHEBI:15378 MNXM1
MAM02552c NAD+ C21H26N7O14P2 c CHEBI:57540 MNXM8
MAM01232n 9-cis-retinol C20H30O 0 n CHEBI:78272 MNXM1102095
MAM01230n 9-cis-retinal C20H28O 0 n CHEBI:78273 MNXM1105991
MAM20003n 20-oxo-(5Z,8Z,11Z,14Z)-eicosatetraenoate C20H29O3 n CHEBI:76645 MNXM145653
MAM20004n (5Z,8Z,11Z,14Z)-eicosatetraenedioate C20H28O4 n CHEBI:76647 MNXM23130
MAM20005c 20-oxo-(5Z,8Z,11Z,14Z)-eicosatetraenoate C20H29O3 c CHEBI:76645 MNXM145653
MAM20006c (5Z,8Z,11Z,14Z)-eicosatetraenedioate C20H28O4 c CHEBI:76647 MNXM23130
MAM00270n 10-HETE C20H31O3 n CHEBI:76624 MNXM732711
MAM00270c 10-HETE C20H31O3 c CHEBI:76624 MNXM732711
MAM20007n 1,4-benzoquinone C6H4O2 n CHEBI:16509 MNXM740100
MAM20008n hydroquinone C6H6O2 n CHEBI:17594 MNXM376
MAM20009c 1,4-benzoquinone C6H4O2 c CHEBI:16509 MNXM740100
MAM20010c hydroquinone C6H6O2 c CHEBI:17594 MNXM376
MAM02833n retinoate C20H27O2 -1 n CHEBI:35291 MNXM1107683
MAM02833c retinoate C20H27O2 -1 c CHEBI:35291 MNXM1107683
MAM20011m (S)-3-hydroxybutanoate C4H7O3 -1 m CHEBI:11047 MNXM1104966
MAM20012m (R)-2-hydroxyglutarate C5H6O5 -2 m CHEBI:15801 MNXM733230
MAM01306m AKG C5H4O5 m CHEBI:16810 MNXM20
MAM00970c 4-aminobutyrate C4H9NO2 c CHEBI:59888 MNXM192
MAM02674c palmitate C16H31O2 -1 c CHEBI:7896 MNXM108
MAM20013c octanal C8H16O 0 c CHEBI:17935 MNXM2705
MAM02642c octanoic acid C8H15O2 c CHEBI:25646 MNXM750
MAM02039g H+ H 1 g CHEBI:15378 MNXM1
MAM20014g 15-oxoprostaglandin E2 C20H29O5 g CHEBI:57400 MNXM1619
MAM20015g 13,14-dihydro-15-oxo-prostaglandin E2 C20H31O5 g CHEBI:57402 MNXM733372
MAM02555g NADPH C21H26N7O17P3 -4 g CHEBI:57783 MNXM738702
MAM02554g NADP+ C21H25N7O17P3 g CHEBI:58349 MNXM5
MAM20016n 15-oxoprostaglandin E2 C20H29O5 n CHEBI:57400 MNXM1619
MAM20017n 13,14-dihydro-15-oxo-prostaglandin E2 C20H31O5 n CHEBI:57402 MNXM733372
MAM02554n NADP+ C21H25N7O17P3 n CHEBI:58349 MNXM5
MAM02751r Pi HO4P r CHEBI:43474 MNXM9
MAM01968r glucose-6-phosphate C6H11O9P -2 r CHEBI:61548 MNXM1105858
MAM20018r 19-hydroxy-(5Z,8Z,11Z)-eicosatrienoate C20H33O3 r CHEBI:132024 MNXM163133
MAM02039r H+ H 1 r CHEBI:15378 MNXM1
MAM20019r FMNH2 C17H21N4O9P -2 r CHEBI:57618 MNXM1107623
MAM20020r FMN C17H18N4O9P -3 r CHEBI:58210 MNXM1105928
MAM02457r mead acid C20H33O2 r CHEBI:78043 MNXM735122
MAM20021i 19-hydroxy-(5Z,8Z,11Z)-eicosatrienoate C20H33O3 i CHEBI:132024 MNXM163133
MAM02040i H2O H2O i CHEBI:15377 WATER
MAM02039i H+ H 1 i CHEBI:15378 MNXM1
MAM02630i O2 O2 i CHEBI:15379 MNXM735438
MAM20022i FMNH2 C17H21N4O9P -2 i CHEBI:57618 MNXM1107623
MAM20023i FMN C17H18N4O9P -3 i CHEBI:58210 MNXM1105928
MAM02457i mead acid C20H33O2 i CHEBI:78043 MNXM735122
MAM01784r EPA C20H29O2 r CHEBI:58562 MNXM727959
MAM20024r 19-hydroxy-(5Z,8Z,11Z,14Z,17Z)-eicosapentaenoate C20H29O3 r CHEBI:76636 MNXM146872
MAM01784i EPA C20H29O2 i CHEBI:58562 MNXM727959
MAM20025i 19-hydroxy-(5Z,8Z,11Z,14Z,17Z)-eicosapentaenoate C20H29O3 i CHEBI:76636 MNXM146872
MAM20026r 21-hydroxy-(4Z,7Z,10Z,13Z,16Z,19Z)-docosahexaenoate C22H31O3 r CHEBI:132025 MNXM35542
MAM01689r DHA C22H31O2 r CHEBI:77016 MNXM7161
MAM20027i 21-hydroxy-(4Z,7Z,10Z,13Z,16Z,19Z)-docosahexaenoate C22H31O3 i CHEBI:132025 MNXM35542
MAM01689i DHA C22H31O2 i CHEBI:77016 MNXM7161
MAM02344r lauric acid C12H23O2 r CHEBI:18262 MNXM402
MAM20028r 11-hydroxydodecanoate C12H23O3 r CHEBI:76628 MNXM22530
MAM02344i lauric acid C12H23O2 i CHEBI:18262 MNXM402
MAM20029i 11-hydroxydodecanoate C12H23O3 i CHEBI:76628 MNXM22530
MAM20030r 13-hydroxytetradecanoate C14H27O3 r CHEBI:132031 MNXM163120
MAM02494r myristic acid C14H27O2 r CHEBI:30807 MNXM314
MAM20031i 13-hydroxytetradecanoate C14H27O3 i CHEBI:132031 MNXM163120
MAM02494i myristic acid C14H27O2 i CHEBI:30807 MNXM314
MAM01019r 4-nitrocatechol C6H4NO4 r CHEBI:57730 MNXM1982
MAM02754r PNP C6H4NO3 r CHEBI:57917 MNXM526
MAM02554r NADP+ C21H25N7O17P3 r CHEBI:58349 MNXM5
MAM01019i 4-nitrocatechol C6H4NO4 i CHEBI:57730 MNXM1982
MAM02555i NADPH C21H26N7O17P3 -4 i CHEBI:57783 MNXM738702
MAM02754i PNP C6H4NO3 i CHEBI:57917 MNXM526
MAM02554i NADP+ C21H25N7O17P3 i CHEBI:58349 MNXM5
MAM20032n beta-D-galactose C6H12O6 0 n CHEBI:27667 MNXM112
MAM01910n galactose C6H12O6 0 n C00984 439357 CHEBI:28061 MNXM1108175
MAM20033c beta-D-galactose C6H12O6 0 c CHEBI:27667 MNXM112
MAM01388n beta-D-glucose C6H12O6 0 n CHEBI:15903 MNXM1105026
MAM20034n alpha-D-glucose C6H12O6 0 n CHEBI:17925 MNXM1105027
MAM20035c alpha-D-glucose C6H12O6 0 c CHEBI:17925 MNXM1105027
MAM02554c NADP+ C21H25N7O17P3 c CHEBI:58349 MNXM5
MAM20036c benzaldehyde C7H6O c CHEBI:17169 MNXM371
MAM20037c hexanal C6H12O c CHEBI:88528 MNXM8718
MAM20038c (E)-4-hydroxynon-2-enoate C9H15O3 -1 c CHEBI:142920 MNXM746911
MAM20039c (2E)-octenoate C8H13O2 -1 c CHEBI:143526 MNXM1108529
MAM20040c (2E)-octenal C8H14O 0 c CHEBI:61748 MNXM1108145
MAM01837c formylglutathione C11H16N3O7S c CHEBI:57688 MNXM741595
MAM02152c hydroxymethylglutathione C11H18N3O7S c CHEBI:58758 MNXM726277
MAM02116r hexadecenal C16H30O r CHEBI:17585 MNXM728262
MAM02552r NAD+ C21H26N7O14P2 r CHEBI:57540 MNXM8
MAM20041r (E)-hexadec-2-enoate C16H29O2 r CHEBI:72745 MNXM31465
MAM02116c hexadecenal C16H30O c CHEBI:17585 MNXM728262
MAM20042c (E)-hexadec-2-enoate C16H29O2 c CHEBI:72745 MNXM31465
MAM02674r palmitate C16H31O2 -1 r CHEBI:7896 MNXM108
MAM20043r 22-oxodocosanoate C22H41O3 r CHEBI:76298 MNXM6762
MAM20044c 22-oxodocosanoate C22H41O3 c CHEBI:76298 MNXM6762
MAM00564r 2(S)-pristanal C19H38O r CHEBI:49189 MNXM1947
MAM02766r pristanic acid C19H37O2 r CHEBI:77268 MNXM3342
MAM00564c 2(S)-pristanal C19H38O c CHEBI:49189 MNXM1947
MAM02766c pristanic acid C19H37O2 c CHEBI:77268 MNXM3342
MAM20045r octadecanal C18H36O r CHEBI:17034 MNXM2269
MAM02938r stearate C18H35O2 r CHEBI:25629 MNXM236
MAM20046c octadecanal C18H36O c CHEBI:17034 MNXM2269
MAM02938c stearate C18H35O2 c CHEBI:25629 MNXM236
MAM20047r dodecanal C12H24O 0 r CHEBI:27836 MNXM11432
MAM02344c lauric acid C12H23O2 c CHEBI:18262 MNXM402
MAM20048c dodecanal C12H24O 0 c CHEBI:27836 MNXM11432
MAM01648r decanoic acid C10H19O2 -1 r CHEBI:27689 MNXM1043
MAM20049r decanal C10H20O r CHEBI:31457 MNXM7260
MAM01648c decanoic acid C10H19O2 -1 c CHEBI:27689 MNXM1043
MAM20050c decanal C10H20O c CHEBI:31457 MNXM7260
MAM20051r tetradecanal C14H28O r CHEBI:84067 MNXM13002
MAM02494c myristic acid C14H27O2 c CHEBI:30807 MNXM314
MAM20052c tetradecanal C14H28O c CHEBI:84067 MNXM13002
MAM20053r octanal C8H16O 0 r CHEBI:17935 MNXM2705
MAM02642r octanoic acid C8H15O2 r CHEBI:25646 MNXM750
MAM02108r heptylic acid C7H13O2 r CHEBI:32362 MNXM7416
MAM20054r heptanal C7H14O r CHEBI:34787 MNXM8711
MAM02108c heptylic acid C7H13O2 c CHEBI:32362 MNXM7416
MAM20055c heptanal C7H14O c CHEBI:34787 MNXM8711
MAM20056r (2E,6E)-farnesoate C15H23O2 r CHEBI:83276 MNXM735429
MAM00677r 2-trans,6-trans-farnesal C15H24O 0 r C03461 CHEBI:15894 MNXM1959
MAM20057c (2E,6E)-farnesoate C15H23O2 c CHEBI:83276 MNXM735429
MAM20058c all-trans-4-hydroxyretinol C20H30O2 0 c CHEBI:132259 MNXM730551
MAM20059c all-trans-4-hydroxyretinal C20H28O2 0 c CHEBI:139346 MNXM166395
MAM20060c all-trans-4-oxoretinal C20H26O2 c CHEBI:139347 MNXM745787
MAM01032c 4-oxoretinol C20H28O2 c CHEBI:44597 MNXM735096
Loading