comparison drhip.xml @ 0:dd2d60b55e0d draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/drhip commit 15c654c3d27df68a47483031961ace7f5b8d998d
author iuc
date Thu, 04 Dec 2025 15:05:26 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:dd2d60b55e0d
1 <tool id="drhip" name="DRHIP" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
2 <description>Data Reduction for HyPhy with Inference Processing</description>
3 <macros>
4 <token name="@TOOL_VERSION@">0.1.4</token>
5 <token name="@VERSION_SUFFIX@">0</token>
6 <token name="@PROFILE@">25.0</token>
7 </macros>
8 <requirements>
9 <requirement type="package" version="@TOOL_VERSION@">drhip</requirement>
10 </requirements>
11 <version_command>drhip --version</version_command>
12 <command detect_errors="exit_code"><![CDATA[
13 mkdir -p hyphy_input
14
15 ## For each method, create directory + link files with pattern: gene.METHOD.json
16 #if $busted_files
17 && mkdir -p hyphy_input/BUSTED
18 #for $file in $busted_files
19 && ln -s '${file}' 'hyphy_input/BUSTED/${file.element_identifier}.BUSTED.json'
20 #end for
21 #end if
22
23 #if $fel_files
24 && mkdir -p hyphy_input/FEL
25 #for $file in $fel_files
26 && ln -s '${file}' 'hyphy_input/FEL/${file.element_identifier}.FEL.json'
27 #end for
28 #end if
29
30 #if $meme_files
31 && mkdir -p hyphy_input/MEME
32 #for $file in $meme_files
33 && ln -s '${file}' 'hyphy_input/MEME/${file.element_identifier}.MEME.json'
34 #end for
35 #end if
36
37 #if $prime_files
38 && mkdir -p hyphy_input/PRIME
39 #for $file in $prime_files
40 && ln -s '${file}' 'hyphy_input/PRIME/${file.element_identifier}.PRIME.json'
41 #end for
42 #end if
43
44 #if $relax_files
45 && mkdir -p hyphy_input/RELAX
46 #for $file in $relax_files
47 && ln -s '${file}' 'hyphy_input/RELAX/${file.element_identifier}.RELAX.json'
48 #end for
49 #end if
50
51 #if $contrastfel_files
52 && mkdir -p hyphy_input/CONTRASTFEL
53 #for $file in $contrastfel_files
54 && ln -s '${file}' 'hyphy_input/CONTRASTFEL/${file.element_identifier}.CONTRASTFEL.json'
55 #end for
56 #end if
57
58 ## Run DRHIP with tabular output
59 && drhip
60 --input hyphy_input
61 --output output_dir
62 --tabular
63 ]]></command>
64 <inputs>
65 <param name="busted_files" type="data" format="hyphy_results.json" multiple="true" optional="true"
66 label="BUSTED results"
67 help="HyPhy BUSTED JSON result(s). Element identifier is used as gene name."/>
68 <param name="fel_files" type="data" format="hyphy_results.json" multiple="true" optional="true"
69 label="FEL results"
70 help="HyPhy FEL JSON result(s). Element identifier is used as gene name."/>
71 <param name="meme_files" type="data" format="hyphy_results.json" multiple="true" optional="true"
72 label="MEME results"
73 help="HyPhy MEME JSON result(s). Element identifier is used as gene name."/>
74 <param name="prime_files" type="data" format="hyphy_results.json" multiple="true" optional="true"
75 label="PRIME results"
76 help="HyPhy PRIME JSON result(s). Element identifier is used as gene name."/>
77 <param name="relax_files" type="data" format="hyphy_results.json" multiple="true" optional="true"
78 label="RELAX results"
79 help="HyPhy RELAX JSON result(s). Required for comparison group analyses. Element identifier is used as gene name."/>
80 <param name="contrastfel_files" type="data" format="hyphy_results.json" multiple="true" optional="true"
81 label="Contrast-FEL results"
82 help="HyPhy Contrast-FEL result(s). Required for comparison group analyses. Element identifier is used as gene name."/>
83 </inputs>
84 <outputs>
85 <data name="combined_summary" format="tabular" from_work_dir="output_dir/combined_summary.tab"
86 label="${tool.name} on ${on_string}: Combined Summary"/>
87 <data name="combined_sites" format="tabular" from_work_dir="output_dir/combined_sites.tab"
88 label="${tool.name} on ${on_string}: Combined Sites"/>
89 <data name="combined_comparison_summary" format="tabular" from_work_dir="output_dir/combined_comparison_summary.tab"
90 label="${tool.name} on ${on_string}: Combined Comparison Summary">
91 <filter>relax_files or contrastfel_files</filter>
92 </data>
93 <data name="combined_comparison_site" format="tabular" from_work_dir="output_dir/combined_comparison_site.tab"
94 label="${tool.name} on ${on_string}: Combined Comparison Site">
95 <filter>relax_files or contrastfel_files</filter>
96 </data>
97 </outputs>
98 <tests>
99 <test expect_num_outputs="2">
100 <param name="busted_files" value="BUSTED/gene1.json" ftype="hyphy_results.json"/>
101 <param name="fel_files" value="FEL/gene1.json" ftype="hyphy_results.json"/>
102 <param name="meme_files" value="MEME/gene1.json" ftype="hyphy_results.json"/>
103 <param name="prime_files" value="PRIME/gene1.json" ftype="hyphy_results.json"/>
104 <output name="combined_summary" ftype="tabular">
105 <assert_contents>
106 <has_text text="gene" />
107 <has_text text="BUSTED" />
108 <has_text text="gene1.json" />
109 <has_text text="pval" />
110 <has_text text="omega" />
111 <has_n_lines n="2" />
112 <has_n_columns n="9"/>
113 </assert_contents>
114 </output>
115 <output name="combined_sites" ftype="tabular">
116 <assert_contents>
117 <has_text text="gene" />
118 <has_text text="site" />
119 <has_text text="gene1.json" />
120 <has_text text="fel_selection" />
121 <has_text text="meme_marker" />
122 <has_text text="prime_marker" />
123 <has_n_lines n="101" />
124 <has_n_columns n="8"/>
125 </assert_contents>
126 </output>
127 </test>
128 <test expect_num_outputs="4">
129 <param name="busted_files" value="BUSTED/gene2.json" ftype="hyphy_results.json"/>
130 <param name="fel_files" value="FEL/gene2.json" ftype="hyphy_results.json"/>
131 <param name="meme_files" value="MEME/gene2.json" ftype="hyphy_results.json"/>
132 <param name="prime_files" value="PRIME/gene2.json" ftype="hyphy_results.json"/>
133 <param name="relax_files" value="RELAX/gene2.json" ftype="hyphy_results.json"/>
134 <param name="contrastfel_files" value="CONTRASTFEL/gene2.json" ftype="hyphy_results.json"/>
135 <output name="combined_summary" ftype="tabular">
136 <assert_contents>
137 <has_text text="gene" />
138 <has_text text="BUSTED" />
139 <has_text text="RELAX" />
140 <has_text text="gene2.json" />
141 <has_text text="pval" />
142 <has_text text="omega" />
143 <has_n_lines n="2" />
144 <has_n_columns n="12"/>
145 </assert_contents>
146 </output>
147 <output name="combined_sites" ftype="tabular">
148 <assert_contents>
149 <has_text text="gene" />
150 <has_text text="site" />
151 <has_text text="gene2.json" />
152 <has_text text="fel_selection" />
153 <has_text text="meme_marker" />
154 <has_text text="prime_marker" />
155 <has_n_lines n="101" />
156 <has_n_columns n="8"/>
157 </assert_contents>
158 </output>
159 <output name="combined_comparison_summary" ftype="tabular">
160 <assert_contents>
161 <has_text text="gene" />
162 <has_text text="comparison_group" />
163 <has_text text="gene2.json" />
164 <has_text text="Foreground" />
165 <has_text text="Reference" />
166 <has_text text="background" />
167 <has_n_lines n="4" />
168 <has_n_columns n="6"/>
169 </assert_contents>
170 </output>
171 <output name="combined_comparison_site" ftype="tabular">
172 <assert_contents>
173 <has_text text="gene" />
174 <has_text text="site" />
175 <has_text text="comparison_group" />
176 <has_text text="gene2.json" />
177 <has_text text="cfel_beta" />
178 <has_text text="Foreground" />
179 <has_text text="Reference" />
180 <has_n_lines n="301" />
181 <has_n_columns n="8"/>
182 </assert_contents>
183 </output>
184 </test>
185 </tests>
186 <help><![CDATA[
187 **DRHIP: Data Reduction for HyPhy with Inference Processing**
188
189 Combines results from multiple HyPhy selection analysis methods into unified tabular files.
190
191 -----
192
193 **What it does**
194
195 DRHIP takes JSON outputs from HyPhy selection analysis tools and creates summary tables that combine results across multiple genes and analysis methods.
196
197 -----
198
199 **Inputs**
200
201 DRHIP expects HyPhy JSON result files from one or more of these methods:
202
203 - **BUSTED** – Branch-site test for episodic diversifying selection
204 - **FEL** – Fixed effects likelihood test for selection
205 - **MEME** – Mixed effects model of evolution
206 - **PRIME** – Property-informed models of evolution
207 - **RELAX** (optional) – Test for relaxation/intensification of selection
208 - **Contrast-FEL** (optional) – Compare selection between groups
209
210 At least **one method must have at least one JSON input**. Individual method inputs are marked optional so that:
211
212 - You can run DRHIP with any subset of methods (for example, only BUSTED+FEL), and
213 - If a method fails for some genes but succeeds for others, you can still pass the successful results and DRHIP will report what it can from the available methods.
214
215 You can provide:
216 - Single datasets
217 - Multiple datasets selected at once
218 - Dataset collections (for workflow use); element identifiers are used as gene names.
219
220 -----
221
222 **Outputs**
223
224 **Always generated (if corresponding inputs are provided):**
225 - **Combined Summary** (`tabular`) – Gene-level statistics across all supplied methods
226 - **Combined Sites** (`tabular`) – Site-level analysis results across all supplied methods
227
228 **Generated when RELAX or Contrast-FEL results are provided:**
229 - **Combined Comparison Summary** (`tabular`) – Group-specific statistics
230 - **Combined Comparison Site** (`tabular`) – Group-specific site analysis
231
232 -----
233
234 **Typical usage patterns**
235
236 - **Per-gene summary without branch-group comparisons:** provide any subset of BUSTED, FEL, MEME, PRIME results.
237 - **Branch-group comparisons:** provide the main methods plus RELAX and/or Contrast-FEL to obtain comparison summary and site tables.
238
239 -----
240
241 **Workflow tips**
242
243 - Connect HyPhy tool outputs directly to DRHIP inputs.
244 - Gene names come from collection element names.
245 - Rename collection elements to control gene names (for example, remove file extensions).
246 - Works best with dataset mapping over collections.
247
248 -----
249
250 **More information**
251
252 https://github.com/veg/DRHIP
253 ]]></help>
254 <citations>
255 <citation type="bibtex">
256 @software{drhip2024,
257 author = {Callan, Danielle and Verdonk, Hannah and Kosakovsky Pond, Sergei L},
258 title = {DRHIP: Data Reduction for HyPhy with Inference Processing},
259 year = {2024},
260 url = {https://github.com/veg/DRHIP},
261 version = {@TOOL_VERSION@}
262 }
263 </citation>
264 </citations>
265 </tool>