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

Human 1.17 #700

Merged
merged 211 commits into from
Sep 30, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
211 commits
Select commit Hold shift + click to select a range
8e05f05
fix: adapt simplifyGrRules to updates in Matlab children function
JonathanRob Sep 15, 2022
383970a
fix: remove ubiquinone-dependent versions of all duplicated reactions…
Devlin-Moyer Jun 7, 2023
924dd73
fix: update reactions data files
Devlin-Moyer Jun 7, 2023
676eaf2
fix: deleted extra omap line that I missed when removing reactions ea…
Devlin-Moyer Jun 7, 2023
20076fc
fix: correct spelling errors in names of MAM00185c and MAM00185m
Devlin-Moyer Jun 8, 2023
75b0170
fix: remove mitochondrial ACACB from GPRs of cytosolic MAR07672 and M…
Devlin-Moyer Jun 8, 2023
1dfe54c
fix: change subsystems for MAR07672 and MAR07673 to Fatty acid biosyn…
Devlin-Moyer Jun 8, 2023
d4caa65
fix: remove MAR04156 for being redundant with MAR07672+MAR07673
Devlin-Moyer Jun 8, 2023
a5c4d76
fix: add new metabolite MAM01422m
Devlin-Moyer Jun 8, 2023
7965567
fix: edited MAR04295 to become mitochondrial version of MAR07673
Devlin-Moyer Jun 8, 2023
c799c7d
fix: made new reaction MAR20112 to represent mitochondrial version of…
Devlin-Moyer Jun 8, 2023
a52e66c
fix: made new reaction MAR20113 to transport MAM00185 between [c] and…
Devlin-Moyer Jun 8, 2023
ad198f7
fix: resolved merge conflict in deprecatedReactions.tsv
Devlin-Moyer Jun 8, 2023
6f266d4
fix: fixed typo in MAR20111 that was causing automated YAML validatio…
Devlin-Moyer Jun 8, 2023
dacbfca
fix: typo in model/reactions.tsv
Devlin-Moyer Jun 8, 2023
65bd88a
fix: merge reactions
Devlin-Moyer Jun 8, 2023
76edfde
fix: add IVD to GPR of MAR03770
Devlin-Moyer Jun 8, 2023
1b670e4
fix: remove MAR11652, which I apparently forgot to do earlier
Devlin-Moyer Jun 8, 2023
37a92e5
fix: moved MAR11651 from reactions.tsv to deprecatedReactions.tsv, wh…
Devlin-Moyer Jun 8, 2023
f04966d
fix: add references and EC codes from deleted reactions to duplicate …
Devlin-Moyer Jun 9, 2023
9269485
fix: merge annotations from deleted reactions into annotations for ke…
Devlin-Moyer Jun 9, 2023
f46d539
fix: remove MAR02369 for being redundant with MAR03149
Devlin-Moyer Jun 9, 2023
24a00d2
fix: merged references, EC codes, and GPRs of deleted reactions into …
Devlin-Moyer Jun 9, 2023
30a0613
fix: merged annotations of removed reactions with kept ones in reacti…
Devlin-Moyer Jun 9, 2023
f7f31f5
feat: improve test output for unused entities
mihai-sysbio Jun 9, 2023
db8ca8c
test: introduce a bug to see if it is picked up by the workflow
mihai-sysbio Jun 13, 2023
e118e1d
fix: typos introduced in #606
haowang-bioinfo Jun 13, 2023
3be0333
test: revert back testYamlConversion to the original
haowang-bioinfo Jun 13, 2023
5410ebf
refactor: test yaml conversion
mihai-sysbio Jun 14, 2023
7f4f02b
fix: make reversible NTP <-> PPi reactions irreversible in PPi-produc…
Devlin-Moyer Jun 14, 2023
fb0b757
fix: swap products and reactants of PPi <-> -PP reactions then make t…
Devlin-Moyer Jun 14, 2023
dbccdd2
fix-remove mets and rxns
JHL-452b Jun 18, 2023
e77f3e8
fix-change BiGG ID annotations
JHL-452b Jun 18, 2023
d3c6730
fix-replace mets
JHL-452b Jun 18, 2023
1ce3cb6
fix-remove mets and rxns
JHL-452b Jun 18, 2023
b80232f
fix-change EHMN ID annotations
JHL-452b Jun 18, 2023
b286a8c
fix-change HMDB ID annotations
JHL-452b Jun 18, 2023
ba54838
fix-change LipidMaps ID annotations
JHL-452b Jun 18, 2023
72387a4
fix-replace mets
JHL-452b Jun 18, 2023
11a309f
fix-replace mets
JHL-452b Jun 19, 2023
6b5b0c8
fix-remove mets and rxns
JHL-452b Jun 19, 2023
880f906
fix-replace mets
JHL-452b Jun 19, 2023
f4ba2e6
Merge branch 'develop' into fix/merge_irrev_trans_pairs
haowang-bioinfo Jun 19, 2023
29113a1
feat: fail action based on matlab exit code
mihai-sysbio Jun 14, 2023
927fb07
revert: remove purposeful error
mihai-sysbio Jun 19, 2023
ce75e5a
feat:add duplicated rxn and mets to the annotation list for further u…
feiranl Jun 19, 2023
ba6a1c7
fix: metabolic tasks fail visibly
mihai-sysbio Jun 19, 2023
741db2c
revert: purposeful error in metabolic tasks test
mihai-sysbio Jun 19, 2023
225e16e
Merge pull request #625 from Devlin-Moyer/fix/merge_irrev_trans_pairs
haowang-bioinfo Jun 19, 2023
3b2dc0b
fix: merge in latest develop branch
Devlin-Moyer Jun 20, 2023
71a84e4
fix: resolve merge conflicts with latest develop branch
Devlin-Moyer Jun 20, 2023
b05a1a2
fix: removes MAR05310 for being duplicate of MAR06380 with wrong stoi…
Devlin-Moyer Jun 20, 2023
ccdb77f
fix: replaces inaccurate GPRs of MAR06380 and MAR09887 with accurate …
Devlin-Moyer Jun 20, 2023
84ff8a4
fix: remove MAR02358 for being duplicate of MAR08482, merged annotati…
Devlin-Moyer Jun 20, 2023
9fa2b5d
fix: remove MAR20066 for being duplicate of MAR03984 and merged their…
Devlin-Moyer Jun 20, 2023
016eb86
fix: remove MAR20020 for being duplicate of MAR04521 and merged their…
Devlin-Moyer Jun 20, 2023
910f5a5
fix: remove MAR20002 for being duplicate of MAR06631 and merged their…
Devlin-Moyer Jun 20, 2023
b6fe43c
fix: remove MAR00030 for being duplicate of MAR00025 and merged their…
Devlin-Moyer Jun 20, 2023
bf2d32d
fix: remove MAR00032
Devlin-Moyer Jun 20, 2023
5338bae
fix: removed MAR03767 and merged all annotations into MAR06421 and MA…
Devlin-Moyer Jun 20, 2023
3b26f2f
feat-add MAM00853c to replace MAM00902c
JHL-452b Jun 21, 2023
8c01de3
fix-remove mets and rxns ID to 'Retired'
JHL-452b Jun 21, 2023
f1b8974
fix-remove mets ID to 'Retired'
JHL-452b Jun 21, 2023
873cd6a
fix-remove mets and rxns
JHL-452b Jun 21, 2023
b838738
fix-change KEGG ID annotations
JHL-452b Jun 21, 2023
e9275ad
fix-remove mets and rxns ID to 'Retired'
JHL-452b Jun 21, 2023
cd671d5
fix-remove rxn
JHL-452b Jun 21, 2023
359ce14
feat-add MAM01729e to replace MAM03540e
JHL-452b Jun 21, 2023
50dd63b
fix-replace mets
JHL-452b Jun 21, 2023
487965e
fix-change PubChem ID annotations
JHL-452b Jun 21, 2023
24ef6e6
fix-remove mets and rxns ID to 'Retired'
JHL-452b Jun 21, 2023
eb8082a
feat-add MAM01435m to replace MAM03318m
JHL-452b Jun 21, 2023
c5ec7fc
fix-remove mets and rxns ID to 'Retired'
JHL-452b Jun 21, 2023
c3c99f8
Merge pull request #613 from Devlin-Moyer/fix/FAD_ubiquinone_duplicates
haowang-bioinfo Jun 21, 2023
aa84229
fix: replace inaccurate GPR of MAR01527 and add new gene entries for …
Devlin-Moyer Jun 21, 2023
d6ea247
fix: added new rows to genes.tsv for new genes
Devlin-Moyer Jun 21, 2023
eb4d76d
fix: added info for new genes to genes.tsv
Devlin-Moyer Jun 21, 2023
edfaf28
Merge pull request #494 from SysBioChalmers/fix/simplifyGrRules
mihai-sysbio Jun 22, 2023
29734c6
feat: log duplicated ids to the column of rxnRetired
haowang-bioinfo Jun 23, 2023
9ce2c5c
fix: correct misplaced retired reaction ID
haowang-bioinfo Jun 23, 2023
add54ab
fix: add MAR03783 as a duplicate for MAR03784
haowang-bioinfo Jun 23, 2023
e3d758e
fix-change ChEBI ID annotations
JHL-452b Jun 25, 2023
cece33f
Merge pull request #663 from JHL-452b/fix-HMDB
feiranl Jun 25, 2023
7436a50
fix-replace mets
JHL-452b Jun 25, 2023
063150f
Merge branch 'develop' into pr/661
feiranl Jun 25, 2023
51e727b
fix-bug with the space
feiranl Jun 25, 2023
d4db948
fix-bug: removing the empty line
feiranl Jun 25, 2023
2fafe26
fix-bug: introduced in the merge develop branch
feiranl Jun 25, 2023
63c5e7d
Merge branch 'develop' into feat/logDeprecatedIDsIn#613
haowang-bioinfo Jun 25, 2023
cecf059
Merge pull request #661 from JHL-452b/fix-KEGG(2)
feiranl Jun 25, 2023
0c1d89e
Merge branch 'develop' into feat/logDeprecatedIDsIn#613
haowang-bioinfo Jun 25, 2023
954fe1a
Merge branch 'develop' into pr/667
feiranl Jun 25, 2023
c958319
Merge pull request #667 from JHL-452b/fix-ChEBI(2)
feiranl Jun 25, 2023
97ba938
Merge pull request #666 from SysBioChalmers/feat/logDeprecatedIDsIn#613
haowang-bioinfo Jun 25, 2023
99eb40d
Merge branch 'develop' into fix/remove_MAR03767
haowang-bioinfo Jun 25, 2023
bcb30ee
fix: re-remove MAR03767
haowang-bioinfo Jun 25, 2023
c758d20
log: update duplication info to rxnRetired column
haowang-bioinfo Jun 25, 2023
d562f56
Merge branch 'develop' into pr/662
feiranl Jun 26, 2023
bd93f0e
Merge pull request #662 from JHL-452b/fix-PubChem(2)
feiranl Jun 26, 2023
bf8894f
Merge branch 'develop' into pr/646
feiranl Jun 26, 2023
952203f
Merge branch 'develop' into fix-BiGG
feiranl Jun 26, 2023
dbcee94
Merge pull request #646 from JHL-452b/fix-BiGG
feiranl Jun 26, 2023
01e4ccf
Merge branch 'develop' into fix-EHMN
JHL-452b Jun 26, 2023
44410f4
fix-metabolites for model load
JHL-452b Jun 26, 2023
4300b6b
fix-metabolites for model load(2)
JHL-452b Jun 26, 2023
afdcec2
Merge branch 'develop' into fix-LipidMaps
JHL-452b Jun 26, 2023
4f98cd4
fix-update annotation of ‘MAM00131r’
JHL-452b Jun 26, 2023
4443e39
Merge pull request #649 from JHL-452b/fix-EHMN
haowang-bioinfo Jun 26, 2023
02a04dd
Merge branch 'develop' into fix/remove_MAR03767
haowang-bioinfo Jun 26, 2023
319cdbe
Merge pull request #660 from SysBioChalmers/fix/remove_MAR03767
haowang-bioinfo Jun 26, 2023
209e86f
Merge branch 'develop' into fix-LipidMaps
JHL-452b Jun 27, 2023
36ccd03
fix: merge in latest develop branch
Devlin-Moyer Jun 27, 2023
ae122fd
fix: added MAR04156 to retiredRxn column for MAR07672 and MAR07673 in…
Devlin-Moyer Jun 27, 2023
461e7c8
fix: merge in latest develop branch
Devlin-Moyer Jun 27, 2023
0567fa7
fix: remove genes that were only associated with MAR00032 and no othe…
Devlin-Moyer Jun 27, 2023
c041233
fix: remove MAR01630 and merge annotations with MAR01629
Devlin-Moyer Jun 27, 2023
44e02a9
fix: remove MAR01635 and merge annotations with MAR01632
Devlin-Moyer Jun 27, 2023
8ffccca
fix: remove MAR01637 and merge annotations with MAR01639 and MAR01638
Devlin-Moyer Jun 27, 2023
0e7c587
fix: remove MAR01644 and merge annotations with MAR01642
Devlin-Moyer Jun 27, 2023
a6f4142
fix: add BiGG id to MAM01422m
haowang-bioinfo Jun 27, 2023
7007f8d
fix: remove MAR01651 and merge annotations into MAR01646
Devlin-Moyer Jun 27, 2023
cedbdfb
fix: remove MAR01653 and merge annotations into MAR01652
Devlin-Moyer Jun 27, 2023
08b5d74
fix: remove MAR03754 and merge annotations into MAR03756
Devlin-Moyer Jun 27, 2023
a27dd4a
fix: remove MAR03760 and merge annotations into MAR03764
Devlin-Moyer Jun 27, 2023
4670c79
Merge pull request #624 from Devlin-Moyer/fix/acCoA_carboxylase_rxns
haowang-bioinfo Jun 27, 2023
97d030b
test: re-introduce bug to Yaml file
haowang-bioinfo Jun 27, 2023
26752ff
fix: remove MAR07785
Devlin-Moyer Jun 27, 2023
7a863f6
fix: remove MAR01662 and merge annotations into MAR01663
Devlin-Moyer Jun 27, 2023
90c1c9c
fix: remove MAR01666 and merge annotations into MAR01665
Devlin-Moyer Jun 27, 2023
7ee5d45
fix: remove MAR01458 and merge annotations (except wrong EC number) i…
Devlin-Moyer Jun 27, 2023
26f78d3
fix: remove now-isolated metabolites
Devlin-Moyer Jun 27, 2023
61a511e
merge in latest develop branch
Devlin-Moyer Jun 27, 2023
bf407b5
fix: removed more isolated metabolites I missed the first time
Devlin-Moyer Jun 27, 2023
4774704
merge in latest develop branch
Devlin-Moyer Jun 27, 2023
3b21f6f
fix: removed genes that were only associated with MAR00030
Devlin-Moyer Jun 27, 2023
30b93f6
merge in latest develop branch
Devlin-Moyer Jun 27, 2023
100ce85
fix: add MAR05310 to rxnRetired column for MAR06380 in model/reaction…
Devlin-Moyer Jun 27, 2023
c818b08
fix: removed MAR01639 and merged annotations into MAR01638
Devlin-Moyer Jun 27, 2023
fb0ea6c
fix: removed MAR03301 and merged annotations into MAR02804
Devlin-Moyer Jun 27, 2023
fdaa58c
fix: removed MAR03306 and merged annotations into MAR02808
Devlin-Moyer Jun 27, 2023
5c594ab
fix: removed MAR03311 and merged annotations into MAR02810
Devlin-Moyer Jun 27, 2023
c459bce
fix: removed MAR04966 and merged annotations into MAR02818
Devlin-Moyer Jun 27, 2023
af6e183
fix: removed MAR03364 and merged annotations into MAR03276
Devlin-Moyer Jun 27, 2023
e20af6d
fix: removed MAR03369 and merged annotations into MAR03289
Devlin-Moyer Jun 27, 2023
9d7b81c
fix: reversed MAR00059 and removed the 0.5 O2 that shouldn't've been …
Devlin-Moyer Jun 27, 2023
3d98ec1
feat: added MAR20114 to represent reduction of O2 by FADH2 in peroxis…
Devlin-Moyer Jun 27, 2023
4f208c7
fix: replaced O2 with FAD and H2O2 with FADH2 in all peroxisomal reac…
Devlin-Moyer Jun 27, 2023
dc74c65
Merge pull request #650 from JHL-452b/fix-LipidMaps
feiranl Jun 28, 2023
2644b74
Merge pull request #641 from Devlin-Moyer/fix/ppi_rxns_round_2
feiranl Jun 28, 2023
6e5d66c
fix: catch all potential errors in yaml conversion workflow
mihai-sysbio Jun 28, 2023
ca1d328
Merge pull request #658 from SysBioChalmers/fix/remove_lipid_droplet_…
haowang-bioinfo Jul 2, 2023
5f39c61
test: replicate Yaml bug reported in #6286
haowang-bioinfo Jul 3, 2023
b881243
feat: add basic memote test
mihai-sysbio Jul 3, 2023
1b6f15c
Merge pull request #672 from SysBioChalmers/fix/yaml-test-bug
mihai-sysbio Jul 5, 2023
d604989
make MAR06380 reversible
Devlin-Moyer Jul 5, 2023
2d59575
fix: remove MAR09887 and merge annotations into MAR06896
Devlin-Moyer Jul 5, 2023
6d45eb5
fix: merge in latest develop branch
Devlin-Moyer Jul 5, 2023
2fd4b94
fix: typos & mistakes pointed out by reviewers
Devlin-Moyer Jul 5, 2023
98b47b3
chore: merge in latest develop branch
Devlin-Moyer Jul 5, 2023
8e68799
fix: only keep most accurate EC numbers for MAR04521 and MAR03984
Devlin-Moyer Jul 5, 2023
2d52d8d
chore: merge in latest develop branch
Devlin-Moyer Jul 5, 2023
d3067b3
Merge pull request #655 from SysBioChalmers/fix/sodium_cotransport_gprs
haowang-bioinfo Jul 6, 2023
82c67a2
refactor: use warning instead of disp in matlab tests
mihai-sysbio Jul 6, 2023
acead87
fix: retain MAR08482 in its original form
haowang-bioinfo Jul 6, 2023
601d927
Merge branch 'develop' into fix/same_stoich_diff_gpr_dupes
haowang-bioinfo Jul 6, 2023
b477cd7
log: update retired duplicate reaction ids
haowang-bioinfo Jul 6, 2023
d1ba2c7
Merge pull request #657 from SysBioChalmers/fix/same_stoich_diff_gpr_…
haowang-bioinfo Jul 6, 2023
be2c34e
test: revert typo purposely introduced to the "metabolites" key
haowang-bioinfo Jul 7, 2023
a5da1e6
test: revert typo purposely introduced to id MAM01261m
haowang-bioinfo Jul 7, 2023
f4f99d7
Merge pull request #635 from SysBioChalmers/fix/importExportCycle
mihai-sysbio Jul 7, 2023
249abf0
Merge branch 'develop' into fix/sodium_channel_genes
mihai-sysbio Jul 7, 2023
8cb8f78
refactor: improve test output in test workflow
mihai-sysbio Jul 10, 2023
4726f1e
fix: made MAR04145 irreversible and added textbook reference to rxnNotes
Devlin-Moyer Jul 16, 2023
c635f11
fix: merged MAR01515 into MAR08529
Devlin-Moyer Jul 16, 2023
78db22b
fix: merged MAR00039 into MAR07992
Devlin-Moyer Jul 16, 2023
43ca47d
fix: merged MAR00096 into MAR04819
Devlin-Moyer Jul 16, 2023
b8284bf
fix: merged MAR02027 into MAR0302
Devlin-Moyer Jul 16, 2023
d1e9d93
fix: merged MAR02006 into MAR03873
Devlin-Moyer Jul 16, 2023
6f2ae25
fix: remove all reactions involving MAM01268 or MAR02757 in all compa…
Devlin-Moyer Jul 16, 2023
d923084
fix: remove now-isolated MAM01816n
Devlin-Moyer Jul 16, 2023
5ddd553
fix: remove all genes that were only associated with PPARA reactions
Devlin-Moyer Jul 16, 2023
ef0113a
Merge pull request #676 from SysBioChalmers/fix/citrate_synthase
feiranl Jul 19, 2023
8455eb7
chore: merge in latest develop branch
Devlin-Moyer Jul 19, 2023
4b11199
chore: merge in latest develop branch
Devlin-Moyer Jul 19, 2023
2dc4b63
Merge pull request #677 from SysBioChalmers/fix/ammonium-ammonia_dupl…
feiranl Jul 21, 2023
8a5b483
chore: merge in latest develop branch
Devlin-Moyer Jul 28, 2023
f1dc582
chore: merge in latest develop branch
Devlin-Moyer Jul 28, 2023
5896d8c
Merge pull request #678 from SysBioChalmers/fix/remove_ppara_rxns
haowang-bioinfo Aug 1, 2023
ecae266
Merge branch 'develop' into fix/sodium_channel_genes
Devlin-Moyer Aug 1, 2023
ad5726c
fix: added in some genes I missed the first time
Devlin-Moyer Aug 1, 2023
3acaae0
fix: add new gene entries for new genes
Devlin-Moyer Aug 1, 2023
25251aa
fix: update model/genes.tsv
Devlin-Moyer Aug 1, 2023
6b696d3
fix: AND together SCNN1A, SCNN1B, and SCNN1G since they form a trimer
Devlin-Moyer Aug 2, 2023
1d868a6
feat: added refs for SCNN1A/B/G/D complex/isozyme situation
Devlin-Moyer Aug 2, 2023
0745ddf
Merge pull request #664 from SysBioChalmers/fix/sodium_channel_genes
haowang-bioinfo Aug 3, 2023
82b322d
fix: sync geneShortNames field with genes field
haowang-bioinfo Aug 16, 2023
880813a
feat: enable the option to reset biomass equation or not
haowang-bioinfo Aug 16, 2023
80e1a18
Update code/updateAnimalGEM.m
haowang-bioinfo Aug 17, 2023
bb4cc9f
fix: ensure b field in single column
haowang-bioinfo Aug 18, 2023
02055c9
Merge pull request #692 from SysBioChalmers/fix/refineAnimalGemPipeline
haowang-bioinfo Aug 21, 2023
ada550c
doc: do not treat mito-version rxns as duplicates to peroxisome ones
haowang-bioinfo Aug 21, 2023
95d30b7
Merge pull request #669 from SysBioChalmers/fix/remove_mito_bile_acid…
haowang-bioinfo Aug 21, 2023
797b1b3
fix: update name for GAP
exaexa Aug 29, 2023
5bade46
Merge pull request #696 from exaexa/mk-fix-gap
haowang-bioinfo Aug 29, 2023
cc2b5ca
Merge branch 'develop' into fix/FAD_O2_dupes
haowang-bioinfo Sep 20, 2023
4fa0d28
fix: re-remove duplicated reaction MAR01639
haowang-bioinfo Sep 20, 2023
452c1e8
fix: re-remove deprecated reactions from "reactions.tsv"
haowang-bioinfo Sep 20, 2023
1f3527d
fix: removed MAR00059 for being less accurate version of MAR01706
Devlin-Moyer Sep 21, 2023
5852d9f
Fixed GPR of MAR01706 and added reference
Devlin-Moyer Sep 21, 2023
d5dbfe1
chore: resolve merge conflicts
Devlin-Moyer Sep 21, 2023
be554ff
Merge pull request #670 from SysBioChalmers/fix/FAD_O2_dupes
haowang-bioinfo Sep 24, 2023
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
11 changes: 5 additions & 6 deletions .github/workflows/check-metabolictasks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,9 @@ jobs:
matrix:
task-type: [essential, verification]
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Checkout
uses: actions/checkout@v3

