diff rpbasicdesign.xml @ 0:cdd6a526bdcf draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/rpbasicdesign commit bdac148247c9c3d3da3420220d006e723c718277"
author iuc
date Wed, 30 Mar 2022 13:05:31 +0000
parents
children e73c927dc332
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rpbasicdesign.xml	Wed Mar 30 13:05:31 2022 +0000
@@ -0,0 +1,172 @@
+<tool id="rpbasicdesign" name="BasicDesign" version="@TOOL_VERSION@" profile="21.09">
+    <description>Build DNA-BOT input files from rpSBML</description>
+    <macros>
+        <token name="@TOOL_VERSION@">1.0.1</token>
+    </macros>
+    <requirements>
+        <requirement type="package" version="@TOOL_VERSION@">rpbasicdesign</requirement>
+    </requirements>
+    <command detect_errors="exit_code"><![CDATA[
+        python -m rpbasicdesign.cli
+        --rpsbml_file '$rpsbml_file'
+        #if $adv.parts_files
+            #set files = '" "'.join([str($file) for $file in $adv.parts_files])
+            --parts_files "${files}"
+        #end if
+        --lms_id '$adv.lms_id'
+        --lmp_id '$adv.lmp_id'
+        --backbone_id '$backbone_id'
+        --sample_size '$sample_size'
+        $adv.cds_permutation
+        --o_dnabot_dir 'out/dnabot_in'
+        $adv.sbol_output
+        --max_enz_per_rxn $adv.max_enz_per_rxn
+    ]]></command>
+    <inputs>
+        <param name="rpsbml_file" type="data" format="sbml" label="rpSBML file" help="SBML file from which enzymes UniProt IDs will be collected."/>
+        <param argument="--backbone_id" type="text" value="BASIC_SEVA_37_CmR-p15A.1" label="Backbone part ID" help="Part ID to be used as the backbone.">
+            <sanitizer invalid_char="">
+                <valid initial="string.letters,string.digits">
+                    <add value=":" />
+                    <add value="." />
+                    <add value="-" />
+                    <add value="_" />
+                </valid>
+            </sanitizer>
+            <validator type="empty_field" message="Backbone ID is required"/>
+        </param>
+        <param argument="--sample_size" type="integer" value="88" min="1" max="88" label="Sample size" help="Number of constructs to generate."/>
+        <section name="adv" title="Advanced Options" expanded="false">
+            <param name="parts_files" type="data" format="csv" optional="true" multiple="true" label="Linkers and user parts" help="List of files providing available linkers and user parts (backbone, promoters, ...) for constructs. Default: Standard Biolegio Parts (BBP-18500)" />
+            <param argument="--lms_id" type="text" value="LMS" label="LMS part ID" help="Part ID to be used as the LMS methylated linker." >
+                <sanitizer invalid_char="">
+                    <valid initial="string.letters,string.digits">
+                        <add value=":" />
+                        <add value="-" />
+                        <add value="_" />
+                        <add value="." />
+                    </valid>
+                </sanitizer>
+                <validator type="empty_field" message="LMS ID is required"/>
+            </param>
+            <param argument="--lmp_id" type="text" value="LMP" label="LMP part ID" help="Part ID to be used as the LMP methylated linker.">
+                <sanitizer invalid_char="">
+                    <valid initial="string.letters,string.digits">
+                        <add value=":" />
+                        <add value="-" />
+                        <add value="_" />
+                        <add value="." />
+                    </valid>
+                </sanitizer>
+                <validator type="empty_field" message="LMP ID is required"/>
+            </param>
+            <param argument="--cds_permutation" type="boolean" truevalue="--cds_permutation true" falsevalue="--cds_permutation false" checked="true" label="Perform CDS permutation?" help="Whether all combinations of CDS permutation should be built." />
+            <param argument="--sbol_output" type="boolean" checked="false" truevalue="--o_sbol_dir out/sbol_export" falsevalue="" label="Output SBOL results?" help="Whether SBOL (Synthetic Biology Open Language) depictions of constructs should be outputted" />
+            <param argument="--max_enz_per_rxn" type="integer" value="1" min="1" max="99" label="Maximum number of enyzme to consider per reaction." help="Maximum number of enyzme to consider per reaction. If more enzymes are available for a given reaction, then only the last one listed in the MIRIAM annotation section will be kept."/>
+        </section>
+    </inputs>
+    <outputs>
+        <data name="Constructs" format="csv" from_work_dir="out/dnabot_in/constructs.csv" label="${tool.name} on ${rpsbml_file.name}: constructs" />
+        <data name="User_parts_plate" format="csv" from_work_dir="out/dnabot_in/user_parts_plate.csv" label="${tool.name} on ${rpsbml_file.name}: User parts plate"/>
+        <data name="Biolegio_plate" format="csv" from_work_dir="out/dnabot_in/biolegio_plate.csv" label="${tool.name} on ${rpsbml_file.name}: Biolegio plate"/>
+        <collection name="sbol_dir" type="list" label="${tool.name} on ${rpsbml_file.name}: SBOL constructs">
+            <filter> adv['sbol_output'] </filter>
+            <discover_datasets pattern="__designation_and_ext__" format="xml" directory="out/sbol_export" />
+        </collection>
+    </outputs>
+    <tests>
+        <test expect_num_outputs="4">
+            <!-- test 1: check if identical outputs are produced (Lycopene input)-->
+            <param name="rpsbml_file" value="lycopene_CrtEBI_from_selenzy.xml" />
+            <param name="sample_size" value="3" />
+            <output name="Constructs" file="constructs_lycopene.csv" ftype="csv" compare="diff">
+                <assert_contents>
+                    <has_n_lines n="4"/>
+                </assert_contents>
+            </output>
+            <output name="User_parts_plate" file="user_parts_plate_lycopene.csv" ftype="csv" compare="diff"/>
+            <output name="Biolegio_plate" file="biolegio_plate_lycopene.csv" ftype="csv" compare="diff"/>
+            <param name="sbol_output" value="true" />
+            <output_collection name="sbol_dir" type="list" count="3">
+                <element name="BASIC_construct_A1">
+                    <assert_contents>
+                        <is_valid_xml />
+                        <has_text text="BASIC_construct_A1" />
+                        <has_n_lines n="339" />
+                    </assert_contents>
+                </element>
+                <element name="BASIC_construct_B1">
+                    <assert_contents>
+                        <is_valid_xml />
+                        <has_text text="BASIC_construct_B1" />
+                        <has_n_lines n="339" />
+                    </assert_contents>
+                </element>
+                <element name="BASIC_construct_C1">
+                    <assert_contents>
+                        <is_valid_xml />
+                        <has_text text="BASIC_construct_C1" />
+                        <has_n_lines n="339" />
+                    </assert_contents>
+                </element>
+            </output_collection>
+        </test>
+        <test expect_num_outputs="3">
+            <!-- test 2: check if identical outputs are produced (Muconate input)-->
+            <param name="rpsbml_file" value="muconate_example.xml" />
+            <param name="sample_size" value="88" />
+            <output name="Constructs" file="constructs_muconate.csv" ftype="csv" compare="diff">
+                <assert_contents>
+                    <has_n_lines n="89"/>
+                </assert_contents>
+            </output>
+            <output name="User_parts_plate" file="user_parts_plate_muconate.csv" ftype="csv" compare="diff"/>
+            <output name="Biolegio_plate" file="biolegio_plate_muconate.csv" ftype="csv" compare="diff"/>
+        </test>
+    </tests>
+    <help><![CDATA[
+rpbasicdesign
+================
+
+rpbasicdesign extracts enzyme IDs from rpSBML (System Biology Markup Language) files containing additionnal annotations (e.g. reaction rules ID) and produced by the RP (RetroPath) suite available in `SynBioCAD Galaxy platform <https://galaxy-synbiocad.org/>`_, to generate genetic constructs compliant with the BASIC (Biopart Assembly Standard for Idempotent Cloning) assembly approach. CSV files produced are ready to be used with DNA-Bot to generate instructions for automated build of the genetic constructs using OpenTrons liquid handling robots.
+
+Input
+-----
+
+Required:
+
+* **rpSBML file**\ : rpSBML file from which enzymes UniProt IDs will be collected.
+
+Advanced options:
+
+* **Linkers and user parts**\ : (string) List of files providing available linkers and user parts (backbone, promoters, ...) for constructs. Default: ( `Standard Biolegio Parts <https://www.biolegio.com/>`_: BBP-18500).
+* **LMS part ID**\ : (string) part ID to be used as the LMS methylated linker. Default: LMS.
+* **LMP part ID**\ : (string) part ID to be used as the LMP methylated linker. Default: LMP.
+* **Backbone part ID**\ : (string) part ID to be used as the backbone. Default: BASIC_SEVA_37_CmR-p15A.1.
+* **Sample size**\ : (int) Number of constructs to generate. Default: 88.
+* **Perform CDS permutation?**\ : (boolean) Whether all combinations of CDS permutation should be built Default: true.
+* **Maximum number of enyzme to consider per reaction**\ : (int) Maximum number of enyzme to consider per reaction. If more enzymes are available for a given reaction, then only the last one listed in the MIRIAM annotation section will be kept. (Default: 1). 
+
+Output
+------
+
+* **constructs**\ : CSV construct file listing the constructs to be built.
+* **User parts plate**\ : CSV file listing the DNA parts to be included into each construct.
+* **Biolegio plate**\ : CSV file listing the plate coordinates of the BASIC linkers.
+* **SBOL constructs**\ : (optional) one SBOL (Synthetic Biology Open Language) file is produced for each construct generated in XML format. 
+
+Project Links
+------------------
+
+* `GitHub <https://github.com/brsynth/rpbasicdesign>`_
+
+License
+-------
+
+* `MIT <https://github.com/brsynth/rpbasicdesign/blob/master/LICENSE.txt>`_
+
+    ]]></help>
+    <citations>
+        <citation type="doi">10.1093/synbio/ysaa010</citation>
+    </citations>
+</tool>
\ No newline at end of file