diff domestication.xml @ 0:8fd9af4cb080 draft

planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/Examples/blob/master/templates/template1.ipynb commit 6ae809b563b40bcdb6be2e74fe2a84ddad5484ae
author tduigou
date Mon, 12 May 2025 10:21:24 +0000
parents
children bf8cd9487e33
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/domestication.xml	Mon May 12 10:21:24 2025 +0000
@@ -0,0 +1,138 @@
+<tool id="domestication" name="domestication" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.09">
+    <description>Enables rapid and accurate preparation of DNA parts for modular cloning systems, such as Golden Gate Assembly</description>
+    <macros>
+        <token name="@VERSION_SUFFIX@">0</token>
+        <token name="@TOOL_VERSION@">0.1.0</token>
+    </macros>
+    <requirements>
+        <requirement type="package" version="0.1.11">flametree</requirement>
+        <requirement type="package" version="1.85"> biopython </requirement>
+        <requirement type="package" version="0.1.10">proglog</requirement>
+        <requirement type="package" version="0.2.1">genedom</requirement>
+        <requirement type="package" version="2.2.3">pandas</requirement>
+        <requirement type="package" version="2.0.11">dnacauldron</requirement>
+        <requirement type="package" version="0.3.9">pdf-reports</requirement>
+        <requirement type="package" version="0.1.7">sequenticon</requirement>
+        <requirement type="package" version="3.1.4">dna_features_viewer</requirement>
+    </requirements>
+    <command detect_errors="exit_code"><![CDATA[
+        #set $file_name_mapping = ",".join(["%s:%s" % (file.file_name, file.name) for file in $genbank_files])
+        mkdir 'outdir_gb' && mkdir 'outdir_zip' &&
+        python '$__tool_directory__/domestication.py'
+            --files_to_domestication '$genbank_files'
+            --csv_file '$domestication_csv'
+            --file_name_mapping '$file_name_mapping'
+            --use_file_names_as_id '$adv.use_file_names_as_ids'
+            --allow_edits '$adv.allow_edits'
+            --output_dom 'output_zip.zip'
+            --output_methprot 'outdir_gb'
+            --methylation_protection '$methylation_protection' &&
+        cp 'output_zip.zip' '$output_zip'
+    ]]></command>
+    <inputs>
+        <param name="genbank_files" type="data" format="genbank" multiple="true" label="GenBank File(s)"/>
+        <param name="domestication_csv" type="data" format="csv" label="deomestication csv"/>
+        <param name="methylation_protection" type="boolean" checked="False" label="Enabel Methylation Protection"/>
+        <section name="adv" title="Advanced Options" expanded="false">
+            <param name="use_file_names_as_ids" type="boolean" checked="True" label="Use file names as sequence IDs?" />
+            <param name="allow_edits" type="boolean" checked="True" label="Allow sequence edits" help="If False, sequences cannot be edited by the domesticator, only extended
+      with flanks. If a sequence has for instance forbidden restriction sites,
+      the domesticaton will fail for this sequence (and this will be noted in
+      the report."/>
+        </section>
+    </inputs>   
+    <outputs>
+        <data format="zip" name="output_zip" label="domestication results"/>
+        <collection name="methprot_gb" type="list" label="GenBank Files methylation protected">
+            <filter>methylation_protection == True</filter>
+            <discover_datasets pattern="(?P&lt;name&gt;.*).gb" format="genbank" directory="outdir_gb" />
+        </collection>
+    </outputs>
+    <tests>
+        <!--test without methylation protection-->
+        <test expect_num_outputs="1"> 
+            <param name="genbank_files" value="EMMA_undomesticated_parts/p3_2_CAG.gb,EMMA_undomesticated_parts/p7_gfp_sequence.gb,EMMA_undomesticated_parts/p14_CMVp.gb,EMMA_undomesticated_parts/p16_bGHpolyA.gb,EMMA_undomesticated_parts/p18_CMVp.gb,EMMA_undomesticated_parts/p19_mNeoGreen.gb,EMMA_undomesticated_parts/p22_PGKpolyA.gb" />
+            <param name="domestication_csv" value="EMMA.csv" />
+            <param name='methylation_protection' value='false' />
+            <param name="adv|use_file_names_as_ids" value="True" />
+            <param name="adv|allow_edits" value="True" />
+            <output name="output_zip" ftype='zip'>
+                <assert_contents>
+                    <has_archive_member path=".*" n="24"/>
+                    <has_archive_member path="order_ids.csv">
+                        <has_n_lines n="8" />
+                    </has_archive_member>
+                </assert_contents>
+            </output>
+        </test>
+        <!--test with methylation protection-->
+        <test expect_num_outputs="2"> 
+            <param name="genbank_files" value="EMMA_undomesticated_parts/p3_2_CAG.gb,EMMA_undomesticated_parts/p7_gfp_sequence.gb,EMMA_undomesticated_parts/p14_CMVp.gb,EMMA_undomesticated_parts/p16_bGHpolyA.gb,EMMA_undomesticated_parts/p18_CMVp.gb,EMMA_undomesticated_parts/p19_mNeoGreen.gb,EMMA_undomesticated_parts/p22_PGKpolyA.gb" />
+            <param name="domestication_csv" value="EMMA.csv" />
+            <param name="methylation_protection" value="true" />
+            <param name="adv|use_file_names_as_ids" value="True" />
+            <param name="adv|allow_edits" value="True" />
+            <output name="output_zip" ftype='zip'>
+                <assert_contents>
+                    <has_archive_member path=".*" n="24"/>
+                    <has_archive_member path="order_ids.csv">
+                        <has_n_lines n="8" />
+                    </has_archive_member>
+                </assert_contents>
+            </output>
+            <output_collection name="methprot_gb" type="list" count="7">
+                <element name="p14_CMVp">
+                    <assert_contents>
+                     <has_n_lines min="20" />
+                    </assert_contents>
+                </element>
+                <element name="p16_bGHpolyA">
+                    <assert_contents>
+                     <has_n_lines min="20" />
+                    </assert_contents>
+                </element>
+                <element name="p18_CMVp">
+                    <assert_contents>
+                     <has_n_lines min="20" />
+                    </assert_contents>
+                </element>
+                 <element name="p19_mNeoGreen">
+                    <assert_contents>
+                     <has_n_lines min="20" />
+                    </assert_contents>
+                </element>
+                <element name="p22_PGKpolyA">
+                    <assert_contents>
+                     <has_n_lines min="20" />
+                    </assert_contents>
+                </element>
+                <element name="p3_2_CAG">
+                    <assert_contents>
+                     <has_n_lines min="20" />
+                    </assert_contents>
+                </element>
+                <element name="p7_gfp_sequence">
+                    <assert_contents>
+                     <has_n_lines min="20" />
+                    </assert_contents>
+                </element>
+            </output_collection>
+        </test>
+    </tests>
+    <help><![CDATA[
+Domestication
+=================
+
+The Domestication Tool in the EGF Biofoundry, powered by Genedom, enables rapid and accurate preparation of DNA parts for modular cloning systems, such as Golden Gate Assembly (complete documentation `here <https://edinburgh-genome-foundry.github.io/genedom/>_`)
+This tool streamlines the domestication process by identifying and removing internal restriction site like "BsaI_site", "NotI_site", "XbaI_site"... or costumised like "5x3mer" means "any 5 consecutive 3-nucleotide sequences — typically 5 unique 3-mers in a row.
+    ]]></help>
+    <citations>
+        <citation type="bibtex">
+            @unpublished{domestication
+                author = {Ramiz Khaled},
+                title = {{domestication}},
+                url = {https://github.com/Edinburgh-Genome-Foundry/Examples/blob/master/templates/template1.ipynb},
+            }
+        </citation>
+    </citations>
+</tool>