Mercurial > repos > tduigou > dnaweaver
changeset 2:861a7692f473 draft
planemo upload for repository https://github.com/brsynth/DNAWeaver_SynBioCAD commit 2e8aa2e7c0581c7eed2074d15f7e4317ecde2ad6
author | tduigou |
---|---|
date | Mon, 01 May 2023 01:26:36 +0000 |
parents | c519517e3ade |
children | 6307ae88e12b |
files | config/job_conf.xml config/tool_conf.xml dnaweaver.xml img/image4.png |
diffstat | 4 files changed, 48 insertions(+), 59 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/config/job_conf.xml Mon May 01 01:26:36 2023 +0000 @@ -0,0 +1,1 @@ + <tool id="dnaweaver" destination="local" />
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/config/tool_conf.xml Mon May 01 01:26:36 2023 +0000 @@ -0,0 +1,3 @@ + <section id="sbc-gd" name="SynBioCAD Genetic Design"> + <tool file="synbiocad-galaxy-wrappers/dnaweaver/dnaweaver.xml" /> + </section>
--- a/dnaweaver.xml Thu Feb 03 15:01:46 2022 +0000 +++ b/dnaweaver.xml Mon May 01 01:26:36 2023 +0000 @@ -1,22 +1,23 @@ -<tool id="dnaweaver" name="DNA Weaver" version="@TOOL_VERSION@" profile="19.09"> +<tool id="dnaweaver" name="DNA Weaver" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.09" license="MIT"> <description>Given a SBOL input, calculate assembly parts for Gibson or Golden Gate</description> <macros> + <token name="@VERSION_SUFFIX@">0</token> <token name="@TOOL_VERSION@">1.0.2</token> </macros> <requirements> - <requirement type="package" version="@TOOL_VERSION@1">dnaweaver_synbiocad</requirement> + <requirement type="package" version="@TOOL_VERSION@">dnaweaver_synbiocad</requirement> </requirements> <stdio> - <regex match="WARNING:" level="warning" /> - <regex match="ERROR:" level="fatal" /> - </stdio> + <regex match="WARNING:" level="warning" /> + <regex match="ERROR:" level="fatal" /> + </stdio> <command detect_errors="exit_code"><![CDATA[ python -m dnaweaver_synbiocad '$input' - output.xlsx + 'output.xlsx' '$method' --nb_constructs '$adv.max_constructs' - && cp output.xlsx '$output' + && mv 'output.xlsx' '$output' ]]></command> <inputs> <param name="input" type="data" format="xml" label="Constructs" /> @@ -25,9 +26,9 @@ <option value="gibson" >Gibson</option> <option value="any_method" >Any Method</option> </param> - <section name="adv" title="Advanced Options" expanded="false"> - <param name="max_constructs" value="-1" type="integer" label="Maximal number of constructs" /> - </section> + <section name="adv" title="Advanced Options" expanded="false"> + <param name="max_constructs" value="-1" type="integer" label="Maximal number of constructs" /> + </section> </inputs> <outputs> <data name="output" format="xlsx" label="DNA Weaver - Assembly Plan" /> @@ -47,26 +48,25 @@ DNAWeaver ========================== -This tool uses a multi-objective algorithm to predict the best synthesis and assembling strategy for the previously designed plasmid using either Golden gate assembly, or Gibson assembly, or a mix of both. Given a set of designs (one design is a construct name and list of its parts), it finds a valid and efficient assembly plan to build all the designs. The designs and sequences of parts are provided as an SBOL file (see test.xml for an example). +This tool uses a multi-objective algorithm to predict the best synthesis and assembling strategy for the previously designed plasmid using either Golden gate assembly, or Gibson assembly, or a mix of both. Given a set of designs (one design is a construct name and list of its parts), it finds a valid and efficient assembly plan to build all the designs. The designs and sequences of parts are provided as an SBOL file. Input ----- Required: -* **input**\ : (string) Path to the sbol file(s) -* **method**\ : (string) Assembly method (valid options: golden_gate, gibson, any_method) +* **Constructs**\ : SBOL construct file(s) +* **Assembly method**\ : Assembly method (valid options: golden_gate, gibson, any_method) Advanced options: +* **Maximal number of constructs**\ : (integer, default=-1) Maximal number of constructs to use. The default -1 corresponds to all. -* **--max_constructs**\ : (integer, default=-1) Maximal number of constructs to use. The default -1 corresponds to all. Output ------ - -* **output**\ : (string) Path to the output Excel file +* **Assembly Plan**\ : output Excel spreadsheet Project Links @@ -74,64 +74,49 @@ * `GitHub <https://edinburgh-genome-foundry.github.io/DnaWeaver>`_ + Method -------- - - We assume that the different standard parts are available or will be ordered, with the exact sequence provided in the input file (in the future it would be easy to automatically break long parts into smaller fragments). - - The desired construct sequence for a genetic part design is simply the concatenation of that design's part sequences in the right order (no assembly overhang is included). - - Buy primers with overhangs to extend the parts fragments via PCR and create homologies between them so they can be assembled together. - - Assemble each construct in a single step with Golden Gate assembly if possible (that is if at least one site out of BsaI, BbsI, and BsmBI is totally absent from the construct sequence), else with Gibson assembly. It can also be only one of the two methods if the option Gibson or golden_gate is selected instead of any_method. - - Start with the first design, and for each subsequence design assembly plan reuse the primers ordered and fragments PCRed in previous designs, if relevant. + - We assume that the different standard parts are available or will be ordered, with the exact sequence provided in the input file (in the future it would be easy to automatically break long parts into smaller fragments). + - The desired construct sequence for a genetic part design is simply the concatenation of that design's part sequences in the right order (no assembly overhang is included). + - Buy primers with overhangs to extend the parts fragments via PCR and create homologies between them so they can be assembled together. + - Assemble each construct in a single step with Golden Gate assembly if possible (that is if at least one site out of BsaI, BbsI, and BsmBI is totally absent from the construct sequence), else with Gibson assembly. It can also be only one of the two methods if the option Gibson or golden_gate is selected instead of any_method. + - Start with the first design, and for each subsequence design assembly plan reuse the primers ordered and fragments PCRed in previous designs, if relevant. Here is a schema of the supply network used: -.. image:: https://raw.githubusercontent.com/brsynth/synbiocad-galaxy-wrappers/master/DNAWeaver/img/image4.png - :width: 30 % - :align: center +.. image:: https://raw.githubusercontent.com/brsynth/synbiocad-galaxy-wrappers/master/tools/dnaweaver/img/image4.png + :width: 30 % + :align: center | The output Excel spreadsheet contains the following sub-sheets: - - construct_parts: the ID and list of part names (in the right order) for each design. - - construct_sequences: the final sequence of the constructs to build. - - part_sequences: the list of each standard part and its sequence (same information as in the input SBOL file). - - fragment_extensions: for each PCR fragment, the standard part and the primers to use - - assembly_plan: for each design, the list of PCR fragments to use. - - errors: list of errors to help troubleshooting assemblies for which no valid assembly plan was found. + - construct_parts: the ID and list of part names (in the right order) for each design. + - construct_sequences: the final sequence of the constructs to build. + - part_sequences: the list of each standard part and its sequence (same information as in the input SBOL file). + - fragment_extensions: for each PCR fragment, the standard part and the primers to use + - assembly_plan: for each design, the list of PCR fragments to use. + - errors: list of errors to help troubleshooting assemblies for which no valid assembly plan was found. + Limitations -------------- - For constructs with repeated parts and other homologies (such as, in the example, the designs with several "Ter" in a row, ), Gibson assembly (and probably LCR assembly too) may create mis-annealed constructs and more clones will need to be picked. This is not taken into account by the script at the moment. This could be fixed by buying custom fragments from a commercial vendor for extreme cases (i.e. by amending the current implementation to forbid Gibson cuts in regions with homologies elsewhere and add a DNA vendor in the supply network). - -Version -------- - -1.0.2 - -Authors -------- - -* **Valentin Zulkower** -* Melchior du Lac - -License -------- - -`MIT <https://raw.githubusercontent.com/Edinburgh-Genome-Foundry/DnaWeaver-online/master/LICENCE.txt>`_ - -References ---------------- - -`DNA Weaver: optimal DNA assembly strategies via supply networks and shortest-path algorithms <https://www.iwbdaconf.org/2019/docs/IWBDA19Proceedings.pdf>`_ - -Acknowledgments ---------------- - -* Thomas Duigou -* Joan Hérisson - ]]></help> + <creator> + <organization name="BioRetroSynth" url="https://github.com/brsynth"/> + </creator> + <citations> + <citation type="bibtex"> + @unpublished{DNAWeaver, + author = {Valentin Zulkower, Melchior Du Lac}, + title = {{DNAWeaver}}, + url = {https://www.iwbdaconf.org/2019/docs/IWBDA19Proceedings.pdf}, + } + </citation> + </citations> </tool>