Mercurial > repos > tduigou > get_sbml_model
changeset 14:7a57f54c130f draft default tip
planemo upload for repository https://github.com/brsynth/synbiocad-galaxy-wrappers commit dda8b49daae051df39f4a58d5c0d81fbc393cdf4
| author | tduigou |
|---|---|
| date | Mon, 27 Oct 2025 06:26:27 +0000 |
| parents | 6bcd8f09158d |
| children | |
| files | get_infos.py get_sbml_model.xml |
| diffstat | 2 files changed, 59 insertions(+), 26 deletions(-) [+] |
line wrap: on
line diff
--- a/get_infos.py Tue Apr 01 10:00:36 2025 +0000 +++ b/get_infos.py Mon Oct 27 06:26:27 2025 +0000 @@ -1,7 +1,6 @@ from argparse import ArgumentParser from libsbml import readSBMLFromFile -from taxonid import get_taxonid -from requests import get as r_get +from requests import RequestException, get as r_get def get_biomass_rxn(sbml_doc): @@ -62,12 +61,32 @@ return organism except Exception as e: print(f"Error querying BiGG: {e}") - return None + return -1 + -def get_taxon_id(input_name): +def get_taxonid(organism_name: str) -> str: + """Query NCBI Taxonomy for a given organism name and return its Taxon ID.""" + url = "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi" + params = { + "db": "taxonomy", + "term": organism_name, + "retmode": "json" + } + try: + response = r_get(url, params=params, timeout=10) + response.raise_for_status() + data = response.json() + ids = data.get("esearchresult", {}).get("idlist", []) + return ids[0] if ids else -1 + except RequestException as e: + print(f"Error querying NCBI for '{organism_name}': {e}") + return -1 + + +def get_taxon_id(input_name: str) -> str: """Try BiGG model name first, then NCBI directly.""" print(f"Trying input: {input_name}") - + # Try resolving as a BiGG model organism = get_organism_from_bigg_model(input_name) if organism:
--- a/get_sbml_model.xml Tue Apr 01 10:00:36 2025 +0000 +++ b/get_sbml_model.xml Mon Oct 27 06:26:27 2025 +0000 @@ -1,11 +1,10 @@ -<tool id="get_sbml_model" name="Pick SBML Model" version="0.4.0" profile="21.09" license="MIT"> +<tool id="get_sbml_model" name="Pick SBML Model" version="0.4.1" profile="21.09" license="MIT"> <description>Get an SBML model (BiGG)</description> <requirements> <requirement type="package" version="7.81.0">curl</requirement> <requirement type="package" version="1.11">gzip</requirement> <requirement type="package" version="5.19.2">python-libsbml</requirement> <requirement type="package" version="2.31">requests</requirement> - <requirement type="package" version="0.1.1">taxonid</requirement> </requirements> <command detect_errors="exit_code"><![CDATA[ #import re @@ -36,11 +35,16 @@ <option value="from_history">Select file from the History</option> </param> <when value="from_history"> - <param name="input_file" type="data" format="sbml,xml" label="SBML model" help="An SBML file is expected"/> + <param name="input_file" type="data" format="sbml,xml" label="SBML model" + help="An SBML file is expected" /> <section name="adv" title="Advanced Options" expanded="false"> - <param name="biomassid" type="text" label="Biomass reaction ID" help="Biomass reaction ID" optional="True"/> - <param name="taxonid" type="text" label="Taxonomy ID" help="Taxonomy ID" optional="True"/> - <param argument="--standalone" type="boolean" truevalue="--standalone" falsevalue="" checked="false" label="Standalone mode" help="If true, do not retrieve taxonomy ID from Internet" /> + <param name="biomassid" type="text" label="Biomass reaction ID" + help="Biomass reaction ID" optional="True" /> + <param name="taxonid" type="text" label="Taxonomy ID" help="Taxonomy ID" + optional="True" /> + <param argument="--standalone" type="boolean" truevalue="--standalone" + falsevalue="" checked="false" label="Standalone mode" + help="If true, do not retrieve taxonomy ID from Internet" /> </section> </when> <when value="from_bigg"> @@ -55,23 +59,27 @@ <option value="iCHOv1">Cricetulus griseus (iCHOv1)</option> <option value="iAF1260b">Escherichia coli str. K-12 substr. MG1655 (iAF1260b)</option> <option value="iAF1260">Escherichia coli str. K-12 substr. MG1655 (iAF1260)</option> - <option value="iML1515" selected="true">Escherichia coli str. K-12 substr. MG1655 (iML1515)</option> + <option value="iML1515" selected="true">Escherichia coli str. K-12 substr. + MG1655 (iML1515)</option> <option value="iJO1366">Escherichia coli str. K-12 substr. MG1655 (iJO1366)</option> <option value="iJR904">Escherichia coli str. K-12 substr. MG1655 (iJR904)</option> - <option value="e_coli_core">Escherichia coli str. K-12 substr. MG1655 (e_coli_core)</option> + <option value="e_coli_core">Escherichia coli str. K-12 substr. MG1655 + (e_coli_core)</option> <option value="iAF987">Geobacter metallireducens GS-15 (iAF987)</option> <option value="iIT341">Helicobacter pylori 26695 (iIT341)</option> <option value="iAT_PLT_636">Homo sapiens (iAT_PLT_636)</option> <option value="Recon3D">Homo sapiens (Recon3D)</option> <option value="iAB_RBC_283">Homo sapiens (iAB_RBC_283)</option> <option value="RECON1">Homo sapiens (RECON1)</option> - <option value="iYL1228">Klebsiella pneumoniae subsp. pneumoniae MGH 78578 (iYL1228)</option> + <option value="iYL1228">Klebsiella pneumoniae subsp. pneumoniae MGH 78578 + (iYL1228)</option> <option value="iNF517">Lactococcus lactis subsp. cremoris MG1363 (iNF517)</option> <option value="iAF692">Methanosarcina barkeri str. Fusaro (iAF692)</option> <option value="iMM1415">Mus musculus (iMM1415)</option> <option value="iNJ661">Mycobacterium tuberculosis H37Rv (iNJ661)</option> <option value="iEK1008">Mycobacterium tuberculosis H37Rv (iEK1008)</option> - <option value="iLB1027_lipid">Phaeodactylum tricornutum CCAP 1055/1 (iLB1027_lipid)</option> + <option value="iLB1027_lipid">Phaeodactylum tricornutum CCAP 1055/1 + (iLB1027_lipid)</option> <option value="iAM_Pb448">Plasmodium berghei (iAM_Pb448)</option> <option value="iAM_Pc455">Plasmodium cynomolgi strain B (iAM_Pc455)</option> <option value="iAM_Pf480">Plasmodium falciparum 3D7 (iAM_Pf480)</option> @@ -81,17 +89,21 @@ <option value="iJN1463">Pseudomonas putida KT2440 (iJN1463)</option> <option value="iND750">Saccharomyces cerevisiae S288C (iND750)</option> <option value="iMM904">Saccharomyces cerevisiae S288C (iMM904)</option> - <option value="STM_v1_0">Salmonella enterica subsp. enterica serovar Typhimurium str. LT2 (STM_v1_0)</option> + <option value="STM_v1_0">Salmonella enterica subsp. enterica serovar Typhimurium + str. LT2 (STM_v1_0)</option> <option value="iYS1720">Salmonella pan-reactome (iYS1720)</option> <option value="iSB619">Staphylococcus aureus subsp. aureus N315 (iSB619)</option> - <option value="iYS854">Staphylococcus aureus subsp. aureus USA300_TCH1516 (iYS854)</option> + <option value="iYS854">Staphylococcus aureus subsp. aureus USA300_TCH1516 + (iYS854)</option> <option value="iJB785">Synechococcus elongatus PCC 7942 (iJB785)</option> <option value="iJN678">Synechocystis sp. PCC 6803 (iJN678)</option> <option value="iSynCJ816">Synechocystis sp. PCC 6803 (iSynCJ816)</option> <option value="iLJ478">Thermotoga maritima MSB8 (iLJ478)</option> <option value="iIS312">Trypanosoma cruzi Dm28c (iIS312)</option> - <option value="iIS312_Trypomastigote">Trypanosoma cruzi Dm28c (iIS312_Trypomastigote)</option> - <option value="iIS312_Epimastigote">Trypanosoma cruzi Dm28c (iIS312_Epimastigote)</option> + <option value="iIS312_Trypomastigote">Trypanosoma cruzi Dm28c + (iIS312_Trypomastigote)</option> + <option value="iIS312_Epimastigote">Trypanosoma cruzi Dm28c + (iIS312_Epimastigote)</option> <option value="iIS312_Amastigote">Trypanosoma cruzi Dm28c (iIS312_Amastigote)</option> </param> </when> @@ -113,10 +125,12 @@ <data name="taxid_history" format="tsv" label="${cond_src.input_file.name} (taxon id)"> <filter>cond_src['from_src'] == 'from_history'</filter> </data> - <data name="compartments_history" format="tsv" label="${cond_src.input_file.name} (compartments)"> + <data name="compartments_history" format="tsv" + label="${cond_src.input_file.name} (compartments)"> <filter>cond_src['from_src'] == 'from_history'</filter> </data> - <data name="biomass_history" format="tsv" label="${cond_src.input_file.name} (biomass reactions)"> + <data name="biomass_history" format="tsv" + label="${cond_src.input_file.name} (biomass reactions)"> <filter>cond_src['from_src'] == 'from_history'</filter> </data> </outputs> @@ -205,15 +219,15 @@ Download the selected SBML model fromg BiGG database or get statistics from local SBML model. ]]></help> <creator> - <organization name="BioRetroSynth" url="https://github.com/brsynth"/> + <organization name="BioRetroSynth" url="https://github.com/brsynth" /> </creator> <citations> <citation type="bibtex"> @unpublished{get_sbml_model - author = {Joan Hérisson}, - title = {{get_sbml_model}}, - url = {https://github.com/brsynth/}, + author = {Joan Hérisson}, + title = {{get_sbml_model}}, + url = {https://github.com/brsynth/}, } </citation> </citations> -</tool> +</tool> \ No newline at end of file
