comparison get_infos.py @ 12:1aadcfdae10b draft

planemo upload for repository https://github.com/brsynth/synbiocad-galaxy-wrappers commit 94f89a44e330ccfccc8d94b5e7acf583c9d39343
author tduigou
date Tue, 01 Apr 2025 10:00:10 +0000
parents 062f51695ae0
children 6bcd8f09158d
comparison
equal deleted inserted replaced
11:062f51695ae0 12:1aadcfdae10b
39 39
40 40
41 def args(): 41 def args():
42 parser = ArgumentParser("Returns cell informations") 42 parser = ArgumentParser("Returns cell informations")
43 parser.add_argument("infile", type=str, help="SBML input file (xml)") 43 parser.add_argument("infile", type=str, help="SBML input file (xml)")
44 parser.add_argument("--biomassid", type=str, help="ID of biomass reaction") 44 parser.add_argument("--hostname-or-id", type=str, help="Hostname or model ID")
45 parser.add_argument("--taxonid", type=str, help="Taxonomy ID") 45 parser.add_argument("--comp", type=str, help="Path to store cell compartments")
46 parser.add_argument("--standalone", action="store_true", help="Standalone mode, e.g. do not retrieve taxonomy ID on Internet (true if --taxonid is provided)") 46 parser.add_argument("--biomass", type=str, help="Path to store biomass reaction ID")
47 parser.add_argument("--compartments-outfile", type=str, help="Path to store cell compartments") 47 parser.add_argument("--biomass-id", type=str, help="ID of biomass reaction")
48 parser.add_argument("--biomassid-outfile", type=str, help="Path to store biomass reaction ID") 48 parser.add_argument("--taxid", type=str, help="Path to store host taxonomy ID")
49 parser.add_argument("--taxonid-outfile", type=str, help="Path to store host taxonomy ID")
50 params = parser.parse_args() 49 params = parser.parse_args()
51 return params 50 return params
52 51
53 52
54 def get_organism_from_bigg_model(model_id): 53 def get_organism_from_bigg_model(model_id):
95 for comp in compartments: 94 for comp in compartments:
96 comp_str += f"{comp.getId()}\t{comp.getName()}\n" 95 comp_str += f"{comp.getId()}\t{comp.getName()}\n"
97 print("Compartments:") 96 print("Compartments:")
98 for comp in compartments: 97 for comp in compartments:
99 print(f"{comp.getId()}\t{comp.getName()}".replace("\n", " | ")) 98 print(f"{comp.getId()}\t{comp.getName()}".replace("\n", " | "))
100 if params.compartments_outfile: 99 if params.comp:
101 with open(params.compartments_outfile, "w") as f: 100 with open(params.comp, "w") as f:
102 f.write("#ID\tNAME\n") 101 f.write("#ID\tNAME\n")
103 f.write(comp_str) 102 f.write(comp_str)
104 103
105 if params.biomassid: 104 if params.biomass_id:
106 biomass_rxn = sbml_doc.getModel().getReaction(params.biomassid) 105 biomass_rxn = sbml_doc.getModel().getReaction(params.biomass_id)
107 else: 106 else:
108 biomass_rxn = get_biomass_rxn(sbml_doc) 107 biomass_rxn = get_biomass_rxn(sbml_doc)
109 if not biomass_rxn: 108 if not biomass_rxn:
110 print("Warning: unable to retrieve biomass reaction") 109 print("Warning: unable to retrieve biomass reaction")
111 biomass_id = "" 110 biomass_id = ""
112 else: 111 else:
113 biomass_id = biomass_rxn.getId() 112 biomass_id = biomass_rxn.getId()
114 print(f"Biomass reaction ID: {biomass_id}") 113 print(f"Biomass reaction ID: {biomass_id}")
115 if params.biomassid_outfile: 114 if params.biomass:
116 with open(params.biomassid_outfile, "w") as f: 115 with open(params.biomass, "w") as f:
117 f.write("#ID\n") 116 f.write("#ID\n")
118 f.write(f"{biomass_id}\n") 117 f.write(f"{biomass_id}\n")
119 118
120 if params.taxonid: 119 if params.hostname_or_id:
121 taxid = params.taxonid 120 taxid = get_taxon_id(params.hostname_or_id)
122 elif params.standalone:
123 taxid = -1
124 else: 121 else:
125 model_id = sbml_doc.getModel().getId() 122 model_id = sbml_doc.getModel().getId()
123 taxid = -1
126 if model_id: 124 if model_id:
127 taxid = get_taxon_id(sbml_doc.getModel().getId()) 125 taxid = get_taxon_id(sbml_doc.getModel().getId())
128 if taxid == -1: 126 if taxid == -1:
129 # Try with model name 127 # Try with model name
130 model_name = sbml_doc.getModel().getName() 128 model_name = sbml_doc.getModel().getName()
131 if model_name: 129 if model_name:
132 taxid = get_taxon_id(sbml_doc.getModel().getName()) 130 taxid = get_taxon_id(sbml_doc.getModel().getName())
133 print(f"Taxonomy ID: {taxid}") 131 print(f"Taxonomy ID: {taxid}")
134 132
135 if params.taxonid_outfile: 133 if params.taxid:
136 with open(params.taxonid_outfile, "w") as f: 134 with open(params.taxid, "w") as f:
137 f.write("#ID\n") 135 f.write("#ID\n")
138 f.write(f"{taxid}\n") 136 f.write(f"{taxid}\n")
139 137
140 138
141 if __name__ == "__main__": 139 if __name__ == "__main__":