-
Notifications
You must be signed in to change notification settings - Fork 443
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add new tool dnaweaver v1.0.2 (#4969)
* add new tool dnaweaver v1.0.2 * use mv instead of cp
- Loading branch information
Showing
3 changed files
with
9,055 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
categories: | ||
- Synthetic Biology | ||
description: Given a SBOL input, calculate assembly parts for Gibson or Golden Gate. | ||
homepage_url: https://github.com/Edinburgh-Genome-Foundry/DnaWeaver | ||
long_description: '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.' | ||
name: dnaweaver | ||
owner: iuc | ||
remote_repository_url: https://github.com/galaxyproject/tools-iuc/tree/master/tools/dnaweaver |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,134 @@ | ||
<tool id="dnaweaver" name="DNA Weaver" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.09"> | ||
<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@">dnaweaver_synbiocad</requirement> | ||
</requirements> | ||
<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' | ||
'$method' | ||
--nb_constructs '$adv.max_constructs' | ||
&& mv 'output.xlsx' '$output' | ||
]]></command> | ||
<inputs> | ||
<param name="input" type="data" format="xml" label="Constructs" /> | ||
<param name="method" type="select" label="Assembly method"> | ||
<option value="golden_gate" selected="true">Golden Gate</option> | ||
<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> | ||
</inputs> | ||
<outputs> | ||
<data name="output" format="xlsx" label="DNA Weaver - Assembly Plan" /> | ||
</outputs> | ||
<tests> | ||
<test> | ||
<!-- test 1: check if identical outputs are produced with default parameters --> | ||
<param name="input" value="constructs_lycopene.xml" /> | ||
<output name="output" > | ||
<assert_contents> | ||
<has_size value="77431" delta="100" /> | ||
</assert_contents> | ||
</output> | ||
</test> | ||
</tests> | ||
<help><![CDATA[ | ||
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. | ||
Input | ||
----- | ||
Required: | ||
* **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. | ||
Output | ||
------ | ||
* **Assembly Plan**\ : output Excel spreadsheet | ||
Project Links | ||
--------------------- | ||
* `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. | ||
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 | ||
| | ||
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. | ||
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). | ||
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> | ||
<person givenName="Valentin" familyName="Zulkower" /> | ||
<person givenName="Melchior" familyName="du Lac" /> | ||
</creator> | ||
</tool> |
Oops, something went wrong.