comparison pathwaymatcher.xml @ 3:2cd67294abbd draft

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/pathwaymatcher commit 79d03b32b395b4c1385ff934251b17ea8950187b
author galaxyp
date Wed, 08 May 2019 13:41:47 -0400
parents 9a599f278852
children 3e510701a712
comparison
equal deleted inserted replaced
2:9a599f278852 3:2cd67294abbd
1 <tool id="reactome_pathwaymatcher" name="Pathway Matcher" version="@PATHWAYMATCHER_VERSION@.@TOOL_SUBVERSION@"> 1 <tool id="reactome_pathwaymatcher" name="Pathway Matcher" version="@PATHWAYMATCHER_VERSION@.@TOOL_SUBVERSION@">
2 <description> 2 <description>
3 PathwayMatcher is a software tool to search for pathways related to a list of proteins in Reactome. 3 PathwayMatcher is a software tool to search for pathways related to a list of proteins in Reactome.
4 </description> 4 </description>
5 <macros> 5 <macros>
6 <token name="@PATHWAYMATCHER_VERSION@">1.8.1</token> 6 <token name="@PATHWAYMATCHER_VERSION@">1.9.1</token>
7 <token name="@TOOL_SUBVERSION@">2</token> 7 <token name="@TOOL_SUBVERSION@">1</token>
8 <xml name="input_fasta"> 8 <xml name="input_fasta">
9 <param format="fasta" name="input_database" type="data" label="Protein Database" 9 <param format="fasta" name="input_database" type="data" label="Protein Database"
10 help="Select FASTA database from history"/> 10 help="Select FASTA database from history"/>
11 </xml> 11 </xml>
12 </macros> 12 </macros>
31 31
32 mkdir output; 32 mkdir output;
33 cwd=`pwd`; 33 cwd=`pwd`;
34 export HOME=\$cwd; 34 export HOME=\$cwd;
35 35
36 ## If we use peptideshaker files as inputs, firstly we need to uncompress their proteoforms files.
37 #for $i, $s in enumerate($match_types)
38 #if $s.match_type.match_type_selector == "peptideshakerzip_proteoforms"
39 ##unzip -l $s.match_type.input_peptideshakerzip_proteoforms;
40 unzip -j '${$s.match_type.input_peptideshakerzip_proteoforms}' 'output_reports/proteoforms.txt' -d './';
41 mv proteoforms.txt ps_proteoforms_'${$i}'.txt;
42 #end if
43 #end for
44
36 ##################### 45 #####################
37 ## Pathway Matcher ## 46 ## Pathway Matcher ##
38 ##################### 47 #####################
39 (pathwaymatcher src.main.java.no.uib.pap.pathwaymatcher.PathwayMatcher 48 (pathwaymatcher
40 49
41 #for $i, $s in enumerate($input_types) 50 #for $i, $s in enumerate($match_types)
51
52
53 ## PROTEOFORMS
54
55 #if $s.match_type.match_type_selector == "proteoforms"
56 #if $s.match_type.proteoform_match_criteria:
57 match-proteoforms -m '${s.match_type.proteoform_match_criteria}' -i '${s.match_type.input_proteoforms}' -r '${s.match_type.proteoform_range}'
58 #else:
59 match-proteoforms -i '${s.match_type.input_proteoforms}' -r '${s.match_type.proteoform_range}'
60 #end if
61 #end if
62
63 ## PROTEOFORMS FROM PEPTIDESHAKER FILE
64
65 #if $s.match_type.match_type_selector == "peptideshakerzip_proteoforms"
66 #if $s.match_type.proteoform_peptideshakerzip_match_criteria:
67 match-proteoforms -m '${s.match_type.proteoform_peptideshakerzip_match_criteria}' -i ps_proteoforms_'${$i}'.txt -r '${s.match_type.proteoform_peptideshakerzip_range}'
68 #else:
69 match-proteoforms -i ps_proteoforms_'${$i}'.txt -r '${s.match_type.proteoform_peptideshakerzip_range}'
70 #end if
71 #end if
72
73
74 ## GENES
75
76 #if $s.match_type.match_type_selector == "gene"
77 match-genes -i '${s.match_type.input_gene}'
78 #end if
79
80
81 ## PROTEINS
82
83 #if $s.match_type.match_type_selector == "uniprot"
84 match-uniprot -i '${s.match_type.input_uniprot}'
85 #end if
86
87 #if $s.match_type.match_type_selector == "ensembl"
88 match-ensembl -i '${s.match_type.input_ensembl}'
89 #end if
90
42 91
43 ## GENETIC VARIANTS 92 ## GENETIC VARIANTS
44 93
45 #if $s.input_type.input_type_selector == "rsid" 94 #if $s.match_type.match_type_selector == "vcf"
46 -t rsid -i '${s.input_type.input_rsid}' 95 match-vcf -i '${s.match_type.input_vcf}'
47 #end if 96 #end if
48 97
49 #if $s.input_type.input_type_selector == "chrbp" 98 #if $s.match_type.match_type_selector == "chrbp"
50 -t chrbp -i '${s.input_type.input_chrbp}' 99 match-chrbp -i '${s.match_type.input_chrbp}'
51 #end if 100 #end if
52 101
53 #if $s.input_type.input_type_selector == "vcf" 102 #if $s.match_type.match_type_selector == "rsid"
54 -t vcf -i '${s.input_type.input_vcf}' 103 match-rsids -i '${s.match_type.input_rsid}'
55 #end if 104 #end if
56 105
57 ## GENES
58
59 #if $s.input_type.input_type_selector == "gene"
60 -t gene -i '${s.input_type.input_gene}'
61 #end if
62 106
63 ## PEPTIDES 107 ## PEPTIDES
64 108
65 #if $s.input_type.input_type_selector == "peptide" 109 #if $s.match_type.match_type_selector == "peptide"
66 -t peptide -i '${s.input_type.input_peptide}' 110 match-peptides -i '${s.match_type.input_peptide}'
67 -f '${s.input_type.input_database}' 111 -f '${s.match_type.input_database}'
68 -r '${s.input_type.ptm_range}' 112 #end if
69 #end if 113
70 114 #if $s.match_type.match_type_selector == "modifiedpeptide"
71 #if $s.input_type.input_type_selector == "modifiedpeptide" 115 match-modified-peptides -i '${s.match_type.input_modifiedpeptide}'
72 -t modifiedpeptide -i '${s.input_type.input_modifiedpeptide}' 116 -f '${s.match_type.input_database}'
73 -f '${s.input_type.input_database}' 117 -m '${s.match_type.modifiedpeptide_match_criteria}'
74 -r '${s.input_type.ptm_range}' 118 -r '${s.match_type.modifiedpeptide_ptm_range}'
75 #end if 119 #end if
76 120
77 ## PROTEINS
78
79 #if $s.input_type.input_type_selector == "uniprot"
80 -t uniprot -i '${s.input_type.input_uniprot}'
81 #end if
82
83 #if $s.input_type.input_type_selector == "ensembl"
84 -t ensembl -i '${s.input_type.input_ensembl}'
85 #end if
86
87 ## PROTEOFORMS
88
89 #if $s.input_type.input_type_selector == "proteoforms"
90 #if $s.input_type.proteoform_match_criteria:
91 -t proteoform -m '${s.input_type.proteoform_match_criteria}' -i '${s.input_type.input_proteoforms}'
92 #else:
93 -t proteoform -i '${s.input_type.input_proteoforms}'
94 #end if
95 #end if
96 121
97 #end for 122 #end for
98 123
99 ## OUTPUT OPTIONS 124 ## OUTPUT OPTIONS
100 125
101 #if $output_options.search_top_level_info: 126 #if $output_options.search_top_level_info:
102 -tlp 127 -T
103 #end if 128 #end if
104 129
105 #set $output_graphs_list = str($output_options.output_graphs).split(',') 130 #set $output_graphs_list = str($output_options.output_graphs).split(',')
106 131
107 #if 'gg' in $output_graphs_list: 132 #if 'gg' in $output_graphs_list:
140 (exit \$exit_code_for_galaxy) 165 (exit \$exit_code_for_galaxy)
141 ]]> 166 ]]>
142 </command> 167 </command>
143 <inputs> 168 <inputs>
144 169
145 <repeat name="input_types" title="Input" min="1"> 170 <repeat name="match_types" title="Match" min="1">
146 <conditional name="input_type"> 171 <conditional name="match_type">
147 <param name="input_type_selector" type="select" label="Input type" 172 <param name="match_type_selector" type="select" label="Match type"
148 help=""> 173 help="">
174 <option value="proteoforms">Proteoforms</option>
175 <option value="peptideshakerzip_proteoforms">Proteoforms from Peptideshaker Archive</option>
176 <option value="gene">Genes</option>
177 <option value="uniprot">Proteins - UniProt Accession list</option>
178 <option value="ensembl">Proteins - Ensembl identifier list</option>
179 <option value="vcf">Genetic variants - Variant Call Format Specification</option>
180 <option value="chrbp">Genetic variants - Chromosomes and base pairs</option>
149 <option value="rsid">Genetic variants - SNP rsId list</option> 181 <option value="rsid">Genetic variants - SNP rsId list</option>
150 <option value="chrbp">Genetic variants - Chromosomes and base pairs</option>
151 <option value="vcf">Genetic variants - Variant Call Format Specification</option>
152 <option value="gene">Genes</option>
153 <option value="peptide">Peptides - Simple list</option> 182 <option value="peptide">Peptides - Simple list</option>
154 <option value="modifiedpeptide">Peptides - Peptide List with PTM types and sites</option> 183 <option value="modifiedpeptide">Peptides - Peptide List with PTM types and sites</option>
155 <option value="uniprot">Proteins - UniProt Accession list</option> 184
156 <option value="ensembl">Proteins - Ensembl identifier list</option>
157 <option value="proteoforms">Proteoforms</option>
158 </param> 185 </param>
159 186
160 <!-- Genetic variants -->
161 <when value="rsid">
162 <param format="txt" name="input_rsid" type="data" label="SNP rsId list"
163 help="The file contains one rsid identifier as defined in dbSNP[1] on each row.
164 The list must be ordered by chromosome and base pair (bp). The list must not have duplicates.
165 All rsids must appear in the human assembly GRCh37.p13. "/>
166 </when>
167
168 <when value="chrbp">
169 <param format="txt" name="input_chrbp" type="data" label="Chromosomes and base pairs"
170 help="Genetic variants can also be represented using the chromosome and the base pair numbers.
171 The input should be sorted by chromosome number and then by base pair. "/>
172 </when>
173
174 <when value="vcf">
175 <param format="vcf" name="input_vcf" type="data" label="Variant Call Format Specification"
176 help="The input follows the Variant Call Format Specification[2] v4.3.
177 It also allows the possibility to specify only the first 4 columns in the data section of the file:
178 CHROM, POS, ID, REF. "/>
179 </when>
180
181 <!-- Genes -->
182 <when value="gene">
183 <param format="txt" name="input_gene" type="data" label="Genes"
184 help="File with a one gene name in each line. Genes follow the HUGO gene nomenclature[3]."/>
185 </when>
186
187 <!-- Peptides -->
188 <when value="peptide">
189 <param format="txt" name="input_peptide" type="data" label="Simple list"
190 help="File with a one peptide sequence in each line."/>
191
192 <expand macro="input_fasta" />
193
194 <param name="ptm_range" type="integer" value="0" label="PTM position range" optional="true"
195 help="Plus minus positions for the same PTM site."/>
196 </when>
197
198 <when value="modifiedpeptide">
199 <param format="txt" name="input_modifiedpeptide" type="data" label="Peptide List with PTM types and sites"
200 help="Each line of the file corresponds to a single peptide with post-translational modifications."/>
201
202 <expand macro="input_fasta" />
203
204 <param name="ptm_range" type="integer" value="0" label="PTM position range" optional="true"
205 help="Plus minus positions for the same PTM site."/>
206 </when>
207
208 <!-- Proteins -->
209 <when value="uniprot">
210 <param format="txt" name="input_uniprot" type="data" label="UniProt Accession list"
211 help="File with a one Uniprot Accession [4] in each line."/>
212 </when>
213
214 <when value="ensembl">
215 <param format="txt" name="input_ensembl" type="data" label="Ensembl identifier list"
216 help="File with a one Ensembl identifier [5] in each line."/>
217 </when>
218 187
219 <!-- Proteoforms --> 188 <!-- Proteoforms -->
220 <when value="proteoforms"> 189 <when value="proteoforms">
221 <param format="txt" name="input_proteoforms" type="data" label="Proteoforms" 190 <param format="txt" name="input_proteoforms" type="data" label="Proteoforms"
222 help="A proteoform defines a specific state of a protein. 191 help="A proteoform defines a specific state of a protein.
225 identifier and a site, separated by ':'(semicolon). For example: '00046:133'. 194 identifier and a site, separated by ':'(semicolon). For example: '00046:133'.
226 The identifier is a 5 digit id from the PSI-MOD Protein Modification Onthology [6]."/> 195 The identifier is a 5 digit id from the PSI-MOD Protein Modification Onthology [6]."/>
227 196
228 <param name="proteoform_match_criteria" type="select" label="Proteoform match criteria"> 197 <param name="proteoform_match_criteria" type="select" label="Proteoform match criteria">
229 <option value="STRICT">STRICT</option> 198 <option value="STRICT">STRICT</option>
199 <option value="SUPERSET">SUPERSET</option>
200 <option value="SUPERSET_NO_TYPES">SUPERSET NO TYPES</option>
201 <option value="SUBSET" selected="True">SUBSET</option>
202 <option value="SUBSET_NO_TYPES">SUBSET NO TYPES</option>
230 <option value="ONE">ONE</option> 203 <option value="ONE">ONE</option>
231 <option value="SUPERSET" selected="True">SUPERSET</option> 204 <option value="ONE_NO_TYPES">ONE_NO_TYPES</option>
232 <option value="SUBSET">SUBSET</option>
233 </param> 205 </param>
234 </when> 206
207 <param name="proteoform_range" type="integer" value="0" label="Integer range of error for PTM sites" optional="true"
208 help="Plus minus positions for the same PTM site"/>
209 </when>
210
211 <when value="peptideshakerzip_proteoforms">
212 <param format="zip" name="input_peptideshakerzip_proteoforms" type="data" label="Proteoforms from Peptideshaker Archive"
213 help="A proteoform defines a specific state of a protein.
214 It is composed by the protein UniProt accession, isoform and set of post translational modifications.
215 The input file contains one line for each proteoform. Each PTM is specified using a modification
216 identifier and a site, separated by ':'(semicolon). For example: '00046:133'.
217 The identifier is a 5 digit id from the PSI-MOD Protein Modification Onthology [6]."/>
218
219 <param name="proteoform_peptideshakerzip_match_criteria" type="select" label="Proteoform match criteria">
220 <option value="STRICT">STRICT</option>
221 <option value="SUPERSET">SUPERSET</option>
222 <option value="SUPERSET_NO_TYPES">SUPERSET NO TYPES</option>
223 <option value="SUBSET" selected="True">SUBSET</option>
224 <option value="SUBSET_NO_TYPES">SUBSET NO TYPES</option>
225 <option value="ONE">ONE</option>
226 <option value="ONE_NO_TYPES">ONE_NO_TYPES</option>
227 </param>
228
229 <param name="proteoform_peptideshakerzip_range" type="integer" value="0" label="Integer range of error for PTM sites" optional="true"
230 help="Plus minus positions for the same PTM site"/>
231 </when>
232
233
234 <!-- Genes -->
235 <when value="gene">
236 <param format="txt" name="input_gene" type="data" label="Genes"
237 help="File with a one gene name in each line. Genes follow the HUGO gene nomenclature[3]."/>
238 </when>
239
240
241 <!-- Proteins -->
242 <when value="uniprot">
243 <param format="txt" name="input_uniprot" type="data" label="UniProt Accession list"
244 help="File with a one Uniprot Accession [4] in each line."/>
245 </when>
246
247 <when value="ensembl">
248 <param format="txt" name="input_ensembl" type="data" label="Ensembl identifier list"
249 help="File with a one Ensembl identifier [5] in each line."/>
250 </when>
251
252 <!-- Genetic variants -->
253
254 <when value="vcf">
255 <param format="vcf" name="input_vcf" type="data" label="Variant Call Format Specification"
256 help="The input follows the Variant Call Format Specification[2] v4.3.
257 It also allows the possibility to specify only the first 4 columns in the data section of the file:
258 CHROM, POS, ID, REF. "/>
259 </when>
260
261 <when value="chrbp">
262 <param format="txt" name="input_chrbp" type="data" label="Chromosomes and base pairs"
263 help="Genetic variants can also be represented using the chromosome and the base pair numbers.
264 The input should be sorted by chromosome number and then by base pair. "/>
265 </when>
266
267 <when value="rsid">
268 <param format="txt" name="input_rsid" type="data" label="SNP rsId list"
269 help="The file contains one rsid identifier as defined in dbSNP[1] on each row.
270 The list must be ordered by chromosome and base pair (bp). The list must not have duplicates.
271 All rsids must appear in the human assembly GRCh37.p13. "/>
272 </when>
273
274
275 <!-- Peptides -->
276 <when value="peptide">
277 <param format="txt" name="input_peptide" type="data" label="Simple list"
278 help="File with a one peptide sequence in each line."/>
279
280 <expand macro="input_fasta" />
281
282 </when>
283
284 <when value="modifiedpeptide">
285 <param format="txt" name="input_modifiedpeptide" type="data" label="Peptide List with PTM types and sites"
286 help="Each line of the file corresponds to a single peptide with post-translational modifications."/>
287
288 <expand macro="input_fasta" />
289
290 <param name="modifiedpeptide_match_criteria" type="select" label="Proteoform match criteria. Only modified peptides.">
291 <option value="STRICT">STRICT</option>
292 <option value="SUPERSET">SUPERSET</option>
293 <option value="SUPERSET_NO_TYPES">SUPERSET NO TYPES</option>
294 <option value="SUBSET" selected="True">SUBSET</option>
295 <option value="SUBSET_NO_TYPES">SUBSET NO TYPES</option>
296 <option value="ONE">ONE</option>
297 <option value="ONE_NO_TYPES">ONE_NO_TYPES</option>
298 </param>
299
300 <param name="modifiedpeptide_ptm_range" type="integer" value="0" label="PTM position range" optional="true"
301 help="Integer number margin error for sites of PTMs. Only for modified peptides."/>
302 </when>
303
304
235 305
236 </conditional> 306 </conditional>
237 307
238 </repeat> 308 </repeat>
239 309
240 <section name="output_options" expanded="true" title="Output options"> 310 <section name="output_options" expanded="true" title="Output options">
241 311
242 <param name="search_top_level_info" type="select" label="Add search top level info"> 312 <param name="search_top_level_info" type="select" label="Add Top Level Pathways in the search result.">
243 <option value="0" selected="True">False</option> 313 <option value="0" selected="True">False</option>
244 <option value="1">True</option> 314 <option value="1">True</option>
245 </param> 315 </param>
246 316
247 <param name="output_graphs" type="select" display="checkboxes" multiple="True" label="Connection graphs" 317 <param name="output_graphs" type="select" display="checkboxes" multiple="True" label="Connection graphs"
267 337
268 <tests> 338 <tests>
269 339
270 <!-- Test that genes search works --> 340 <!-- Test that genes search works -->
271 <test> 341 <test>
272 <repeat name="input_types"> 342 <repeat name="match_types">
273 <conditional name="input_type"> 343 <conditional name="match_type">
274 <param name="input_type_selector" value="gene"/> 344 <param name="match_type_selector" value="gene"/>
275 <param name="input_gene" value="genes.txt" ftype="txt" /> 345 <param name="input_gene" value="genes.txt" ftype="txt" />
276 </conditional> 346 </conditional>
277 </repeat> 347 </repeat>
278 <output name="search" file="genes_search.tsv" ftype="tsv" compare="sim_size" delta="3000" /> 348 <output name="search" file="genes_search.tsv" ftype="tsv" compare="sim_size" delta="3000" />
279 </test> 349 </test>
280 350
281 <!-- Test graphs from proteoforms --> 351 <!-- Test graphs from proteoforms -->
282 <test> 352 <test>
283 <repeat name="input_types"> 353 <repeat name="match_types">
284 <conditional name="input_type"> 354 <conditional name="match_type">
285 <param name="input_type_selector" value="proteoforms"/> 355 <param name="match_type_selector" value="proteoforms"/>
286 <param name="input_proteoforms" value="proteoforms.txt" ftype="txt" /> 356 <param name="input_proteoforms" value="proteoforms.txt" ftype="txt" />
357 <param name="proteoform_match_criteria" value="SUBSET"/>
287 </conditional> 358 </conditional>
288 </repeat> 359 </repeat>
289 <param name="output_graphs" value="gg,gu,gp" /> 360 <param name="output_graphs" value="gg,gu,gp" />
290 <output_collection name="graphs_files" type="list"> 361 <output_collection name="graphs_files" type="list">
291 <element name="geneExternalEdges" ftype="tsv" file="proteoforms_graphs/geneExternalEdges.tsv" compare="sim_size" delta="1000" /> 362 <!-- <element name="geneExternalEdges" ftype="tsv" file="proteoforms_graphs/geneExternalEdges.tsv" compare="sim_size" delta="1000" /> -->
292 <element name="geneInternalEdges" ftype="tsv" file="proteoforms_graphs/geneInternalEdges.tsv" compare="sim_size" delta="1000"/> 363 <element name="geneInternalEdges" ftype="tsv" file="proteoforms_graphs/geneInternalEdges.tsv" compare="sim_size" delta="1000"/>
293 <element name="geneVertices" ftype="tsv" file="proteoforms_graphs/geneVertices.tsv" compare="sim_size" delta="1000"/> 364 <element name="geneVertices" ftype="tsv" file="proteoforms_graphs/geneVertices.tsv" compare="sim_size" delta="1000"/>
294 <element name="proteinExternalEdges" ftype="tsv" file="proteoforms_graphs/proteinExternalEdges.tsv" compare="sim_size" delta="10000"/> 365 <element name="proteinExternalEdges" ftype="tsv" file="proteoforms_graphs/proteinExternalEdges.tsv" compare="sim_size" delta="10000"/>
295 <element name="proteinInternalEdges" ftype="tsv" file="proteoforms_graphs/proteinInternalEdges.tsv" compare="sim_size" delta="1000"/> 366 <element name="proteinInternalEdges" ftype="tsv" file="proteoforms_graphs/proteinInternalEdges.tsv" compare="sim_size" delta="1000"/>
296 <element name="proteinVertices" ftype="tsv" file="proteoforms_graphs/proteinVertices.tsv" compare="sim_size" delta="1000"/> 367 <element name="proteinVertices" ftype="tsv" file="proteoforms_graphs/proteinVertices.tsv" compare="sim_size" delta="1000"/>
347 418
348 **Try it now** 419 **Try it now**
349 420
350 You can easily test PathwayMatcher functionality using the example files we provide with proteoforms and proteins information of Cystic Fibrosis: 421 You can easily test PathwayMatcher functionality using the example files we provide with proteoforms and proteins information of Cystic Fibrosis:
351 422
352 https://raw.githubusercontent.com/PathwayAnalysisPlatform/PathwayMatcher/master/resources/input/Proteoforms/Simple/CysticFibrosis.txt 423 https://media.githubusercontent.com/media/PathwayAnalysisPlatform/PathwayMatcher/master/src/test/resources/Proteoforms/Simple/CysticFibrosis.txt
353 424
354 https://raw.githubusercontent.com/PathwayAnalysisPlatform/PathwayMatcher/master/resources/input/Proteins/UniProt/CysticFibrosis.txt 425 https://media.githubusercontent.com/media/PathwayAnalysisPlatform/PathwayMatcher/master/src/test/resources/Proteins/UniProt/CysticFibrosis.txt
355 426
356 You can upload them to Galaxy by directly copying and pasting their URL into the Galaxy upload dialog (the button with the arrow pointing up in the top-left area, and then choosing *Pasta/Fetch data*). 427 You can upload them to Galaxy by directly copying and pasting their URL into the Galaxy upload dialog (the button with the arrow pointing up in the top-left area, and then choosing *Pasta/Fetch data*).
357 428
358 Once they appear in green in your history, they have been uploaded and you can use them as inputs in PathwayMatcher. 429 Once they appear in green in your history, they have been uploaded and you can use them as inputs in PathwayMatcher.
359 430
395 .. _Input: https://github.com/LuisFranciscoHS/PathwayMatcher/wiki/Input 466 .. _Input: https://github.com/LuisFranciscoHS/PathwayMatcher/wiki/Input
396 .. _Output: https://github.com/LuisFranciscoHS/PathwayMatcher/wiki/Output 467 .. _Output: https://github.com/LuisFranciscoHS/PathwayMatcher/wiki/Output
397 468
398 </help> 469 </help>
399 470
471 <citations>
472 <citation type="doi">doi:10.1101/375097</citation>
473 </citations>
474
400 </tool> 475 </tool>