Mercurial > repos > iuc > gem_escher_visualization
diff gem_escher_visualization.xml @ 0:b79cf44068bc draft default tip
planemo upload for repository https://github.com/AlmaasLab/elixir-galaxy-tools-systemsbiology commit 3f7bec1264a86e1488ee1315dbac0f44675f5171
author | iuc |
---|---|
date | Fri, 13 Dec 2024 21:32:58 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gem_escher_visualization.xml Fri Dec 13 21:32:58 2024 +0000 @@ -0,0 +1,154 @@ +<tool id="gem_escher_visualization" name="Pathway visualization" version="@VERSION@" profile="@PROFILE@"> + <description> + of a GEM using Escher + </description> + <macros> + <import>gem_macros.xml</import> + </macros> + <expand macro="requirements"/> + <expand macro="version_command_escher"/> + <command> + python '$__tool_directory__/gem_escher_visualization.py' + -output '${output}' + --cb_model_location '${cb_model_location}' + #if not $flux_distribution_location == "None": + --flux_distribution_location '${flux_distribution_location}' + #end if + #if not $uptake_constraints_file == "None": + --uptake_constraints_file '${uptake_constraints_file}' + #end if + #if $map_selection.map_selection_select == "upload_map" or $map_selection.map_selection_select == "load_map": + --expect_map 'True' + #elif $map_selection.map_selection_select == "no_map": + --expect_map 'False' + #end if + #if $map_selection.map_selection_select == "upload_map": + --map_upload_name '${map_selection.map_upload_name}' + #elif $map_selection.map_selection_select == "load_map": + --map_load_name '${map_selection.map_load_name}' + #end if + </command> + <inputs> + <expand macro="input_model"/> + <param format="tabular,csv" name="flux_distribution_location" type="data" label="Flux distribution to visualize flux for" optional="true"/> + <expand macro="input_uptake_constraints"/> + <conditional name="map_selection"> + <param format="select" name="map_selection_select" type="select" label="How would you like to select a map?"> + <option value="load_map">Load a map from the list below</option> + <option value="upload_map">Upload a map</option> + <option value="no_map">Don't use a map (I'll draw my own from scratch)</option> + </param> + <when value="load_map"> + <param format="select" name="map_load_name" type="select" label="Map to load" optional="false"> + <option value="iMM904.Central carbon metabolism">iMM904 (S. cerevisiae), Central carbon metabolism</option> + <option value="RECON1.Inositol retinol metabolism">RECON1 (H. sapiens), Inositol retinol metabolism</option> + <option value="RECON1.Glycolysis TCA PPP">RECON1 (H. sapiens), Glycolysis TCA PPP</option> + <option value="RECON1.Tryptophan metabolism">RECON1 (H. sapiens), Tryptophan metabolism</option> + <option value="RECON1.Carbohydrate metabolism">RECON1 (H. sapiens), Carbohydrate metabolism</option> + <option value="RECON1.Amino acid metabolism (partial)">RECON1 (H. sapiens), Amino acid metabolism (partial)</option> + <option value="iJO1366.Nucleotide metabolism">iJO1366 (E. coli), Nucleotide metabolism</option> + <option value="iJO1366.Fatty acid biosynthesis (saturated)">iJO1366 (E. coli), Fatty acid biosynthesis (saturated)</option> + <option value="iJO1366.Nucleotide and histidine biosynthesis">iJO1366 (E. coli), Nucleotide and histidine biosynthesis</option> + <option value="e_coli_core.Core metabolism">e_coli_core, Core metabolism</option> + <option value="iJO1366.Central metabolism">iJO1366 (E. coli), Central metabolism</option> + <option value="iJO1366.Fatty acid beta-oxidation">iJO1366 (E. coli), Fatty acid beta-oxidation</option> + </param> + </when> + <when value="upload_map"> + <param format="txt" name="map_upload_name" type="data" label="Map to use for visualizing fluxes" optional="true"/> + </when> + <when value="no_map"> + <!-- Do nothing --> + </when> + </conditional> + </inputs> + <outputs> + <data name="output" format="html" label="${tool.name} on ${on_string}"/> + </outputs> + <tests> + <!-- Test 1: Valid E. coli core model, no map --> + <test> + <param name="cb_model_location" value="textbook_model_cobrapy.xml"/> + <conditional name="map_selection"> + <param name="map_selection_select" value="no_map"/> + </conditional> + <output name="output"> + <assert_contents> + <has_line line=" var data = get_data();"/> + </assert_contents> + </output> + </test> + <!-- Test 2: Valid E. coli core model, load map --> + <test> + <param name="cb_model_location" value="textbook_model_cobrapy.xml"/> + <conditional name="map_selection"> + <param name="map_selection_select" value="load_map"/> + <param name="map_load_name" value="e_coli_core.Core metabolism"/> + </conditional> + <output name="output"> + <assert_contents> + <has_line line=" var data = get_data();"/> + </assert_contents> + </output> + </test> + <!-- Test 3: Valid E. coli core model, upload map --> + <test> + <param name="cb_model_location" value="textbook_model_cobrapy.xml"/> + <conditional name="map_selection"> + <param name="map_selection_select" value="upload_map"/> + <param name="map_upload_name" value="e_coli_core_test_map.json"/> + </conditional> + <output name="output"> + <assert_contents> + <has_line line=" var data = get_data();"/> + </assert_contents> + </output> + </test> + <!-- Test 4: Invalid model, no map --> + <test expect_failure="true"> + <param name="cb_model_location" value="invalid_format.txt"/> + <conditional name="map_selection"> + <param name="map_selection_select" value="no_map"/> + </conditional> + <assert_stderr> + <has_text text="The model could not be read"/> + </assert_stderr> + </test> + </tests> + <help><![CDATA[ + Escher Visualization Tool + + Overview + + This tool generates an interactive HTML visualization of metabolic flux distributions in a Genome-scale Metabolic Model (GEM) using Escher. + + Inputs + + * Model File (Required): COBRA-compatible metabolic model file + * Flux Distribution (Optional): a pre-calculated flux distribution + * Model constraints (Optional): constraints to apply during model simulation if no flux distribution is provided + * Map Selection (Optional): maps for common metabolic models + + Output + + The tool generates an interactive HTML file that: + * Displays metabolic pathways with reaction fluxes + * Allows zooming and panning + * Enables hovering over reactions for detailed information + * Provides options for customizing the visualization + + Tips + + * Ensure your model is properly formatted and constrained + * For large models, consider visualizing specific subsystems + * Custom maps should follow Escher's JSON format + * The visualization works best with modern web browsers + + For more information about Escher, visit: https://escher.github.io/ + ]]></help> + <citations> + <expand macro="citation_escher"/> + <expand macro="citation_pandas"/> + <expand macro="citation_cobrapy"/> + </citations> +</tool>