- name: Check ${{ matrix.task-type }} metabolic tasks
run: |
/usr/local/bin/matlab -nodisplay -nosplash -nodesktop -r "addpath(genpath('.')); testMetabolicTasks('${{ matrix.task-type }}'); exit;"
- name: Check ${{ matrix.task-type }} metabolic tasks
run: |
/usr/local/bin/matlab -nodisplay -nosplash -nodesktop -r "addpath(genpath('.')); testMetabolicTasks('${{ matrix.task-type }}');"
11 changes: 5 additions & 6 deletions .github/workflows/yaml-conversion.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,9 @@ jobs:
timeout-minutes: 60

steps:
- name: Checkout
uses: actions/checkout@v3

- name: Checkout
uses: actions/checkout@v3

- name: Run conversion script
run: |
/usr/local/bin/matlab -nodisplay -nosplash -nodesktop -r "addpath(genpath('.')); run('code/test/testYamlConversion.m'); exit;"
- name: Run conversion script
run: |
/usr/local/bin/matlab -nodisplay -nosplash -nodesktop -r "addpath(genpath('.')); testYamlConversion"
5 changes: 4 additions & 1 deletion .github/workflows/yaml-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,8 @@ jobs:
## Return non-zero exit code on warnings as well as errors
# strict: # optional, default is false

