Mercurial > repos > tduigou > rpbasicdesign
view 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 source
<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="@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="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" 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} 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 (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[ rpbasicdesign ================ Convert rpSBML enzyme info in to BASIC construct. UniProt IDs corresponding enzyme variants are extracted rpSBMl files. Promoters and RBSs are randomly chosen from a default list. CDSs, in other words gene variants, of enzymes are randomly chosen from amongst the UniProt IDs extracted. Constructs generated can be stored as (i) a CSV file ready to be used by DNA-Bot, (ii) as SBOL files. Input ----- Required: * **rpsbml_file**\ : (string) rpSBML file from which enzymes UniProt IDs will be collected. Advanced options: * **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: 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. Existing files will be overwritten. Default: not output. 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>