From 0e5b775194643d8555e1db1432e47fdfe35153f7 Mon Sep 17 00:00:00 2001 From: xaxi Date: Tue, 7 Jan 2025 09:26:19 +0100 Subject: [PATCH 1/3] Migration to isolated repository --- Dockerfile | 25 ++ FANTASIA/README.md | 78 +++++ .../__init__.py | 0 FANTASIA/config.yaml | 43 +++ FANTASIA/constants.yaml | 16 + FANTASIA/embedder.py | 237 +++++++++++++++ FANTASIA/initialize.py | 102 +++++++ FANTASIA/lookup.py | 274 ++++++++++++++++++ FANTASIA/main.py | 138 +++++++++ README.md | 10 +- docker-compose.yml | 32 ++ docs/source/conf.py | 4 +- pyproject.toml | 3 +- python_poetry_template/maths/__init__.py | 0 python_poetry_template/maths/functions.py | 17 -- tests/test_template.py | 2 +- 16 files changed, 955 insertions(+), 26 deletions(-) create mode 100644 Dockerfile create mode 100644 FANTASIA/README.md rename {python_poetry_template => FANTASIA}/__init__.py (100%) create mode 100644 FANTASIA/config.yaml create mode 100644 FANTASIA/constants.yaml create mode 100644 FANTASIA/embedder.py create mode 100644 FANTASIA/initialize.py create mode 100644 FANTASIA/lookup.py create mode 100644 FANTASIA/main.py create mode 100644 docker-compose.yml delete mode 100644 python_poetry_template/maths/__init__.py delete mode 100644 python_poetry_template/maths/functions.py diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..a6290dd --- /dev/null +++ b/Dockerfile @@ -0,0 +1,25 @@ +# Usa la imagen más reciente de NVIDIA CUDA con Ubuntu 22.04 +FROM nvidia/cuda:12.3.0-runtime-ubuntu22.04 + +# Establece el directorio de trabajo + +RUN apt-get update && apt-get install -y \ + python3 \ + python3-pip \ + && rm -rf /var/lib/apt/lists/* + + +RUN pip3 install --upgrade pip +RUN pip3 install protein-metamorphisms-is + +RUN apt-get update && apt-get install -y cd-hit +RUN apt-get update && apt-get install -y postgresql-client + + +COPY . /app +WORKDIR /app + + + +# Configura el comando predeterminado para ejecutar tu paquete +CMD ["python3", "-m", "FANTASIA.initialize"] diff --git a/FANTASIA/README.md b/FANTASIA/README.md new file mode 100644 index 0000000..88d199e --- /dev/null +++ b/FANTASIA/README.md @@ -0,0 +1,78 @@ + +--- + +# FANTASIA + +![FANTASIA Logo](img/FANTASIA_logo.png) + +FANTASIA (Functional ANnoTAtion based on embedding space SImilArity) is a pipeline for annotating Gene Ontology (GO) terms for protein sequences using advanced protein language models like **ProtT5**, **ProstT5**, and **ESM2**. This system automates complex workflows, from sequence processing to functional annotation, providing a scalable and efficient solution for protein structure and functionality analysis. + +--- + +## Key Features + +- **Redundancy Filtering**: Removes identical sequences with **CD-HIT** and optionally excludes sequences based on length constraints. +- **Embedding Generation**: Utilizes state-of-the-art models for protein sequence embeddings. +- **GO Term Lookup**: Matches embeddings with a vector database to retrieve associated GO terms. +- **Results**: Outputs annotations in timestamped CSV files for reproducibility. + +--- + +## Installation + +To install FANTASIA, ensure you have Python 3.8+ installed and use the following commands: + +```bash +pip install protein-metamorphisms-is +``` + +--- + +## Quick Start + +### Prerequisites + +Ensure the **Information System** is properly configured before running FANTASIA. Detailed instructions are available in the [project documentation](../../../README.md). + +### Running the Pipeline + +Execute the following command, specifying the path to the configuration file: + +```bash +python main.py --config +``` + +### Pipeline Overview + +1. **Redundancy Filtering**: Removes identical sequences and optionally filters sequences based on length. +2. **Embedding Generation**: Computes embeddings for sequences using supported models and stores them in HDF5 format. +3. **GO Term Lookup**: Queries a vector database to find and annotate similar proteins. +4. **Output**: Saves annotations in a structured CSV file. + +--- + +## Documentation + +For complete details on pipeline configuration, parameters, and deployment, visit the [FANTASIA Documentation](https://protein-metamorphisms-is.readthedocs.io/en/latest/pipelines/fantasia.html). + +--- + +## Citation + +If you use FANTASIA in your work, please cite the following: + +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. + https://doi.org/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. + https://doi.org/10.1101/2024.02.14.580341. + +--- + +## Contact Information + +- Francisco Miguel Pérez Canales: fmpercan@upo.es +- Gemma I. Martínez-Redondo: gemma.martinez@ibe.upf-csic.es +- Ana M. Rojas: a.rojas.m@csic.es +- Rosa Fernández: rosa.fernandez@ibe.upf-csic.es + diff --git a/python_poetry_template/__init__.py b/FANTASIA/__init__.py similarity index 100% rename from python_poetry_template/__init__.py rename to FANTASIA/__init__.py diff --git a/FANTASIA/config.yaml b/FANTASIA/config.yaml new file mode 100644 index 0000000..7299f96 --- /dev/null +++ b/FANTASIA/config.yaml @@ -0,0 +1,43 @@ +#System +max_workers: 3 # Embedding search parallelism over PGVector seems broken (Auto set to 1 for that proccess). + +# DB CONFIGURATION +DB_USERNAME: usuario +DB_PASSWORD: clave +DB_HOST: localhost +DB_PORT: 5432 +DB_NAME: BioData + +rabbitmq_host: localhost +rabbitmq_user: guest +rabbitmq_password: guest + +# Execution +embeddings_url: "https://zenodo.org/records/14546346/files/embeddings.tar?download=1" +embeddings_path: ~/fantasia/dumps/ + + +# FANTASIA +fantasia_input_fasta: ~/fantasia/input/zinc.fasta +fantasia_output_h5: ~/fantasia/embeddings/ +fantasia_output_csv: ~/fantasia/results/ +fantasia_prefix: finger_zinc +max_distance: 1.1 +length_filter: 5000 +redundancy_filter: 0.65 +redundancy_file: ~/fantasia/redundancy/output.fasta + +topgo?: True + +embedding: + types: + - 1 # ESM + - 2 # Prost + - 3 # Prot + batch_size: 50 # Queue + + embedding_batch_size: 10 # Model input size + +constants: "./constants.yaml" + + diff --git a/FANTASIA/constants.yaml b/FANTASIA/constants.yaml new file mode 100644 index 0000000..ef1ef4e --- /dev/null +++ b/FANTASIA/constants.yaml @@ -0,0 +1,16 @@ + +sequence_embedding_types: + - name: "ESM" + description: "Evolutionary Scale Modeling (ESM) embeddings are designed to capture the evolutionary information of protein sequences, utilizing deep learning to generate representations that enhance sequence analysis and prediction tasks." + task_name: "esm" + model_name: facebook/esm2_t6_8M_UR50D + - name: "Prost-T5" + description: "Prot-T5 embeddings leverage the capabilities of the T5 (Text-to-Text Transfer Transformer) model adapted for protein sequences, offering advanced sequence representation by considering both local and global sequence features." + task_name: prost_t5 + model_name: Rostlab/ProstT5 + - name: "Prot-T5" + description: "Prot-T5 embeddings leverage the capabilities of the T5 (Text-to-Text Transfer Transformer) model adapted for protein sequences, offering advanced sequence representation by considering both local and global sequence features." + task_name: prot_t5 + model_name: Rostlab/prot_t5_xl_uniref50 + + diff --git a/FANTASIA/embedder.py b/FANTASIA/embedder.py new file mode 100644 index 0000000..66f9976 --- /dev/null +++ b/FANTASIA/embedder.py @@ -0,0 +1,237 @@ +""" +Sequence Embedding Module +========================= + +This module contains the `SequenceEmbedder` class, which processes protein sequences to generate embeddings +using protein language models, applies optional filters (like length and redundancy), and stores the embeddings +in HDF5 format. + +Background +---------- + +This module includes functionalities inspired by: + +- **BioEmbeddings**: Techniques for embedding generation and model handling are adapted from the + BioEmbeddings framework. For more details, visit https://docs.bioembeddings.com. + +Custom enhancements allow for efficient batch processing and integration with CD-HIT for redundancy filtering. + +""" + +import os +import traceback +import shutil + +from Bio import SeqIO + +import h5py + +from protein_metamorphisms_is.operation.embedding.sequence_embedding import SequenceEmbeddingManager + + +class SequenceEmbedder(SequenceEmbeddingManager): + """ + Processes protein sequences to compute embeddings and store them in HDF5 format. + + Parameters + ---------- + conf : dict + Configuration dictionary containing parameters for embedding generation. + current_date : str + A timestamp used to generate unique output file names. + + Attributes + ---------- + fasta_path : str + Path to the input FASTA file containing protein sequences. + output_csv : str + Path to store the embedding results in CSV format. + output_h5 : str + Path to store the embeddings in HDF5 format. + batch_size : int + Number of sequences to process per batch. + length_filter : int or None + Optional filter to exclude sequences longer than the specified length. + """ + + def __init__(self, conf, current_date): + """ + Initializes the SequenceEmbedder with configuration and output paths. + + Parameters + ---------- + conf : dict + The configuration dictionary containing paths and parameters. + current_date : str + The timestamp to uniquely identify output files. + """ + super().__init__(conf) + self.current_date = current_date + self.reference_attribute = 'sequence_embedder_from_fasta' + self.model_instances = {} + self.tokenizer_instances = {} + self.base_module_path = 'protein_metamorphisms_is.operation.embedding.proccess.sequence' + self.fetch_models_info() + self.batch_size = self.conf['embedding'].get('batch_size', 40) # Add batch size configuration + self.fasta_path = conf.get('fantasia_input_fasta') + self.output_csv = conf.get("fantasia_output_csv") + self.length_filter = conf.get('length_filter', None) + self.output_h5 = os.path.join( + conf.get("fantasia_output_h5"), + f"{conf.get('fantasia_prefix', 'default')}_embeddings_{self.current_date}.h5" + ) + + self.results = [] + + def enqueue(self): + """ + Reads the input FASTA file, applies optional redundancy and length filters, + and prepares batches of sequences for embedding generation. + + Steps: + + - Runs CD-HIT for redundancy filtering if configured. + - Splits sequences into batches based on batch size. + - Publishes tasks for embedding computation. + + Raises + ------ + Exception + If there is an error during the enqueue process. + """ + try: + self.logger.info("Starting embedding enqueue process.") + sequences = [] + + # Determinar el archivo FASTA de entrada dependiendo del filtro de redundancia + input_fasta = self.fasta_path + if self.conf.get('redundancy_filter'): + self.logger.info("Running CD-HIT for redundancy filtering.") + + if shutil.which("cd-hit") is None: + raise EnvironmentError("CD-HIT is not installed or not found in the PATH.") + + os.system( + f"cd-hit -i {self.fasta_path} -o {self.conf.get('redundancy_file')} -c {self.conf.get('redundancy_filter')}" + ) + input_fasta = self.conf.get('redundancy_file') # Usar el archivo generado por CD-HIT + + # Leer las secuencias del archivo FASTA (filtradas o no) + for record in SeqIO.parse(os.path.expanduser(input_fasta), "fasta"): + if self.length_filter and len(record.seq) > self.length_filter: + continue + sequences.append(record) + + # Dividir en lotes + sequence_batches = [sequences[i:i + self.batch_size] for i in range(0, len(sequences), self.batch_size)] + + for batch in sequence_batches: + model_batches = {} + for sequence in batch: + for type in self.types.values(): + if type['id'] in self.conf['embedding']['types']: + task_data = { + 'sequence': str(sequence.seq), + 'accession': sequence.id, + 'model_name': type['model_name'], + 'embedding_type_id': type['id'] + } + + if type['id'] not in model_batches: + model_batches[type['id']] = [] + model_batches[type['id']].append(task_data) + + for model_type, batch_data in model_batches.items(): + self.publish_task(batch_data, model_type) + self.logger.info( + f"Published batch with {len(batch_data)} sequences to model type {model_type}.") + + except Exception as e: + self.logger.error(f"Error during enqueue process: {e}") + raise + + def process(self, task_data): + """ + Processes a batch of sequences to compute embeddings using the specified model and tokenizer. + + Parameters + ---------- + task_data : list of dict + A list of dictionaries containing sequence information and embedding parameters. + + Returns + ------- + list of dict + A list of embedding records with metadata, including accession ID and embedding type. + + Raises + ------ + Exception + If an error occurs during the embedding process. + """ + try: + results = [] + for data in task_data: + embedding_type_id = data['embedding_type_id'] + model = self.model_instances[embedding_type_id] + tokenizer = self.tokenizer_instances[embedding_type_id] + module = self.types[embedding_type_id]['module'] + + # Prepare input for embedding_task + sequence_info = [{ + 'sequence': data['sequence'], + 'sequence_id': data['accession'] # Propagating accession as sequence_id + }] + + embedding_records = module.embedding_task(sequence_info, model, tokenizer, + embedding_type_id=embedding_type_id) + + for record in embedding_records: + record['embedding_type_id'] = embedding_type_id + record['accession'] = data['accession'] # Propagar el accession + results.append(record) + return results + except Exception as e: + self.logger.error(f"Error during embedding process: {e}\n{traceback.format_exc()}") + raise + + def store_entry(self, results): + """ + Stores the computed embeddings in an HDF5 file. + + Parameters + ---------- + results : list of dict + A list of embedding records, each containing metadata and embedding data. + + Raises + ------ + Exception + If an error occurs during file storage. + """ + try: + output_dir = os.path.dirname(self.output_h5) + if not os.path.exists(output_dir): + os.makedirs(output_dir) + self.logger.info(f"Created directory: {output_dir}") + + with h5py.File(os.path.expanduser(self.output_h5), "a") as h5file: + for record in results: + accession = record['accession'] + embedding_type_id = record['embedding_type_id'] + + accession_group = h5file.require_group(f"accession_{accession}") + + type_group = accession_group.require_group(f"type_{embedding_type_id}") + + if "embedding" in type_group: + self.logger.warning( + f"Embedding for type {embedding_type_id} already exists in accession {accession}. Skipping.") + continue + + type_group.create_dataset("embedding", data=record['embedding']) + type_group.attrs['shape'] = record['shape'] + self.logger.info(f"Stored embedding for accession {accession}, type {embedding_type_id}.") + except Exception as e: + self.logger.error(f"Error storing results in HDF5: {e}") + raise diff --git a/FANTASIA/initialize.py b/FANTASIA/initialize.py new file mode 100644 index 0000000..fae7530 --- /dev/null +++ b/FANTASIA/initialize.py @@ -0,0 +1,102 @@ +import os +import requests +import subprocess +from tqdm import tqdm + +def download_embeddings(url, tar_path): + """ + Download the embeddings TAR file from the given URL with a progress bar. + + Parameters + ---------- + url : str + The URL to download the embeddings from. + tar_path : str + Path where the TAR file will be saved. + """ + if os.path.exists(tar_path): + print("Embeddings file already exists. Skipping download.") + return + + print("Downloading embeddings...") + response = requests.get(url, stream=True) + if response.status_code == 200: + total_size = int(response.headers.get('content-length', 0)) + with open(tar_path, "wb") as f, tqdm( + desc="Downloading", + total=total_size, + unit="B", + unit_scale=True, + unit_divisor=1024, + ) as progress_bar: + for chunk in response.iter_content(chunk_size=8192): + f.write(chunk) + progress_bar.update(len(chunk)) + print(f"Embeddings downloaded successfully to {tar_path}.") + else: + raise Exception(f"Failed to download embeddings. Status code: {response.status_code}") + + +import subprocess + +def load_dump_to_db(dump_path, db_config): + """ + Load a database backup file (in TAR format) into the database. + + Parameters + ---------- + dump_path : str + Path to the database backup TAR file. + db_config : dict + Database configuration dictionary containing host, port, user, password, and db name. + """ + print("Loading dump into the database...") + command = [ + "pg_restore", + "--verbose", + "-U", db_config["DB_USERNAME"], + "-h", db_config["DB_HOST"], + "-p", str(db_config["DB_PORT"]), + "-d", db_config["DB_NAME"], + dump_path + ] + + print("Executing:", " ".join(command)) + try: + # Use Popen to handle password input via stdin + process = subprocess.Popen( + command, + stdin=subprocess.PIPE, # Allow sending input to the process + stdout=subprocess.PIPE, # Capture standard output + stderr=subprocess.PIPE, # Capture standard error + text=True # Ensure strings instead of bytes + ) + # Send the password followed by a newline + stdout, stderr = process.communicate(input=f"{db_config['DB_PASSWORD']}\n") + + if process.returncode == 0: + print("Database dump loaded successfully.") + else: + print(f"Error while loading dump: {stderr}") + except Exception as e: + print(f"An unexpected error occurred: {e}") + + + + +if __name__ == "__main__": + import yaml + + # Read configuration + with open("./FANTASIA/config.yaml", "r") as config_file: + conf = yaml.safe_load(config_file) + + embeddings_dir = os.path.expanduser(conf["embeddings_path"]) + os.makedirs(embeddings_dir, exist_ok=True) + tar_path = os.path.join(embeddings_dir, "embeddings.tar") + + # Step 1: Download embeddings + download_embeddings(conf["embeddings_url"], tar_path) + + # Step 2: Load dump into database + load_dump_to_db(tar_path, conf) diff --git a/FANTASIA/lookup.py b/FANTASIA/lookup.py new file mode 100644 index 0000000..87d4448 --- /dev/null +++ b/FANTASIA/lookup.py @@ -0,0 +1,274 @@ +""" +Embedding LookUp Module +======================= + +This module contains the `EmbeddingLookUp` class, which handles querying embeddings stored in HDF5 format, +calculating distances to identify similar proteins, and storing the resulting GO terms in CSV format. + +Background +---------- + +This module integrates functionalities inspired by: + +- **GoPredSim**: The GO term similarity and distance-based lookup functionalities are adapted from GoPredSim + (https://github.com/Rostlab/goPredSim). + +Additionally, customizations have been made to ensure seamless integration with +the vectorial database and HDF5-based embedding storage used in this pipeline. + +""" + +import os + +import pandas as pd +from sqlalchemy import text +import h5py + +from protein_metamorphisms_is.sql.model.entities.embedding.sequence_embedding import SequenceEmbeddingType +from protein_metamorphisms_is.tasks.queue import QueueTaskInitializer + + +class EmbeddingLookUp(QueueTaskInitializer): + """ + A class to process embeddings from an HDF5 file, query GO terms based on similarity, + and store results in a CSV file. + + Parameters + ---------- + conf : dict + Configuration dictionary containing paths and thresholds for processing. + current_date : str + A timestamp used for generating unique output file names. + + Attributes + ---------- + h5_path : str + Path to the input HDF5 file containing embeddings. + output_csv : str + Path to store the resulting GO terms in CSV format. + max_distance : float + Maximum allowed distance for similarity-based GO term retrieval. + """ + + def __init__(self, conf, current_date): + """ + Initializes the EmbeddingLookUp class with configuration settings and output paths. + + Parameters + ---------- + conf : dict + The configuration dictionary containing paths and parameters. + current_date : str + The timestamp used to uniquely identify output files. + """ + super().__init__(conf) + self.current_date = current_date + self.logger.info("EmbeddingLookUp initialized") + self.h5_path = os.path.join( + conf.get("fantasia_output_h5"), + f"{conf.get('fantasia_prefix', 'default')}_embeddings_{self.current_date}.h5" + ) + self.output_csv = os.path.join( + conf.get("fantasia_output_csv"), + f"{conf.get('fantasia_prefix', 'default')}_results_{self.current_date}.csv" + ) + self.max_distance = conf.get('max_distance', 3) # Distancia máxima permitida para el cálculo + self.fetch_models_info() + + def fetch_models_info(self): + """ + Retrieves and initializes embedding models based on configuration. + + Queries the `SequenceEmbeddingType` table to fetch available embedding models. + Modules are dynamically imported and stored in the `types` attribute. + """ + self.session_init() + embedding_types = self.session.query(SequenceEmbeddingType).all() + self.session.close() + self.types = {} + + for type_obj in embedding_types: + if type_obj.id in self.conf['embedding']['types']: + self.types[type_obj.id] = { + 'model_name': type_obj.model_name, + 'id': type_obj.id, + 'task_name': type_obj.task_name, + } + + def enqueue(self): + """ + Reads embeddings from an HDF5 file and enqueues tasks for processing. + + Raises + ------ + Exception + If any error occurs while reading the HDF5 file or publishing tasks. + """ + try: + self.logger.info(f"Reading embeddings from HDF5: {self.h5_path}") + + tasks = [] + with h5py.File(os.path.expanduser(self.h5_path), "r") as h5file: + for accession, accession_group in h5file.items(): + for embedding_type, type_group in accession_group.items(): + # Verificar si el dataset 'embedding' existe + if 'embedding' in type_group: + embedding = type_group['embedding'][:] # Leer el dataset como array + embedding_type_id = int(embedding_type.split('_')[1]) # Extraer el ID del tipo + + task_data = { + 'accession': accession, + 'embedding': embedding, + 'embedding_type_id': embedding_type_id + } + tasks.append(task_data) + self.logger.info( + f"Enqueued task for accession {accession} and embedding type {embedding_type_id}") + else: + self.logger.warning(f"Dataset 'embedding' not found in {embedding_type}") + + for task in tasks: + self.publish_task(task) + + self.logger.info(f"Enqueued {len(tasks)} tasks based on HDF5 embeddings.") + + except Exception as e: + self.logger.error(f"Error enqueuing tasks from HDF5: {e}") + raise + + def process(self, task_data): + """ + Processes a single task by querying GO terms based on embedding similarity. + + Parameters + ---------- + task_data : dict + Dictionary containing the embedding, accession ID, and embedding type ID. + + Returns + ------- + list of dict + A list of dictionaries containing GO term results and metadata. + + Raises + ------ + Exception + If any error occurs during the query execution. + """ + try: + accession = task_data['accession'].removeprefix('accession_') + embedding_type_id = int(task_data['embedding_type_id']) # Convertir a tipo nativo de Python + embedding = task_data['embedding'] + + # Convertir el vector NumPy a una lista de Python y formatear como cadena para pgvector + vector_string = "[" + ",".join(f"{float(v):.8f}" for v in embedding) + "]" + + # Construir la consulta SQL con el vector embebido + query = text(""" + WITH target_embedding AS ( + SELECT :vector_string ::vector AS embedding + ) + SELECT + s.sequence, + (se.embedding <-> te.embedding) AS distance, + p.id AS protein_id, + p.gene_name AS gene_name, + p.organism AS organism, + pgo.go_id AS go_term_id, + gt.category as category, + gt.description AS go_term_description, + pgo.evidence_code + FROM + sequence_embeddings se + JOIN target_embedding te ON TRUE + JOIN sequence s ON se.sequence_id = s.id + JOIN protein p ON s.id = p.sequence_id + LEFT JOIN protein_go_term_annotation pgo ON p.id = pgo.protein_id + LEFT JOIN go_terms gt ON pgo.go_id = gt.go_id + WHERE + se.embedding_type_id = :embedding_type_id + AND (se.embedding <-> te.embedding) < :max_distance + ORDER BY + distance ASC; + """) + + self.logger.info(f"Executing query for accession {accession} and embedding type {embedding_type_id}.") + # Ejecutar la consulta + with self.engine.connect() as connection: + results = connection.execute(query, { + 'vector_string': vector_string, + 'embedding_type_id': embedding_type_id, + 'max_distance': float(self.max_distance) + }).fetchall() + + if not results: + self.logger.info(f"No results found for accession {accession}.") + return [] + + go_terms = [] + for row in results: + go_terms.append({ + 'accession': accession, + 'go_id': row.go_term_id, + 'category': row.category, + 'evidence_code': row.evidence_code, + 'go_description': row.go_term_description, + 'distance': row.distance, + 'model_name': self.types[embedding_type_id].get('model_name'), + 'protein_id': row.protein_id, + 'organism': row.organism, + 'sequence': row.sequence + }) + + self.logger.info( + f"Found {len(go_terms)} GO terms for accession {accession} and embedding type {embedding_type_id}.") + return go_terms + + except Exception as e: + self.logger.error( + f"Error processing task for accession {accession} and embedding type {embedding_type_id}: {e}") + raise + + def store_entry(self, go_terms): + """ + Stores the retrieved GO terms in a CSV file. + + Parameters + ---------- + go_terms : list of dict + List of dictionaries containing GO term results. + + Raises + ------ + Exception + If an error occurs while writing to the CSV file. + """ + if not go_terms: + self.logger.info("No valid GO terms to store.") + return + + try: + output_csv_path = os.path.expanduser(self.output_csv) # Asegúrate de usar la ruta expandida + + # Verificar y crear el directorio "results" si no existe + output_dir = os.path.dirname(output_csv_path) + if not os.path.exists(output_dir): + os.makedirs(output_dir, exist_ok=True) + self.logger.info(f"Created directory: {output_dir}") + + # Convertir go_terms a un DataFrame + df = pd.DataFrame(go_terms) + + # Escribir al archivo + if os.path.exists(output_csv_path) and os.path.getsize(output_csv_path) > 0: + # Archivo existe y tiene contenido, añade sin encabezado + df.to_csv(output_csv_path, mode='a', index=False, header=False) + self.logger.info(f"Appended {len(go_terms)} entries to {output_csv_path}.") + else: + # Archivo no existe o está vacío, escribe con encabezado + df.to_csv(output_csv_path, mode='w', index=False, header=True) + self.logger.info(f"Created new file and stored {len(go_terms)} entries in {output_csv_path}.") + + except Exception as e: + self.logger.error(f"Error storing results in CSV: {e}") + raise diff --git a/FANTASIA/main.py b/FANTASIA/main.py new file mode 100644 index 0000000..f5d10b1 --- /dev/null +++ b/FANTASIA/main.py @@ -0,0 +1,138 @@ +import os +import requests +import subprocess +from datetime import datetime +from tqdm import tqdm +from protein_metamorphisms_is.helpers.config.yaml import read_yaml_config +from FANTASIA.embedder import SequenceEmbedder +from FANTASIA.lookup import EmbeddingLookUp + + +def download_embeddings_once(url, tar_path): + """ + Download the embeddings TAR file from the given URL if it doesn't already exist + or if the file is incomplete, with a progress bar. + + Parameters + ---------- + url : str + The URL to download the embeddings from. + tar_path : str + Path where the TAR file will be saved. + """ + # Check if the file already exists and is complete + temp_file = tar_path + ".part" + response = requests.head(url, allow_redirects=True) + total_size = int(response.headers.get('content-length', 0)) + + if os.path.exists(tar_path): + if os.path.getsize(tar_path) == total_size: + print("Embeddings file already exists and is complete. Skipping download.") + return + else: + print("Embeddings file exists but is incomplete. Restarting download.") + os.remove(tar_path) + + if os.path.exists(temp_file): + downloaded_size = os.path.getsize(temp_file) + print(f"Resuming download from {downloaded_size} bytes...") + else: + downloaded_size = 0 + + print("Downloading embeddings...") + headers = {"Range": f"bytes={downloaded_size}-"} + response = requests.get(url, headers=headers, stream=True) + + mode = "ab" if downloaded_size > 0 else "wb" + with open(temp_file, mode) as f, tqdm( + desc="Downloading", + total=total_size, + initial=downloaded_size, + unit="B", + unit_scale=True, + unit_divisor=1024, + ) as progress_bar: + for chunk in response.iter_content(chunk_size=8192): + f.write(chunk) + progress_bar.update(len(chunk)) + + # Rename the temp file to the final file + os.rename(temp_file, tar_path) + print(f"Embeddings downloaded successfully to {tar_path}.") + + +def load_dump_to_db_once(dump_path, db_config): + """ + Load a SQL dump file into the database if it hasn't been loaded yet. + + Parameters + ---------- + dump_path : str + Path to the TAR file containing the SQL dump. + db_config : dict + Database configuration dictionary containing host, port, user, password, and db name. + """ + flag_path = dump_path + ".loaded" + + if os.path.exists(flag_path): + print("Database dump already loaded. Skipping this step.") + return + + print("Loading dump into the database...") + command = [ + "psql", + f"-h{db_config['DB_HOST']}", + f"-p{db_config['DB_PORT']}", + f"-U{db_config['DB_USERNAME']}", + "-d", db_config["DB_NAME"], + "-f", dump_path + ] + env = os.environ.copy() + env["PGPASSWORD"] = db_config["DB_PASSWORD"] + + subprocess.run(command, env=env, check=True) + + # Create a flag file to indicate that the dump has been loaded + with open(flag_path, "w") as flag_file: + flag_file.write(f"Dump loaded on {datetime.now()}\n") + print("Database dump loaded successfully.") + + +def main(config_path, fasta_path=None): + # Read configuration + conf = read_yaml_config(config_path) + + # Ensure embeddings are downloaded and the database is loaded + embeddings_dir = os.path.expanduser(conf["embeddings_path"]) + os.makedirs(embeddings_dir, exist_ok=True) # Ensure directory exists + + tar_path = os.path.join(embeddings_dir, "embeddings.tar") # Full path to the TAR file + download_embeddings_once(conf["embeddings_url"], tar_path) + load_dump_to_db_once(tar_path, conf) + + # Update the FASTA path if provided + if fasta_path: + conf["fantasia_input_fasta"] = fasta_path + + # FANTASIA pipeline + current_date = datetime.now().strftime("%Y%m%d%H%M%S") + embedder = SequenceEmbedder(conf, current_date) + embedder.start() + + lookup = EmbeddingLookUp(conf, current_date) + lookup.start() + + + +if __name__ == "__main__": + import argparse + + parser = argparse.ArgumentParser(description="Run the pipeline with a specified configuration file.") + parser.add_argument("--config", type=str, required=False, help="Path to the configuration YAML file.") + parser.add_argument("--fasta", type=str, required=False, help="Path to the input FASTA file.") + args = parser.parse_args() + + config_path = args.config if args.config else './config.yaml' + fasta_path = args.fasta + + main(config_path=config_path, fasta_path=fasta_path) diff --git a/README.md b/README.md index 484b66d..44e6f98 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -[![codecov](https://codecov.io/gh/frapercan/python-poetry-template/graph/badge.svg?token=hqzrADVeRy)](https://codecov.io/gh/frapercan/python-poetry-template) -[![PyPI version](https://badge.fury.io/py/python-poetry-template.svg)](https://badge.fury.io/py/python-poetry-template) -[![Documentation Status](https://readthedocs.org/projects/python-poetry-template/badge/?version=latest)](https://python-poetry-template.readthedocs.io/en/latest/?badge=latest) -![Linting Status](https://github.com/frapercan/python-poetry-template/actions/workflows/test-lint.yml/badge.svg?branch=main) +[![codecov](https://codecov.io/gh/frapercan/FANTASIA/graph/badge.svg?token=hqzrADVeRy)](https://codecov.io/gh/frapercan/FANTASIA) +[![PyPI version](https://badge.fury.io/py/FANTASIA.svg)](https://badge.fury.io/py/FANTASIA) +[![Documentation Status](https://readthedocs.org/projects/FANTASIA/badge/?version=latest)](https://FANTASIA.readthedocs.io/en/latest/?badge=latest) +![Linting Status](https://github.com/frapercan/FANTASIA/actions/workflows/test-lint.yml/badge.svg?branch=main) # Python Poetry Template @@ -51,7 +51,7 @@ coverage = "poetry run coverage run -m --source= pyte En el fichero de configuración de sphinx **`docs/source/conf.py`** debemos configurar con los valores de nuestro proyecto. ```python -project = 'python_poetry_template' +project = 'FANTASIA' copyright = '2023, frapercan' author = 'frapercan' ``` diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..7077420 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,32 @@ +services: + app: + build: + dockerfile: Dockerfile + container_name: protein-metamorphisms + depends_on: + - pgvectorsql + - rabbitmq + environment: + POSTGRES_USER: usuario + POSTGRES_PASSWORD: clave + POSTGRES_DB: BioData + ports: + - "8000:8000" # Cambia el puerto según sea necesario + + pgvectorsql: + image: pgvector/pgvector:pg16 + container_name: pgvectorsql + environment: + POSTGRES_USER: usuario + POSTGRES_PASSWORD: clave + POSTGRES_DB: BioData + ports: + - "5432:5432" + command: postgres + + rabbitmq: + image: rabbitmq:management + container_name: rabbitmq + ports: + - "15672:15672" + - "5672:5672" diff --git a/docs/source/conf.py b/docs/source/conf.py index c77476b..5f7978b 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -8,8 +8,8 @@ # -- Project information ----------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information -project = 'python_poetry_template' -copyright = '2023, frapercan' +project = 'FANTASIA' +copyright = '2024, frapercan' author = 'frapercan' # -- General configuration --------------------------------------------------- diff --git a/pyproject.toml b/pyproject.toml index 60b7c3a..b0eb18b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [tool.poetry] -name = "python-poetry-template" +name = "FANTASIA" version = "1.0.0" description = "Plantilla para desarrollo fluido en Python" authors = ["frapercan "] @@ -8,6 +8,7 @@ readme = "README.md" [tool.poetry.dependencies] python = "^3.10" docopt = "^0.6.2" +protein-metamorphisms-is = "^1.4.7" [tool.poetry.dev-dependencies] diff --git a/python_poetry_template/maths/__init__.py b/python_poetry_template/maths/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/python_poetry_template/maths/functions.py b/python_poetry_template/maths/functions.py deleted file mode 100644 index 41c932e..0000000 --- a/python_poetry_template/maths/functions.py +++ /dev/null @@ -1,17 +0,0 @@ -from typing import Union - - -def square(num: Union[int, float]): - """ - Function squares the input - - Parameters - ---------- - num: int, float - - Returns - ------- - int, float - Squared argument - """ - return num**2 diff --git a/tests/test_template.py b/tests/test_template.py index 5cc5344..fc63748 100644 --- a/tests/test_template.py +++ b/tests/test_template.py @@ -1,4 +1,4 @@ -from python_poetry_template.maths.functions import square +from FANTASIA.maths.functions import square def test_version(): assert square(2) == 4 From 9649c2b8175a8553d956e442afe007389eb68c71 Mon Sep 17 00:00:00 2001 From: xaxi Date: Thu, 9 Jan 2025 12:44:56 +0100 Subject: [PATCH 2/3] WIP --- Dockerfile | 29 +-- FANTASIA/config.yaml | 15 +- FANTASIA/constants.yaml | 12 ++ FANTASIA/main.py | 156 +++++--------- FANTASIA/src/__init__.py | 0 FANTASIA/{ => src}/embedder.py | 0 FANTASIA/{initialize.py => src/helpers.py} | 36 ++-- FANTASIA/{ => src}/lookup.py | 0 README.md | 230 ++++----------------- docker-compose.yml | 33 ++- docs/source/_static/FANTASIA.png | Bin 0 -> 388279 bytes docs/source/fantasia.rst | 0 docs/source/index.rst | 67 +++++- docs/source/template.rst | 12 -- pyproject.toml | 10 +- tests/test_template.py | 3 +- 16 files changed, 230 insertions(+), 373 deletions(-) create mode 100644 FANTASIA/src/__init__.py rename FANTASIA/{ => src}/embedder.py (100%) rename FANTASIA/{initialize.py => src/helpers.py} (69%) rename FANTASIA/{ => src}/lookup.py (100%) create mode 100644 docs/source/_static/FANTASIA.png create mode 100644 docs/source/fantasia.rst delete mode 100644 docs/source/template.rst diff --git a/Dockerfile b/Dockerfile index a6290dd..1d5e658 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,25 +1,30 @@ -# Usa la imagen más reciente de NVIDIA CUDA con Ubuntu 22.04 -FROM nvidia/cuda:12.3.0-runtime-ubuntu22.04 - -# Establece el directorio de trabajo +FROM nvidia/cuda:12.6.1-base-ubuntu24.04 +# Update and install required system packages RUN apt-get update && apt-get install -y \ python3 \ python3-pip \ - && rm -rf /var/lib/apt/lists/* + python3-venv \ + cd-hit \ + postgresql-client-16 \ + postgresql-contrib \ + && apt-get clean && rm -rf /var/lib/apt/lists/* +# Set up a virtual environment for Python +RUN python3 -m venv /opt/venv -RUN pip3 install --upgrade pip -RUN pip3 install protein-metamorphisms-is +# Activate the virtual environment and install Python packages +RUN /opt/venv/bin/pip install --upgrade pip \ + && /opt/venv/bin/pip install protein-metamorphisms-is --no-cache-dir -RUN apt-get update && apt-get install -y cd-hit -RUN apt-get update && apt-get install -y postgresql-client +# Add the virtual environment to the PATH +ENV PATH="/opt/venv/bin:$PATH" +# Copy application files and set the working directory COPY . /app WORKDIR /app +# Default command to keep the container running +ENTRYPOINT ["python3", "-m", "FANTASIA.main"] - -# Configura el comando predeterminado para ejecutar tu paquete -CMD ["python3", "-m", "FANTASIA.initialize"] diff --git a/FANTASIA/config.yaml b/FANTASIA/config.yaml index 7299f96..6a7c463 100644 --- a/FANTASIA/config.yaml +++ b/FANTASIA/config.yaml @@ -1,10 +1,10 @@ #System -max_workers: 3 # Embedding search parallelism over PGVector seems broken (Auto set to 1 for that proccess). +max_workers: 1 # DB CONFIGURATION DB_USERNAME: usuario DB_PASSWORD: clave -DB_HOST: localhost +DB_HOST: pgvectorsql DB_PORT: 5432 DB_NAME: BioData @@ -21,13 +21,12 @@ embeddings_path: ~/fantasia/dumps/ fantasia_input_fasta: ~/fantasia/input/zinc.fasta fantasia_output_h5: ~/fantasia/embeddings/ fantasia_output_csv: ~/fantasia/results/ +redundancy_file: ~/fantasia/redundancy/output.fasta + fantasia_prefix: finger_zinc max_distance: 1.1 length_filter: 5000 redundancy_filter: 0.65 -redundancy_file: ~/fantasia/redundancy/output.fasta - -topgo?: True embedding: types: @@ -38,6 +37,10 @@ embedding: embedding_batch_size: 10 # Model input size -constants: "./constants.yaml" +topgo?: True + + + +constants: "./FANTASIA/constants.yaml" diff --git a/FANTASIA/constants.yaml b/FANTASIA/constants.yaml index ef1ef4e..f4a8108 100644 --- a/FANTASIA/constants.yaml +++ b/FANTASIA/constants.yaml @@ -14,3 +14,15 @@ sequence_embedding_types: model_name: Rostlab/prot_t5_xl_uniref50 +structural_alignment_types: + - name: "CE-align" + description: "CE-align, or Combinatorial Extension, is a method for pairwise protein structure alignment. It focuses on aligning backbone atoms by identifying and extending aligned fragment pairs, offering insights into protein function and evolutionary history." + task_name: combinatorial_extension + + - name: "US-align" + description: "US-align (Universal Structural alignment) is a unified protocol to compare 3D structures of different macromolecules (proteins, RNAs and DNAs) in different forms (monomers, oligomers and heterocomplexes) for both pairwise and multiple structure alignments. The core alogrithm of US-align is extended from TM-align and generates optimal structural alignments by maximizing TM-score of compared strucures through heuristic dynamic programming iterations. Large-scale benchmark tests showed that US-align can generate more accurate structural alignments with significantly reduced CPU time, compared to the state-of-the-art methods developed for specific structural alignment tasks. TM-score has values in (0,1] with 1 indicating an identical structure match, where a TM-score ≥0.5 (or 0.45) means the structures share the same global topology for proteins (or RNAs)." + task_name: universal + + - name: "FATCAT" + description: "FATCAT (Flexible structure AlignmenT by Chaining Aligned fragment pairs allowing Twists), Protein structures are flexible and undergo structural rearrangements as part of their function. FATCAT (Flexible structure AlignmenT by Chaining Aligned fragment pairs allowing Twists) is an approach for flexible protein structure comparison. It simultaneously addresses the two major goals of flexible structure alignment; optimizing the alignment and minimizing the number of rigid-body movements (twists) around pivot points (hinges) introduced in the reference structure." + task_name: fatcat diff --git a/FANTASIA/main.py b/FANTASIA/main.py index f5d10b1..cb2549c 100644 --- a/FANTASIA/main.py +++ b/FANTASIA/main.py @@ -1,120 +1,43 @@ import os -import requests -import subprocess +import sys +import time +import yaml +import argparse from datetime import datetime -from tqdm import tqdm +import protein_metamorphisms_is.sql.model.model # noqa: F401 from protein_metamorphisms_is.helpers.config.yaml import read_yaml_config -from FANTASIA.embedder import SequenceEmbedder -from FANTASIA.lookup import EmbeddingLookUp +from FANTASIA.src.helpers import download_embeddings, load_dump_to_db +from FANTASIA.src.embedder import SequenceEmbedder +from FANTASIA.src.lookup import EmbeddingLookUp -def download_embeddings_once(url, tar_path): - """ - Download the embeddings TAR file from the given URL if it doesn't already exist - or if the file is incomplete, with a progress bar. +def initialize(config_path): + # Leer la configuración + with open(config_path, "r") as config_file: + conf = yaml.safe_load(config_file) - Parameters - ---------- - url : str - The URL to download the embeddings from. - tar_path : str - Path where the TAR file will be saved. - """ - # Check if the file already exists and is complete - temp_file = tar_path + ".part" - response = requests.head(url, allow_redirects=True) - total_size = int(response.headers.get('content-length', 0)) - - if os.path.exists(tar_path): - if os.path.getsize(tar_path) == total_size: - print("Embeddings file already exists and is complete. Skipping download.") - return - else: - print("Embeddings file exists but is incomplete. Restarting download.") - os.remove(tar_path) - - if os.path.exists(temp_file): - downloaded_size = os.path.getsize(temp_file) - print(f"Resuming download from {downloaded_size} bytes...") - else: - downloaded_size = 0 + embeddings_dir = os.path.expanduser(conf["embeddings_path"]) + os.makedirs(embeddings_dir, exist_ok=True) + tar_path = os.path.join(embeddings_dir, "embeddings.tar") + # Descargar embeddings print("Downloading embeddings...") - headers = {"Range": f"bytes={downloaded_size}-"} - response = requests.get(url, headers=headers, stream=True) - - mode = "ab" if downloaded_size > 0 else "wb" - with open(temp_file, mode) as f, tqdm( - desc="Downloading", - total=total_size, - initial=downloaded_size, - unit="B", - unit_scale=True, - unit_divisor=1024, - ) as progress_bar: - for chunk in response.iter_content(chunk_size=8192): - f.write(chunk) - progress_bar.update(len(chunk)) - - # Rename the temp file to the final file - os.rename(temp_file, tar_path) - print(f"Embeddings downloaded successfully to {tar_path}.") - - -def load_dump_to_db_once(dump_path, db_config): - """ - Load a SQL dump file into the database if it hasn't been loaded yet. - - Parameters - ---------- - dump_path : str - Path to the TAR file containing the SQL dump. - db_config : dict - Database configuration dictionary containing host, port, user, password, and db name. - """ - flag_path = dump_path + ".loaded" - - if os.path.exists(flag_path): - print("Database dump already loaded. Skipping this step.") - return + download_embeddings(conf["embeddings_url"], tar_path) + # Cargar el dump en la base de datos print("Loading dump into the database...") - command = [ - "psql", - f"-h{db_config['DB_HOST']}", - f"-p{db_config['DB_PORT']}", - f"-U{db_config['DB_USERNAME']}", - "-d", db_config["DB_NAME"], - "-f", dump_path - ] - env = os.environ.copy() - env["PGPASSWORD"] = db_config["DB_PASSWORD"] + load_dump_to_db(tar_path, conf) - subprocess.run(command, env=env, check=True) - # Create a flag file to indicate that the dump has been loaded - with open(flag_path, "w") as flag_file: - flag_file.write(f"Dump loaded on {datetime.now()}\n") - print("Database dump loaded successfully.") - - -def main(config_path, fasta_path=None): - # Read configuration +def run_pipeline(config_path, fasta_path=None): + # Leer la configuración conf = read_yaml_config(config_path) - # Ensure embeddings are downloaded and the database is loaded - embeddings_dir = os.path.expanduser(conf["embeddings_path"]) - os.makedirs(embeddings_dir, exist_ok=True) # Ensure directory exists - - tar_path = os.path.join(embeddings_dir, "embeddings.tar") # Full path to the TAR file - download_embeddings_once(conf["embeddings_url"], tar_path) - load_dump_to_db_once(tar_path, conf) - - # Update the FASTA path if provided + # Actualizar la ruta del FASTA si se proporciona if fasta_path: conf["fantasia_input_fasta"] = fasta_path - # FANTASIA pipeline + # Ejecutar el pipeline de FANTASIA current_date = datetime.now().strftime("%Y%m%d%H%M%S") embedder = SequenceEmbedder(conf, current_date) embedder.start() @@ -123,16 +46,31 @@ def main(config_path, fasta_path=None): lookup.start() +def wait_forever(): + # Modo de espera + print("Container is running and waiting for commands...") + try: + while True: + time.sleep(3600) # Espera indefinida + except KeyboardInterrupt: + print("Stopping container.") -if __name__ == "__main__": - import argparse - parser = argparse.ArgumentParser(description="Run the pipeline with a specified configuration file.") - parser.add_argument("--config", type=str, required=False, help="Path to the configuration YAML file.") - parser.add_argument("--fasta", type=str, required=False, help="Path to the input FASTA file.") +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="FANTASIA: Command Handler") + parser.add_argument("command", type=str, nargs="?", default=None, help="Command to execute: initialize or run") + parser.add_argument("--config", type=str, default="./FANTASIA/config.yaml", help="Path to the configuration YAML file.") + parser.add_argument("--fasta", type=str, help="Path to the input FASTA file.") args = parser.parse_args() - config_path = args.config if args.config else './config.yaml' - fasta_path = args.fasta - - main(config_path=config_path, fasta_path=fasta_path) + if args.command == "initialize": + print("Initializing embeddings and database...") + initialize(args.config) + elif args.command == "run": + print("Running the FANTASIA pipeline...") + run_pipeline(config_path=args.config, fasta_path=args.fasta) + elif args.command is None: + wait_forever() + else: + print(f"Unknown command: {args.command}") + sys.exit(1) diff --git a/FANTASIA/src/__init__.py b/FANTASIA/src/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/FANTASIA/embedder.py b/FANTASIA/src/embedder.py similarity index 100% rename from FANTASIA/embedder.py rename to FANTASIA/src/embedder.py diff --git a/FANTASIA/initialize.py b/FANTASIA/src/helpers.py similarity index 69% rename from FANTASIA/initialize.py rename to FANTASIA/src/helpers.py index fae7530..dbbde5d 100644 --- a/FANTASIA/initialize.py +++ b/FANTASIA/src/helpers.py @@ -39,6 +39,9 @@ def download_embeddings(url, tar_path): import subprocess +import os +import subprocess + def load_dump_to_db(dump_path, db_config): """ Load a database backup file (in TAR format) into the database. @@ -51,6 +54,11 @@ def load_dump_to_db(dump_path, db_config): Database configuration dictionary containing host, port, user, password, and db name. """ print("Loading dump into the database...") + + # Configura las variables de entorno necesarias para pg_restore + env = os.environ.copy() + env["PGPASSWORD"] = db_config["DB_PASSWORD"] + command = [ "pg_restore", "--verbose", @@ -63,16 +71,14 @@ def load_dump_to_db(dump_path, db_config): print("Executing:", " ".join(command)) try: - # Use Popen to handle password input via stdin process = subprocess.Popen( command, - stdin=subprocess.PIPE, # Allow sending input to the process - stdout=subprocess.PIPE, # Capture standard output - stderr=subprocess.PIPE, # Capture standard error - text=True # Ensure strings instead of bytes + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + text=True, + env=env # Usa las variables de entorno configuradas ) - # Send the password followed by a newline - stdout, stderr = process.communicate(input=f"{db_config['DB_PASSWORD']}\n") + stdout, stderr = process.communicate() if process.returncode == 0: print("Database dump loaded successfully.") @@ -84,19 +90,3 @@ def load_dump_to_db(dump_path, db_config): -if __name__ == "__main__": - import yaml - - # Read configuration - with open("./FANTASIA/config.yaml", "r") as config_file: - conf = yaml.safe_load(config_file) - - embeddings_dir = os.path.expanduser(conf["embeddings_path"]) - os.makedirs(embeddings_dir, exist_ok=True) - tar_path = os.path.join(embeddings_dir, "embeddings.tar") - - # Step 1: Download embeddings - download_embeddings(conf["embeddings_url"], tar_path) - - # Step 2: Load dump into database - load_dump_to_db(tar_path, conf) diff --git a/FANTASIA/lookup.py b/FANTASIA/src/lookup.py similarity index 100% rename from FANTASIA/lookup.py rename to FANTASIA/src/lookup.py diff --git a/README.md b/README.md index 44e6f98..ef2195a 100644 --- a/README.md +++ b/README.md @@ -1,222 +1,78 @@ -[![codecov](https://codecov.io/gh/frapercan/FANTASIA/graph/badge.svg?token=hqzrADVeRy)](https://codecov.io/gh/frapercan/FANTASIA) -[![PyPI version](https://badge.fury.io/py/FANTASIA.svg)](https://badge.fury.io/py/FANTASIA) -[![Documentation Status](https://readthedocs.org/projects/FANTASIA/badge/?version=latest)](https://FANTASIA.readthedocs.io/en/latest/?badge=latest) -![Linting Status](https://github.com/frapercan/FANTASIA/actions/workflows/test-lint.yml/badge.svg?branch=main) -# Python Poetry Template +--- -Este proyecto, "Python Poetry Template", es una plantilla versátil para proyectos de Python, diseñada para facilitar la gestión de dependencias, la publicación de módulos, el análisis estático de código, las pruebas y la generación de documentación. Utilizando herramientas modernas como Poetry, PyPI, Flake8, Pytest, Coverage y Sphinx con tema Read The Docs, esta plantilla está orientada a maximizar la eficiencia y calidad en el desarrollo de software en Python. +# FANTASIA -## Herramientas Utilizadas +![FANTASIA Logo](docs/source/_static/FANTASIA.png) -- **Poetry:** Gestión de dependencias y empaquetado en Python. -- **PyPI:** Plataforma para la publicación de paquetes Python. -- **Flake8:** Análisis estático de código para cumplimiento de estilo. -- **Pytest y Coverage:** Framework de pruebas y medición de cobertura de código. -- **Sphinx (Tema RTD):** Generación de documentación del proyecto. +FANTASIA (Functional ANnoTAtion based on embedding space SImilArity) is a pipeline for annotating Gene Ontology (GO) terms for protein sequences using advanced protein language models like **ProtT5**, **ProstT5**, and **ESM2**. This system automates complex workflows, from sequence processing to functional annotation, providing a scalable and efficient solution for protein structure and functionality analysis. -## Configuración del Proyecto +--- -Para configurar el entorno de desarrollo: +## Key Features -1. Clone el repositorio: `git clone [URL del repositorio]`. -2. Instale Poetry si aún no está instalado en su sistema. -3. Ejecute `poetry install` para instalar las dependencias del proyecto. +- **Redundancy Filtering**: Removes identical sequences with **CD-HIT** and optionally excludes sequences based on length constraints. +- **Embedding Generation**: Utilizes state-of-the-art models for protein sequence embeddings. +- **GO Term Lookup**: Matches embeddings with a vector database to retrieve associated GO terms. +- **Results**: Outputs annotations in timestamped CSV files for reproducibility. -## Renombrar el contenedor principal de código -El código se encuentra por defecto bajo el directorio **`python_poetry_template`**, debemos renombrarla, al nombre deseado. +--- -## Configuración de *pyproject.toml* -Asegúrate de que tu archivo **`pyproject.toml`** esté correctamente configurado. Esto incluye especificar el nombre del paquete, la versión, la descripción, los autores y cualquier otra información relevante que PyPI necesite para mostrar tu paquete correctamente. +## Installation -Por ejemplo: -```toml -[tool.poetry] -name = "nombre-de-tu-paquete" -version = "0.1.0" -description = "Una breve descripción de tu paquete" -authors = ["Tu Nombre "] +To install FANTASIA, ensure you have Python 3.8+ installed and use the following commands: -... - -[tool.taskipy.tasks] -html_docs = "make html -C docs" -lint = "poetry run flake8 " -coverage = "poetry run coverage run -m --source= pytest tests && poetry run coverage report -m" - -``` - -## Configuración del la documentación - -En el fichero de configuración de sphinx **`docs/source/conf.py`** debemos configurar con los valores de nuestro proyecto. - -```python -project = 'FANTASIA' -copyright = '2023, frapercan' -author = 'frapercan' -``` - -también debemos configurar `docs/source/index.rst` haciendo referencia a los ficheros .rst que gestionan nuestros módulos de programación , teniendo `docs/source/template.rst` cómo ejemplo de muestra. - -En caso de dudas atender a la documentación oficial de sphinx. - - - - - -## Comandos - -### Generar Documentación - -```bash -poetry run task html_docs -``` -Este comando construye la documentación del proyecto con Sphinx y el tema RTD, ubicándola en **docs/build**. - -### Análisis Estático de Código (Linting) ```bash -poetry run task lint +pip install FANTASIA ``` -Ejecuta Flake8 para análisis estático del código, ayudando a identificar problemas de estilo y errores. - -### Cobertura de Pruebas -```bash -poetry run task coverage -``` -Realiza pruebas con Pytest y genera un informe de cobertura con Coverage. - -## Publicación del Paquete -Para compilar y publicar tu paquete Python utilizando Poetry, sigue estos pasos: - -### Compilación del Paquete -Antes de publicar, es una buena práctica compilar el paquete para asegurarse de que todo esté configurado correctamente. Para compilar tu paquete, ejecuta: -```bash -poetry build -``` -Este comando generará los archivos de distribución en los formatos de archivo Wheel y Source. Los archivos se crearán en el directorio **`dist/`** de tu proyecto. - -### Publicación en PyPI -Una vez que hayas compilado tu paquete, puedes publicarlo en [PyPI](https://pypi.org) para que otros puedan instalarlo fácilmente. Asegúrate de tener una cuenta en PyPI y haber configurado tus credenciales de autenticación. -```bash -poetry publish -``` -Este comando te pedirá tus credenciales de PyPI (si no están ya almacenadas) y luego subirá los archivos de distribución a PyPI. - -# Python Poetry Template -Este proyecto, "Python Poetry Template", es una plantilla versátil para proyectos de Python, diseñada para facilitar la gestión de dependencias, la publicación de módulos, el análisis estático de código, las pruebas y la generación de documentación. Utilizando herramientas modernas como Poetry, PyPI, Flake8, Pytest, Coverage y Sphinx con tema Read The Docs, esta plantilla está orientada a maximizar la eficiencia y calidad en el desarrollo de software en Python. +--- -## Herramientas Utilizadas +## Quick Start -- **Poetry:** Gestión de dependencias y empaquetado en Python. -- **PyPI:** Plataforma para la publicación de paquetes Python. -- **Flake8:** Análisis estático de código para cumplimiento de estilo. -- **Pytest y Coverage:** Framework de pruebas y medición de cobertura de código. -- **Sphinx (Tema RTD):** Generación de documentación del proyecto. +### Prerequisites -## Configuración del Proyecto +Ensure the **Information System** is properly configured before running FANTASIA. Detailed instructions are available in the [project documentation](../../../README.md). -Para configurar el entorno de desarrollo: +### Running the Pipeline -1. Clone el repositorio: `git clone [URL del repositorio]`. -2. Instale Poetry si aún no está instalado en su sistema. -3. Ejecute `poetry install` para instalar las dependencias del proyecto. +Execute the following command, specifying the path to the configuration file: -## Renombrar el contenedor principal de código -El código se encuentra por defecto bajo el directorio **`template`**, debemos renombrarla, al nombre deseado. - -## Configuración de *pyproject.toml* -Asegúrate de que tu archivo **`pyproject.toml`** esté correctamente configurado. Esto incluye especificar el nombre del paquete, la versión, la descripción, los autores y cualquier otra información relevante que PyPI necesite para mostrar tu paquete correctamente. - -Por ejemplo: -```toml -[tool.poetry] -name = "nombre-de-tu-paquete" -version = "0.1.0" -description = "Una breve descripción de tu paquete" -authors = ["Tu Nombre "] - -... - -[tool.taskipy.tasks] -html_docs = "make html -C docs" -lint = "poetry run flake8 " -coverage = "poetry run coverage run -m --source= pytest tests && poetry run coverage report -m" - -``` - -## Configuración del la documentación - -En el fichero de configuración de sphinx **`docs/source/conf.py`** debemos configurar con los valores de nuestro proyecto. - -```python -project = 'template' -copyright = '2023, frapercan' -author = 'frapercan' +```bash +python main.py --config ``` -también debemos configurar `docs/source/index.rst` haciendo referencia a los ficheros .rst que gestionan nuestros módulos dep programación , teniendo `docs/source/template.rst` cómo ejemplo de muestra. - -En caso de dudas atender a la documentación oficial de sphinx. - - - - +### Pipeline Overview -## Comandos +1. **Redundancy Filtering**: Removes identical sequences and optionally filters sequences based on length. +2. **Embedding Generation**: Computes embeddings for sequences using supported models and stores them in HDF5 format. +3. **GO Term Lookup**: Queries a vector database to find and annotate similar proteins. +4. **Output**: Saves annotations in a structured CSV file. -### Generar Documentación +--- -```bash -poetry run task html_docs -``` -Este comando construye la documentación del proyecto con Sphinx y el tema RTD, ubicándola en **docs/build**. +## Documentation -### Análisis Estático de Código (Linting) -```bash -poetry run task lint -``` -Ejecuta Flake8 para análisis estático del código, ayudando a identificar problemas de estilo y errores. +For complete details on pipeline configuration, parameters, and deployment, visit the [FANTASIA Documentation](https://protein-metamorphisms-is.readthedocs.io/en/latest/pipelines/fantasia.html). -### Cobertura de Pruebas -```bash -poetry run task coverage -``` -Realiza pruebas con Pytest y genera un informe de cobertura con Coverage. +--- -## Publicación del Paquete -Para compilar y publicar tu paquete Python utilizando Poetry, sigue estos pasos: +## Citation -### Aumentar la versión del proyecto. -```bash -poetry version minor -``` +If you use FANTASIA in your work, please cite the following: -```bash -poetry version major -``` +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. + https://doi.org/10.1101/2024.02.28.582465. -### Compilación del Paquete -Antes de publicar, es una buena práctica compilar el paquete para asegurarse de que todo esté configurado correctamente. Para compilar tu paquete, ejecuta: -```bash -poetry build -``` -Este comando generará los archivos de distribución en los formatos de archivo Wheel y Source. Los archivos se crearán en el directorio **`dist/`** de tu proyecto. - -### Publicación en PyPI -Una vez que hayas compilado tu paquete, puedes publicarlo en [PyPI](https://pypi.org) para que otros puedan instalarlo fácilmente. Asegúrate de tener una cuenta en PyPI y haber configurado tus credenciales de autenticación. -```bash -poetry publish -``` -Este comando te pedirá tus credenciales de PyPI (si no están ya almacenadas) y luego subirá los archivos de distribución a PyPI. +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. + https://doi.org/10.1101/2024.02.14.580341. -### Configurar credenciales de PiPy -Para configurar la github actions, debemos de añadir la clave secreta en la configuración del repositorio bajo el nombre `PYPI_API_TOKEN`. -Este token lo sacamos tras haber configurado nuestra cuenta de pipy. +--- -## Configurar Codecov y ReadTheDocs -A través de la página de la aplicación [CodeCov](https://app.codecov.io/) y [ReadTheDocs](https://readthedocs.org/) podemos configurar los repositorios bajo nuestro usuario de github para que sean monitorizados por estos servicios. +## Contact Information -## Configurar los badges: -Tomando las primeras lineas de este README.md de muestra, podemos reemplazar los valores de nuestro template, por los de nuestro proyecto deseado de forma intuitiva. +- Francisco Miguel Pérez Canales: fmpercan@upo.es +- Gemma I. Martínez-Redondo: gemma.martinez@ibe.upf-csic.es +- Ana M. Rojas: a.rojas.m@csic.es +- Rosa Fernández: rosa.fernandez@ibe.upf-csic.es diff --git a/docker-compose.yml b/docker-compose.yml index 7077420..90a3e10 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,17 +1,23 @@ +networks: + fantasia-network: + driver: bridge + services: app: build: dockerfile: Dockerfile - container_name: protein-metamorphisms + container_name: FANTASIA depends_on: - - pgvectorsql - - rabbitmq - environment: - POSTGRES_USER: usuario - POSTGRES_PASSWORD: clave - POSTGRES_DB: BioData + pgvectorsql: + condition: service_healthy ports: - - "8000:8000" # Cambia el puerto según sea necesario + - "8000:8000" + networks: + - fantasia-network + volumes: + - $HOME/fantasia:/root/fantasia # Sincroniza /home/xaxi/fantasia con /root/fantasia en el contenedor + + pgvectorsql: image: pgvector/pgvector:pg16 @@ -22,7 +28,14 @@ services: POSTGRES_DB: BioData ports: - "5432:5432" - command: postgres + networks: + - fantasia-network + healthcheck: + test: [ "CMD-SHELL", "pg_isready -U usuario -d BioData" ] + interval: 5s # Intervalo entre comprobaciones + timeout: 5s # Tiempo máximo para cada comprobación + retries: 5 # Intentos antes de marcarlo como unhealthy + rabbitmq: image: rabbitmq:management @@ -30,3 +43,5 @@ services: ports: - "15672:15672" - "5672:5672" + networks: + - fantasia-network diff --git a/docs/source/_static/FANTASIA.png b/docs/source/_static/FANTASIA.png new file mode 100644 index 0000000000000000000000000000000000000000..a1220d7836e26c303397f2a6cf2e799a5a005fd1 GIT binary patch literal 388279 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

