comparison fragpipe.xml @ 0:14785481da2b draft

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/fragpipe commit 905cc2be18669cffe9ac6c46fcd08b6857a67f4f
author galaxyp
date Wed, 10 Jul 2024 06:15:00 +0000
parents
children da9ebef968bd
comparison
equal deleted inserted replaced
-1:000000000000 0:14785481da2b
1 <tool id="fragpipe" name="FragPipe - Academic Research and Education User License (Non-Commercial)" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="20.05">
2 <description>Data analysis for mass spectrometry-based proteomics</description>
3 <macros>
4 <import>macros.xml</import>
5 </macros>
6 <expand macro="requirements"/>
7
8 <stdio>
9 <!-- The error code from individual tools run by FragPipe is not always propogated to the FragPipe process exit code -->
10 <regex match="exit code: [^0]"
11 source="stdout"
12 level="fatal"
13 description="A FragPipe pipeline process returned non-zero exit code."/>
14 </stdio>
15
16 <version_command>fragpipe --help | grep 'FragPipe v'</version_command>
17
18 <!--
19 FragPipe wrapper command:
20 - Links input files
21 - Modifies database path in workflow file
22 - Runs Philosopher to add decoys and contaminants
23 - Runs FragPipe, passing paths to MSFragger, Philosopher, Python, and IonQuant
24 -->
25 <command detect_errors="exit_code"><![CDATA[
26 ## Create symlink for workflow output
27 ln -s $workflow_configfile fp.workflow;
28
29 ## The user may opt to only output the workflow to review the parameters. If they haven't selected this option, we prepare and run FragPipe.
30 #if not $workflow_only
31 @PREPARE_ENVIRONMENT@
32 @PREPARE_INPUTS@
33 @PREPARE_DATABASE@
34
35 ## Run FragPipe
36 '$__tool_directory__/fragpipe'
37 --msfragger_key f28c4be2-759b0a11-6c1ea652-1240565a
38 --ionquant_key 47cb2953-b4bf7726-2c96f5fe-8f1013aa
39 --headless
40 --threads \${GALAXY_SLOTS:-8}
41 --ram \$[ \${GALAXY_MEMORY_MB:-8192} / 1024 ]
42 --workflow fp.workflow --manifest fp.manifest
43 --workdir outputs
44 --config-msfragger \${env_location}/share/msfragger-*/MSFragger-*/MSFragger-*.jar
45 --config-philosopher \$(which philosopher)
46 --config-python \$(which python)
47 --config-ionquant \${env_location}/share/ionquant-*/IonQuant.jar &&
48
49 @PREPARE_OUTPUTS@
50 #end if
51 ]]></command>
52
53 <!-- Config file is a FragPipe workflow file -->
54 <configfiles>
55 <expand macro="workflow_configfile" />
56 </configfiles>
57
58 <inputs>
59 <!-- License agreements -->
60 <expand macro="license_agreements"/>
61
62 <!-- Input scan samples -->
63 <expand macro="samples"/>
64
65 <!-- Searched database -->
66 <expand macro="fragger_database"/>
67
68 <!-- Workflow input, if the user chooses to re-use existing FragPipe workflow. -->
69 <expand macro="workflow"/>
70
71 <!-- Only generate a workflow, don't run FragPipe -->
72 <param name="workflow_only" type="boolean" truevalue="yes" falsevalue="no" checked="false" label="Only generate the workflow output"/>
73
74 <param name="output_options" label="Additional outputs" type="select" multiple="true" display="checkboxes" optional="true">
75 <option value="workflow">FragPipe Workflow</option>
76 <option value="log">FragPipe Log</option>
77 <option value="combined_outputs">FragPipe Combined Outputs</option>
78 <option value="concatenated_outputs">TSV Outputs Concatenated</option>
79 </param>
80 </inputs>
81
82 <outputs>
83 <!-- Workflow file used by FragPipe -->
84 <data name="output_workflow" format="txt" label="${tool.name} on ${on_string}: workflow" from_work_dir="fp.workflow">
85 <filter>workflow_only or (output_options and 'workflow' in output_options)</filter>
86 </data>
87 <!-- FragPipe log -->
88 <data name="log" format="txt" label="${tool.name} on ${on_string}: log.txt" from_work_dir="outputs/log_*.txt">
89 <filter>not workflow_only and output_options and 'log' in output_options</filter>
90 </data>
91
92 <!-- Collection outputs comprised of separate results for different experiments -->
93 <collection name="output_psm" type="list" label="${tool.name} - ${on_string}: psm.tsv" >
94 <filter>not workflow_only</filter>
95 <discover_datasets pattern="(?P&lt;designation&gt;.+\.psm.tsv)" ext="tabular" directory="outputs"/>
96 </collection>
97 <collection name="output_ion" type="list" label="${tool.name} - ${on_string}: ion.tsv" >
98 <filter>not workflow_only</filter>
99 <discover_datasets pattern="(?P&lt;designation&gt;.+\.ion.tsv)" ext="tabular" directory="outputs"/>
100 </collection>
101 <collection name="output_peptide" type="list" label="${tool.name} - ${on_string}: peptide.tsv" >
102 <filter>not workflow_only</filter>
103 <discover_datasets pattern="(?P&lt;designation&gt;.+\.peptide.tsv)" ext="tabular" directory="outputs"/>
104 </collection>
105 <collection name="output_protein" type="list" label="${tool.name} - ${on_string}: protein.tsv" >
106 <filter>not workflow_only</filter>
107 <discover_datasets pattern="(?P&lt;designation&gt;.+\.protein.tsv)" ext="tabular" directory="outputs"/>
108 </collection>
109
110 <!-- Combined results from all experimental groups -->
111 <collection name="combined_outputs" type="list" label="${tool.name} - ${on_string}: Combined Outputs" >
112 <filter>not workflow_only and output_options and 'combined_outputs' in output_options</filter>
113 <discover_datasets pattern="__designation__" ext="tabular" directory="outputs/combined_outputs"/>
114 </collection>
115
116 <!-- Galaxy-wrapper concatenated results -->
117 <data name="concat_psm_tsv" format="tabular" label="${tool.name} on ${on_string}: Concatenated psm.tsv" from_work_dir="outputs/concat_psm.tsv">
118 <filter>not workflow_only and 'concatenated_outputs' in output_options</filter>
119 </data>
120 <data name="concat_ion_tsv" format="tabular" label="${tool.name} on ${on_string}: Concatenated ion.tsv" from_work_dir="outputs/concat_ion.tsv">
121 <filter>not workflow_only and 'concatenated_outputs' in output_options</filter>
122 </data>
123 <data name="concat_peptide_tsv" format="tabular" label="${tool.name} on ${on_string}: Concatenated peptide.tsv" from_work_dir="outputs/concat_peptide.tsv">
124 <filter>not workflow_only and 'concatenated_outputs' in output_options</filter>
125 </data>
126 <data name="concat_protein_tsv" format="tabular" label="${tool.name} on ${on_string}: Concatenated protein.tsv" from_work_dir="outputs/concat_protein.tsv">
127 <filter>not workflow_only and 'concatenated_outputs' in output_options</filter>
128 </data>
129
130 <!-- PTM-Shepherd Results -->
131 <data name="global_profile_tsv" format="tabular" label="${tool.name} on ${on_string}: global.profile.tsv" from_work_dir="outputs/global.profile.tsv">
132 <filter>(not workflow_only) and ('Open' in wf['workflow_name'])</filter>
133 </data>
134 <data name="global_summary_tsv" format="tabular" label="${tool.name} on ${on_string}: global.modsummary.tsv" from_work_dir="outputs/global.modsummary.tsv">
135 <filter>(not workflow_only) and ('Open' in wf['workflow_name'])</filter>
136 </data>
137 <data name="global_diagmine_tsv" format="tabular" label="${tool.name} on ${on_string}: global.diagmine.tsv" from_work_dir="outputs/global.diagmine.tsv">
138 <filter>(not workflow_only) and ('Open' in wf['workflow_name'])</filter>
139 </data>
140
141 <!--
142 TMT/iTRAW Results
143 Only produced by TMT, TRAQ, and SLC workflows
144 -->
145 <collection name="tmt_results" type="list" label="${tool.name} - ${on_string}: TMT Results" >
146 <discover_datasets pattern="__designation__" ext="tabular" directory="outputs/tmt-report"/>
147 <filter>(not workflow_only) and ('TMT' in wf['workflow_name'])</filter>
148 </collection>
149 </outputs>
150
151 <tests>
152 <test expect_num_outputs="11">
153 <param name="inputs" value="default/test1.mzML,default/test2.mzML" ftype="mzml"/>
154 <param name="database_name" value="default/test.fasta" ftype="fasta"/>
155 <param name="manifest" value="default/test.manifest" ftype="tabular"/>
156 <param name="workflow_name" value="Default"/>
157 <param name="output_options" value="workflow,log,combined_outputs,concatenated_outputs"/>
158 <param name="license_agreements" value="true"/>
159 <output name="concat_psm_tsv" ftype="tabular">
160 <assert_contents>
161 <has_text text="Experiment&#x9;Spectrum&#x9;Spectrum File&#x9;Peptide&#x9;Modified Peptide&#x9;Extended Peptide&#x9;Prev AA&#x9;Next AA&#x9;Peptide Length&#x9;Charge&#x9;Retention&#x9;Observed Mass&#x9;Calibrated Observed Mass&#x9;Observed M/Z&#x9;Calibrated Observed M/Z&#x9;Calculated Peptide Mass&#x9;Calculated M/Z&#x9;Delta Mass&#x9;Expectation&#x9;Hyperscore&#x9;Nextscore&#x9;PeptideProphet Probability&#x9;Number of Enzymatic Termini&#x9;Number of Missed Cleavages&#x9;Protein Start&#x9;Protein End&#x9;Intensity&#x9;Assigned Modifications&#x9;Observed Modifications&#x9;Purity&#x9;Is Unique&#x9;Protein&#x9;Protein ID&#x9;Entry Name&#x9;Gene&#x9;Protein Description&#x9;Mapped Genes&#x9;Mapped Proteins"/>
162 <has_text text="sample1"/>
163 </assert_contents>
164 </output>
165 <output name="concat_ion_tsv" ftype="tabular">
166 <assert_contents>
167 <has_text text="Experiment&#x9;Peptide Sequence&#x9;Modified Sequence&#x9;Prev AA&#x9;Next AA&#x9;Peptide Length&#x9;Protein Start&#x9;Protein End&#x9;M/Z&#x9;Charge&#x9;Observed Mass&#x9;Probability&#x9;Expectation&#x9;Spectral Count&#x9;Intensity&#x9;Assigned Modifications&#x9;Observed Modifications&#x9;Protein&#x9;Protein ID&#x9;Entry Name&#x9;Gene&#x9;Protein Description&#x9;Mapped Genes&#x9;Mapped Proteins"/>
168 <has_text text="sample1"/>
169 </assert_contents>
170 </output>
171 <output name="concat_peptide_tsv" ftype="tabular">
172 <assert_contents>
173 <has_text text="Experiment&#x9;Peptide&#x9;Prev AA&#x9;Next AA&#x9;Peptide Length&#x9;Protein Start&#x9;Protein End&#x9;Charges&#x9;Probability&#x9;Spectral Count&#x9;Intensity&#x9;Assigned Modifications&#x9;Observed Modifications&#x9;Protein&#x9;Protein ID&#x9;Entry Name&#x9;Gene&#x9;Protein Description&#x9;Mapped Genes&#x9;Mapped Proteins"/>
174 <has_text text="sample1"/>
175 </assert_contents>
176 </output>
177 <output name="concat_protein_tsv" ftype="tabular">
178 <assert_contents>
179 <has_text text="Experiment&#x9;Protein&#x9;Protein ID&#x9;Entry Name&#x9;Gene&#x9;Length&#x9;Organism&#x9;Protein Description&#x9;Protein Existence&#x9;Coverage&#x9;Protein Probability&#x9;Top Peptide Probability&#x9;Total Peptides&#x9;Unique Peptides&#x9;Razor Peptides&#x9;Total Spectral Count&#x9;Unique Spectral Count&#x9;Razor Spectral Count&#x9;Total Intensity&#x9;Unique Intensity&#x9;Razor Intensity&#x9;Razor Assigned Modifications&#x9;Razor Observed Modifications&#x9;Indistinguishable Proteins"/>
180 <has_text text="sample1"/>
181 </assert_contents>
182 </output>
183 <output name="output_workflow" ftype="txt" file="default/outputs/workflow.txt" compare="contains">
184 <assert_contents>
185 <has_text text="crystalc.run-crystalc=false"/>
186 </assert_contents>
187 </output>
188 <output name="log" ftype="txt">
189 <assert_contents>
190 <has_text text="FragPipe version 20.0"/>
191 </assert_contents>
192 </output>
193 <output_collection name="combined_outputs" type="list">
194 <element name="combined_protein.tsv" ftype="tabular">
195 <assert_contents>
196 <has_text text="Protein&#x9;Protein ID&#x9;Entry Name&#x9;Gene&#x9;Protein Length&#x9;Organism&#x9;Protein Existence&#x9;Description&#x9;Protein Probability&#x9;Top Peptide Probability&#x9;Combined Total Peptides&#x9;Combined Spectral Count&#x9;Combined Unique Spectral Count&#x9;Combined Total Spectral Count&#x9;sample1 Spectral Count&#x9;sample2 Spectral Count&#x9;sample1 Intensity&#x9;sample2 Intensity&#x9;Indistinguishable Proteins"/>
197 </assert_contents>
198 </element>
199 </output_collection>
200 </test>
201 <test expect_num_outputs="11">
202 <param name="inputs" value="tmt11/test1.mzML,tmt11/test2.mzML" ftype="mzml"/>
203 <param name="database_name" value="tmt11/test.fasta" ftype="fasta"/>
204 <param name="manifest" value="tmt11/test.manifest" ftype="tabular"/>
205 <param name="annotation" value="tmt11/test.annotation" ftype="tabular"/>
206 <param name="workflow_name" value="TMT11"/>
207 <param name="output_options" value="workflow,log,concatenated_outputs"/>
208 <param name="license_agreements" value="true"/>
209 <output name="concat_psm_tsv" ftype="tabular">
210 <assert_contents>
211 <has_text text="Experiment&#x9;Spectrum&#x9;Spectrum File&#x9;Peptide&#x9;Modified Peptide&#x9;Extended Peptide&#x9;Prev AA&#x9;Next AA&#x9;Peptide Length&#x9;Charge&#x9;Retention&#x9;Observed Mass&#x9;Calibrated Observed Mass&#x9;Observed M/Z&#x9;Calibrated Observed M/Z&#x9;Calculated Peptide Mass&#x9;Calculated M/Z&#x9;Delta Mass&#x9;Expectation&#x9;Hyperscore&#x9;Nextscore&#x9;PeptideProphet Probability&#x9;Number of Enzymatic Termini&#x9;Number of Missed Cleavages&#x9;Protein Start&#x9;Protein End&#x9;Intensity&#x9;Assigned Modifications&#x9;Observed Modifications&#x9;Purity&#x9;Is Unique&#x9;Protein&#x9;Protein ID&#x9;Entry Name&#x9;Gene&#x9;Protein Description&#x9;Mapped Genes&#x9;Mapped Proteins"/>
212 <has_text text="sample1"/>
213 </assert_contents>
214 </output>
215 <output name="concat_ion_tsv" ftype="tabular">
216 <assert_contents>
217 <has_text text="Experiment&#x9;Peptide Sequence&#x9;Modified Sequence&#x9;Prev AA&#x9;Next AA&#x9;Peptide Length&#x9;Protein Start&#x9;Protein End&#x9;M/Z&#x9;Charge&#x9;Observed Mass&#x9;Probability&#x9;Expectation&#x9;Spectral Count&#x9;Intensity&#x9;Assigned Modifications&#x9;Observed Modifications&#x9;Protein&#x9;Protein ID&#x9;Entry Name&#x9;Gene&#x9;Protein Description&#x9;Mapped Genes&#x9;Mapped Proteins"/>
218 <has_text text="sample1"/>
219 </assert_contents>
220 </output>
221 <output name="concat_peptide_tsv" ftype="tabular">
222 <assert_contents>
223 <has_text text="Experiment&#x9;Peptide&#x9;Prev AA&#x9;Next AA&#x9;Peptide Length&#x9;Protein Start&#x9;Protein End&#x9;Charges&#x9;Probability&#x9;Spectral Count&#x9;Intensity&#x9;Assigned Modifications&#x9;Observed Modifications&#x9;Protein&#x9;Protein ID&#x9;Entry Name&#x9;Gene&#x9;Protein Description&#x9;Mapped Genes&#x9;Mapped Proteins"/>
224 <has_text text="sample1"/>
225 </assert_contents>
226 </output>
227 <output name="concat_protein_tsv" ftype="tabular">
228 <assert_contents>
229 <has_text text="Experiment&#x9;Protein&#x9;Protein ID&#x9;Entry Name&#x9;Gene&#x9;Length&#x9;Organism&#x9;Protein Description&#x9;Protein Existence&#x9;Coverage&#x9;Protein Probability&#x9;Top Peptide Probability&#x9;Total Peptides&#x9;Unique Peptides&#x9;Razor Peptides&#x9;Total Spectral Count&#x9;Unique Spectral Count&#x9;Razor Spectral Count&#x9;Total Intensity&#x9;Unique Intensity&#x9;Razor Intensity&#x9;Razor Assigned Modifications&#x9;Razor Observed Modifications&#x9;Indistinguishable Proteins"/>
230 <has_text text="sample1"/>
231 </assert_contents>
232 </output>
233 <output name="output_workflow" ftype="txt" file="tmt11/outputs/workflow.txt" compare="contains">
234 <assert_contents>
235 <has_text text="crystalc.run-crystalc=false"/>
236 </assert_contents>
237 </output>
238 <output name="log" ftype="txt">
239 <assert_contents>
240 <has_text text="FragPipe version 20.0"/>
241 </assert_contents>
242 </output>
243 <output_collection name="tmt_results" type="list">
244 <element name="abundance_gene_MD.tsv" ftype="tabular">
245 <assert_contents>
246 <has_text text="Index&#x9;NumberPSM&#x9;ProteinID&#x9;MaxPepProb&#x9;ReferenceIntensity&#x9;sample-01&#x9;sample-02&#x9;sample-03&#x9;sample-04&#x9;sample-05&#x9;sample-06&#x9;sample-07&#x9;sample-08&#x9;sample-09&#x9;sample-10&#x9;Bridge"/>
247 </assert_contents>
248 </element>
249 <element name="ratio_gene_MD.tsv" ftype="tabular">
250 <assert_contents>
251 <has_text text="Index&#x9;NumberPSM&#x9;ProteinID&#x9;MaxPepProb&#x9;ReferenceIntensity&#x9;sample-01&#x9;sample-02&#x9;sample-03&#x9;sample-04&#x9;sample-05&#x9;sample-06&#x9;sample-07&#x9;sample-08&#x9;sample-09&#x9;sample-10&#x9;Bridge"/>
252 </assert_contents>
253 </element>
254 </output_collection>
255 </test>
256 </tests>
257
258 <help><![CDATA[
259 **FragPipe**
260
261 FragPipe_ is a suite of computational tools enabling comprehensive analysis of mass spectrometry-based proteomics data.
262 FragPipe uses MSFragger_ - an ultrafast proteomic search engine suitable for both conventional and “open” (wide precursor mass tolerance) peptide identification.
263
264 FragPipe_ runs a user selected analysis workflow_
265
266 **License Agreements**
267
268 @LICENSE_AGREEMENTS@
269
270 .. _FragPipe: https://fragpipe.nesvilab.org
271 .. _MSFragger: https://msfragger.nesvilab.org
272 .. _workflow: https://fragpipe.nesvilab.org/docs/tutorial_fragpipe_workflows.html
273
274 ]]></help>
275 <expand macro="citations" />
276 </tool>