Skip to main content

Gene Cluster prediction with Conditional random fields.

Project description

Hi, I'm GECCO!

🦎 ️Overview

GECCO (Gene Cluster prediction with Conditional Random Fields) is a fast and scalable method for identifying putative novel Biosynthetic Gene Clusters (BGCs) in genomic and metagenomic data using Conditional Random Fields (CRFs).

Actions License Coverage Docs Source Mirror Changelog Issues Preprint PyPI Bioconda Galaxy Versions Wheel

🔧 Installing GECCO

GECCO is implemented in Python, and supports all versions from Python 3.7. It requires additional libraries that can be installed directly from PyPI, the Python Package Index.

Use pip to install GECCO on your machine:

$ pip install gecco

If you'd rather use Conda, a package is available in the bioconda channel. You can install with:

$ conda install -c bioconda gecco

This will install GECCO, its dependencies, and the data needed to run predictions. This requires around 40MB of data to be downloaded, so it could take some time depending on your Internet connection. Once done, you will have a gecco command available in your $PATH.

Since release v0.10.2, GECCO can now run on Windows! This uses the PyHMMER v0.12.0 experimental MinGW-w64 build which supports Windows 10 and later. See the PyHMMER documentation for more information about Windows support.

🧬 Running GECCO

Once gecco is installed, you can run it from the terminal by giving it a FASTA or GenBank file with the genomic sequence you want to analyze, as well as an output directory:

$ gecco run --genome some_genome.fna -o some_output_dir

Additional parameters of interest are:

  • --jobs, which controls the number of threads that will be spawned by GECCO whenever a step can be parallelized. The default, 0, will autodetect the number of CPUs on the machine using os.cpu_count.
  • --cds, controlling the minimum number of consecutive genes a BGC region must have to be detected by GECCO. The default is 3.
  • --threshold, controlling the minimum probability for a gene to be considered part of a BGC region. Using a lower number will increase the number (and possibly length) of predictions, but reduce accuracy. The default of 0.8 was selected to optimize precision/recall on a test set of 364 BGCs from MIBiG 2.0.
  • --cds-feature, which can be supplied a feature name to extract genes if the input file already contains gene annotations instead of predicting genes with Pyrodigal. A common value for records downloaded from GenBank is --cds-feature CDS.

🔎 Results

GECCO will create the following files:

  • {genome}.genes.tsv: The genes file, containing the genes extracted or predicted from the input file, and per-gene BGC probabilities predicted by the CRF.
  • {genome}.features.tsv: The features file, containing the identified domains in the input sequences, in tabular format.
  • {genome}.clusters.tsv: If any were found, a clusters file, containing the coordinates of the predicted clusters along their putative biosynthetic type, in tabular format.
  • {genome}_cluster_{N}.gbk: If any were found, a GenBank file per cluster, containing the cluster sequence annotated with its member proteins and domains.

GECCO can also convert results to other formats that may be more convenient depending on the downstream usage. GECCO can convert results into:

  • GFF3 format so they can be loaded into a genomic viewer (gecco convert clusters --format gff).
  • GenBank files with antiSMASH-style features so they can be loaded into BiG-SLiCE for further analysis (gecco convert gbk --format bigslice).
  • FASTA files with the sequences of all the predicted BGCs (gecco convert gbk --format fna) or with the sequences of all their proteins (gecco convert gbk --format faa).

To get a more visual way of exploring of the predictions, you can open the GenBank files in a genome editing software like UGENE. You can otherwise load the results into an AntiSMASH report: check the Integrations page of the documentation for a step-by-step guide.

🔖 Reference

GECCO can be cited using the following preprint:

Accurate de novo identification of biosynthetic gene clusters with GECCO. Laura M Carroll, Martin Larralde, Jonas Simon Fleck, Ruby Ponnudurai, Alessio Milanese, Elisa Cappio Barazzone, Georg Zeller. bioRxiv 2021.05.03.442509; doi:10.1101/2021.05.03.442509

💭 Feedback

⚠️ Issue Tracker

Found a bug ? Have an enhancement request ? Head over to the GitHub issue tracker 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 for more details.

🤝 Acknowledgments

We thank Maarten van Gompel (@proycon), the author of the homonymous Gecco package (Generic Environment for Context-Aware Correction of Orthography), for allowing us to take ownership of the PyPI package name. The Gecco releases (up to 0.3.0) can still be downloaded from the PyPI project page) of the same name.

⚖️ License

This software is provided under the GNU General Public License v3.0 or later. GECCO is developped by the Zeller Team at the European Molecular Biology Laboratory in Heidelberg.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gecco-0.10.3.tar.gz (1.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gecco-0.10.3-py3-none-any.whl (42.9 MB view details)

Uploaded Python 3

File details

Details for the file gecco-0.10.3.tar.gz.

File metadata

  • Download URL: gecco-0.10.3.tar.gz
  • Upload date:
  • Size: 1.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gecco-0.10.3.tar.gz
Algorithm Hash digest
SHA256 9edcec2c5bd419b75e5035ef4c650365bdc2a53769793447df41688091137e97
MD5 bb921286abeacd84a690a270cfef7187
BLAKE2b-256 8b5fc3f10898c7c2360491ed7d905e97fc6eb34d271b07971cd2abbf99bbea2e

See more details on using hashes here.

Provenance

The following attestation bundles were made for gecco-0.10.3.tar.gz:

Publisher: package.yml on zellerlab/GECCO

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gecco-0.10.3-py3-none-any.whl.

File metadata

  • Download URL: gecco-0.10.3-py3-none-any.whl
  • Upload date:
  • Size: 42.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gecco-0.10.3-py3-none-any.whl
Algorithm Hash digest
SHA256 823c231119fe52d5ea9f27fc7b61af9e2cfb77cc5e2716350bf36825e7bc6933
MD5 e4a89301d890012780f24cf0dafc738d
BLAKE2b-256 8caaf1b7b8e9cfbffeef8f6a7eadfeea7981d24d3b6aa9f157e78a7bc39a617d

See more details on using hashes here.

Provenance

The following attestation bundles were made for gecco-0.10.3-py3-none-any.whl:

Publisher: package.yml on zellerlab/GECCO

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page