comparison 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
comparison
equal deleted inserted replaced
-1:000000000000 0:b79cf44068bc
1 <tool id="gem_escher_visualization" name="Pathway visualization" version="@VERSION@" profile="@PROFILE@">
2 <description>
3 of a GEM using Escher
4 </description>
5 <macros>
6 <import>gem_macros.xml</import>
7 </macros>
8 <expand macro="requirements"/>
9 <expand macro="version_command_escher"/>
10 <command>
11 python '$__tool_directory__/gem_escher_visualization.py'
12 -output '${output}'
13 --cb_model_location '${cb_model_location}'
14 #if not $flux_distribution_location == "None":
15 --flux_distribution_location '${flux_distribution_location}'
16 #end if
17 #if not $uptake_constraints_file == "None":
18 --uptake_constraints_file '${uptake_constraints_file}'
19 #end if
20 #if $map_selection.map_selection_select == "upload_map" or $map_selection.map_selection_select == "load_map":
21 --expect_map 'True'
22 #elif $map_selection.map_selection_select == "no_map":
23 --expect_map 'False'
24 #end if
25 #if $map_selection.map_selection_select == "upload_map":
26 --map_upload_name '${map_selection.map_upload_name}'
27 #elif $map_selection.map_selection_select == "load_map":
28 --map_load_name '${map_selection.map_load_name}'
29 #end if
30 </command>
31 <inputs>
32 <expand macro="input_model"/>
33 <param format="tabular,csv" name="flux_distribution_location" type="data" label="Flux distribution to visualize flux for" optional="true"/>
34 <expand macro="input_uptake_constraints"/>
35 <conditional name="map_selection">
36 <param format="select" name="map_selection_select" type="select" label="How would you like to select a map?">
37 <option value="load_map">Load a map from the list below</option>
38 <option value="upload_map">Upload a map</option>
39 <option value="no_map">Don't use a map (I'll draw my own from scratch)</option>
40 </param>
41 <when value="load_map">
42 <param format="select" name="map_load_name" type="select" label="Map to load" optional="false">
43 <option value="iMM904.Central carbon metabolism">iMM904 (S. cerevisiae), Central carbon metabolism</option>
44 <option value="RECON1.Inositol retinol metabolism">RECON1 (H. sapiens), Inositol retinol metabolism</option>
45 <option value="RECON1.Glycolysis TCA PPP">RECON1 (H. sapiens), Glycolysis TCA PPP</option>
46 <option value="RECON1.Tryptophan metabolism">RECON1 (H. sapiens), Tryptophan metabolism</option>
47 <option value="RECON1.Carbohydrate metabolism">RECON1 (H. sapiens), Carbohydrate metabolism</option>
48 <option value="RECON1.Amino acid metabolism (partial)">RECON1 (H. sapiens), Amino acid metabolism (partial)</option>
49 <option value="iJO1366.Nucleotide metabolism">iJO1366 (E. coli), Nucleotide metabolism</option>
50 <option value="iJO1366.Fatty acid biosynthesis (saturated)">iJO1366 (E. coli), Fatty acid biosynthesis (saturated)</option>
51 <option value="iJO1366.Nucleotide and histidine biosynthesis">iJO1366 (E. coli), Nucleotide and histidine biosynthesis</option>
52 <option value="e_coli_core.Core metabolism">e_coli_core, Core metabolism</option>
53 <option value="iJO1366.Central metabolism">iJO1366 (E. coli), Central metabolism</option>
54 <option value="iJO1366.Fatty acid beta-oxidation">iJO1366 (E. coli), Fatty acid beta-oxidation</option>
55 </param>
56 </when>
57 <when value="upload_map">
58 <param format="txt" name="map_upload_name" type="data" label="Map to use for visualizing fluxes" optional="true"/>
59 </when>
60 <when value="no_map">
61 <!-- Do nothing -->
62 </when>
63 </conditional>
64 </inputs>
65 <outputs>
66 <data name="output" format="html" label="${tool.name} on ${on_string}"/>
67 </outputs>
68 <tests>
69 <!-- Test 1: Valid E. coli core model, no map -->
70 <test>
71 <param name="cb_model_location" value="textbook_model_cobrapy.xml"/>
72 <conditional name="map_selection">
73 <param name="map_selection_select" value="no_map"/>
74 </conditional>
75 <output name="output">
76 <assert_contents>
77 <has_line line=" var data = get_data();"/>
78 </assert_contents>
79 </output>
80 </test>
81 <!-- Test 2: Valid E. coli core model, load map -->
82 <test>
83 <param name="cb_model_location" value="textbook_model_cobrapy.xml"/>
84 <conditional name="map_selection">
85 <param name="map_selection_select" value="load_map"/>
86 <param name="map_load_name" value="e_coli_core.Core metabolism"/>
87 </conditional>
88 <output name="output">
89 <assert_contents>
90 <has_line line=" var data = get_data();"/>
91 </assert_contents>
92 </output>
93 </test>
94 <!-- Test 3: Valid E. coli core model, upload map -->
95 <test>
96 <param name="cb_model_location" value="textbook_model_cobrapy.xml"/>
97 <conditional name="map_selection">
98 <param name="map_selection_select" value="upload_map"/>
99 <param name="map_upload_name" value="e_coli_core_test_map.json"/>
100 </conditional>
101 <output name="output">
102 <assert_contents>
103 <has_line line=" var data = get_data();"/>
104 </assert_contents>
105 </output>
106 </test>
107 <!-- Test 4: Invalid model, no map -->
108 <test expect_failure="true">
109 <param name="cb_model_location" value="invalid_format.txt"/>
110 <conditional name="map_selection">
111 <param name="map_selection_select" value="no_map"/>
112 </conditional>
113 <assert_stderr>
114 <has_text text="The model could not be read"/>
115 </assert_stderr>
116 </test>
117 </tests>
118 <help><![CDATA[
119 Escher Visualization Tool
120
121 Overview
122
123 This tool generates an interactive HTML visualization of metabolic flux distributions in a Genome-scale Metabolic Model (GEM) using Escher.
124
125 Inputs
126
127 * Model File (Required): COBRA-compatible metabolic model file
128 * Flux Distribution (Optional): a pre-calculated flux distribution
129 * Model constraints (Optional): constraints to apply during model simulation if no flux distribution is provided
130 * Map Selection (Optional): maps for common metabolic models
131
132 Output
133
134 The tool generates an interactive HTML file that:
135 * Displays metabolic pathways with reaction fluxes
136 * Allows zooming and panning
137 * Enables hovering over reactions for detailed information
138 * Provides options for customizing the visualization
139
140 Tips
141
142 * Ensure your model is properly formatted and constrained
143 * For large models, consider visualizing specific subsystems
144 * Custom maps should follow Escher's JSON format
145 * The visualization works best with modern web browsers
146
147 For more information about Escher, visit: https://escher.github.io/
148 ]]></help>
149 <citations>
150 <expand macro="citation_escher"/>
151 <expand macro="citation_pandas"/>
152 <expand macro="citation_cobrapy"/>
153 </citations>
154 </tool>