diff --git a/code/modelCuration/reportPeroxGenesFromBetaoxidationGPRsInMito.py b/code/modelCuration/reportPeroxGenesFromBetaoxidationGPRsInMito.py new file mode 100644 index 00000000..20c47843 --- /dev/null +++ b/code/modelCuration/reportPeroxGenesFromBetaoxidationGPRsInMito.py @@ -0,0 +1,26 @@ +# 1. read gene compartment from genes.tsv and load model +# 2. get the reactions in fatty acid oxidation subsystem and mitochondria compartment +# 3. go through the reactions and check the compartment of each genes in the GPR +# 4. report the genes that are only expressed in peroxisome +import csv +import cobra +import pandas as pd + +# load genes.tsv and read info into a dict for genes and their compartments +with open("../../model/genes.tsv", 'r') as file: + reader = csv.reader(file, delimiter='\t') + geneCompDict = {row[0]: row[8] for row in reader} + +# load model +model = cobra.io.load_yaml_model('../../model/Human-GEM.yml') + +# collect reactions from "Fatty acid oxidation" subsystem and in [m] compartment +subsys = 'Fatty acid oxidation' +targetComp = {'m'} +for r in model.reactions: + if subsys in r.subsystem and targetComp == r.compartments: + # go through collected reactions find genes that exist only in peroxisome + for g in r.genes: + if geneCompDict[g.id] == 'Peroxisome': + print(f'{r.id} | {g.id} | {r.build_reaction_string(True)} | {r.gene_reaction_rule} | {r.gene_name_reaction_rule}') + diff --git a/model/Human-GEM.yml b/model/Human-GEM.yml index e7aec4fe..20cf65e6 100644 --- a/model/Human-GEM.yml +++ b/model/Human-GEM.yml @@ -226738,7 +226738,7 @@ - MAM02678m: -1 - lower_bound: -1000 - upper_bound: 1000 - - gene_reaction_rule: "ENSG00000115425 or ENSG00000116353" + - gene_reaction_rule: "ENSG00000116353" - rxnNotes: "" - rxnFrom: "Recon3D" - eccodes: "1.3.1.38" @@ -226969,7 +226969,7 @@ - MAM02644m: -1 - lower_bound: -1000 - upper_bound: 1000 - - gene_reaction_rule: "ENSG00000115425 or ENSG00000116353" + - gene_reaction_rule: "ENSG00000116353" - rxnNotes: "" - rxnFrom: "Recon3D" - eccodes: "1.3.1.38" @@ -226988,7 +226988,7 @@ - MAM02555m: 1 - lower_bound: -1000 - upper_bound: 1000 - - gene_reaction_rule: "ENSG00000115425 or ENSG00000116353" + - gene_reaction_rule: "ENSG00000116353" - rxnNotes: "" - rxnFrom: "Recon3D" - eccodes: "1.3.1.38" @@ -227007,7 +227007,7 @@ - MAM02555m: 1 - lower_bound: -1000 - upper_bound: 1000 - - gene_reaction_rule: "ENSG00000115425 or ENSG00000116353" + - gene_reaction_rule: "ENSG00000116353" - rxnNotes: "" - rxnFrom: "Recon3D" - eccodes: "1.3.1.38" @@ -227064,7 +227064,7 @@ - MAM02555m: 1 - lower_bound: -1000 - upper_bound: 1000 - - gene_reaction_rule: "ENSG00000115425 or ENSG00000116353" + - gene_reaction_rule: "ENSG00000116353" - rxnNotes: "" - rxnFrom: "Recon3D" - eccodes: "1.3.1.38" @@ -227262,7 +227262,7 @@ - MAM02555m: -1 - lower_bound: -1000 - upper_bound: 1000 - - gene_reaction_rule: "ENSG00000115425 or ENSG00000116353" + - gene_reaction_rule: "ENSG00000116353" - rxnNotes: "" - rxnFrom: "Recon3D" - eccodes: "1.3.1.38" @@ -228310,7 +228310,7 @@ - MAM02677m: 1 - lower_bound: 0 - upper_bound: 1000 - - gene_reaction_rule: "(ENSG00000138029 and ENSG00000167315) or (ENSG00000060971 and ENSG00000138029)" + - gene_reaction_rule: "ENSG00000138029 or ENSG00000167315" - rxnNotes: "" - rxnFrom: "Recon3D" - eccodes: "2.3.1.86" @@ -232162,7 +232162,7 @@ - MAM03334m: 1 - lower_bound: -1000 - upper_bound: 1000 - - gene_reaction_rule: "ENSG00000084754 or ENSG00000113790 or ENSG00000127884 or ENSG00000138029" + - gene_reaction_rule: "ENSG00000084754 or ENSG00000127884 or ENSG00000138029" - rxnNotes: "" - rxnFrom: "Recon3D" - eccodes: "4.2.1.17" @@ -232383,7 +232383,7 @@ - MAM03358m: 1 - lower_bound: -1000 - upper_bound: 1000 - - gene_reaction_rule: "ENSG00000113790 or ENSG00000167969 or ENSG00000198721" + - gene_reaction_rule: "ENSG00000167969 or ENSG00000198721" - rxnNotes: "" - rxnFrom: "Recon3D" - eccodes: "5.3.3.8" @@ -232434,7 +232434,7 @@ - MAM03361m: -1 - lower_bound: -1000 - upper_bound: 1000 - - gene_reaction_rule: "ENSG00000113790 or ENSG00000167969 or ENSG00000198721" + - gene_reaction_rule: "ENSG00000167969 or ENSG00000198721" - rxnNotes: "" - rxnFrom: "Recon3D" - eccodes: "5.3.3.8" @@ -232451,7 +232451,7 @@ - MAM03361m: -1 - lower_bound: -1000 - upper_bound: 1000 - - gene_reaction_rule: "ENSG00000084754 or ENSG00000113790 or ENSG00000127884 or ENSG00000138029" + - gene_reaction_rule: "ENSG00000084754 or ENSG00000127884 or ENSG00000138029" - rxnNotes: "" - rxnFrom: "Recon3D" - eccodes: "4.2.1.17"