- name: Basic MEMOTE tests
run: python code/test/memoteTest.py

- name: Test import with cobrapy and consistency with annotation files
run: python code/test/sanityCheck.py
run: python code/test/sanityCheck.py
8 changes: 5 additions & 3 deletions code/GPRs/simplifyGrRules.m
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@
eqn = str2sym(eqn_str);

% separate equation into terms/pieces ("children")
eqn_pieces = arrayfun(@char,children(eqn),'UniformOutput',false);
eqn_pieces = cellfun(@char,children(eqn),'UniformOutput',false);

% find pieces that are further separable, and recursively separate until
% all pieces are single genes
Expand All @@ -202,12 +202,14 @@
%% Functions to test whether an equation is a collection of ORs or ANDs
function res = is_or(eqn)
% check if outermost operations contain ORs
res = length(regexp(char(eqn),'\|')) > length(regexp(char(children(eqn)),'\|'));
res = length(regexp(char(eqn),'\|')) > ...
sum(cell2mat(cellfun(@(x) length(regexp(char(x), '\|')), children(eqn), 'UniformOutput', false)));
end

function res = is_and(eqn)
% check if outermost operations contain ANDs
res = length(regexp(char(eqn),'&')) > length(regexp(char(children(eqn)),'&'));
res = length(regexp(char(eqn),'&')) > ...
sum(cell2mat(cellfun(@(x) length(regexp(char(x), '\&')), children(eqn), 'UniformOutput', false)));
end


