\n\n.. image:: https://travis-ci.org/Edinburgh-Genome-Foundry/DnaWeaver.svg?branch=master\n :target: https://travis-ci.org/Edinburgh-Genome-Foundry/DnaWeaver\n :alt: Travis CI build status\n\n.. image:: https://coveralls.io/repos/github/Edinburgh-Genome-Foundry/DnaWeaver/badge.svg?branch=master\n :target: https://coveralls.io/github/Edinburgh-Genome-Foundry/DnaWeaver?branch=master\n\n\n(documentation in progress, come back later !)\n\nDnaWeaver is a Python library to find optimal strategies to assemble large\nsynthetic DNA fragments.\n\nA DNA assembly problem is defined by the sequence to be assembled, and a supply\nnetwork of DNA sources (such as commercial offers, parts libraries, or assembly\nstations) which produce or assemble sub-fragments of DNA.\n\nGiven such a problem, DnaWeaver produces [a report](example) describing an\noptimized assembly plan: what sub-fragments should be ordered, what sub-fragments\nshould be obtained from an existing construct/genome, what cloning methods\nshould be used for each assembly step, etc.\n\nDnaWeaver was written with versatility and extensibility in mind:\neach DNA source and assembly method can be customized, and assembly plans can\nbe optimized with respect to total price, overall duration of the assembly,\nor assembly success probabilities.\n\nDnaWeaver can also export the result as interactive widgets for web applications, and\nas JSON for automated assembly platforms.\n\nExample of use\n---------------\n\nIn the following example we compute an assembly plan for a 10000bp sequence,\nwhere the sub-fragments can be ordered from two companies:\n\n- **CheapDNA** produces fragments for 10c/bp, at the condition that they do not\n contain any BsaI site (GGTCTC) and that they are under 4000bp in size.\n- **DeluxeDNA** produces any fragment under 3000bp for 20c/bp.\n\nFragments are assembled using Gibson Assembly with 40bp overlap between segments.\n\nHere is the Python code to solve the problem with DnaWeaver:\n\n.. code:: python\n\n import dnaweaver as dw\n\n cheap_dna_offer = dw.CommercialDnaOffer(\n name=\"CheapDNA.com\",\n sequence_constraints=[\n dw.NoPatternConstraint(enzyme=\"BsaI\"),\n dw.SequenceLengthConstraint(max_length=4000)\n ],\n pricing=dw.PerBasepairPricing(0.10),\n )\n\n deluxe_dna_offer = dw.CommercialDnaOffer(\n name=\"DeluxeDNA.com\",\n sequence_constraints=[dw.SequenceLengthConstraint(max_length=3000)],\n pricing=dw.PerBasepairPricing(0.20),\n )\n\n assembly_station = dw.DnaAssemblyStation(\n name=\"Gibson Assembly Station\",\n assembly_method=dw.GibsonAssemblyMethod(\n overhang_selector=dw.TmOverhangSelector(min_tm=55, max_tm=70),\n min_segment_length=500,\n max_segment_length=4000\n ),\n dna_source=[cheap_dna_offer, deluxe_dna_offer],\n logger='bar',\n coarse_grain=20,\n fine_grain=1\n )\n\n sequence = dw.random_dna_sequence(10000, seed=123)\n quote = assembly_station.get_quote(sequence, with_assembly_plan=True)\n\n print (quote.assembly_step_summary())\n\nResult:\n\n.. code:: bash\n\n Ordering plan:\n (0, 2005): From CheapDNA.com, price 202.50, lead_time 10.0\n (2005, 4020): From CheapDNA.com, price 205.50, lead_time 10.0\n (4020, 6025): From DeluxeDNA.com, price 409.00, lead_time 5.0\n (6025, 10000): From CheapDNA.com, price 399.50, lead_time 10.0\n\n\nSee the examples section for more complete examples involving different sources,\nmultiple assembly methods, and complex biological constraints.\n\n\nInstallation\n-------------\n\nYou can install DnaWeaver through PIP\n::\n sudo pip install dnaweaver\n\nAlternatively, you can unzip the sources in a folder and type\n::\n sudo python setup.py install\n\nAlso install the ncbi-blast+ package. On Ubuntu:\n\n::\n sudo apt-get install ncbi-blast+\n\nReports generation needs more dependencies. Install Python dependencies with\n\n::\n sudo pip install pandas dna_features_viewer weasyprint\n\nInstall non-python dependencies as follows on Ubuntu:\n::\n sudo apt-get installbuild-essential python3-dev python3-pip \\\n python3-cffi libcairo2 libpango-1.0-0 libpangocairo-1.0-0 \\\n libgdk-pixbuf2.0-0 libffi-dev shared-mime-info\n\nLicense = MIT\n--------------\n\nDnaChisel is an open-source software originally written at the `Edinburgh Genome Foundry\n`_ by `Zulko `_\nand `released on Github `_ under the MIT licence (\u00a2 Edinburg Genome Foundry).\n\nEveryone is welcome to contribute !\n",
"description_content_type": "",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "",
"keywords": "DNA optimization assembly ordering synthetic biology",
"license": "MIT",
"maintainer": "",
"maintainer_email": "",
"name": "DnaWeaver",
"package_url": "https://pypi.org/project/DnaWeaver/",
"platform": "",
"project_url": "https://pypi.org/project/DnaWeaver/",
"project_urls": null,
"release_url": "https://pypi.org/project/DnaWeaver/0.2.0/",
"requires_dist": null,
"requires_python": "",
"summary": "Make ordering and assembly plans for DNA sequences",
"version": "0.2.0"
},
"last_serial": 5249803,
"releases": {
"0.2.0": [
{
"comment_text": "",
"digests": {
"md5": "9570560ac2ba1828e9be221a0d357244",
"sha256": "65908660719e5b7f0283af4e6e2f173e6bc9e0c77b9fd55a47f229220cf0ac25"
},
"downloads": -1,
"filename": "DnaWeaver-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "9570560ac2ba1828e9be221a0d357244",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 320524,
"upload_time": "2019-05-09T22:43:34",
"url": "https://files.pythonhosted.org/packages/e4/c0/fb1976517a7af870bba9539d853ccabb7520319191912a9cad23b5eaae01/DnaWeaver-0.2.0.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "9570560ac2ba1828e9be221a0d357244",
"sha256": "65908660719e5b7f0283af4e6e2f173e6bc9e0c77b9fd55a47f229220cf0ac25"
},
"downloads": -1,
"filename": "DnaWeaver-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "9570560ac2ba1828e9be221a0d357244",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 320524,
"upload_time": "2019-05-09T22:43:34",
"url": "https://files.pythonhosted.org/packages/e4/c0/fb1976517a7af870bba9539d853ccabb7520319191912a9cad23b5eaae01/DnaWeaver-0.2.0.tar.gz"
}
]
}