{ "info": { "author": "Oliver Schwengers", "author_email": "oliver.schwengers@computational.bio.uni-giessen.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Natural Language :: English", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3 :: Only", "Topic :: Scientific/Engineering :: Bio-Informatics" ], "description": "[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-brightgreen.svg)](https://github.com/oschwengers/platon/blob/master/LICENSE)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/cb-platon.svg)\n![GitHub release](https://img.shields.io/github/release/oschwengers/platon.svg)\n![PyPI](https://img.shields.io/pypi/v/cb-platon.svg)\n![PyPI - Status](https://img.shields.io/pypi/status/cb-platon.svg)\n![Conda](https://img.shields.io/conda/v/bioconda/platon.svg)\n![Conda](https://img.shields.io/conda/pn/bioconda/platon.svg)\n\n# Platon: Plasmid contig detection and characterization for short read draft assemblies.\n\n## Contents\n- [Description](#description)\n- [Input/Output](#inputoutput)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Examples](#examples)\n- [Database](#database)\n- [Dependencies](#dependencies)\n- [Citation](#citation)\n\n## Description\nPlaton detects plasmid contigs from bacterial WGS short read assemblies.\nTherefore, Platon computes replicon distribution scores (**RDS**) of marker proteins\nsequences (**MPS**) per contig based on pre-computed protein distribution statistics\nand tests them against specific thresholds. Contigs whose mean RDS does not reach\nthe defined thresholds are comprehensively characterized and finally classified\nby heuristic filters.\n\nPlaton conducts three analysis steps. First, it predicts and searches coding\nsequences against a custom and pre-computed database comprising MPS and RDS.\nThese scores express the measured bias in plasmid/chromosome distributions\nbased on complete NCBI RefSeq genomes and plasmids.\nPlaton then calculates the mean RDS for each contig and either classifies them\nas chromosome if the RDS is below a sensitivity cutoff (95% sensitivity) or as\nplasmid if the RDS is above a specificity cutoff (99.99% specificity).\nThese thresholds have been set based on Monte Carlo simulations of artifical\nsubsequences created from complete RefSeq chromosome and plasmid sequences. In a second\nstep contigs passing the sensitivity filter get comprehensivley characterized.\nHereby, Platon tries to circularize the contig sequences, searches for rRNA,\nreplication, mobilization and conjugation genes as well as incompatibility group\nDNA probes and finally performs a BLAST+ search against the NCBI plasmid database.\nIn a third step, Platon finally classifies all remaining contigs based on an heuristic\napproach, i.e. following a set of heuristic filters.\n\n## Input/Output\n\n### Input\nPlaton accepts draft assemblies in fasta format. If contigs have been assembled with\nSPAdes, Platon is able to extract the coverage information from the contig names.\n\n### Output\nFor each contig classified as plasmid sequence the following columns are printed\nto `STDOUT` as tab separated values:\n- Contig ID\n- Length\n- Coverage\n- \\# ORFs\n- Protein Score\n- Circularity\n- Incompatibility Type(s)\n- \\# Replication Genes\n- \\# Mobilization Genes\n- \\# Conjugation Genes\n- \\# rRNA Genes\n- \\# Plasmid Database Hits\n\nIn addition, Platon writes the following files into the output directory:\n- ``.plasmid.fasta: contigs classified as plasmids or plasmodal origin\n- ``.chromosome.fasta: contigs classified as chromosomal origin\n- ``.tsv: dense information as printed to STDOUT (see above)\n- ``.json: comprehensive results and information on each single plasmid contig.\nAll files are prefixed (``) as the input genome fasta file.\n\n## Installation\nPlaton can be installed/used in 2 different ways.\n\nIn all cases, the custom database must be downloaded which we provide for download:\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3349652.svg)](https://doi.org/10.5281/zenodo.3349652)\n\n\n### GitHub\n1. clone the the repository\n2. download & extract the database\n\nExample:\n```\n$ git clone git@github.com:oschwengers/platon.git\n$ wget https://zenodo.org/record/3349652/files/db.tar.gz\n$ tar -xzf db.tar.gz\n$ rm db.tar.gz\n$ platon/bin/platon --db ./db genome.fasta\n```\n\nInfo: Just move the extracted database directory into the platon directory.\nPlaton will automatically recognise it and thus, the database path doesn't need\nto be specified:\n```\n$ git clone git@github.com:oschwengers/platon.git\n$ wget https://zenodo.org/record/3349652/files/db.tar.gz\n$ tar -xzf db.tar.gz\n$ rm db.tar.gz\n$ mv db/ platon\n$ platon/bin/platon genome.fasta\n```\n\n### Conda\n1. install Platon via Conda\n2. download & extract the database\n\nExample:\n```\n$ conda install -c conda-forge -c bioconda -c defaults platon\n$ wget https://zenodo.org/record/3349652/files/db.tar.gz\n$ tar -xzf db.tar.gz\n$ rm db.tar.gz\n$ platon --db ./db genome.fasta\n```\n\n### Pip\n1. install Platon per pip\n2. download and extract the database\n3. install 3rd party binaries\n\nPlaton/database (1./2.):\n```\n$ pip3 install cb-platon\n$ wget https://zenodo.org/record/3349652/files/db.tar.gz\n$ tar -xzf db.tar.gz\n$ rm db.tar.gz\n$ platon --db ./db genome.fasta\n```\n\n3rd party dependencies on Ubuntu (3.):\n```\n$ sudo apt install ncbi-blast+ prodigal infernal hmmer mummer\n$ wget http://www.bi.cs.titech.ac.jp/ghostz/releases/ghostz-1.0.2.tar.gz\n$ tar -xzf ghostz-1.0.2.tar.gz\n$ cd ghostz-1.0.2/\n$ make\n$ sudo cp ghostz /usr/bin/\n```\nIf there are any issues compiling ghostz, please make sure you have everything\ncorrectly setup, e.g. `$ sudo apt install build-essential`.\n\n## Usage\nUsage:\n```\nusage: platon [-h] [--threads THREADS] [--verbose] [--output OUTPUT]\n [--version]\n \n\nPlasmid contig classification and characterization\n\npositional arguments:\n draft genome in fasta format\n\noptional arguments:\n -h, --help show this help message and exit\n --threads THREADS, -t THREADS\n number of threads to use (default = number of\n available CPUs)\n --verbose, -v print verbose information\n --output OUTPUT, -o OUTPUT\n output directory (default = current working directory)\n --version show program's version number and exit\n```\n\n## Examples\nSimple:\n```\n$ platon genome.fasta\n```\n\nExpert: writing results to `results` directory with verbose output using 8 threads:\n```\n$ platon -db ~/db --output results/ --verbose --threads 8 genome.fasta\n```\n\n## Database\nPlaton depends on a custom database based on MPS, RDS, RefSeq Plasmid database,\nPlasmidFinder db as well as custom HMM models. This database based on\nRefSeq release 95 can be downloaded here:\n(zipped 1.8 Gb, unzipped 2.6 Gb)\n- [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3349652.svg)](https://doi.org/10.5281/zenodo.3349652)\n- [https://zenodo.org/record/3349652/files/db.tar.gz](https://zenodo.org/record/3349652/files/db.tar.gz)\n\n## Dependencies\nPlaton was developed and tested in Python 3.5 and depends on BioPython (>=1.71).\n\nAdditionally, it depends on the following 3rd party executables:\n- Prodigal (2.6.3) \n- Ghostz (1.0.2) \n- Blast+ (2.7.1) \n- MUMmer (4.0.0-beta2) \n- HMMER (3.2.1) \n- INFERNAL (1.1.2) \n\n## Citation\nA manuscript is in preparation... stay tuned!\nTo temporarily cite our work, please transitionally refer to:\n> Schwengers O., Barth P., Falgenhauer L., Hain T., Chakraborty T., Goesmann A. (2019) Platon: Plasmid contig classification and characterization for short read draft assemblies. GitHub https://github.com/oschwengers/platon\n\nAs Platon takes advantage of PlasmidFinder's incompatibility database, please also cite:\n> Carattoli A., Zankari E., Garcia-Fernandez A., Voldby Larsen M., Lund O., Villa L., Aarestrup F.M., Hasman H. (2014) PlasmidFinder and pMLST: in silico detection and typing of plasmids. Antimicrobial Agents and Chemotherapy, https://doi.org/10.1128/AAC.02412-14\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/oschwengers/platon", "keywords": "bioinformatics,plasmids,wgs", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "cb-platon", "package_url": "https://pypi.org/project/cb-platon/", "platform": "", "project_url": "https://pypi.org/project/cb-platon/", "project_urls": { "Bug Reports": "https://github.com/oschwengers/platon/issues", "Homepage": "https://github.com/oschwengers/platon", "Source": "https://github.com/oschwengers/platon" }, "release_url": "https://pypi.org/project/cb-platon/1.1.0/", "requires_dist": [ "biopython (>=1.71)" ], "requires_python": ">=3.5", "summary": "Platon: Plasmid contig classification and characterization", "version": "1.1.0" }, "last_serial": 5624567, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "237185aebf721674ffc16200514a363f", "sha256": "89dfd8c438402a17ce0280817a88bf9794a924fd92ff84a71e33c238c4774eb7" }, "downloads": -1, "filename": "cb-platon-1.0.0.tar.gz", "has_sig": false, "md5_digest": "237185aebf721674ffc16200514a363f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 11477, "upload_time": "2019-06-25T11:54:12", "url": "https://files.pythonhosted.org/packages/55/38/7498120588cfb0a935e3aaac5d36f1beb9e90e1724a3088958471ecef077/cb-platon-1.0.0.tar.gz" } ], "1.0.0rc1": [ { "comment_text": "", "digests": { "md5": "eb25b7bb76a9b77c959bd98780df137c", "sha256": "150d20884229097995db19a40f43d2db5f6559a236e59a895f9fd717e2560043" }, "downloads": -1, "filename": "cb_platon-1.0.0rc1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "eb25b7bb76a9b77c959bd98780df137c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5", "size": 24009, "upload_time": "2019-06-14T12:49:41", "url": "https://files.pythonhosted.org/packages/2e/6e/48b6df190f359c717c6fcdc74707b8d5cae2a4504c01e143fe6d9b4d75e7/cb_platon-1.0.0rc1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0247316f4b017476bf345b92da084a0e", "sha256": "1db01b8f75b07ec01d0b2eb971c9b9c63ff8cc36240f72fa482ba77787b5386e" }, "downloads": -1, "filename": "cb-platon-1.0.0rc1.tar.gz", "has_sig": false, "md5_digest": "0247316f4b017476bf345b92da084a0e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 10888, "upload_time": "2019-06-14T12:49:43", "url": "https://files.pythonhosted.org/packages/9c/e8/03ff51975d1a231870f6a89cb99770d4c041a9e0a0147f23d3931e0f627e/cb-platon-1.0.0rc1.tar.gz" } ], "1.0.0rc2": [ { "comment_text": "", "digests": { "md5": "fb1bbc7ab2f6faa10967442f5413d262", "sha256": "02cc22ea70a3998ee17e9c2dfe8021110fd87e55d0b102f8c25a451b9b4b2cfe" }, "downloads": -1, "filename": "cb-platon-1.0.0rc2.tar.gz", "has_sig": false, "md5_digest": "fb1bbc7ab2f6faa10967442f5413d262", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 11480, "upload_time": "2019-06-25T11:27:30", "url": "https://files.pythonhosted.org/packages/de/f6/c2f7ab7fbd4b39aac8e76cd39149aa80f7807503ca411cd0029f80f1a235/cb-platon-1.0.0rc2.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "48f7172a95073d7fe4b4a5f8bd8f39f6", "sha256": "5502d79c4699d8cfb69e0ada29bfb4a78cf2ded7f17731a19e2c5a6449f64a69" }, "downloads": -1, "filename": "cb_platon-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "48f7172a95073d7fe4b4a5f8bd8f39f6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 25019, "upload_time": "2019-08-02T14:43:54", "url": "https://files.pythonhosted.org/packages/ae/92/70a35f67cc981382c00dd32de90371e3f6ee93a82c2e917b09e69976851a/cb_platon-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "28b917a1b64e2fa7587d9f42ebc701fb", "sha256": "a390511ada3cf786b5af83425c776146eaeac5c02b8123f6cb69cf0f2056802e" }, "downloads": -1, "filename": "cb-platon-1.1.0.tar.gz", "has_sig": false, "md5_digest": "28b917a1b64e2fa7587d9f42ebc701fb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 11957, "upload_time": "2019-08-02T14:43:55", "url": "https://files.pythonhosted.org/packages/76/dd/d78954ac53a500ded3227649c7d31583384c0721139e012a1379a499ac4d/cb-platon-1.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "48f7172a95073d7fe4b4a5f8bd8f39f6", "sha256": "5502d79c4699d8cfb69e0ada29bfb4a78cf2ded7f17731a19e2c5a6449f64a69" }, "downloads": -1, "filename": "cb_platon-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "48f7172a95073d7fe4b4a5f8bd8f39f6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 25019, "upload_time": "2019-08-02T14:43:54", "url": "https://files.pythonhosted.org/packages/ae/92/70a35f67cc981382c00dd32de90371e3f6ee93a82c2e917b09e69976851a/cb_platon-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "28b917a1b64e2fa7587d9f42ebc701fb", "sha256": "a390511ada3cf786b5af83425c776146eaeac5c02b8123f6cb69cf0f2056802e" }, "downloads": -1, "filename": "cb-platon-1.1.0.tar.gz", "has_sig": false, "md5_digest": "28b917a1b64e2fa7587d9f42ebc701fb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 11957, "upload_time": "2019-08-02T14:43:55", "url": "https://files.pythonhosted.org/packages/76/dd/d78954ac53a500ded3227649c7d31583384c0721139e012a1379a499ac4d/cb-platon-1.1.0.tar.gz" } ] }