Skip to main content

Functional ANnoTAtion based on embedding space SImilArity

Project description

FANTASIA Logo

PyPI - Version Documentation Status Linting Status

FANTASIA

Functional ANnoTAtion based on embedding space SImilArity

FANTASIA is an advanced pipeline for the automatic functional annotation of protein sequences using state-of-the-art protein language models. It integrates deep learning embeddings and in-memory similarity searches, retrieving reference vectors from a PostgreSQL database with pgvector, to associate Gene Ontology (GO) terms with proteins.

For full documentation, visit FANTASIA Documentation.

⚠️ Important Notice (v3.0.0):

In previous versions of FANTASIA, all input sequences were automatically truncated at 512 amino acids, regardless of model capacity.
This may have negatively affected the accuracy of functional annotation for long proteins by generating incomplete embeddings.

Starting from version 3.0.0, this limitation has been removed. The updated pipeline now processes the full sequence length supported by each model, resulting in more accurate and biologically meaningful representations.

🔄 We strongly recommend updating to FANTASIA v3.0.0.

💬 For questions or issues, please contact the CBBIO group.

Key Features

  • ✅ Available Embedding Models
    Supports protein language models: ProtT5, ProstT5, ESM2 and Ankh for sequence representation.

  • 🔍 Redundancy Filtering
    Filters out homologous sequences using MMseqs2 in the lookup table, allowing controlled redundancy levels through an adjustable threshold, ensuring reliable benchmarking and evaluation.

  • 💾 Optimized Data Storage
    Embeddings are stored in HDF5 format for input sequences. The reference table, however, is hosted in a public relational PostgreSQL database using pgvector.

  • 🚀 Efficient Similarity Lookup
    Performs high-speed searches using in-memory computations. Reference vectors are retrieved from a PostgreSQL database with pgvector for comparison.

  • 🔬 Functional Annotation by Similarity
    Assigns Gene Ontology (GO) terms to proteins based on embedding space similarity, using pre-trained embeddings.

Pipeline Overview (Simplified)

  1. Embedding Generation
    Computes protein embeddings using deep learning models (ProtT5, ProstT5, ESM2 and Ankh).

  2. GO Term Lookup
    Performs vector similarity searches using in-memory computations to assign Gene Ontology terms. Reference embeddings are retrieved from a PostgreSQL database with pgvector. Only experimental evidence codes are used for transfer.

Acknowledgments

FANTASIA is the result of a collaborative effort between Ana Rojas’ Lab (CBBIO) (Andalusian Center for Developmental Biology, CSIC) and Rosa Fernández’s Lab (Metazoa Phylogenomics Lab, Institute of Evolutionary Biology, CSIC-UPF). This project demonstrates the synergy between research teams with diverse expertise.

This version of FANTASIA builds upon previous work from:

  • Metazoa Phylogenomics Lab's FANTASIA
    The original implementation of FANTASIA for functional annotation.

  • bio_embeddings
    A state-of-the-art framework for generating protein sequence embeddings.

  • GoPredSim
    A similarity-based approach for Gene Ontology annotation.

  • protein-information-system
    Serves as the reference biological information system, providing a robust data model and curated datasets for protein structural and functional analysis.

We also extend our gratitude to LifeHUB-CSIC for inspiring this initiative and fostering innovation in computational biology.

Citing FANTASIA

If you use FANTASIA in your research, please cite the following publications:

  1. Martínez-Redondo, G. I., Barrios, I., Vázquez-Valls, M., Rojas, A. M., & Fernández, R. (2024).
    Illuminating the functional landscape of the dark proteome across the Animal Tree of Life.
    DOI: 10.1101/2024.02.28.582465

  2. Barrios-Núñez, I., Martínez-Redondo, G. I., Medina-Burgos, P., Cases, I., Fernández, R., & Rojas, A. M. (2024).
    Decoding proteome functional information in model organisms using protein language models.
    DOI: 10.1101/2024.02.14.580341


👥 Project Team

🔧 Technical Team

  • Francisco Miguel Pérez Canales: fmpercan@upo.es
    Author of the system’s engineering and technical implementation
  • Francisco J. Ruiz Mota: fraruimot@alum.us.es
    Junior developer

🧬 Scientific Team & Original Authors of FANTASIA v1


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

fantasia-3.0.0.tar.gz (29.2 kB view details)

Uploaded Source

Built Distribution

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

fantasia-3.0.0-py3-none-any.whl (30.5 kB view details)

Uploaded Python 3

File details

Details for the file fantasia-3.0.0.tar.gz.

File metadata

  • Download URL: fantasia-3.0.0.tar.gz
  • Upload date:
  • Size: 29.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.0 CPython/3.12.11 Linux/6.8.0-1031-azure

File hashes

Hashes for fantasia-3.0.0.tar.gz
Algorithm Hash digest
SHA256 06b969a47726b1990a65c77d7993521f5219166cb3000f6b793bb8ebfd4166c8
MD5 37266c5b3b803749e922593fd40df097
BLAKE2b-256 13a874bf7407c002dc37409315caa36424ecec153c500da4c35a34297e733bb8

See more details on using hashes here.

File details

Details for the file fantasia-3.0.0-py3-none-any.whl.

File metadata

  • Download URL: fantasia-3.0.0-py3-none-any.whl
  • Upload date:
  • Size: 30.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.0 CPython/3.12.11 Linux/6.8.0-1031-azure

File hashes

Hashes for fantasia-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 605432172a9d11a2247c15216aab115deaeba836f3b94ae035ee2bcbcff0671b
MD5 a2d20bf0c2ffd798882c248b7752d7ff
BLAKE2b-256 1223ab78167b71f02c86cd8af0726ed0e0dada687574e8a9b34fee16e7d7ad35

See more details on using hashes here.

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