comparison ena_upload.xml @ 10:480d9e9d156b draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ena_upload commit dccd4c0668ec8ce1b1c8fd9cef4dcf3a99dc78b3
author iuc
date Fri, 27 Oct 2023 19:44:40 +0000
parents a62c4a11a67d
children f803a68fc9e5
comparison
equal deleted inserted replaced
9:a62c4a11a67d 10:480d9e9d156b
1 <tool id="ena_upload" name="ENA Upload tool" version="@VERSION@" profile="20.01" license="MIT"> 1 <tool id="ena_upload" name="ENA Upload tool" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.05" license="MIT">
2 <macros> 2 <macros>
3 <token name="@VERSION@">0.6.1</token> 3 <token name="@TOOL_VERSION@">0.6.3</token>
4 <token name="@VERSION_SUFFIX@">0</token>
4 <import>samples_macros.xml</import> 5 <import>samples_macros.xml</import>
5 </macros> 6 </macros>
6 <requirements> 7 <requirements>
7 <requirement type="package" version="@VERSION@">ena-upload-cli</requirement> 8 <requirement type="package" version="@TOOL_VERSION@">ena-upload-cli</requirement>
8 </requirements> 9 </requirements>
9 <stdio> 10 <stdio>
10 <regex match="Oops" source="stderr" level="fatal"/> 11 <regex match="Oops" source="stderr" level="fatal"/>
11 <regex match="different file names between command line and RUN table" source="stderr" level="fatal"/> 12 <regex match="different file names between command line and RUN table" source="stderr" level="fatal"/>
12 </stdio> 13 </stdio>
45 ln -s '$action_options.input_format_conditional.samples_users_table' $samples_table_path && 46 ln -s '$action_options.input_format_conditional.samples_users_table' $samples_table_path &&
46 #end if 47 #end if
47 #if $action_options.input_format_conditional.input_format == "excel_tables": 48 #if $action_options.input_format_conditional.input_format == "excel_tables":
48 ln -s '$action_options.input_format_conditional.xlsx_file' ./xlsx_input.xlsx && 49 ln -s '$action_options.input_format_conditional.xlsx_file' ./xlsx_input.xlsx &&
49 #end if 50 #end if
50 #if $action_options.test_submit_parameters.dry_run == "false" and $action_options.test_submit == "False": 51 #if $action_options.test_submit_parameters.dry_run == "False" and $action_options.test_submit == "False":
51 webin_id=`grep 'username' $credentials`; 52 webin_id=`grep 'username' $credentials`;
52 if [ "\$webin_id" = "" ]; then 53 if [ "\$webin_id" = "" ]; then
53 ## No credentials in user defined preferences 54 ## No credentials in user defined preferences
54 ## Fallback to global defined credentials (if exist) 55 ## Fallback to global defined credentials (if exist)
55 #import os 56 #import os
56 #if os.path.isfile(os.environ.get('GALAXY_ENA_SECRETS', '')): 57 #if os.path.isfile(os.environ.get('GALAXY_ENA_SECRETS', '')):
57 credentials_path=\${GALAXY_ENA_SECRETS}; 58 credentials_path=\${GALAXY_ENA_SECRETS};
58 webin_id=`grep 'username' \$GALAXY_ENA_SECRETS`; 59 webin_id=`grep 'username' \$GALAXY_ENA_SECRETS`;
59 if [ "\$webin_id" = "" ]; then 60 if [ "\$webin_id" = "" ]; then
60 echo "No global credentials defined. Check your GALAXY_ENA_SECRETS file or set your credentials via: User -> Preferences -> Manage Information"; 61 echo "No global credentials defined. Check your GALAXY_ENA_SECRETS file or set your credentials via: User -> Preferences -> Manage Information";
61 exit 1; 62 exit 1;
62 fi; 63 fi;
63 #else: 64 #else:
64 echo "No ENA credentials defined. Set your credentials via: User -> Preferences -> Manage Information"; 65 echo "No ENA credentials defined. Set your credentials via: User -> Preferences -> Manage Information";
65 exit 1; 66 exit 1;
78 #for $sample in $study.rep_sample: 79 #for $sample in $study.rep_sample:
79 #for $experiment in $sample.rep_experiment: 80 #for $experiment in $sample.rep_experiment:
80 #for $run in $experiment.rep_runs: 81 #for $run in $experiment.rep_runs:
81 #for $file in $run.upload_files: 82 #for $file in $run.upload_files:
82 #set $safename_reads_file = re.sub('[^\w\-_\.]', '_', $file.element_identifier) 83 #set $safename_reads_file = re.sub('[^\w\-_\.]', '_', $file.element_identifier)
83 #if $action_options.input_format_conditional.add_extension == "true": 84 #if $action_options.input_format_conditional.add_extension == "True":
84 #set $extension = '.fastq' 85 #set $extension = '.fastq'
85 #else 86 #else
86 #set $extension = '' 87 #set $extension = ''
87 #end if 88 #end if
88 #if $file.is_of_type('fastq', 'fastqsanger'): 89 #if $file.is_of_type('fastq', 'fastqsanger'):
89 ## compression output is defined as safename_reads_file so no need to symlink 90 ## compression output is defined as safename_reads_file so no need to symlink
90 #set $safename_reads_file = $safename_reads_file + $extension + '.gz' 91 #set $safename_reads_file = $safename_reads_file + $extension + '.gz'
91 gzip -c '$file' > $safename_reads_file && 92 gzip -c '$file' > $safename_reads_file &&
92 #else: 93 #else:
93 #if $action_options.input_format_conditional.add_extension == "true": 94 #if $action_options.input_format_conditional.add_extension == "True":
94 #if $file.is_of_type('fastq.gz', 'fastqsanger.gz'): 95 #if $file.is_of_type('fastq.gz', 'fastqsanger.gz'):
95 #set $compression = '.gz' 96 #set $compression = '.gz'
96 #elif $file.is_of_type('fastqsanger.bz2', 'fastq.bz2'): 97 #elif $file.is_of_type('fastqsanger.bz2', 'fastq.bz2'):
97 #set $compression = '.bz2' 98 #set $compression = '.bz2'
98 #end if 99 #end if
146 #if $action_options.input_format_conditional.run_input_format_conditional.run_input_format == 'multiple_selection_list': 147 #if $action_options.input_format_conditional.run_input_format_conditional.run_input_format == 'multiple_selection_list':
147 #for $file in $action_options.input_format_conditional.run_input_format_conditional.data: 148 #for $file in $action_options.input_format_conditional.run_input_format_conditional.data:
148 #set $safename_reads_file = re.sub('[^\w\-_\.]', '_', $file.element_identifier) 149 #set $safename_reads_file = re.sub('[^\w\-_\.]', '_', $file.element_identifier)
149 #if $file.is_of_type('fastq', 'fastqsanger'): 150 #if $file.is_of_type('fastq', 'fastqsanger'):
150 ## always compress add the gz extension 151 ## always compress add the gz extension
151 #if $action_options.input_format_conditional.run_input_format_conditional.add_extension == "true": 152 #if $action_options.input_format_conditional.run_input_format_conditional.add_extension == "True":
152 #set $safename_reads_file = $safename_reads_file + '.fastq.gz' 153 #set $safename_reads_file = $safename_reads_file + '.fastq.gz'
153 #else 154 #else
154 #set $safename_reads_file = $safename_reads_file + '.gz' 155 #set $safename_reads_file = $safename_reads_file + '.gz'
155 #end if 156 #end if
156 gzip -c '$file' > $safename_reads_file && 157 gzip -c '$file' > $safename_reads_file &&
157 #else 158 #else
158 #if $action_options.input_format_conditional.run_input_format_conditional.add_extension == "true": 159 #if $action_options.input_format_conditional.run_input_format_conditional.add_extension == "True":
159 #if $file.is_of_type('fastq.gz', 'fastqsanger.gz'): 160 #if $file.is_of_type('fastq.gz', 'fastqsanger.gz'):
160 #set $extension = '.fastq.gz' 161 #set $extension = '.fastq.gz'
161 #elif $file.is_of_type('fastqsanger.bz2', 'fastq.bz2'): 162 #elif $file.is_of_type('fastqsanger.bz2', 'fastq.bz2'):
162 #set $extension = '.fastq.bz2' 163 #set $extension = '.fastq.bz2'
163 #end if 164 #end if
170 #end if 171 #end if
171 #end if 172 #end if
172 173
173 #if $action_options.action == "add": 174 #if $action_options.action == "add":
174 ena-upload-cli 175 ena-upload-cli
175 --tool 'ena-upload-cli v@VERSION@ @ Galaxy' 176 --tool 'ena-upload-cli v@TOOL_VERSION@ @ Galaxy'
176 --action '$action_options.action' 177 --action '$action_options.action'
177 --center '$action_options.center' 178 --center '$action_options.center'
178 --secret \${credentials_path} 179 --secret \${credentials_path}
179 --data 180 --data
180 #for $dataset in $files_to_upload: 181 #for $dataset in $files_to_upload:
181 '$dataset' 182 '$dataset'
182 #end for 183 #end for
183 #if $action_options.test_submit_parameters.dry_run == "true": 184 #if $action_options.test_submit_parameters.dry_run == "True":
184 --draft 185 --draft
185 #end if 186 #end if
186 #if $action_options.input_format_conditional.input_format != "excel_tables": 187 #if $action_options.input_format_conditional.input_format != "excel_tables":
187 --experiment '$experiments_table_path' 188 --experiment '$experiments_table_path'
188 --study '$studies_table_path' 189 --study '$studies_table_path'
194 --action add 195 --action add
195 #if $action_options.input_format_conditional.input_format == "user_generated_tables": 196 #if $action_options.input_format_conditional.input_format == "user_generated_tables":
196 --checklist $action_options.input_format_conditional.checklist_id 197 --checklist $action_options.input_format_conditional.checklist_id
197 #else: 198 #else:
198 #if $action_options.input_format_conditional.input_format == "build_tables": 199 #if $action_options.input_format_conditional.input_format == "build_tables":
199 #if $action_options.input_format_conditional.conditional_viral_metadata.viral_sample == "true": 200 #if $action_options.input_format_conditional.conditional_viral_metadata.viral_sample == "True":
200 --checklist ERC000033 201 --checklist ERC000033
201 #end if 202 #end if
202 #else: 203 #else:
203 --checklist $action_options.input_format_conditional.checklist_id 204 --checklist $action_options.input_format_conditional.checklist_id
204 #end if 205 #end if
205 #end if 206 #end if
206 #if $action_options.idempotent == "true": 207 #if $action_options.idempotent == "True":
207 --auto_action 208 --auto_action
208 #end if 209 #end if
209 #if $action_options.test_submit_parameters.submit_dev == "true": 210 #if $action_options.test_submit_parameters.submit_dev == "True":
210 -d 211 -d
211 #end if 212 #end if
212 >> '$output'; 213 >> '$output';
213 #end if 214 #end if
214 215
215 216
216 217
217 #if $action_options.action == "modify": 218 #if $action_options.action == "modify":
218 ena-upload-cli 219 ena-upload-cli
219 --tool 'ena-upload-cli v@VERSION@ @ Galaxy' 220 --tool 'ena-upload-cli v@TOOL_VERSION@ @ Galaxy'
220 --action '$action_options.action' 221 --action '$action_options.action'
221 --center '$action_options.center' 222 --center '$action_options.center'
222 --secret \${credentials_path} 223 --secret \${credentials_path}
223 --data 224 --data
224 #for $dataset in $files_to_upload: 225 #for $dataset in $files_to_upload:
225 '$dataset' 226 '$dataset'
226 #end for 227 #end for
227 #if $action_options.test_submit_parameters.dry_run == "true": 228 #if $action_options.test_submit_parameters.dry_run == "True":
228 --draft 229 --draft
229 #end if 230 #end if
230 #if $action_options.input_format_conditional.input_format != "excel_tables": 231 #if $action_options.input_format_conditional.input_format != "excel_tables":
231 --experiment '$experiments_table_path' 232 --experiment '$experiments_table_path'
232 --study '$studies_table_path' 233 --study '$studies_table_path'
239 --action 'modify' 240 --action 'modify'
240 #if $action_options.input_format_conditional.input_format == "user_generated_tables": 241 #if $action_options.input_format_conditional.input_format == "user_generated_tables":
241 --checklist $action_options.input_format_conditional.checklist_id 242 --checklist $action_options.input_format_conditional.checklist_id
242 #else: 243 #else:
243 #if $action_options.input_format_conditional.input_format == "build_tables": 244 #if $action_options.input_format_conditional.input_format == "build_tables":
244 #if $action_options.input_format_conditional.conditional_viral_metadata.viral_sample == "true": 245 #if $action_options.input_format_conditional.conditional_viral_metadata.viral_sample == "True":
245 --checklist ERC000033 246 --checklist ERC000033
246 #end if 247 #end if
247 #else: 248 #else:
248 --checklist $action_options.input_format_conditional.checklist_id 249 --checklist $action_options.input_format_conditional.checklist_id
249 #end if 250 #end if
250 #end if 251 #end if
251 >> '$output'; 252 >> '$output';
252 #end if 253 #end if
253 254
254 #if $action_options.test_submit_parameters.dry_run == "false": 255 #if $action_options.test_submit_parameters.dry_run == "False":
255 echo -e 'center_name\t$action_options.center' >> '$output'; 256 echo -e 'center_name\t$action_options.center' >> '$output';
256 echo -e 'action_option\t$action_options.action' >> '$output'; 257 echo -e 'action_option\t$action_options.action' >> '$output';
257 #end if 258 #end if
258 259
259 ## copy updated files 260 ## copy updated files
303 $runs.append((str($run.run_base_name),$run_files)) 304 $runs.append((str($run.run_base_name),$run_files))
304 #end for 305 #end for
305 306
306 $experiments.append({'title':str($experiment.experiment_title),'experiment_design':str($experiment.experiment_design),'library_strategy':str($experiment.library_strategy),'library_source':str($experiment.library_source),'library_selection':str($experiment.library_selection),'library_layout':str($experiment.library_layout),'insert_size':str($experiment.insert_size),'library_construction_protocol':str($experiment.library_construction_protocol),'platform':str($experiment.platform),'instrument_model':str($experiment.instrument_model),'runs':$runs}) 307 $experiments.append({'title':str($experiment.experiment_title),'experiment_design':str($experiment.experiment_design),'library_strategy':str($experiment.library_strategy),'library_source':str($experiment.library_source),'library_selection':str($experiment.library_selection),'library_layout':str($experiment.library_layout),'insert_size':str($experiment.insert_size),'library_construction_protocol':str($experiment.library_construction_protocol),'platform':str($experiment.platform),'instrument_model':str($experiment.instrument_model),'runs':$runs})
307 #end for 308 #end for
308 #if $action_options.input_format_conditional.conditional_viral_metadata.viral_sample == "true": 309 #if $action_options.input_format_conditional.conditional_viral_metadata.viral_sample == "True":
309
310 $samples.append({'title':str($sample.sample_title),'description':str($sample.sample_description),'tax_name':str($sample.scientific_name),'tax_id':str($sample.tax_id),'collection_date':str($sample.collection_date),'geo_location':str($sample.geo_location_country),'host_common_name':str($sample.host_common_name),'host_subject_id':str($sample.host_subject_id),'host_health_state':str($sample.host_health_state),'host_sex':str($sample.host_sex),'host_scientific_name':str($sample.host_scientific_name),'collector_name':str($sample.collector_name),'collecting_institution':str($sample.collecting_institution),'isolate':str($sample.isolate),'experiments':$experiments}) 310 $samples.append({'title':str($sample.sample_title),'description':str($sample.sample_description),'tax_name':str($sample.scientific_name),'tax_id':str($sample.tax_id),'collection_date':str($sample.collection_date),'geo_location':str($sample.geo_location_country),'host_common_name':str($sample.host_common_name),'host_subject_id':str($sample.host_subject_id),'host_health_state':str($sample.host_health_state),'host_sex':str($sample.host_sex),'host_scientific_name':str($sample.host_scientific_name),'collector_name':str($sample.collector_name),'collecting_institution':str($sample.collecting_institution),'isolate':str($sample.isolate),'experiments':$experiments})
311 #else: 311 #else:
312 312 $samples.append({'title':str($sample.sample_title),'description':str($sample.sample_description),'tax_name':str($sample.scientific_name),'tax_id':str($sample.tax_id),'collection_date':str($sample.collection_date),'geo_location':str($sample.geo_location_country),'experiments':$experiments})
313 $samples.append({'title':str($sample.sample_title),'description':str($sample.sample_description),'tax_name':str($sample.scientific_name),'tax_id':str($sample.tax_id),'experiments':$experiments})
314 #end if 313 #end if
315 #end for 314 #end for
316 $studies.append({'title':str($study.study_title),'type':str($study.study_type),'abstract':str($study.study_abstract),'pubmed_id':str($study.study_pubmed_id),'samples':$samples}) 315 $studies.append({'title':str($study.study_title),'type':str($study.study_type),'abstract':str($study.study_abstract),'pubmed_id':str($study.study_pubmed_id),'samples':$samples})
317 #end for 316 #end for
318 #echo $json.dumps($studies) 317 #echo $json.dumps($studies)
324 <param name="action" type="select" label="Action to execute"> 323 <param name="action" type="select" label="Action to execute">
325 <option value="add" selected="True">Add new data</option> 324 <option value="add" selected="True">Add new data</option>
326 <option value="modify">Modify metadata</option> 325 <option value="modify">Modify metadata</option>
327 </param> 326 </param>
328 <when value="add"> 327 <when value="add">
329 <param type="boolean" name="idempotent" checked="False" label="Idempotent submissions: only add the elements that were not submitted before" help="NOTE: this feature is based on a beta parameter of the CLI that checks the remote ENA repository for entries using the alias. This remote detection can have false positives, i.e assumes that it's present in the repository but it's not"/> 328 <param type="boolean" name="idempotent" checked="False" label="Idempotent submissions: only add the elements that were not submitted before" help="NOTE: this feature is based on a beta parameter of the CLI that checks the remote ENA repository for entries using the alias. This remote detection can have False positives, i.e assumes that it's present in the repository but it's not"/>
330 <expand macro="test_submit_section"/> 329 <expand macro="test_submit_section"/>
331 <param name="test_submit" type="hidden" value="False" /> 330 <param name="test_submit" type="hidden" value="False" />
332 <expand macro="table_inputs_macro" /> 331 <expand macro="table_inputs_macro" />
333 </when> 332 </when>
334 <when value="modify"> 333 <when value="modify">
353 <filter> action_options['input_format_conditional']['input_format'] == "build_tables" or action_options['input_format_conditional']['input_format'] == "excel_tables"</filter> 352 <filter> action_options['input_format_conditional']['input_format'] == "build_tables" or action_options['input_format_conditional']['input_format'] == "excel_tables"</filter>
354 </data> 353 </data>
355 </outputs> 354 </outputs>
356 <tests> 355 <tests>
357 <!--Test 1: excel input of VIRAL samples --> 356 <!--Test 1: excel input of VIRAL samples -->
358 <test> 357 <test expect_num_outputs="5">
359 <conditional name="action_options"> 358 <conditional name="action_options">
360 <param name="action" value="add"/> 359 <param name="action" value="add"/>
361 <section name="test_submit_parameters"> 360 <section name="test_submit_parameters">
362 <param name="submit_dev" value="false" /> 361 <param name="submit_dev" value="False" />
363 <param name="dry_run" value="true" /> 362 <param name="dry_run" value="True" />
364 </section> 363 </section>
365 <conditional name="input_format_conditional"> 364 <conditional name="input_format_conditional">
366 <param name="input_format" value="excel_tables"/> 365 <param name="input_format" value="excel_tables"/>
367 <param name="checklist_id" value="ERC000033"/> 366 <param name="checklist_id" value="ERC000033"/>
368 <param name="xlsx_file" value="metadata_test_viral.xlsx"/> 367 <param name="xlsx_file" value="metadata_test_viral.xlsx"/>
369 <conditional name="run_input_format_conditional"> 368 <conditional name="run_input_format_conditional">
370 <param name="add_extension" value="false"/> 369 <param name="add_extension" value="False"/>
371 <param name="run_input_format" value="multiple_selection_list"/> 370 <param name="run_input_format" value="multiple_selection_list"/>
372 <param name="data" value="C030_exp5_clean.fastq,C053_exp5_clean.fastq,C026_exp5_clean.fastq,C067_exp5_clean.fastq"/> 371 <param name="data" value="C030_exp5_clean.fastq,C053_exp5_clean.fastq,C026_exp5_clean.fastq,C067_exp5_clean.fastq"/>
373 </conditional> 372 </conditional>
374 </conditional> 373 </conditional>
375 </conditional> 374 </conditional>
403 <has_line_matching expression="r_20201007_026\te_20201007_026\tC026_exp5_clean.fastq.gz\tFASTQ(.*)"/> 402 <has_line_matching expression="r_20201007_026\te_20201007_026\tC026_exp5_clean.fastq.gz\tFASTQ(.*)"/>
404 </assert_contents> 403 </assert_contents>
405 </output> 404 </output>
406 </test> 405 </test>
407 <!--Test 2: excel input of VIRAL samples with extended columns--> 406 <!--Test 2: excel input of VIRAL samples with extended columns-->
408 <test> 407 <test expect_num_outputs="5">
409 <conditional name="action_options"> 408 <conditional name="action_options">
410 <param name="action" value="add"/> 409 <param name="action" value="add"/>
411 <section name="test_submit_parameters"> 410 <section name="test_submit_parameters">
412 <param name="submit_dev" value="false" /> 411 <param name="submit_dev" value="False" />
413 <param name="dry_run" value="true" /> 412 <param name="dry_run" value="True" />
414 </section> 413 </section>
415 <conditional name="input_format_conditional"> 414 <conditional name="input_format_conditional">
416 <param name="input_format" value="excel_tables"/> 415 <param name="input_format" value="excel_tables"/>
417 <param name="checklist_id" value="ERC000033"/> 416 <param name="checklist_id" value="ERC000033"/>
418 <param name="xlsx_file" value="metadata_test_viral_optional_columns.xlsx"/> 417 <param name="xlsx_file" value="metadata_test_viral_optional_columns.xlsx"/>
419 <conditional name="run_input_format_conditional"> 418 <conditional name="run_input_format_conditional">
420 <param name="add_extension" value="false"/> 419 <param name="add_extension" value="False"/>
421 <param name="run_input_format" value="multiple_selection_list"/> 420 <param name="run_input_format" value="multiple_selection_list"/>
422 <param name="data" value="C030_exp5_clean.fastq,C053_exp5_clean.fastq,C026_exp5_clean.fastq,C067_exp5_clean.fastq"/> 421 <param name="data" value="C030_exp5_clean.fastq,C053_exp5_clean.fastq,C026_exp5_clean.fastq,C067_exp5_clean.fastq"/>
423 </conditional> 422 </conditional>
424 </conditional> 423 </conditional>
425 </conditional> 424 </conditional>
463 <has_line_matching expression="ENA_run:"/> 462 <has_line_matching expression="ENA_run:"/>
464 </assert_contents> 463 </assert_contents>
465 </output> 464 </output>
466 </test> 465 </test>
467 <!--Test 3: excel input of NON-VIRAL samples--> 466 <!--Test 3: excel input of NON-VIRAL samples-->
468 <test> 467 <test expect_num_outputs="5">
469 <conditional name="action_options"> 468 <conditional name="action_options">
470 <param name="action" value="add"/> 469 <param name="action" value="add"/>
471 <section name="test_submit_parameters"> 470 <section name="test_submit_parameters">
472 <param name="submit_dev" value="false" /> 471 <param name="submit_dev" value="False" />
473 <param name="dry_run" value="true" /> 472 <param name="dry_run" value="True" />
474 </section> 473 </section>
475 <conditional name="input_format_conditional"> 474 <conditional name="input_format_conditional">
476 <param name="input_format" value="excel_tables"/> 475 <param name="input_format" value="excel_tables"/>
477 <param name="checklist_id" value="ERC000011"/> 476 <param name="checklist_id" value="ERC000011"/>
478 <param name="xlsx_file" value="metadata_test_nonviral_1_run.xlsx"/> 477 <param name="xlsx_file" value="metadata_test_nonviral_1_run.xlsx"/>
479 <conditional name="run_input_format_conditional"> 478 <conditional name="run_input_format_conditional">
480 <param name="add_extension" value="true"/> 479 <param name="add_extension" value="True"/>
481 <param name="run_input_format" value="multiple_selection_list"/> 480 <param name="run_input_format" value="multiple_selection_list"/>
482 <param name="data" value="sample_no_extension"/> 481 <param name="data" value="sample_no_extension"/>
483 </conditional> 482 </conditional>
484 </conditional> 483 </conditional>
485 </conditional> 484 </conditional>
499 </assert_contents> 498 </assert_contents>
500 </output> 499 </output>
501 <output name="samples_table_out"> 500 <output name="samples_table_out">
502 <assert_contents> 501 <assert_contents>
503 <has_n_lines n="2"/> 502 <has_n_lines n="2"/>
504 <has_n_columns n="8"/> 503 <has_n_columns n="10"/>
505 <has_line_matching expression="alias\ttitle\tscientific_name\tsample_description\taccession\tsubmission_date\tstatus\ttaxon_id"/> 504 <has_line_matching expression="s_20201007_026\tC026\tSaccharomyces cerevisiae\tSample from beer\t2020-03-25\tAntarctica\t\t\tADDED\t"/>
506 </assert_contents> 505 </assert_contents>
507 </output> 506 </output>
508 <output name="runs_table_out"> 507 <output name="runs_table_out">
509 <assert_contents> 508 <assert_contents>
510 <has_n_lines n="2"/> 509 <has_n_lines n="2"/>
513 <has_line_matching expression="r_20201007_026\te_20201007_026\tsample_no_extension.fastq.gz\tFASTQ(.*)"/> 512 <has_line_matching expression="r_20201007_026\te_20201007_026\tsample_no_extension.fastq.gz\tFASTQ(.*)"/>
514 </assert_contents> 513 </assert_contents>
515 </output> 514 </output>
516 </test> 515 </test>
517 <!--Test 4: failure on excel input of NON-VIRAL samples with runs PAIRED collection --> 516 <!--Test 4: failure on excel input of NON-VIRAL samples with runs PAIRED collection -->
518 <test expect_failure="true"> 517 <test expect_failure="True">
519 <conditional name="action_options"> 518 <conditional name="action_options">
520 <param name="action" value="add"/> 519 <param name="action" value="add"/>
521 <section name="test_submit_parameters"> 520 <section name="test_submit_parameters">
522 <param name="submit_dev" value="false" /> 521 <param name="submit_dev" value="False" />
523 <param name="dry_run" value="false" /> 522 <param name="dry_run" value="False" />
524 </section> 523 </section>
525 <conditional name="input_format_conditional"> 524 <conditional name="input_format_conditional">
526 <param name="add_extension" value="true"/> 525 <param name="add_extension" value="True"/>
527 <param name="input_format" value="excel_tables"/> 526 <param name="input_format" value="excel_tables"/>
528 <param name="checklist_id" value="ERC000011"/> 527 <param name="checklist_id" value="ERC000011"/>
529 <param name="xlsx_file" value="metadata_test_nonviral.xlsx"/> 528 <param name="xlsx_file" value="metadata_test_nonviral.xlsx"/>
530 <conditional name="run_input_format_conditional"> 529 <conditional name="run_input_format_conditional">
531 <param name="run_input_format" value="paired_list"/> 530 <param name="run_input_format" value="paired_list"/>
548 <has_text_matching expression="--data 'paired_run_name_1.fastq.gz' 'paired_run_name_2.fastq.gz'"/> 547 <has_text_matching expression="--data 'paired_run_name_1.fastq.gz' 'paired_run_name_2.fastq.gz'"/>
549 <has_text_matching expression="--action 'add' --center 'Some research center'"/> 548 <has_text_matching expression="--action 'add' --center 'Some research center'"/>
550 </assert_command> 549 </assert_command>
551 </test> 550 </test>
552 <!--Test 4b: failure on excel input of NON-VIRAL samples with runs PAIRED collection + Idempotent submission --> 551 <!--Test 4b: failure on excel input of NON-VIRAL samples with runs PAIRED collection + Idempotent submission -->
553 <test expect_failure="true"> 552 <test expect_failure="True">
554 <conditional name="action_options"> 553 <conditional name="action_options">
555 <param name="action" value="add"/> 554 <param name="action" value="add"/>
556 <section name="test_submit_parameters"> 555 <section name="test_submit_parameters">
557 <param name="submit_dev" value="false" /> 556 <param name="submit_dev" value="False" />
558 <param name="dry_run" value="false" /> 557 <param name="dry_run" value="False" />
559 </section> 558 </section>
560 <param name="idempotent" value="true"/> 559 <param name="idempotent" value="True"/>
561 <conditional name="input_format_conditional"> 560 <conditional name="input_format_conditional">
562 <param name="add_extension" value="true"/> 561 <param name="add_extension" value="True"/>
563 <param name="input_format" value="excel_tables"/> 562 <param name="input_format" value="excel_tables"/>
564 <param name="checklist_id" value="ERC000011"/> 563 <param name="checklist_id" value="ERC000011"/>
565 <param name="xlsx_file" value="metadata_test_nonviral.xlsx"/> 564 <param name="xlsx_file" value="metadata_test_nonviral.xlsx"/>
566 <conditional name="run_input_format_conditional"> 565 <conditional name="run_input_format_conditional">
567 <param name="run_input_format" value="paired_list"/> 566 <param name="run_input_format" value="paired_list"/>
585 <has_text_matching expression="--action 'add' --center 'Some research center'"/> 584 <has_text_matching expression="--action 'add' --center 'Some research center'"/>
586 <has_text_matching expression="--auto_action"/> 585 <has_text_matching expression="--auto_action"/>
587 </assert_command> 586 </assert_command>
588 </test> 587 </test>
589 <!--Test 5: build tables from user input fields NON-VIRAL samples--> 588 <!--Test 5: build tables from user input fields NON-VIRAL samples-->
590 <test> 589 <test expect_num_outputs="5">
591 <conditional name="action_options"> 590 <conditional name="action_options">
592 <param name="action" value="add"/> 591 <param name="action" value="add"/>
593 <section name="test_submit_parameters"> 592 <section name="test_submit_parameters">
594 <param name="submit_dev" value="false" /> 593 <param name="submit_dev" value="False" />
595 <param name="dry_run" value="true" /> 594 <param name="dry_run" value="True" />
596 </section> 595 </section>
597 <conditional name="input_format_conditional"> 596 <conditional name="input_format_conditional">
598 <param name="input_format" value="build_tables"/> 597 <param name="input_format" value="build_tables"/>
599 <param name="add_extension" value="false"/> 598 <param name="add_extension" value="False"/>
600 <conditional name="conditional_viral_metadata"> 599 <conditional name="conditional_viral_metadata">
601 <param name="viral_sample" value="False"/> 600 <param name="viral_sample" value="False"/>
602 <repeat name="rep_study"> 601 <repeat name="rep_study">
603 <param name="study_title" value="Test study title"/> 602 <param name="study_title" value="Test study title"/>
604 <param name="study_abstract" value="Test study abstract"/> 603 <param name="study_abstract" value="Test study abstract"/>
607 <repeat name="rep_sample"> 606 <repeat name="rep_sample">
608 <param name="sample_title" value="Test Sample title"/> 607 <param name="sample_title" value="Test Sample title"/>
609 <param name="sample_description" value="Test Sample description"/> 608 <param name="sample_description" value="Test Sample description"/>
610 <param name="scientific_name" value="Test Sample scientific name"/> 609 <param name="scientific_name" value="Test Sample scientific name"/>
611 <param name="tax_id" value="2697049"/> 610 <param name="tax_id" value="2697049"/>
611 <param name="collection_date" value="2020"/>
612 <param name="geo_location_country" value="Belgium"/>
612 <repeat name="rep_experiment"> 613 <repeat name="rep_experiment">
613 <param name="experiment_title" value="Test experiment title"/> 614 <param name="experiment_title" value="Test experiment title"/>
614 <param name="experiment_design" value="Test experiment design description"/> 615 <param name="experiment_design" value="Test experiment design description"/>
615 <param name="library_strategy" value="CTS"/> 616 <param name="library_strategy" value="CTS"/>
616 <param name="library_source" value="GENOMIC"/> 617 <param name="library_source" value="GENOMIC"/>
644 </assert_contents> 645 </assert_contents>
645 </output> 646 </output>
646 <output name="samples_table_out"> 647 <output name="samples_table_out">
647 <assert_contents> 648 <assert_contents>
648 <has_n_lines n="2"/> 649 <has_n_lines n="2"/>
649 <has_n_columns n="8"/> 650 <has_n_columns n="10"/>
650 </assert_contents> 651 </assert_contents>
651 </output> 652 </output>
652 <output name="runs_table_out"> 653 <output name="runs_table_out">
653 <assert_contents> 654 <assert_contents>
654 <has_n_lines n="3"/> 655 <has_n_lines n="3"/>
655 <has_n_columns n="8"/> 656 <has_n_columns n="8"/>
656 <has_line_matching expression="alias\tstatus\texperiment_alias\tfile_name\tfile_format\taccession\tsubmission_date\tfile_checksum"/> 657 <has_line_matching expression="alias\tstatus\texperiment_alias\tfile_name\tfile_format\taccession\tsubmission_date\tfile_checksum"/>
657 </assert_contents> 658 </assert_contents>
658 </output> 659 </output>
659 </test> 660 </test>
660 <!--Test 6: RUN failing build tables from user input fields NON-VIRAL samples--> 661 <!--Test 6: with submit_test to skip credentials checksRUN failing build tables from user input fields NON-VIRAL samples
661 <test expect_failure="true"> 662 also tests compression of uncompressed inputs and adding the .gz suffix -->
663 <test expect_failure="False" expect_num_outputs="5">
662 <conditional name="action_options"> 664 <conditional name="action_options">
663 <param name="action" value="add"/> 665 <param name="action" value="add"/>
664 <section name="test_submit_parameters"> 666 <section name="test_submit_parameters">
665 <param name="submit_dev" value="true" /> 667 <param name="submit_dev" value="True" />
666 <param name="dry_run" value="false" /> 668 <param name="dry_run" value="True" />
667 </section> 669 </section>
670 <param name="test_submit" value="True"/>
668 <conditional name="input_format_conditional"> 671 <conditional name="input_format_conditional">
672 <param name="add_extension" value="False"/>
669 <param name="input_format" value="build_tables"/> 673 <param name="input_format" value="build_tables"/>
670 <param name="add_extension" value="true"/>
671 <conditional name="conditional_viral_metadata"> 674 <conditional name="conditional_viral_metadata">
672 <param name="viral_sample" value="false"/> 675 <param name="viral_sample" value="False"/>
673 <repeat name="rep_study"> 676 <repeat name="rep_study">
674 <param name="study_title" value="Test study title"/> 677 <param name="study_title" value="Test study title"/>
675 <param name="study_abstract" value="Test study abstract"/> 678 <param name="study_abstract" value="Test study abstract"/>
676 <param name="study_type" value="Epigenetics"/> 679 <param name="study_type" value="Epigenetics"/>
677 <param name="study_pubmed_id" value="Test study pubmedID"/> 680 <param name="study_pubmed_id" value="Test study pubmedID"/>
678 <repeat name="rep_sample"> 681 <repeat name="rep_sample">
679 <param name="sample_title" value="Test Sample title"/> 682 <param name="sample_title" value="Test Sample title"/>
680 <param name="sample_description" value="Test Sample description"/> 683 <param name="sample_description" value="Test Sample description"/>
681 <param name="scientific_name" value="Test Sample scientific name"/> 684 <param name="scientific_name" value="Test Sample scientific name"/>
682 <param name="tax_id" value="2697049"/> 685 <param name="tax_id" value="2697049"/>
683 <repeat name="rep_experiment"> 686 <param name="collection_date" value="2020"/>
684 <param name="experiment_title" value="Test experiment title"/> 687 <param name="geo_location_country" value="Belgium"/>
685 <param name="experiment_design" value="Test experiment design description"/>
686 <param name="library_strategy" value="CTS"/>
687 <param name="library_source" value="GENOMIC"/>
688 <param name="library_selection" value="PCR"/>
689 <param name="library_layout" value="SINGLE"/>
690 <param name="insert_size" value="150"/>
691 <param name="library_construction_protocol" value="Test library construction"/>
692 <param name="platform" value="ILLUMINA"/>
693 <param name="instrument_model" value="Illumina HiSeq 4000"/>
694 <repeat name="rep_runs">
695 <param name="upload_files" value="1.fastqsanger.gz,sample.fq" ftype="fastqsanger"/>
696 </repeat>
697 </repeat>
698 </repeat>
699 </repeat>
700 </conditional>
701 </conditional>
702 </conditional>
703 <param name="center" value="Some research center"/>
704 <assert_stdout>
705 <has_text_matching expression="No ENA credentials defined"/>
706 </assert_stdout>
707 </test>
708 <!--Test 7: with submit_test to skip credentials checksRUN failing build tables from user input fields NON-VIRAL samples
709 also tests compression of uncompressed inputs and adding the .gz suffix -->
710 <test expect_failure="false">
711 <conditional name="action_options">
712 <param name="action" value="add"/>
713 <section name="test_submit_parameters">
714 <param name="submit_dev" value="true" />
715 <param name="dry_run" value="true" />
716 </section>
717 <param name="test_submit" value="True"/>
718 <conditional name="input_format_conditional">
719 <param name="add_extension" value="false"/>
720 <param name="input_format" value="build_tables"/>
721 <conditional name="conditional_viral_metadata">
722 <param name="viral_sample" value="false"/>
723 <repeat name="rep_study">
724 <param name="study_title" value="Test study title"/>
725 <param name="study_abstract" value="Test study abstract"/>
726 <param name="study_type" value="Epigenetics"/>
727 <param name="study_pubmed_id" value="Test study pubmedID"/>
728 <repeat name="rep_sample">
729 <param name="sample_title" value="Test Sample title"/>
730 <param name="sample_description" value="Test Sample description"/>
731 <param name="scientific_name" value="Test Sample scientific name"/>
732 <param name="tax_id" value="2697049"/>
733 <repeat name="rep_experiment"> 688 <repeat name="rep_experiment">
734 <param name="experiment_title" value="Test experiment title"/> 689 <param name="experiment_title" value="Test experiment title"/>
735 <param name="experiment_design" value="Test experiment design description"/> 690 <param name="experiment_design" value="Test experiment design description"/>
736 <param name="library_strategy" value="CTS"/> 691 <param name="library_strategy" value="CTS"/>
737 <param name="library_source" value="GENOMIC"/> 692 <param name="library_source" value="GENOMIC"/>
757 <has_text_matching expression="--data '1.fastqsanger.gz' '2.fastqsanger.gz'"/> 712 <has_text_matching expression="--data '1.fastqsanger.gz' '2.fastqsanger.gz'"/>
758 <has_text_matching expression="--action 'add' --center 'Some research center'"/> 713 <has_text_matching expression="--action 'add' --center 'Some research center'"/>
759 <not_has_text text="modify" /> 714 <not_has_text text="modify" />
760 </assert_command> 715 </assert_command>
761 </test> 716 </test>
762 <!--Test 8: viral submission - User input metadata - Add extension = False--> 717 <!--Test 7: viral submission - User input metadata - Add extension = False-->
763 <test expect_failure="false"> 718 <test expect_failure="False" expect_num_outputs="5">
764 <conditional name="action_options"> 719 <conditional name="action_options">
765 <param name="action" value="add"/> 720 <param name="action" value="add"/>
766 <section name="test_submit_parameters"> 721 <section name="test_submit_parameters">
767 <param name="submit_dev" value="false" /> 722 <param name="submit_dev" value="False" />
768 <param name="dry_run" value="true" /> 723 <param name="dry_run" value="True" />
769 </section> 724 </section>
770 <param name="test_submit" value="True"/> 725 <param name="test_submit" value="True"/>
771 <conditional name="input_format_conditional"> 726 <conditional name="input_format_conditional">
772 <param name="add_extension" value="false"/> 727 <param name="add_extension" value="False"/>
773 <param name="input_format" value="build_tables"/> 728 <param name="input_format" value="build_tables"/>
774 <conditional name="conditional_viral_metadata"> 729 <conditional name="conditional_viral_metadata">
775 <param name="viral_sample" value="true"/> 730 <param name="viral_sample" value="True"/>
776 <repeat name="rep_study"> 731 <repeat name="rep_study">
777 <param name="study_title" value="Test study title"/> 732 <param name="study_title" value="Test study title"/>
778 <param name="study_abstract" value="Test study abstract"/> 733 <param name="study_abstract" value="Test study abstract"/>
779 <param name="study_type" value="Epigenetics"/> 734 <param name="study_type" value="Epigenetics"/>
780 <param name="study_pubmed_id" value="Test study pubmedID"/> 735 <param name="study_pubmed_id" value="Test study pubmedID"/>
820 <has_text_matching expression="--data '1.fastqsanger.gz' '2.fastqsanger.gz'"/> 775 <has_text_matching expression="--data '1.fastqsanger.gz' '2.fastqsanger.gz'"/>
821 <has_text_matching expression="--action 'add' --center 'Some research center'"/> 776 <has_text_matching expression="--action 'add' --center 'Some research center'"/>
822 <has_text_matching expression="--checklist ERC000033"/> 777 <has_text_matching expression="--checklist ERC000033"/>
823 </assert_command> 778 </assert_command>
824 </test> 779 </test>
825 <!--Test 9: modify option and auto compression - viral submission - User input metadata--> 780 <!--Test 8: modify option and auto compression - viral submission - User input metadata-->
826 <test expect_failure="false"> 781 <test expect_failure="False" expect_num_outputs="5">
827 <conditional name="action_options"> 782 <conditional name="action_options">
828 <param name="action" value="modify"/> 783 <param name="action" value="modify"/>
829 <section name="test_submit_parameters"> 784 <section name="test_submit_parameters">
830 <param name="submit_dev" value="false" /> 785 <param name="submit_dev" value="False" />
831 <param name="dry_run" value="true" /> 786 <param name="dry_run" value="True" />
832 </section> 787 </section>
833 <param name="test_submit" value="True"/> 788 <param name="test_submit" value="True"/>
834 <conditional name="input_format_conditional"> 789 <conditional name="input_format_conditional">
835 <param name="add_extension" value="fasle"/> 790 <param name="add_extension" value="False"/>
836 <param name="input_format" value="build_tables"/> 791 <param name="input_format" value="build_tables"/>
837 <conditional name="conditional_viral_metadata"> 792 <conditional name="conditional_viral_metadata">
838 <param name="viral_sample" value="True"/> 793 <param name="viral_sample" value="True"/>
839 <repeat name="rep_study"> 794 <repeat name="rep_study">
840 <param name="study_title" value="Test study title"/> 795 <param name="study_title" value="Test study title"/>
867 <param name="library_construction_protocol" value="Test library construction"/> 822 <param name="library_construction_protocol" value="Test library construction"/>
868 <param name="platform" value="ILLUMINA"/> 823 <param name="platform" value="ILLUMINA"/>
869 <param name="instrument_model" value="Illumina HiSeq 4000"/> 824 <param name="instrument_model" value="Illumina HiSeq 4000"/>
870 <repeat name="rep_runs"> 825 <repeat name="rep_runs">
871 <param name="run_base_name" value="run_from_hospital_X"/> 826 <param name="run_base_name" value="run_from_hospital_X"/>
872 <param name="upload_files" value="1.fastqsanger.gz" ftype="fastqsanger.gz"/> 827 <param name="upload_files" value="1.fastqsanger.gz,2.fastqsanger.gz" ftype="fastqsanger.gz"/>
873 </repeat> 828 </repeat>
874 </repeat> 829 </repeat>
875 </repeat> 830 </repeat>
876 </repeat> 831 </repeat>
877 </conditional> 832 </conditional>
878 </conditional> 833 </conditional>
879 </conditional> 834 </conditional>
880 <param name="center" value="Some research center"/> 835 <param name="center" value="Some research center"/>
881 <assert_command> 836 <assert_command>
882 <has_text_matching expression="ena-upload-cli"/> 837 <has_text_matching expression="ena-upload-cli"/>
883 <has_text_matching expression="--data '1.fastqsanger.gz'"/> 838 <has_text_matching expression="--data '1.fastqsanger.gz' '2.fastqsanger.gz'"/>
884 <has_text_matching expression="--action 'modify' --center 'Some research center'"/> 839 <has_text_matching expression="--action 'modify' --center 'Some research center'"/>
885 <has_text_matching expression="--checklist ERC000033"/> 840 <has_text_matching expression="--checklist ERC000033"/>
886 <not_has_text text="add" /> 841 <not_has_text text="add" />
887 </assert_command> 842 </assert_command>
888 </test> 843 </test>
889 </tests> 844 </tests>
890 <help><![CDATA[ 845 <help><![CDATA[
891 This is a wrapper for the ENA upload tool in https://github.com/usegalaxy-eu/ena-upload-cli 846 This is a wrapper for the ENA upload tool in https://github.com/usegalaxy-eu/ena-upload-cli
892 The input metadata can be submitted following the tabular format of the templates in https://github.com/usegalaxy-eu/ena-upload-cli/tree/master/example_tables 847 The input metadata can be submitted following the tabular format of the templates or their excel spreadsheet equivalent in https://github.com/ELIXIR-Belgium/ENA-metadata-templates. This template repo provides ready to use sheets for every ENA sample checklist and is automatically updated.
893 It is also possible to submit an excel file by following the template in https://github.com/ELIXIR-Belgium/ENA-metadata-templates
894 ]]></help> 848 ]]></help>
895 <citations> 849 <citations>
850 <citation type="doi">doi:10.1093/bioinformatics/btab421</citation>
896 </citations> 851 </citations>
897 </tool> 852 </tool>