# 🔥🦠 Pyrodigal-gv [![Stars](https://img.shields.io/github/stars/althonos/pyrodigal-gv.svg?style=social&maxAge=3600&label=Star)](https://github.com/althonos/pyrodigal-gv/stargazers)
*A [Pyrodigal](https://github.com/althonos/pyrodigal) extension to predict genes in giant viruses and viruses with alternative genetic code.*
[![Actions](https://img.shields.io/github/actions/workflow/status/althonos/pyrodigal-gv/test.yml?branch=main&logo=github&style=flat-square&maxAge=300)](https://github.com/althonos/pyrodigal-gv/actions)
[![Coverage](https://img.shields.io/codecov/c/gh/althonos/pyrodigal-gv?style=flat-square&maxAge=3600&logo=codecov)](https://codecov.io/gh/althonos/pyrodigal-gv/)
[![License](https://img.shields.io/badge/license-GPLv3-blue.svg?style=flat-square&maxAge=2678400)](https://choosealicense.com/licenses/gpl-3.0/)
[![PyPI](https://img.shields.io/pypi/v/pyrodigal-gv.svg?style=flat-square&maxAge=3600&logo=PyPI)](https://pypi.org/project/pyrodigal-gv)
[![Bioconda](https://img.shields.io/conda/vn/bioconda/pyrodigal-gv?style=flat-square&maxAge=3600&logo=anaconda)](https://anaconda.org/bioconda/pyrodigal-gv)
[![AUR](https://img.shields.io/aur/version/python-pyrodigal-gv?logo=archlinux&style=flat-square&maxAge=3600)](https://aur.archlinux.org/packages/python-pyrodigal-gv)
[![Wheel](https://img.shields.io/pypi/wheel/pyrodigal.svg?style=flat-square&maxAge=3600)](https://pypi.org/project/pyrodigal-gv/#files)
[![Python Versions](https://img.shields.io/pypi/pyversions/pyrodigal-gv.svg?style=flat-square&maxAge=600&logo=python)](https://pypi.org/project/pyrodigal/#files)
[![Python Implementations](https://img.shields.io/pypi/implementation/pyrodigal-gv.svg?style=flat-square&maxAge=600&label=impl)](https://pypi.org/project/pyrodigal-gv/#files)
[![Source](https://img.shields.io/badge/source-GitHub-303030.svg?maxAge=2678400&style=flat-square)](https://github.com/althonos/pyrodigal-gv/)
[![GitHub issues](https://img.shields.io/github/issues/althonos/pyrodigal-gv.svg?style=flat-square&maxAge=600)](https://github.com/althonos/pyrodigal-gv/issues)
[![Changelog](https://img.shields.io/badge/keep%20a-changelog-8A0707.svg?maxAge=2678400&style=flat-square)](https://github.com/althonos/pyrodigal-gv/blob/main/CHANGELOG.md)
[![Downloads](https://img.shields.io/pypi/dm/pyrodigal-gv?style=flat-square&color=303f9f&maxAge=86400&label=downloads)](https://pepy.tech/project/pyrodigal-gv)
## 🗺️ Overview
[Pyrodigal](https://github.com/althonos/pyrodigal) is a Python module that provides
[Cython](https://cython.org/) bindings to [Prodigal](https://github.com/hyattpd/Prodigal/),
an efficient gene finding method for genomes and metagenomes based on dynamic programming.
`pyrodigal-gv` is a small extension module for `pyrodigal` which distributes
additional metagenomic models for giant viruses and viruses that use
alternative genetic codes, first provided by [Antônio Camargo](https://github.com/apcamargo)
in [`prodigal-gv`](https://github.com/apcamargo/prodigal-gv). The new models
are the following:
* Acanthamoeba polyphaga mimivirus
* Paramecium bursaria Chlorella virus
* Acanthocystis turfacea Chlorella virus
* [VirSorter2](https://github.com/jiarong/VirSorter2)'s NCLDV gene model
* [Topaz](https://www.biorxiv.org/content/10.1101/2021.08.26.457843v1.full) (genetic code 15)
* [Agate](https://www.biorxiv.org/content/10.1101/2021.08.26.457843v1.full) (genetic code 15)
* Gut phages (genetic code 15)
* Gut phages (genetic code 11) × 5
## 🔧 Installing
`pyrodigal-gv` can be installed directly from [PyPI](https://pypi.org/project/pyrodigal/)
as a universal wheel that contains all required data files:
```console
$ pip install pyrodigal-gv
```
<!--
Otherwise, `pyrodigal-gv` is also available as a [Bioconda](https://bioconda.github.io/)
package:
```console
$ conda install -c bioconda pyrodigal-gv
``` -->
## 💡 Example
Just use the provided `ViralGeneFinder` class instead of the usual `GeneFinder`
from `pyrodigal`, and the new viral models will be used automatically in
*meta* mode:
```python
import Bio.SeqIO
import pyrodigal_gv
record = Bio.SeqIO.read("sequence.gbk", "genbank")
orf_finder = pyrodigal_gv.ViralGeneFinder(meta=True)
for i, pred in enumerate(orf_finder.find_genes(bytes(record.seq))):
print(f">{record.id}_{i+1}")
print(pred.translate())
```
`ViralGeneFinder` has an additional keyword argument, `viral_only`, which can
be set to `True` to run gene calling using only viral models.
## 🔨 Command line
`pyrodigal-gv` comes with a very simple command line similar to Prodigal and `pyrodigal`:
```console
$ pyrodigal-gv -i <input_file.fasta> -a <gene_translations.fasta> -d <gene_sequences.fasta>
```
*Contrary to `prodigal` and `pyrodigal`, the `pyrodigal-gv` script runs in **meta** mode
by default! Running in **single** mode can be done with `pyrodigal-gv -p single` but
the results will be exactly the same as `pyrodigal`, so why would you ever do this ⁉️*
## 🔖 Citation
If you use the features provided by `pyrodigal-gv` beyond the base Pyrodigal functionality, please cite the original manuscript detailing these extensions:
> Camargo, A. P., Roux, S., Schulz, F., Babinski, M., Xu, Y., Hu, B., ... and Kyrpides, N. C. (2023). [Identification of mobile genetic elements with geNomad](https://doi.org/10.1038/s41587-023-01953-y). Nature Biotechnology, *1-10*.
Pyrodigal is scientific software, with a
[published paper](https://doi.org/10.21105/joss.04296)
in the [Journal of Open-Source Software](https://joss.theoj.org/). Please
cite both [Pyrodigal](https://doi.org/10.21105/joss.04296)
and [Prodigal](https://doi.org/10.1186/1471-2105-11-119) if you are using it in
an academic work, for instance as:
> Pyrodigal (Larralde, 2022), a Python library binding to Prodigal (Hyatt *et al.*, 2010).
Detailed references are available on the [Publications page](https://pyrodigal.readthedocs.io/en/stable/publications.html) of the
[online documentation](https://pyrodigal.readthedocs.io/).
## 💭 Feedback
### ⚠️ Issue Tracker
Found a bug ? Have an enhancement request ? Head over to the [GitHub issue
tracker](https://github.com/althonos/pyrodigal-gv/issues) if you need to report
or ask something. If you are filing in on a bug, please include as much
information as you can about the issue, and try to recreate the same bug
in a simple, easily reproducible situation.
### 🏗️ Contributing
Contributions are more than welcome! See
[`CONTRIBUTING.md`](https://github.com/althonos/pyrodigal-gv/blob/main/CONTRIBUTING.md)
for more details.
## 📋 Changelog
This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html)
and provides a [changelog](https://github.com/althonos/pyrodigal-gv/blob/main/CHANGELOG.md)
in the [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) format.
## ⚖️ License
This library is provided under the [GNU General Public License v3.0](https://choosealicense.com/licenses/gpl-3.0/).
The Prodigal code was written by [Doug Hyatt](https://github.com/hyattpd) and is distributed under the
terms of the GPLv3 as well. See `vendor/Prodigal/LICENSE` for more information.
The giant virus and alternative genetic code virus parameters were created
by [Antônio Camargo](https://github.com/apcamargo).
*This project is in no way not affiliated, sponsored, or otherwise endorsed
by the [original Prodigal authors](https://github.com/hyattpd). It was developed
by [Martin Larralde](https://github.com/althonos/) during his PhD project
at the [European Molecular Biology Laboratory](https://www.embl.de/) in
the [Zeller team](https://github.com/zellerlab).*
Raw data
{
"_id": null,
"home_page": "https://github.com/althonos/pyrodigal-gv",
"name": "pyrodigal-gv",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "bioinformatics, genome, orf, gene, prodigal",
"author": "Martin Larralde",
"author_email": "martin.larralde@embl.de",
"download_url": "https://files.pythonhosted.org/packages/39/7a/07567d680f418f8fc42ff7ce38752f312fd622744755afc11fa21555d265/pyrodigal_gv-0.3.2.tar.gz",
"platform": "any",
"description": "# \ud83d\udd25\ud83e\udda0 Pyrodigal-gv [![Stars](https://img.shields.io/github/stars/althonos/pyrodigal-gv.svg?style=social&maxAge=3600&label=Star)](https://github.com/althonos/pyrodigal-gv/stargazers)\n\n*A [Pyrodigal](https://github.com/althonos/pyrodigal) extension to predict genes in giant viruses and viruses with alternative genetic code.*\n\n[![Actions](https://img.shields.io/github/actions/workflow/status/althonos/pyrodigal-gv/test.yml?branch=main&logo=github&style=flat-square&maxAge=300)](https://github.com/althonos/pyrodigal-gv/actions)\n[![Coverage](https://img.shields.io/codecov/c/gh/althonos/pyrodigal-gv?style=flat-square&maxAge=3600&logo=codecov)](https://codecov.io/gh/althonos/pyrodigal-gv/)\n[![License](https://img.shields.io/badge/license-GPLv3-blue.svg?style=flat-square&maxAge=2678400)](https://choosealicense.com/licenses/gpl-3.0/)\n[![PyPI](https://img.shields.io/pypi/v/pyrodigal-gv.svg?style=flat-square&maxAge=3600&logo=PyPI)](https://pypi.org/project/pyrodigal-gv)\n[![Bioconda](https://img.shields.io/conda/vn/bioconda/pyrodigal-gv?style=flat-square&maxAge=3600&logo=anaconda)](https://anaconda.org/bioconda/pyrodigal-gv)\n[![AUR](https://img.shields.io/aur/version/python-pyrodigal-gv?logo=archlinux&style=flat-square&maxAge=3600)](https://aur.archlinux.org/packages/python-pyrodigal-gv)\n[![Wheel](https://img.shields.io/pypi/wheel/pyrodigal.svg?style=flat-square&maxAge=3600)](https://pypi.org/project/pyrodigal-gv/#files)\n[![Python Versions](https://img.shields.io/pypi/pyversions/pyrodigal-gv.svg?style=flat-square&maxAge=600&logo=python)](https://pypi.org/project/pyrodigal/#files)\n[![Python Implementations](https://img.shields.io/pypi/implementation/pyrodigal-gv.svg?style=flat-square&maxAge=600&label=impl)](https://pypi.org/project/pyrodigal-gv/#files)\n[![Source](https://img.shields.io/badge/source-GitHub-303030.svg?maxAge=2678400&style=flat-square)](https://github.com/althonos/pyrodigal-gv/)\n[![GitHub issues](https://img.shields.io/github/issues/althonos/pyrodigal-gv.svg?style=flat-square&maxAge=600)](https://github.com/althonos/pyrodigal-gv/issues)\n[![Changelog](https://img.shields.io/badge/keep%20a-changelog-8A0707.svg?maxAge=2678400&style=flat-square)](https://github.com/althonos/pyrodigal-gv/blob/main/CHANGELOG.md)\n[![Downloads](https://img.shields.io/pypi/dm/pyrodigal-gv?style=flat-square&color=303f9f&maxAge=86400&label=downloads)](https://pepy.tech/project/pyrodigal-gv)\n\n\n## \ud83d\uddfa\ufe0f Overview\n\n[Pyrodigal](https://github.com/althonos/pyrodigal) is a Python module that provides \n[Cython](https://cython.org/) bindings to [Prodigal](https://github.com/hyattpd/Prodigal/), \nan efficient gene finding method for genomes and metagenomes based on dynamic programming.\n\n`pyrodigal-gv` is a small extension module for `pyrodigal` which distributes\nadditional metagenomic models for giant viruses and viruses that use\nalternative genetic codes, first provided by [Ant\u00f4nio Camargo](https://github.com/apcamargo)\nin [`prodigal-gv`](https://github.com/apcamargo/prodigal-gv). The new models\nare the following:\n\n* Acanthamoeba polyphaga mimivirus\n* Paramecium bursaria Chlorella virus\n* Acanthocystis turfacea Chlorella virus\n* [VirSorter2](https://github.com/jiarong/VirSorter2)'s NCLDV gene model\n* [Topaz](https://www.biorxiv.org/content/10.1101/2021.08.26.457843v1.full) (genetic code 15)\n* [Agate](https://www.biorxiv.org/content/10.1101/2021.08.26.457843v1.full) (genetic code 15)\n* Gut phages (genetic code 15)\n* Gut phages (genetic code 11) \u00d7 5\n\n## \ud83d\udd27 Installing\n\n`pyrodigal-gv` can be installed directly from [PyPI](https://pypi.org/project/pyrodigal/)\nas a universal wheel that contains all required data files:\n```console\n$ pip install pyrodigal-gv\n```\n\n<!--\nOtherwise, `pyrodigal-gv` is also available as a [Bioconda](https://bioconda.github.io/)\npackage:\n```console\n$ conda install -c bioconda pyrodigal-gv\n``` -->\n\n## \ud83d\udca1 Example\n\nJust use the provided `ViralGeneFinder` class instead of the usual `GeneFinder`\nfrom `pyrodigal`, and the new viral models will be used automatically in\n*meta* mode:\n\n```python\nimport Bio.SeqIO\nimport pyrodigal_gv\n\nrecord = Bio.SeqIO.read(\"sequence.gbk\", \"genbank\")\n\norf_finder = pyrodigal_gv.ViralGeneFinder(meta=True)\nfor i, pred in enumerate(orf_finder.find_genes(bytes(record.seq))):\n print(f\">{record.id}_{i+1}\")\n print(pred.translate())\n```\n\n`ViralGeneFinder` has an additional keyword argument, `viral_only`, which can\nbe set to `True` to run gene calling using only viral models.\n\n## \ud83d\udd28 Command line\n\n`pyrodigal-gv` comes with a very simple command line similar to Prodigal and `pyrodigal`:\n```console\n$ pyrodigal-gv -i <input_file.fasta> -a <gene_translations.fasta> -d <gene_sequences.fasta>\n```\n\n*Contrary to `prodigal` and `pyrodigal`, the `pyrodigal-gv` script runs in **meta** mode\nby default! Running in **single** mode can be done with `pyrodigal-gv -p single` but \nthe results will be exactly the same as `pyrodigal`, so why would you ever do this \u2049\ufe0f*\n\n\n## \ud83d\udd16 Citation\n\nIf you use the features provided by `pyrodigal-gv` beyond the base Pyrodigal functionality, please cite the original manuscript detailing these extensions:\n\n> Camargo, A. P., Roux, S., Schulz, F., Babinski, M., Xu, Y., Hu, B., ... and Kyrpides, N. C. (2023). [Identification of mobile genetic elements with geNomad](https://doi.org/10.1038/s41587-023-01953-y). Nature Biotechnology, *1-10*.\n\nPyrodigal is scientific software, with a\n[published paper](https://doi.org/10.21105/joss.04296)\nin the [Journal of Open-Source Software](https://joss.theoj.org/). Please\ncite both [Pyrodigal](https://doi.org/10.21105/joss.04296)\nand [Prodigal](https://doi.org/10.1186/1471-2105-11-119) if you are using it in\nan academic work, for instance as:\n\n> Pyrodigal (Larralde, 2022), a Python library binding to Prodigal (Hyatt *et al.*, 2010).\n\nDetailed references are available on the [Publications page](https://pyrodigal.readthedocs.io/en/stable/publications.html) of the\n[online documentation](https://pyrodigal.readthedocs.io/).\n\n\n## \ud83d\udcad Feedback\n\n### \u26a0\ufe0f Issue Tracker\n\nFound a bug ? Have an enhancement request ? Head over to the [GitHub issue\ntracker](https://github.com/althonos/pyrodigal-gv/issues) if you need to report\nor ask something. If you are filing in on a bug, please include as much\ninformation as you can about the issue, and try to recreate the same bug\nin a simple, easily reproducible situation.\n\n### \ud83c\udfd7\ufe0f Contributing\n\nContributions are more than welcome! See\n[`CONTRIBUTING.md`](https://github.com/althonos/pyrodigal-gv/blob/main/CONTRIBUTING.md)\nfor more details.\n\n## \ud83d\udccb Changelog\n\nThis project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html)\nand provides a [changelog](https://github.com/althonos/pyrodigal-gv/blob/main/CHANGELOG.md)\nin the [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) format.\n\n\n## \u2696\ufe0f License\n\nThis library is provided under the [GNU General Public License v3.0](https://choosealicense.com/licenses/gpl-3.0/).\nThe Prodigal code was written by [Doug Hyatt](https://github.com/hyattpd) and is distributed under the\nterms of the GPLv3 as well. See `vendor/Prodigal/LICENSE` for more information.\nThe giant virus and alternative genetic code virus parameters were created\nby [Ant\u00f4nio Camargo](https://github.com/apcamargo).\n\n*This project is in no way not affiliated, sponsored, or otherwise endorsed\nby the [original Prodigal authors](https://github.com/hyattpd). It was developed\nby [Martin Larralde](https://github.com/althonos/) during his PhD project\nat the [European Molecular Biology Laboratory](https://www.embl.de/) in\nthe [Zeller team](https://github.com/zellerlab).*\n",
"bugtrack_url": null,
"license": "GPL-3.0-only",
"summary": "A Pyrodigal extension to predict genes in giant viruses and viruses with alternative genetic code.",
"version": "0.3.2",
"project_urls": {
"Bug Tracker": "https://github.com/althonos/pyrodigal-gv/issues",
"Builds": "https://github.com/althonos/pyrodigal-gv/actions",
"Changelog": "https://github.com/althonos/pyrodigal-gv/blob/master/CHANGELOG.md",
"Coverage": "https://codecov.io/gh/althonos/pyrodigal-gv/",
"Homepage": "https://github.com/althonos/pyrodigal-gv",
"PyPI": "https://pypi.org/project/pyrodigal-gv"
},
"split_keywords": [
"bioinformatics",
" genome",
" orf",
" gene",
" prodigal"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d68fe78b92bc836a7b50a3497ee655983561dec4ac2df06136f0c55e59a00144",
"md5": "6e9b72261c867eb07c186293551492a3",
"sha256": "cd6d922d7495ff853a7385ef8abe68498113c177a5ded3d07f93c28b8c990120"
},
"downloads": -1,
"filename": "pyrodigal_gv-0.3.2-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "6e9b72261c867eb07c186293551492a3",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.6",
"size": 849921,
"upload_time": "2024-08-15T14:43:41",
"upload_time_iso_8601": "2024-08-15T14:43:41.176850Z",
"url": "https://files.pythonhosted.org/packages/d6/8f/e78b92bc836a7b50a3497ee655983561dec4ac2df06136f0c55e59a00144/pyrodigal_gv-0.3.2-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "397a07567d680f418f8fc42ff7ce38752f312fd622744755afc11fa21555d265",
"md5": "383df36967a594f8ccffc97c520ee784",
"sha256": "aeeff43daec2c4aec7830ae2400799aa90bf273bcca86656ef239bee8d7e5ea5"
},
"downloads": -1,
"filename": "pyrodigal_gv-0.3.2.tar.gz",
"has_sig": false,
"md5_digest": "383df36967a594f8ccffc97c520ee784",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 851457,
"upload_time": "2024-08-15T14:43:43",
"upload_time_iso_8601": "2024-08-15T14:43:43.076564Z",
"url": "https://files.pythonhosted.org/packages/39/7a/07567d680f418f8fc42ff7ce38752f312fd622744755afc11fa21555d265/pyrodigal_gv-0.3.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-15 14:43:43",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "althonos",
"github_project": "pyrodigal-gv",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pyrodigal-gv"
}