Mercurial > repos > tduigou > rpbasicdesign
diff rpbasicdesign.xml @ 2:8a087d7546b8 draft
"planemo upload commit f40274f6b9f6a15eb4022aab21286d4c96cd8475-dirty"
author | tduigou |
---|---|
date | Mon, 28 Mar 2022 14:16:59 +0000 |
parents | de9f53630349 |
children | e4821c820f7c |
line wrap: on
line diff
--- a/rpbasicdesign.xml Wed Dec 15 15:10:43 2021 +0000 +++ b/rpbasicdesign.xml Mon Mar 28 14:16:59 2022 +0000 @@ -1,7 +1,10 @@ -<tool id="rpbasicdesign" name="BasicDesign" version="0.3.4"> +<tool id="rpbasicdesign" name="BasicDesign" version="@TOOL_VERSION@" profile="19.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="0.3.4">rpbasicdesign</requirement> + <requirement type="package" version="@TOOL_VERSION@">rpbasicdesign</requirement> </requirements> <command detect_errors="exit_code"><![CDATA[ python -m rpbasicdesign.cli @@ -14,46 +17,112 @@ --lmp_id '$adv.lmp_id' --backbone_id '$backbone_id' --sample_size '$sample_size' - #if str($adv.cds_permutation) == "true" - --cds_permutation true - #else - --cds_permutation false - #end if + $adv.cds_permutation --o_dnabot_dir 'out/dnabot_in' - --o_sbol_dir 'out/sbol_export' + $adv.sbol_output + --max_enz_per_rxn $adv.max_enz_per_rxn ]]></command> <inputs> - <param name="rpsbml_file" type="data" format="xml" label="rpSBML file"/> - <param name="backbone_id" type="text" value="BASIC_SEVA_37_CmR-p15A.1" label="Backbone part ID" /> - <param name="sample_size" type="integer" value="88" label="Number of constructs to generate" /> + <param name="rpsbml_file" type="data" format="xml" 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"/> + <validator type="regex">[0-9a-zA-Z_:-]+</validator> + </param> + <param argument="--sample_size" type="integer" value="88" min="1" max="88" label="Number of constructs to generate" help="Number of construct 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" /> - <param name="lms_id" type="text" value="LMS" label="LMS part ID" /> - <param name="lmp_id" type="text" value="LMP" label="LMP part ID" /> - <param name="cds_permutation" type="boolean" label="Perform CDS permutation?" checked="true" /> + <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" /> + <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="Output folder to write SBOL depictions of constructs." /> + <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} - ${rpsbml_file.name}: constructs" /> - <data name="User parts plate" format="csv" from_work_dir="out/dnabot_in/user_parts_plate.csv" label="${tool.name} - ${rpsbml_file.name}: User parts plate"/> - <data name="Biolegio plate" format="csv" from_work_dir="out/dnabot_in/biolegio_plate.csv" label="${tool.name} - ${rpsbml_file.name}: Biolegio plate"/> - <collection name="sbol_dir" type="list" label="${tool.name} - ${rpsbml_file.name}: SBOL constructs"> + <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> - <!-- test 1: check if identical outputs are produced --> - <param name="rpsbml_file" value="lycopene_CrtEBI_from_selenzy.xml" /> - <param name="sample_size" value="3" /> - <output name="Constructs" file="constructs.csv" ftype="csv" compare="diff"/> - <output name="User parts plate" file="user_parts_plate.csv" ftype="csv" compare="diff"/> - <output name="Biolegio plate" file="biolegio_plate.csv" ftype="csv" compare="diff"/> - <output_collection name="sbol_dir" type="list"> - <element name="BASIC_construct_A1" ftype="xml" value="BASIC_construct_A1.xml" sort="true"/> - <element name="BASIC_construct_B1" ftype="xml" value="BASIC_construct_B1.xml" sort="true"/> - <element name="BASIC_construct_C1" ftype="xml" value="BASIC_construct_C1.xml" sort="true"/> - </output_collection> + <!-- 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="--o_sbol_dir out/sbol_export" /> + <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> + <!-- 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[ @@ -76,18 +145,19 @@ Advanced options: -* **parts_files**\ : (string) List of files providing available linkers and user parts (backbone, promoters, ...) for constructs. Default: [data/biolegio_parts.csv, user_parts.csv] +* **parts_files**\ : (string) List of files providing available linkers and user parts (backbone, promoters, ...) for constructs. Default: [data/biolegio_parts.csv, data/user_parts.csv] * **lms_id**\ : (string) part ID to be used as the LMS methylated linker. Default: LMS. * **lmp_id**\ : (string) part ID to be used as the LMP methylated linker. Default: LMP. * **backbone_id**\ : (string) part ID to be used as the backbone. Default: BASIC_SEVA_37_CmR-p15A.1. -* **sample_size**\ : (int) Number of construct to generate.Default: 3. +* **sample_size**\ : (int) Number of construct to generate. Default: 88. * **cds_permutation**\ : (boolean) Whether all combinations of CDS permutation should be built Default: true. +* **max_enz_per_rxn**\ : (integer) 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 ------ * **o_dnabot_dir**\ : (string) Output folder to write construct and plate files. It will be created if it does not exist yet. Existing files will be overwritten. Default: out/dnabot_in. -* **o_sbol_dir**\ : (string) Output folder to write SBOL depictions of constructs. It will be created if it does not exist yet. Existing files will be overwritten. Default: out/sbol_export. +* **o_sbol_dir**\ : (string) Output folder to write SBOL depictions of constructs. Existing files will be overwritten. Default: not output. Project Links ------------------ @@ -101,21 +171,6 @@ ]]></help> <citations> - <citation type="bibtex"> - @article{10.1093/synbio/ysaa010, - author = {Storch, Marko and Haines, Matthew C and Baldwin, Geoff S}, - title = {DNA-BOT: a low-cost, automated DNA assembly platform for synthetic biology}, - journal = {Synthetic Biology}, - volume = {5}, - number = {1}, - year = {2020}, - month = {07}, - issn = {2397-7000}, - doi = {10.1093/synbio/ysaa010}, - url = {https://doi.org/10.1093/synbio/ysaa010}, - note = {ysaa010}, - eprint = {https://academic.oup.com/synbio/article-pdf/5/1/ysaa010/33722340/ysaa010.pdf}, - } - </citation> + <citation type="doi">10.1093/synbio/ysaa010</citation> </citations> </tool> \ No newline at end of file