{ "info": { "author": "Angelo Gaeta, Giovanni Stracquadanio", "author_email": "a.gaeta@sms.ed.ac.uk", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.7", "Topic :: Scientific/Engineering :: Bio-Informatics" ], "description": "# MOODA: Multi-Objective Optimization for DNA sequence Design and Assembly\n\nCurrent version: 0.7.3-dev\n\n![build](http://drone.stracquadaniolab.org/api/badges/stracquadaniolab/mooda/status.svg)\n![platform](https://anaconda.org/stracquadaniolab/mooda/badges/platforms.svg)\n![anaconda](https://anaconda.org/stracquadaniolab/mooda/badges/version.svg)\n\n\nMOODA is a multi-objective optimisation algorithm for sequence Design and Assembly.\n\nIt takes as input an annotated sequence in GenBank format, and optimize it with respect to user-specified objectives.\n\nCurrently, some of the most common common operations in synthetic biology are implemented:\n\n- The\u00a0**GC content\u00a0operator** reduces the difference between the GC content of a sequence and the GC content set as the target. It introduces silent mutation inside CDSs, to increase or decrease the GC content.\n\n- The\u00a0**Codon usage**\u00a0operator allows the recoding of CDSs according to the specified codon distribution. At each iteration, a specified number of codons is replaced by synonymous\n\n- The\u00a0**Block Join**\u00a0and\u00a0**Block split**\u00a0operators allow the division of the sequence into blocks, given a minimum and maximum size. After the optimisation, each block is then adapted to the selected assembly method. Currently, only Gibson assembly is supported.\n\nNew operators, objective functions or assembly method can be integrated into the algorithm as python sub-classes.\n\n\n\n## Installation\n\nThe easiest and fastest way to install `mooda` using `conda`:\n\n $ conda install -c stracquadaniolab -c bioconda -c conda-forge mooda\n\nAlternatively, you can install\u00a0`mooda` through\u00a0`pip`:\n\n $ pip install mooda\n\nPlease note, that\u00a0pip\u00a0will not install non Python requirements.\n\n## Getting started\n\nA typical\u00a0`mooda` analysis consists of 3 steps:\n\n1. Select a DNA sequence in Genbank format.\n\n2. Write a MOODA configuration file. A .yaml file defining operators, objective functions, assemblies strategy and their parameters, this is how a MOODA configuration file looks like:\n\n```\n Algorithm :\n\n operators :\n mooda.operator.SplitBlockOperator :\n min_block_size : 200\n max_block_size : 2000\n step_size : 50\n\n mooda.operator.JoinBlockOperator :\n min_block_size : 200\n max_block_size : 2000\n junction_size : 40\n step_size : 50\n\n mooda.operator.GCOptimizationOperator :\n codon_GC_table: \"e_coli_codon_usage.yaml\"\n target_gc : 50\n step_size : 0.05\n\n\n mooda.operator.CodonUsageOperator :\n step_size : 0.05\n codon_usage_table : \"e_coli_codon_usage.yaml\"\n\n objective_functions :\n\n mooda.objective_function.GCContentObjective :\n target_gc : 50\n junction_size : 40\n\n mooda.objective_function.BlockVarianceObjective:\n junction_size : 40\n\n mooda.objective_function.BlockNumberObjective:\n\n mooda.objective_function.CodonUsageObjective :\n codon_usage_table:\"e_coli_codon_usage.yaml\"\n\n assemblies :\n mooda.assembly.Gibson:\n junction_size : 40\n```\n\n3. Run MOODA.\n\n\n### Example\nTest data are provided in `test/mooda_test.zip`.\n\nYou can run `mooda`\u00a0on the test data as follows:\n\n\n $ mooda -ag mo -i seq_5_5.gb -c gc_codonusage_blockvariance_blocknumber.yaml -p 10 -it 20 -a 100 -mns 200 -mxs 2000 -bss 50 -js 40 -dir mooda_results_dir -gf True\n\n**-ag**\u00a0Algorithm to run can be either mo for Multi-Objective, either mc for Monte Carlo, mo is suggested for long sequences, Monte Carlo for small sequences and codon usage optimization. Default=mo.\n\n**-i**\u00a0Input DNA sequence to process.\n\n**-c**\u00a0Configuration file to set MOODA operators, objective functions and their parameters.\n\n**-p** Pool size. The\u00a0-p\u00a0parameter should increase with the sequence size. It improves solution quality, however the computing time increase as well.\n\n**-it**\u00a0Number of iterations. The\u00a0-it\u00a0parameter should increase with the sequence size. It improves solution quality more than\u00a0-p\u00a0parameter, however the computing time increase as well\u00a0\n\n**-a**\u00a0Archive size, amount of non-dominated solutions to store at each algorithm iteration, allow to use smaller values for\u00a0the pool size.\n\n**-mns**\u00a0Sequence block minimum size.\n\n**-mxs**\u00a0Sequence block maximum size.\n\n**-bss**\u00a0Sequence block step size, define the minimum variance between block lengths. Default: 50.\n\n**-js**\u00a0Sequence block assembly overlap size, define the amount of overlap between sequence blocks. Default: 40.\n\n**-dir**\u00a0Output directory for MOODA results.\n\n**-gf**\u00a0Allow the writing of FASTA and GenBank files, related to MOODA solution if set as True. Default=False.\n\n## Authors\n\n- Angelo Gaeta, a.gaeta@sms.ed.ac.uk\n- Giovanni Stracquadanio, giovanni.stracquadanio@ed.ac.uk\n\n## Citation\n\nDesign and assembly of DNA molecules using multi-objective optimisation.\nAngelo Gaeta, Valentin Zulkower and Giovanni Stracquadanio.\nbioRxiv XX; doi: XX\n\n## Issues\nPlease post an issue to report a bug or request new features.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/stracquadaniolab/mooda", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "mooda-dna", "package_url": "https://pypi.org/project/mooda-dna/", "platform": "", "project_url": "https://pypi.org/project/mooda-dna/", "project_urls": { "Homepage": "https://github.com/stracquadaniolab/mooda" }, "release_url": "https://pypi.org/project/mooda-dna/0.7.3.dev0/", "requires_dist": [ "biopython (==1.73)", "numpy (==1.16.2)", "pandas (==0.24.2)", "PyYAML (==5.1)", "proglog" ], "requires_python": "", "summary": "A Multi-Objective algorithm for DNA Design and Assembly", "version": "0.7.3.dev0" }, "last_serial": 5793177, "releases": { "0.6.3.dev0": [ { "comment_text": "", "digests": { "md5": "c449b96ed26b1754bedc1ca7ef44eba2", "sha256": "61c3f0c825ee996cd1ed6c20b573930f332dc675059dd4883a8a420817940037" }, "downloads": -1, "filename": "mooda_dna-0.6.3.dev0-py3-none-any.whl", "has_sig": false, "md5_digest": "c449b96ed26b1754bedc1ca7ef44eba2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21124, "upload_time": "2019-09-06T16:34:10", "url": "https://files.pythonhosted.org/packages/88/7e/a1d4897bc521c18ed5b9b3b33a033879188ac9fb11f9a0c293f41e0070ae/mooda_dna-0.6.3.dev0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "31ab0fcf5beb787ed875de5eef35c22b", "sha256": "f87db543b999cd22fd8385bcf01eb37f9698c8e3a596fba3ec7aea4209897062" }, "downloads": -1, "filename": "mooda-dna-0.6.3.dev0.tar.gz", "has_sig": false, "md5_digest": "31ab0fcf5beb787ed875de5eef35c22b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15836, "upload_time": "2019-09-06T16:34:12", "url": "https://files.pythonhosted.org/packages/6c/60/d263ab24a8987667cae73e41fd744cfd92c4661f11d26edeae67543f98bf/mooda-dna-0.6.3.dev0.tar.gz" } ], "0.7.0.dev0": [ { "comment_text": "", "digests": { "md5": "d985cec6bdc6ba217d69448f4328c0ed", "sha256": "4f18fe590048679787b9a7f0fa2b3a3d7f2e912a7e5b1be8cb25aa02732bce7d" }, "downloads": -1, "filename": "mooda_dna-0.7.0.dev0-py3-none-any.whl", "has_sig": false, "md5_digest": "d985cec6bdc6ba217d69448f4328c0ed", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21123, "upload_time": "2019-09-06T16:37:45", "url": "https://files.pythonhosted.org/packages/7f/79/22cab8881d72498eceb2ea3592491416b9de4b4b36255c20177b2e5d4e0a/mooda_dna-0.7.0.dev0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0cde775d769ad73e6d416894570daba0", "sha256": "55b419ae838d95d944300a1c58d5d2cbf4b7dab7dcdeddb8ca015aa3219199b7" }, "downloads": -1, "filename": "mooda-dna-0.7.0.dev0.tar.gz", "has_sig": false, "md5_digest": "0cde775d769ad73e6d416894570daba0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15842, "upload_time": "2019-09-06T16:37:46", "url": "https://files.pythonhosted.org/packages/cf/a6/d8e0fc31aec44b651966e02112fa54887dd733a2a75bad26e7d8f6a12f30/mooda-dna-0.7.0.dev0.tar.gz" } ], "0.7.1.dev0": [ { "comment_text": "", "digests": { "md5": "e5a7ac35710e16ddd601d10064393e34", "sha256": "5a6fad335f845a6008905917b8338e97f193ed292b44cb7fa57a18fd90baaf28" }, "downloads": -1, "filename": "mooda_dna-0.7.1.dev0-py3-none-any.whl", "has_sig": false, "md5_digest": "e5a7ac35710e16ddd601d10064393e34", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21123, "upload_time": "2019-09-06T16:44:08", "url": "https://files.pythonhosted.org/packages/8c/f1/c97f0da10c6d40b23c7e6a22d7200584e5b6e3783956feaaad21fbb9993a/mooda_dna-0.7.1.dev0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4b54ccfb0e712569d693b71e72f532c0", "sha256": "9768db7ec244cb0a50a7609f9b7ed5cc651461952720a3f89f1fa8a9178d54a0" }, "downloads": -1, "filename": "mooda-dna-0.7.1.dev0.tar.gz", "has_sig": false, "md5_digest": "4b54ccfb0e712569d693b71e72f532c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15839, "upload_time": "2019-09-06T16:44:09", "url": "https://files.pythonhosted.org/packages/49/23/bd4f904ad347933748a7de6bdc178d16a9447af04519bda58da85d552d56/mooda-dna-0.7.1.dev0.tar.gz" } ], "0.7.2.dev0": [ { "comment_text": "", "digests": { "md5": "6dd3aeec805af866573d3bd7f0d4003d", "sha256": "32621cd822e00610486e4f2ccac236e0592b099687df79118213d2822a41ef99" }, "downloads": -1, "filename": "mooda_dna-0.7.2.dev0-py3-none-any.whl", "has_sig": false, "md5_digest": "6dd3aeec805af866573d3bd7f0d4003d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21124, "upload_time": "2019-09-06T16:50:49", "url": "https://files.pythonhosted.org/packages/77/e8/aedaf01c77e2c7417465b2abbcb81528d563fbab19fdadffdddbd88c2f00/mooda_dna-0.7.2.dev0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "34bbfa6fa41cae3a64f607669cf1831b", "sha256": "240427982e22aac90187c64ffc5822dde3fb5ec33846949e80acc7f5789c560d" }, "downloads": -1, "filename": "mooda-dna-0.7.2.dev0.tar.gz", "has_sig": false, "md5_digest": "34bbfa6fa41cae3a64f607669cf1831b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15839, "upload_time": "2019-09-06T16:50:50", "url": "https://files.pythonhosted.org/packages/89/6e/bf0527ebe9bc1d505da36cb00752c0e0d89957bcea564c713fbe21531769/mooda-dna-0.7.2.dev0.tar.gz" } ], "0.7.3.dev0": [ { "comment_text": "", "digests": { "md5": "052ed1766ebbfc877cb9a55cbc472fbf", "sha256": "d576bcb0fce9cc6338982b80c4cd80af805e0fa7e5f35f9f43f1d94a536ff410" }, "downloads": -1, "filename": "mooda_dna-0.7.3.dev0-py3-none-any.whl", "has_sig": false, "md5_digest": "052ed1766ebbfc877cb9a55cbc472fbf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21125, "upload_time": "2019-09-06T17:02:35", "url": "https://files.pythonhosted.org/packages/ed/0a/c8339fd2f9992f0e745798af2bcee8b7c8851a163c1e37b9eb8894a020c4/mooda_dna-0.7.3.dev0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e87b4cee8d98de5403a4c0006bc08ddc", "sha256": "3259464961373f8a1713d0e5ce6d6011bfa80e35ce59c9ffbed07ef377cbb581" }, "downloads": -1, "filename": "mooda-dna-0.7.3.dev0.tar.gz", "has_sig": false, "md5_digest": "e87b4cee8d98de5403a4c0006bc08ddc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15835, "upload_time": "2019-09-06T17:02:37", "url": "https://files.pythonhosted.org/packages/59/b5/f1acca9d2a303dc0848b929f6ca7b87f0c89ca6a2625edd5009a5e144621/mooda-dna-0.7.3.dev0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "052ed1766ebbfc877cb9a55cbc472fbf", "sha256": "d576bcb0fce9cc6338982b80c4cd80af805e0fa7e5f35f9f43f1d94a536ff410" }, "downloads": -1, "filename": "mooda_dna-0.7.3.dev0-py3-none-any.whl", "has_sig": false, "md5_digest": "052ed1766ebbfc877cb9a55cbc472fbf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21125, "upload_time": "2019-09-06T17:02:35", "url": "https://files.pythonhosted.org/packages/ed/0a/c8339fd2f9992f0e745798af2bcee8b7c8851a163c1e37b9eb8894a020c4/mooda_dna-0.7.3.dev0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e87b4cee8d98de5403a4c0006bc08ddc", "sha256": "3259464961373f8a1713d0e5ce6d6011bfa80e35ce59c9ffbed07ef377cbb581" }, "downloads": -1, "filename": "mooda-dna-0.7.3.dev0.tar.gz", "has_sig": false, "md5_digest": "e87b4cee8d98de5403a4c0006bc08ddc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15835, "upload_time": "2019-09-06T17:02:37", "url": "https://files.pythonhosted.org/packages/59/b5/f1acca9d2a303dc0848b929f6ca7b87f0c89ca6a2625edd5009a5e144621/mooda-dna-0.7.3.dev0.tar.gz" } ] }