Expand Down
5 changes: 4 additions & 1 deletion code/addMetabolicNetwork.m
Original file line number Diff line number Diff line change
Expand Up @@ -144,8 +144,11 @@
newGenes = setdiff(newGenes, newModel.genes);
end

% append new genes to list of model genes
% append new genes and their names to model
newModel.genes = [newModel.genes; newGenes];
emptyGeneNames = newGenes;
emptyGeneNames(:) = {''};
newModel.geneShortNames = [newModel.geneShortNames; emptyGeneNames];

% add new columns to rxnGeneMat will be updated after the new reactions are added below.
newModel.rxnGeneMat(:, end+1:end+numel(newGenes)) = 0;
Expand Down
18 changes: 18 additions & 0 deletions code/test/memoteTest.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import cobra
import memote.support.basic

if __name__ == "__main__":
try:
model = cobra.io.load_yaml_model("model/Human-GEM.yml")

# Use the MEMOTE way of testing
# https://github.com/opencobra/memote/blob/c8bd3fe75e2d955deaec824d1e93ebe60e754710/tests/test_for_support/test_for_basic.py#L908-L909
rxns, num = memote.support.basic.find_duplicate_reactions(model)
assert num == 0, "Duplicate reactions found: {}".format(rxns)

# Make sure all reactions have at least one metabolite
for r in model.reactions:
assert len(r.metabolites) > 0, "Reaction with no metabolite found: {}".format(r.id)
except AssertionError as e:
print(e)
exit(1)
24 changes: 17 additions & 7 deletions code/test/sanityCheck.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,12 @@ def checkRxnAnnotation(rxns):
rxnList = get_column_from_tsv("model/reactions.tsv", "rxns")
spontaneous = get_column_from_tsv("model/reactions.tsv", "spontaneous", False)
rxnDeprecated = get_column_from_tsv("data/deprecatedIdentifiers/deprecatedReactions.tsv", "rxns")
assert set(rxnList).isdisjoint(set(rxnDeprecated)), "Deprecated reaction reused!"
assert rxnList == rxns, "Reaction annotation mismatch!"
rxnMisused = set(rxns).intersection(set(rxnDeprecated))
assert len(rxnMisused) == 0, "Deprecated reaction(s) used: {}".format(rxnMisused)
rxnMisused = set(rxns).difference(set(rxnList))
assert len(rxnMisused) == 0, "Reaction(s) not annotated in reactions.tsv: {}".format(rxnMisused)
rxnMisused = set(rxnList).difference(set(rxns))
assert len(rxnMisused) == 0, "Annotated reactions are missing from the model: {}".format(rxnMisused)
assert pd.api.types.is_numeric_dtype(spontaneous), "Spontaneous column should be in numeric!"