-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 literal 0 HcmV?d00001 diff --git a/docs/source/fantasia.rst b/docs/source/fantasia.rst new file mode 100644 index 0000000..e69de29 diff --git a/docs/source/index.rst b/docs/source/index.rst index 8ce157f..a9fb941 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -1,13 +1,62 @@ -Title -===== +FANTASIA +======== +**Functional ANnoTAtion based on embedding space SImilArity** -Section -------- +**FANTASIA** is an advanced pipeline designed for annotating Gene Ontology (GO) terms in protein sequence files using state-of-the-art protein language models: **ProtT5**, **ProstT5**, and **ESM2**. -Subsection -~~~~~~~~~~ +This pipeline accepts a proteome file as input (either the longest isoform or the full set of isoforms for all genes). It removes identical sequences using **CD-HIT**, optionally filters sequences based on their length, computes embeddings for all sequences, and stores them in an **HDF5 file**. The pipeline then queries a **vector database** to identify GO terms associated with similar proteins, based on these embeddings. -.. toctree:: - :maxdepth: 2 +Pipeline Overview +----------------- +0. **System Setup**: - template.rst \ No newline at end of file + By default, embeddings are downloaded and imported automatically during the pipeline execution. Alternatively, you can use the dedicated project: `protein-metamorphisms-is `_ for robust embedding management and querying. + +1. **Redundancy Filtering**: + + - Removes identical sequences using **CD-HIT**. + - Optionally filters sequences based on length constraints. + +2. **Embedding Generation**: + + - Computes embeddings for protein sequences using **ProtT5**, **ProstT5**, and/or **ESM2**. + - Stores embeddings in an **HDF5 file**, organized by sequence accession IDs and embedding types. + +3. **GO Term Lookup**: + + - Embeddings are compared for similarity using a **vector database**. + - Retrieves GO terms associated with the most similar proteins. + - Results include GO terms, distances, and metadata. + +4. **Results**: + + - Annotations are saved in timestamped CSV files for reproducibility. + +Acknowledgments +--------------- +This pipeline is the result of a collaborative effort between **Ana Roja's lab** (Andalusian Center for Developmental Biology, CSIC) and **Rosa Fernández's lab** (Metazoa Phylogenomics Lab, Institute of Evolutionary Biology, CSIC-UPF). It exemplifies the power of synergy between research teams with diverse expertise. We extend our gratitude to **LifeHUB-CSIC** for inspiring this project and encouraging us to "think big." + +Usage +----- +Refer to the `Setup Instructions <../deployment/setup_instructions.html>`_ for a detailed guide on configuring and executing the pipeline. + +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. + `https://doi.org/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. + `https://doi.org/10.1101/2024.02.14.580341 `_ + +Contact Information +------------------- +For inquiries, please contact the project team: + +- Francisco Miguel Pérez Canales: fmpercan@upo.es (Developer) +- Gemma I. Martínez-Redondo: gemma.martinez@ibe.upf-csic.es +- Ana M. Rojas: a.rojas.m@csic.es +- Rosa Fernández: rosa.fernandez@ibe.upf-csic.es diff --git a/docs/source/template.rst b/docs/source/template.rst deleted file mode 100644 index 7213370..0000000 --- a/docs/source/template.rst +++ /dev/null @@ -1,12 +0,0 @@ -.. _api: - -Functions -============= - -Math ------------ - -.. automodule:: python_poetry_template.maths - :members: - :inherited-members: - diff --git a/pyproject.toml b/pyproject.toml index b0eb18b..1da6d53 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,8 +1,8 @@ [tool.poetry] name = "FANTASIA" -version = "1.0.0" -description = "Plantilla para desarrollo fluido en Python" -authors = ["frapercan "] +version = "0.0.1" +description = "Functional ANnoTAtion based on embedding space SImilArity" +authors = ["Francisco Miguel Pérez Canales ","Gemma Martínez Redondo "] readme = "README.md" [tool.poetry.dependencies] @@ -29,8 +29,8 @@ fail_under = 100 [tool.taskipy.tasks] html_docs = "make html -C docs" -lint = "poetry run flake8 python_poetry_template" -coverage = "poetry run coverage run -m --source=python_poetry_template pytest tests && poetry run coverage report -m" +lint = "poetry run flake8 FANTASIA" +coverage = "poetry run coverage run -m --source=FANTASIA pytest tests && poetry run coverage report -m" diff --git a/tests/test_template.py b/tests/test_template.py index fc63748..36223e3 100644 --- a/tests/test_template.py +++ b/tests/test_template.py @@ -1,4 +1,5 @@ -from FANTASIA.maths.functions import square +from numpy import square + def test_version(): assert square(2) == 4 From 444d258ed32f48d1c03f9f53b968b2421cbfdce0 Mon Sep 17 00:00:00 2001 From: xaxi Date: Thu, 9 Jan 2025 12:45:29 +0100 Subject: [PATCH 3/3] version + --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 1da6d53..f78f5f4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "FANTASIA" -version = "0.0.1" +version = "0.1.0" description = "Functional ANnoTAtion based on embedding space SImilArity" authors = ["Francisco Miguel Pérez Canales ","Gemma Martínez Redondo "] readme = "README.md"