comparison instructor.xml @ 0:f93749376fe5 draft

planemo upload for repository https://github.com/brsynth/icfree-ml commit e908694368c306390bc9253f81a9249ad988970d
author tduigou
date Tue, 28 Mar 2023 12:35:26 +0000
parents
children a4022782b0fc
comparison
equal deleted inserted replaced
-1:000000000000 0:f93749376fe5
1 <tool id="icfree_instructor" name="iCFree instructor" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" license="@LICENCE@">
2 <description>Generates a list of Echo-compatible instructions to prepare samples</description>
3 <macros>
4 <import>macros.xml</import>
5 </macros>
6 <expand macro="requirements"/>
7 <expand macro="stdio"/>
8 <command detect_errors="exit_code"><![CDATA[
9 #set sps = []
10 #set sws = []
11 #set dps = []
12 #set dws = []
13 #for $x in $plates_generator:
14 #set $fname = str($x.element_identifier)
15 echo "$fname " &&
16 ln -sfn '$x' '$fname' &&
17 #if $fname.startswith('source') and $fname.endswith('json'):
18 #silent sps.append($fname)
19 #else if $fname.startswith('source') and $fname.endswith('tsv'):
20 #silent sws.append($fname)
21 #else if $fname.startswith('destination') and $fname.endswith('json'):
22 #silent dps.append($fname)
23 #else if $fname.startswith('destination') and $fname.endswith('tsv'):
24 #silent dws.append($fname)
25 #end if
26 #end for
27 #set s_sps = '" "'.join($sps)
28 #set s_sws = '" "'.join($sws)
29 #set s_dps = '" "'.join($dps)
30 #set s_dws = '" "'.join($dws)
31 python -m icfree.instructor
32 --source_plates $s_sps
33 --source_wells $s_sws
34 --dest_plates $s_dps
35 --dest_wells $s_dws
36 -spt '$source_plate'
37 --robot '$robot'
38 --output-folder '.' &&
39 mv instructions.csv '$output_instruction' &&
40 #if not os.path.isfile('volume_warning.tsv')
41 touch volume_warning.tsv &&
42 #end if
43 mv volume_warning.tsv '$output_warning'
44 ]]></command>
45 <inputs>
46 <param name="plates_generator" type="data_collection" collection_type="list" format="json,tabular" label="Source/Destination corresponding to plate/wells" help="Output from iCFree plates generator"/>
47 <param name="robot" type="select" label="Robot name">
48 <option value="ECHO" selected="true">ECHO</option>
49 </param>
50 <param name="source_plate" type="select" label="Source plate type">
51 <option value="384PP_AQ_GP3" selected="true">384PP_AQ_GP3</option>
52 <option value="384_AQ_CP">384_AQ_CP</option>
53 </param>
54 </inputs>
55 <outputs>
56 <data name="output_warning" format="tsv" label="${tool.name} - Warning" />
57 <data name="output_instruction" format="csv" label="${tool.name} - Instruction" />
58 </outputs>
59 <tests>
60 <test>
61 <!-- test 1: check if identical outputs are produced with default parameters -->
62 <param name="plates_generator">
63 <collection type="list">
64 <element name="plates_generator_source_plate_1" value="plates_generator_source_plate_1.test-1.json" />
65 <element name="plates_generator_source_plate_1.test-1.tsv" value="plates_generator_source_plate_1.test-1.tsv" />
66 <element name="plates_generator_destination_plate_1.test-1.json" value="plates_generator_destination_plate_1.test-1.json" />
67 <element name="plates_generator_destination_plate_1.test-1.tsv" value="plates_generator_destination_plate_1.test-1.tsv" />
68 </collection>
69 </param>
70 <output name="output_warning" ftype="tabular">
71 <assert_contents>
72 <has_n_lines n="12"/>
73 <has_line_matching expression="^Parameter\tMin\tMax\tPlate$"/>
74 </assert_contents>
75 </output>
76 <output name="output_instruction" file="instructor_instructions.csv" ftype="csv" compare="diff" />
77 </test>
78 </tests>
79 <help><![CDATA[
80 Instructor
81 ==========
82
83 The module generates a list of instructions to perform the experiment.
84
85 Input
86 -----
87 Required:
88 * **A collection**: a collection with source/destination plates/wells, coming from iCFree plates generator tool.
89
90 Advanced options:
91 -----------------
92 * **Robot name**: name of the robot to generate instructions for (default: "ECHO")
93 * **Source plate type**: type of plate used (default: "384PP_AQ_GP3")
94
95 Output
96 ------
97 * **instructions**: contains the instructions to perform the experiment
98 * **volumes_warning**: contains the volumes that may cause issues with the chosen robot
99 ]]></help>
100 <expand macro="creator"/>
101 <expand macro="citation"/>
102 </tool>