Expand All @@ -49,16 +53,22 @@ def checkMetAnnotation(mets):
"""
metList = get_column_from_tsv("model/metabolites.tsv", "mets")
metDeprecated = get_column_from_tsv("data/deprecatedIdentifiers/deprecatedMetabolites.tsv", "mets")
assert set(metList).isdisjoint(set(metDeprecated)), "Deprecated metabolite reused!"
assert metList == mets, "Metabolite annotation mismatch!"

metMisused = set(mets).intersection(set(metDeprecated))
assert len(metMisused) == 0, "Deprecated metabolite(s) used: {}".format(metMisused)
metMisused = set(mets).difference(set(metList))
assert len(metMisused) == 0, "Metabolite(s) not annotated in metabolites.tsv: {}".format(metMisused)
metMisused = set(metList).difference(set(mets))
assert len(metMisused) == 0, "Annotated metabolite(s) are missing from the model: {}".format(metMisused)

def checkGeneAnnotation(genes):
"""
check consistency of gene lists between model and annotation file
"""
geneList = get_column_from_tsv("model/genes.tsv", "genes")
assert geneList == genes, "Gene annotation mismatch!"
geneMisused = set(genes).difference(set(geneList))
assert len(geneMisused) == 0, "Gene(s) not annotated in genes.tsv: {}".format(geneMisused)
geneMisused = set(geneList).difference(set(genes))
assert len(geneMisused) == 0, "Annotated gene(s) are missing from the model: {}".format(geneMisused)


def find_unused_entities(model, entity_type):
Expand Down Expand Up @@ -93,7 +103,7 @@ def checkUnusedEntities(model, entity_type):

# collect unused entites
unused_entities = find_unused_entities(model, entity_type)
assert len(unused_entities) == 0, f"Found unused {{entity_type}}!"
assert len(unused_entities) == 0, f"Found unused {entity_type}: {unused_entities}"


if __name__ == "__main__":
Expand Down
10 changes: 6 additions & 4 deletions code/test/testMetabolicTasks.m
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@
%

if nargin < 1
error('Task type is missing!');
disp('::error::Task type is missing!');
exit(1)
end

% Get model path
Expand All @@ -28,7 +29,8 @@
elseif taskType == "verification"
taskFile=fullfile(modelPath,'data','metabolicTasks','metabolicTasks_VerifyModel.txt');
else
error('Unknown task type is provided.');
warning('::error::Unknown task type is provided.');
exit(1)
end
verificationTasks = parseTaskList(taskFile);

Expand All @@ -38,6 +40,6 @@
fprintf('Suceeded with %s tasks.\n', taskType)
status = 1;
else
error('Failed in %s tasks.', taskType);
warning('::error::Failed in %s tasks.', taskType);
exit(1)
end

48 changes: 23 additions & 25 deletions code/test/testYamlConversion.m
Original file line number Diff line number Diff line change
Expand Up @@ -2,42 +2,40 @@
% test the functions for yaml import/export see if the conversion process
% changes the model content
%
% Usage: status = testYamlConversion
%


% Get model path
[ST, I]=dbstack('-completenames');
modelPath=fileparts(fileparts(fileparts(ST(I).file)));

% Import yaml model
ymlFile=fullfile(modelPath,'model','Human-GEM.yml');
model = importYaml(ymlFile, true);
% export to yml and then import back
try

% make sure there is no intermediate Yaml file under the current folder
warning('off', 'MATLAB:DELETE:FileNotFound')
if exist('testYamlConversion.yml','file')
delete testYamlConversion.yml;
end
% Import yaml model
ymlFile=fullfile(modelPath,'model','Human-GEM.yml');
model = importYaml(ymlFile, true);

% make sure there is no intermediate Yaml file under the current folder
warning('off', 'MATLAB:DELETE:FileNotFound')
if exist('testYamlConversion.yml','file')
delete testYamlConversion.yml;
end

% export to yml and then import back
try
exportYaml(model,'testYamlConversion.yml');
importedHumanGEM = importYaml('testYamlConversion.yml', true);
catch
error('There are problems during the conversion import and export');
end

% remove intermediate Yaml file
delete testYamlConversion.yml;
% remove intermediate Yaml file
delete testYamlConversion.yml;

% compare the imported model from yaml with the original one
if isequal(model, importedHumanGEM)
% model conversion between Matlab and Yaml files is successful
disp('The conversion was successful.')
status = 1;
else
error('There are problems during the conversion between Matlab and Yaml files');
% compare the imported model from yaml with the original one
if ~isequal(model, importedHumanGEM)
warning('::error::Re-imported model is diffrent from export');
exit(1);
end
catch
warning('::error::There are problems during the conversion import and export');
exit(1)
end

% model conversion between Matlab and Yaml files is successful
disp('The conversion was successful.')
exit(0)
9 changes: 6 additions & 3 deletions code/updateAnimalGEM.m
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
function [animalGEM, speciesSpecNetwork, gapfillNetwork]=updateAnimalGEM(orthologPairs,rxnsToAdd,metsToAdd,modelId)
function [animalGEM, speciesSpecNetwork, gapfillNetwork]=updateAnimalGEM(orthologPairs,rxnsToAdd,metsToAdd,modelId,resetBiomass)
% updateAnimalGEM
% Generate a model by using the Human-GEM as a template and taking into
% account species-specific pathways/reactions
Expand All @@ -11,7 +11,9 @@
% rxnsToAdd the structure of species-specific reactions
% metsToAdd the structure of species-specific metabolites
% modelId model id
%
% resetBiomass reset biomass objective function to "biomass_components"
% which is constituted by generic componenets that
% suppose to occur in a eukaryotic cell (opt, default TRUE)
%
% Output:
% animalGEM an updated animal GEM
Expand Down Expand Up @@ -81,7 +83,8 @@


%% Gap-filling
[animalGEM, gapfillNetwork]=gapfill4EssentialTasks(animalGEM,ihuman);
[animalGEM, gapfillNetwork]=gapfill4EssentialTasks(animalGEM,ihuman,resetBiomass);
animalGEM.b = animalGEM.b(:,1); % ensure b field in single column


%% post-gapfilling procedures
Expand Down
45 changes: 44 additions & 1 deletion data/deprecatedIdentifiers/deprecatedMetabolites.tsv
Original file line number Diff line number Diff line change
Expand Up @@ -2203,4 +2203,47 @@ mets metsNoComp metBiGGID metKEGGID metHMDBID metChEBIID metPubChemID metLipidMa
"MAM03573m" "MAM03573" "etfox" "" "" "" "" "" "" "" "etfox" "MNXM11479" "" "etfox_m"
"MAM03574m" "MAM03574" "etfrd" "" "" "" "" "" "" "" "etfrd" "MNXM11480" "" "etfrd_m"
"MAM03494c" "MAM03494" "c3dc" "" "" "" "22833583" "" "" "" "c3dc" "" "" "c3dc_c"
"MAM03494e" "MAM03494" "c3dc" "" "" "" "22833583" "" "" "" "c3dc" "" "" "c3dc_s"
"MAM03494e" "MAM03494" "c3dc" "" "" "" "22833583" "" "" "" "c3dc" "" "" "c3dc_s"
"MAM03318e" "MAM03318" "C02528" "C02528" "HMDB0000518" "CHEBI:16755" "10133" "" "" "" "C02528" "MNXM1183" "" "C02528_s"
"MAM03318c" "MAM03318" "C02528" "C02528" "HMDB0000518" "CHEBI:16755" "10133" "" "" "" "C02528" "MNXM1183" "" "C02528_c"
"MAM03318r" "MAM03318" "C02528" "C02528" "HMDB0000518" "CHEBI:16755" "10133" "" "" "" "C02528" "MNXM1183" "" "C02528_r"
"MAM03318m" "MAM03318" "C02528" "C02528" "HMDB0000518" "CHEBI:16755" "10133" "" "" "" "C02528" "MNXM1183" "" "C02528_m"
"MAM03325c" "MAM03325" "C08276" "C08276" "HMDB0001527" "CHEBI:1438" "563" "" "" "" "C08276" "MNXM2782" "" "C08276_c"
"MAM00591c" "MAM00591" "" "C14748" "" "CHEBI:34306" "" "" "" "HC02179" "" "MNXM6760" "m00591c" "m00591c"
"MAM00591e" "MAM00591" "" "C14748" "" "CHEBI:34306" "" "" "" "HC02179" "" "MNXM6760" "m00591s" "m00591s"
"MAM03162c" "MAM03162" "" "C05578" "" "CHEBI:27404" "" "" "" "" "M03162" "MNXM2336" "m03162c" "m03162c"
"MAM03231c" "MAM03231" "" "" "" "CHEBI:57277" "" "" "" "" "3hppa" "" "" "3hppa_c"
"MAM03540c" "MAM03540" "ddeccrn" "" "" "" "168381" "" "" "" "ddeccrn" "" "" "ddeccrn_c"
"MAM03540e" "MAM03540" "ddeccrn" "" "" "" "168381" "" "" "" "ddeccrn" "" "" "ddeccrn_s"
"MAM03226m" "MAM03226" "3hibutcoa" "C04047" "" "CHEBI:15481" "" "" "" "" "3hibutcoa" "MNXM446" "" "3hibutcoa_m"
"MAM03884c" "MAM03884" "phyt" "C01607" "HMDB0000801" "CHEBI:16285" "26840" "" "" "" "phyt" "MNXM91275" "" "phyt_c"
"MAM03884e" "MAM03884" "phyt" "C01607" "HMDB0000801" "CHEBI:16285" "26840" "" "" "" "phyt" "MNXM91275" "" "phyt_s"
"MAM03554c" "MAM03554" "dmnoncoa" "" "" "" "" "" "" "" "dmnoncoa" "MNXM6100" "" "dmnoncoa_c"
"MAM03884x" "MAM03884" "phyt" "C01607" "HMDB0000801" "CHEBI:16285" "26840" "" "" "" "phyt" "MNXM91275" "" "phyt_p"
"MAM03354c" "MAM03354" "CE4837" "C16171" "HMDB0006516" "CHEBI:63548" "53477846" "" "CE4837" "" "CE4837" "MNXM165171" "" "CE4837_c"
"MAM03332c" "MAM03332" "CE2516" "C03242" "HMDB0002925" "CHEBI:53486" "5280581" "" "CE2516" "" "CE2516" "MNXM5607" "" "CE2516_c"
"MAM03332e" "MAM03332" "" "C03242" "HMDB0002925" "CHEBI:53486" "5280581" "" "CE2516" "" "CE2516" "" "" "CE2516_s"
"MAM03354r" "MAM03354" "CE4837" "C16171" "HMDB0006516" "CHEBI:63548" "53477846" "" "CE4837" "" "CE4837" "MNXM165171" "" "CE4837_r"
"MAM00029c" "MAM00029" "" "" "" "CHEBI:81563" "16061126" "LMFA03070025" "CE7090" "" "CE7090" "MNXM33782" "m00029c" "m00029c"
"MAM03368m" "MAM03368" "" "C05467" "HMDB0006891" "CHEBI:27379" "440690" "" "CE5169" "" "CE5169" "" "" "CE5169_m"
"MAM03368x" "MAM03368" "" "C05467" "HMDB0006891" "CHEBI:27379" "440690" "" "CE5169" "" "CE5169" "" "" "CE5169_p"
"MAM00902c" "MAM00902" "" "" "" "" "" "" "CE4820" "" "CE4820" "MNXM164259" "m00902c" "m00902c"
"MAM00616m" "MAM00616" "cholcoar" "C15613" "" "CHEBI:37642" "15942889" "LMST01010218" "CE5165" "HC01348" "cholcoar" "MNXM549;MNXM90922;MNXM91096" "m00616p" "m00616p"
"MAM00749m" "MAM00749" "cholcoads" "C05460" "HMDB0006889" "CHEBI:27505" "5280797" "LMST01010217" "" "HC01466" "cholcoads" "MNXM162945;MNXM2747" "m00749m" "m00749m"
"MAM00036m" "MAM00036" "" "C05450" "" "CHEBI:52050" "46224537" "" "CE5168" "" "HC01459" "MNXM732;MNXM827" "m00036m" "m00036m"
"MAM00748m" "MAM00748" "cholcoaone" "C05467" "HMDB0006891" "CHEBI:27379" "440690" "LMST01010216" "CE5169" "HC01473" "cholcoaone" "MNXM162946;MNXM873" "m00748m" "m00748m"
"MAM03367m" "MAM03367" "" "" "" "" "" "" "CE5168" "" "CE5168" "" "" "CE5168_m"
"MAM00618m" "MAM00618" "cholcoas" "C17343" "" "CHEBI:37643" "15942888" "" "CE5166" "" "CE5166;cholcoas" "MNXM1201;MNXM8131" "m00618m" "m00618m"
"MAM01445m" "MAM01445" "cholate" "C00695" "HMDB0000619" "CHEBI:16359" "221493" "LMST04010001" "" "HC00502" "cholate" "MNXM450" "m01445m" "m01445m"
"MAM01514m" "MAM01514" "cholcoa" "C01794" "HMDB0001374" "CHEBI:15519" "439573" "" "" "HC00844" "cholcoa" "MNXM162468;MNXM431" "m01514m" "m01514m"
"MAM00759c" "MAM00759" "" "C13712" "" "" "" "LMST02030130" "" "" "M00759" "MNXM3494" "m00759c" "m00759c"
"MAM01268c" "MAM01268" "" "" "" "" "" "PROTEIN" "" "" "M01268" "" "m01268c" "m01268c"
"MAM01268m" "MAM01268" "" "" "" "" "" "PROTEIN" "" "" "M01268" "" "m01268m" "m01268m"
"MAM01268n" "MAM01268" "" "" "" "" "" "PROTEIN" "" "" "M01268" "" "m01268n" "m01268n"
"MAM01268x" "MAM01268" "" "" "" "" "" "PROTEIN" "" "" "M01268" "" "m01268p" "m01268p"
"MAM01268r" "MAM01268" "" "" "" "" "" "PROTEIN" "" "" "M01268" "" "m01268r" "m01268r"
"MAM01268e" "MAM01268" "" "" "" "" "" "PROTEIN" "" "" "M01268" "" "m01268s" "m01268s"
"MAM02757c" "MAM02757" "" "" "" "" "" "" "" "" "M02757" "" "m02757c" "m02757c"
"MAM02757l" "MAM02757" "" "" "" "" "" "" "" "" "M02757" "" "m02757l" "m02757l"
"MAM02757n" "MAM02757" "" "" "" "" "" "" "" "" "M02757" "" "m02757n" "m02757n"
"MAM01816n" "MAM01816" "" "" "" "" "" "PROTEIN" "" "" "M01816" "" "m01816n" "m01816n"
Loading