Mercurial > repos > tduigou > icfree_instructor
view instructor.xml @ 2:4f1eeb35ade7 draft
planemo upload for repository https://github.com/brsynth/icfree-ml commit 537d7fefe58984b8f7ca66010153a2fdc35ddf4b
author | tduigou |
---|---|
date | Wed, 14 Feb 2024 15:25:48 +0000 |
parents | a4022782b0fc |
children | e4682a0c66da |
line wrap: on
line source
<tool id="icfree_instructor" name="iCFree instructor" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" license="@LICENCE@"> <description>Generates a list of Echo-compatible instructions to prepare samples</description> <macros> <import>macros.xml</import> </macros> <expand macro="requirements"/> <expand macro="stdio"/> <command detect_errors="exit_code"><![CDATA[ #set sps = [] #set sws = [] #set dps = [] #set dws = [] #for $x in $plates_generator: #set $fname = str($x.element_identifier) echo "$fname " && ln -sfn '$x' '$fname' && #if $fname.startswith('source') and $fname.endswith('json'): #silent sps.append($fname) #else if $fname.startswith('source') and $fname.endswith('tsv'): #silent sws.append($fname) #else if $fname.startswith('destination') and $fname.endswith('json'): #silent dps.append($fname) #else if $fname.startswith('destination') and $fname.endswith('tsv'): #silent dws.append($fname) #end if #end for #set s_sps = '" "'.join($sps) #set s_sws = '" "'.join($sws) #set s_dps = '" "'.join($dps) #set s_dws = '" "'.join($dws) python -m icfree.instructor --source_plates $s_sps --source_wells $s_sws --dest_plates $s_dps --dest_wells $s_dws -spt '$source_plate' --robot '$robot' --output-folder '.' && mv instructions.csv '$output_instruction' && #if not os.path.isfile('volumes_warnings.tsv') touch volumes_warnings.tsv && #end if mv volumes_warnings.tsv '$output_warning' ]]></command> <inputs> <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"/> <param name="robot" type="select" label="Robot name"> <option value="ECHO" selected="true">ECHO</option> </param> <param name="source_plate" type="select" label="Source plate type"> <option value="384PP_AQ_GP3" selected="true">384PP_AQ_GP3</option> <option value="384_AQ_CP">384_AQ_CP</option> </param> </inputs> <outputs> <data name="output_warning" format="tabular" label="${tool.name} - Warning" /> <data name="output_instruction" format="csv" label="${tool.name} - Instruction" /> </outputs> <tests> <test> <!-- test 1: check if identical outputs are produced with default parameters --> <param name="plates_generator"> <collection type="list"> <element name="source_plate_1.json" value="plates_generator_source_plate_1.test-1.json" /> <element name="source_plate_1.tsv" value="plates_generator_source_plate_1.test-1.tsv" /> <element name="destination_plate_1.json" value="plates_generator_destination_plate_1.test-1.json" /> <element name="destination_plate_1.tsv" value="plates_generator_destination_plate_1.test-1.tsv" /> </collection> </param> <output name="output_warning" ftype="tabular"> <assert_contents> <has_n_lines n="12"/> <has_line_matching expression="^Parameter\tMin\tMax\tPlate$"/> </assert_contents> </output> <output name="output_instruction" file="instructor_instructions.csv" ftype="csv" compare="diff" /> </test> </tests> <help><![CDATA[ Instructor ========== The module generates a list of instructions to perform the experiment. Input ----- Required: * **A collection**: a collection with source/destination plates/wells, coming from iCFree plates generator tool. Advanced options: ----------------- * **Robot name**: name of the robot to generate instructions for (default: "ECHO") * **Source plate type**: type of plate used (default: "384PP_AQ_GP3") Output ------ * **instructions**: contains the instructions to perform the experiment * **volumes_warning**: contains the volumes that may cause issues with the chosen robot ]]></help> <expand macro="creator"/> <expand macro="citation"/> </tool>