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.

Note that GECCO uses HMMER3, which can only run on PowerPC and recent x86-64 machines running a POSIX operating system. Therefore, GECCO will work on Linux and OSX, but not on Windows.

🧬 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.2.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.2-py3-none-any.whl (42.9 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gecco-0.10.2.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.2.tar.gz
Algorithm Hash digest
SHA256 013ec1e6e22be03ab3427ec6a46f33ede3c2eec1d0f82341e8fbaec2a3676fe8
MD5 314e8d23e68114e31db4443abc29cf1a
BLAKE2b-256 6ccffa87a5ca0572065bc7f37b459938357311585e1ee42039adb85930193cc0

See more details on using hashes here.

Provenance

The following attestation bundles were made for gecco-0.10.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: gecco-0.10.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 24bdf965bc7c21440bcab8786c9b16ad334d050e9abc3cbed87b258c6f3ed39b
MD5 5f7823a4f9c204802dbd5a7bbbbcd7d5
BLAKE2b-256 9f1347fbe7a1c2b38d8084fc76543f9486c2b881bb9b18a568cfac51420be30d

See more details on using hashes here.

Provenance

The following attestation bundles were made for gecco-0.10.2-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