Communitygithub.com

tiledbvcf

Almacenamiento y recuperación eficiente de datos de variantes genómicas utilizando TileDB. Ingestión escalable de VCF/BCF, adición incremental de muestras, almacenamiento comprimido, consultas paralelas y capacidades de exportación para genómica poblacional.

¿Qué es tiledbvcf?

TileDB-VCF es una biblioteca C++ de alto rendimiento con interfaces en Python y CLI, diseñada para el almacenamiento y consulta eficiente de datos de variantes genómicas. Construida sobre la tecnología de arrays dispersos de TileDB, permite la ingesta escalable de archivos VCF/BCF, la adición incremental de muestras sin costosas operaciones de fusión, y consultas paralelas eficientes sobre datos locales o en la nube. La habilidad cubre desde la creación de conjuntos de datos básicos y consultas por regiones genómicas hasta exportación a formatos estándar como VCF y TSV. Incluye la gestión de memoria, la integración con almacenamiento en la nube (S3, Azure, GCS), y la migración a TileDB-Cloud para cargas de trabajo de producción a gran escala. Está orientada a desarrolladores y bioinformáticos que necesitan procesar grandes volúmenes de datos genómicos de manera eficiente y escalable.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/K-Dense-AI/scientific-agent-skills/tree/main/skills/tiledbvcf

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

TileDB-VCF

Descripción general

TileDB-VCF es una biblioteca C++ de alto rendimiento con interfaces Python y CLI para el almacenamiento y recuperación eficiente de datos de llamadas de variantes genómicas. Construida sobre la tecnología de arrays dispersos de TileDB, permite la ingesta escalable de archivos VCF/BCF, la adición incremental de muestras sin operaciones de fusión costosas, y consultas paralelas eficientes de datos de variantes almacenados localmente o en la nube.

Cuándo usar esta habilidad

Esta habilidad debe usarse cuando:

  • Se aprenden conceptos y flujos de trabajo de TileDB-VCF
  • Se prototipan análisis y pipelines genómicos
  • Se trabaja con conjuntos de datos pequeños a medianos (< 1000 muestras)
  • Se necesita agregar nuevas muestras de forma incremental a conjuntos de datos existentes
  • Se requiere consultar eficientemente regiones genómicas específicas en muchas muestras
  • Se trabaja con datos de variantes almacenados en la nube (S3, Azure, GCS)
  • Se necesitan exportar subconjuntos de grandes conjuntos de datos VCF
  • Se construyen bases de datos de variantes para estudios de cohortes
  • Proyectos educativos y desarrollo de métodos
  • El rendimiento es crítico para las operaciones con datos de variantes

Inicio rápido

Instalación

Método preferido: Conda/Mamba

# Ingrese las siguientes dos líneas si está en una Mac M1
CONDA_SUBDIR=osx-64
conda config --env --set subdir osx-64

# Crear el entorno conda
conda create -n tiledb-vcf "python<3.10"
conda activate tiledb-vcf

# Mamba es una alternativa más rápida y confiable a conda
conda install -c conda-forge mamba

# Instalar TileDB-Py y TileDB-VCF, alineados con otras bibliotecas útiles
mamba install -y -c conda-forge -c bioconda -c tiledb tiledb-py tiledbvcf-py pandas pyarrow numpy

Alternativa: Imágenes Docker

docker pull tiledb/tiledbvcf-py     # Interfaz Python
docker pull tiledb/tiledbvcf-cli    # Interfaz de línea de comandos

Ejemplos básicos

Crear y poblar un conjunto de datos:

import tiledbvcf

# Crear un nuevo conjunto de datos
ds = tiledbvcf.Dataset(uri="my_dataset", mode="w",
                      cfg=tiledbvcf.ReadConfig(memory_budget=1024))

# Ingerir archivos VCF (deben ser de una sola muestra con índices)
# Requisitos:
# - Los VCF deben ser de una sola muestra (no multi-muestra)
# - Deben tener índices: .csi (bcftools) o .tbi (tabix)
ds.ingest_samples(["sample1.vcf.gz", "sample2.vcf.gz"])

Consultar datos de variantes:

# Abrir conjunto de datos existente para lectura
ds = tiledbvcf.Dataset(uri="my_dataset", mode="r")

# Consultar regiones y muestras específicas
df = ds.read(
    attrs=["sample_name", "pos_start", "pos_end", "alleles", "fmt_GT"],
    regions=["chr1:1000000-2000000", "chr2:500000-1500000"],
    samples=["sample1", "sample2", "sample3"]
)
print(df.head())

Exportar a VCF:

import os

# Exportar dos muestras VCF
ds.export(
    regions=["chr21:8220186-8405573"],
    samples=["HG00101", "HG00097"],
    output_format="v",
    output_dir=os.path.expanduser("~"),
)

Capacidades principales

1. Creación de conjuntos de datos e ingesta

Cree conjuntos de datos TileDB-VCF e ingrese incrementalmente datos de variantes de múltiples archivos VCF/BCF. Esto es apropiado para construir bases de datos de genómica poblacional y estudios de cohortes.

Requisitos:

  • Solo VCF de muestra única: No se admiten VCF multi-muestra
  • Archivos de índice necesarios: Los archivos VCF/BCF deben tener índices (.csi o .tbi)

Operaciones comunes:

  • Crear nuevos conjuntos de datos con esquemas de array optimizados
  • Ingerir archivos VCF/BCF individuales o múltiples en paralelo
  • Agregar nuevas muestras de forma incremental sin reprocesar datos existentes
  • Configurar el uso de memoria y la configuración de compresión
  • Manejar varios formatos VCF y campos INFO/FORMAT
  • Reanudar procesos de ingesta interrumpidos
  • Validar la integridad de los datos durante la ingesta

2. Consulta y filtrado eficientes

Consulte datos de variantes con alto rendimiento en regiones genómicas, muestras y atributos de variantes. Esto es apropiado para estudios de asociación, descubrimiento de variantes y análisis poblacional.

Operaciones comunes:

  • Consultar regiones genómicas específicas (individuales o múltiples)
  • Filtrar por nombres de muestra o grupos de muestras
  • Extraer atributos específicos de variantes (posición, alelos, genotipos, calidad)
  • Acceder a campos INFO y FORMAT de manera eficiente
  • Combinar filtrado espacial y basado en atributos
  • Transmitir resultados de consultas grandes
  • Realizar agregaciones entre muestras o regiones

3. Exportación de datos e interoperabilidad

Exporte datos en varios formatos para análisis posteriores o integración con otras herramientas genómicas. Esto es apropiado para compartir conjuntos de datos, crear subconjuntos de análisis o alimentar otros pipelines.

Operaciones comunes:

  • Exportar a formatos VCF/BCF estándar
  • Generar archivos TSV con campos seleccionados
  • Crear subconjuntos específicos de muestra/región
  • Mantener la procedencia de los datos y metadatos
  • Exportación sin pérdidas que preserva todas las anotaciones
  • Formatos de salida comprimidos
  • Exportaciones en streaming para grandes conjuntos de datos

4. Flujos de trabajo de genómica poblacional

TileDB-VCF sobresale en análisis de genómica poblacional a gran escala que requieren acceso eficiente a datos de variantes en muchas muestras y regiones genómicas.

Flujos de trabajo comunes:

  • Preparación de datos para estudios de asociación del genoma completo (GWAS)
  • Pruebas de carga de variantes raras
  • Análisis de estratificación poblacional
  • Cálculos de frecuencias alélicas entre poblaciones
  • Control de calidad en cohortes grandes
  • Anotación y filtrado de variantes
  • Análisis comparativo entre poblaciones

Conceptos clave

Esquema del array y modelo de datos

Modelo de datos de TileDB-VCF:

  • Las variantes se almacenan como arrays dispersos con coordenadas genómicas como dimensiones
  • Las muestras se almacenan como atributos, lo que permite consultas eficientes específicas de muestras
  • Los campos INFO y FORMAT se preservan con los tipos de datos originales
  • Compresión y fragmentación automáticas para un almacenamiento óptimo

Configuración del esquema:

# Esquema personalizado con extensiones de mosaico específicas
config = tiledbvcf.ReadConfig(
    memory_budget=2048,  # MB
    region_partition=(0, 3095677412),  # Genoma completo
    sample_partition=(0, 10000)  # Hasta 10k muestras
)

Sistemas de coordenadas y regiones

Crítico: TileDB-VCF utiliza coordenadas genómicas basadas en 1 siguiendo el estándar VCF:

  • Las posiciones se basan en 1 (la primera base es la posición 1)
  • Los rangos son inclusivos en ambos extremos
  • La región "chr1:1000-2000" incluye las posiciones 1000-2000 (1001 bases en total)

Formatos de especificación de región:

# Región única
regions = ["chr1:1000000-2000000"]

# Múltiples regiones
regions = ["chr1:1000000-2000000", "chr2:500000-1500000"]

# Cromosoma completo
regions = ["chr1"]

# Estilo BED (basado en 0, semiabierto convertido internamente)
regions = ["chr1:999999-2000000"]  # Equivalente a chr1:1000000-2000000 basado en 1

Gestión de memoria

Consideraciones de rendimiento:

  1. Establezca un presupuesto de memoria adecuado según la memoria del sistema disponible
  2. Use consultas de streaming para conjuntos de resultados muy grandes
  3. Particione ingestas grandes para evitar el agotamiento de la memoria
  4. Configure la caché de mosaicos para acceder repetidamente a regiones
  5. Use ingesta paralela para múltiples archivos
  6. Optimice las consultas de región combinando regiones cercanas

Integración con almacenamiento en la nube

TileDB-VCF funciona perfectamente con almacenamiento en la nube:

# Conjunto de datos S3
ds = tiledbvcf.Dataset(uri="s3://bucket/dataset", mode="r")

# Azure Blob Storage
ds = tiledbvcf.Dataset(uri="azure://container/dataset", mode="r")

# Google Cloud Storage
ds = tiledbvcf.Dataset(uri="gcs://bucket/dataset", mode="r")

Errores comunes

  1. Agotamiento de memoria durante la ingesta: Use un presupuesto de memoria adecuado y procesamiento por lotes para archivos VCF grandes
  2. Consultas de región ineficientes: Combine regiones cercanas en lugar de muchas consultas separadas
  3. Nombres de muestra faltantes: Asegúrese de que los nombres de muestra en los encabezados VCF coincidan con las especificaciones de muestra de la consulta
  4. Confusión del sistema de coordenadas: Recuerde que TileDB-VCF utiliza coordenadas basadas en 1 como el estándar VCF
  5. Conjuntos de resultados grandes: Use streaming o paginación para consultas que devuelven millones de variantes
  6. Permisos en la nube: Asegure la autenticación adecuada para el acceso al almacenamiento en la nube
  7. Acceso concurrente: Varios escritores en el mismo conjunto de datos pueden causar corrupción: use bloqueo adecuado

Uso de CLI

TileDB-VCF proporciona una interfaz de línea de comandos con los siguientes subcomandos:

Subcomandos disponibles:

  • create - Crea un conjunto de datos TileDB-VCF vacío
  • store - Ingiere muestras en un conjunto de datos TileDB-VCF
  • export - Exporta datos de un conjunto de datos TileDB-VCF
  • list - Enumera todos los nombres de muestra presentes en un conjunto de datos TileDB-VCF
  • stat - Imprime estadísticas de alto nivel sobre un conjunto de datos TileDB-VCF
  • utils - Utilidades para trabajar con un conjunto de datos TileDB-VCF
  • version - Imprime la información de la versión y sale
# Crear conjunto de datos vacío
tiledbvcf create --uri my_dataset

# Ingerir muestras (requiere VCF de muestra única con índices)
tiledbvcf store --uri my_dataset --samples sample1.vcf.gz,sample2.vcf.gz

# Exportar datos
tiledbvcf export --uri my_dataset \
  --regions "chr1:1000000-2000000" \
  --sample-names "sample1,sample2"

# Enumerar todas las muestras
tiledbvcf list --uri my_dataset

# Mostrar estadísticas del conjunto de datos
tiledbvcf stat --uri my_dataset

Funcionalidades avanzadas

Análisis de frecuencia alélica

# Calcular frecuencias alélicas
af_df = tiledbvcf.read_allele_frequency(
    uri="my_dataset",
    regions=["chr1:1000000-2000000"],
    samples=["sample1", "sample2", "sample3"]
)

Control de calidad de muestras

# Realizar QC de muestras
qc_results = tiledbvcf.sample_qc(
    uri="my_dataset",
    samples=["sample1", "sample2"]
)

Configuraciones personalizadas

# Configuración avanzada
config = tiledbvcf.ReadConfig(
    memory_budget=4096,
    tiledb_config={
        "sm.tile_cache_size": "1000000000",
        "vfs.s3.region": "us-east-1"
    }
)

Recursos

Obtener ayuda

Recursos de TileDB-VCF de código abierto

Documentación de código abierto:

Recursos de TileDB-Cloud

Para genómica a gran escala/producción:

Primeros pasos:

Escalado a TileDB-Cloud

Cuando sus cargas de trabajo genómicas superan el procesamiento de un solo nodo, TileDB-Cloud proporciona capacidades de nivel empresarial para pipelines de genómica de producción.

Nota: Esta sección cubre las capacidades de TileDB-Cloud basadas en la documentación disponible. Para obtener detalles completos de la API y la funcionalidad actual, consulte la documentación oficial de TileDB-Cloud y la referencia de la API.

Configuración de TileDB-Cloud

1. Crear cuenta y obtener token API

# Regístrese en https://cloud.tiledb.com
# Genere un token API en la configuración de su cuenta

2. Instalar el cliente Python de TileDB-Cloud

# Instalación base
uv pip install tiledb-cloud

# Con funcionalidad específica de genómica
uv pip install tiledb-cloud[life-sciences]

3. Configurar autenticación

# Establezca la variable de entorno con su token API
export TILEDB_REST_TOKEN="su_token_api"
import tiledb.cloud

# La autenticación es automática mediante TILEDB_REST_TOKEN
# No se requiere inicio de sesión explícito en el código

Migración de código abierto a TileDB-Cloud

Ingesta a gran escala

# TileDB-Cloud: Ingesta distribuida de VCF
import tiledb.cloud.vcf

# Use el módulo de ingesta VCF especializado
# Nota: La API exacta requiere la documentación de TileDB-Cloud
# Esto representa la estructura de funcionalidad disponible
tiledb.cloud.vcf.ingestion.ingest_vcf_dataset(
    source="s3://my-bucket/vcf-files/",
    output="tiledb://my-namespace/large-dataset",
    namespace="my-namespace",
    acn="my-s3-credentials",
    ingest_resources={"cpu": "16", "memory": "64Gi"}
)

Procesamiento distribuido de consultas

# TileDB-Cloud: Consulta VCF en almacenamiento distribuido
import tiledb.cloud.vcf
import tiledbvcf

# Definir el URI del conjunto de datos
dataset_uri = "tiledb://TileDB-Inc/gvcf-1kg-dragen-v376"

# Obtener todas las muestras del conjunto de datos
ds = tiledbvcf.Dataset(dataset_uri, tiledb_config=cfg)
samples = ds.samples()

# Definir atributos y rangos a consultar
attrs = ["sample_name", "fmt_GT", "fmt_AD", "fmt_DP"]
regions = ["chr13:32396898-32397044", "chr13:32398162-32400268"]

# Realizar la lectura, que se ejecuta de forma distribuida
df = tiledb.cloud.vcf.read(
    dataset_uri=dataset_uri,
    regions=regions,
    samples=samples,
    attrs=attrs,
    namespace="my-namespace",  # especifica qué cuenta cobrar
)
df.to_pandas()

Funcionalidades empresariales

Uso compartido de datos y colaboración

# TileDB-Cloud proporciona capacidades empresariales de uso compartido de datos
# a través de permisos basados en espacios de nombres y gestión de grupos

# Acceder a conjuntos de datos compartidos a través de URI de TileDB-Cloud
dataset_uri = "tiledb://shared-namespace/population-study"

# Colaborar a través de cuadernos y recursos informáticos compartidos
# (La API específica requiere la documentación de TileDB-Cloud)

Optimización de costos

  • Cómputo sin servidor: Pague solo por el tiempo de cómputo real
  • Escalado automático: Escale automáticamente hacia arriba/abajo según la carga de trabajo
  • Instancias spot: Use cómputo optimizado en costos para trabajos por lotes
  • Niveles de datos: Gestión automática de almacenamiento en caliente/frío

Seguridad y cumplimiento

  • Cifrado de extremo a extremo: Datos cifrados en tránsito y en reposo
  • Controles de acceso: Permisos detallados y registros de auditoría
  • Cumplimiento HIPAA/SOC2: Estándares de seguridad empresarial
  • Soporte VPC: Implementación en entornos de nube privados

Lista de verificación para migrar

✅ Migre a TileDB-Cloud si tiene:

  • Conjuntos de datos > 1000 muestras
  • Necesita procesar > 100GB de datos VCF
  • Requiere cómputo distribuido
  • Varios miembros del equipo necesitan acceso
  • Necesita seguridad/cumplimiento empresarial
  • Desea cómputo sin servidor optimizado en costos
  • Requiere tiempo de actividad de producción 24/7

Primeros pasos con TileDB-Cloud

  1. Comience gratis: TileDB-Cloud ofrece un nivel gratuito para evaluación
  2. Soporte de migración: El equipo de TileDB brinda asistencia para la migración
  3. Capacitación: Acceso a tutoriales específicos de genómica

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

adaptyv

How to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI/SPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`.

aeon

This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.

alphagenome

Look up precomputed AlphaGenome Atlas effects for any GRCh38 single-nucleotide variant (AVI score with Phred and 18 SHAP feature attributions, plus raw and quantile scores for RNA-seq, DNase, ATAC, ChIP-TF, ChIP-histone, CAGE, PRO-cap, splicing, polyadenylation and contact-map tracks), score variants or scan windows on demand with the AlphaGenome model for human and mouse (variant scoring, in silico mutagenesis, REF-versus-ALT track prediction), and build Atlas website deep links. Use when the user mentions AlphaGenome, AlphaGenome Atlas, AVI or AlphaGenome Variant Impact, DeepMind variant effect prediction, or wants to prioritise or mechanistically interpret non-coding, regulatory, splicing, enhancer, promoter, or chromatin-accessibility effects of SNVs from a VCF, credible set, or region. Research use only; not a clinical tool.

analytical-method-validation

Plan, execute, and document validation, verification, and transfer of analytical procedures under the governing framework - ICH Q2(R2) and Q14, USP <1220>/<1225>/<1226>, ICH M10 bioanalytical, CLSI EP, or ISO/IEC 17025. Use for HPLC, LC-MS/MS, GC, CE, ICP-MS, dissolution, qNMR, qPCR, NIR, and ligand binding or cell-based assays whenever the question is whether a procedure is fit for its intended purpose. Triggers include

anndata

Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.

arbor

Autonomously improve a real artifact (code, training recipe, agent harness, data pipeline, prompt) against an objective and an evaluator, using Hypothesis Tree Refinement (HTR) from the Arbor paper. Use this whenever someone wants to iteratively optimize something over many experiments without overfitting — e.g.

arboreto

Infer gene regulatory networks (GRNs) from gene expression data using scalable algorithms (GRNBoost2, GENIE3). Use when analyzing transcriptomics data (bulk RNA-seq, single-cell RNA-seq) to identify transcription factor-target gene relationships and regulatory interactions. Supports distributed computation for large-scale datasets.

astropy

Core Python library for astronomy and astrophysics workflows that need Astropy APIs, including units/quantities, coordinates, FITS I/O, tables, time systems, WCS, and cosmology. Use when implementing or debugging astronomical data analysis code with Astropy.

autoskill

Observe the user

benchling-integration

Benchling Python SDK and REST API integration for registry entities, inventory, ELN entries, workflows, Benchling Apps, and Data Warehouse queries. Use when automating lab data with benchling-sdk or the v2 API.

bgpt-paper-search

Search scientific papers and retrieve structured experimental data extracted from full-text studies via the BGPT MCP server. Returns 25+ fields per paper including methods, results, sample sizes, quality scores, and conclusions. Use for literature reviews, evidence synthesis, and finding experimental details not available in abstracts alone.

bids

>

biopython

Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.

bioservices

Unified Python interface to 40+ bioinformatics services. Use when querying multiple databases (UniProt, KEGG, ChEMBL, Reactome) in a single workflow with consistent API. Best for cross-database analysis, ID mapping across services. For quick single-database lookups use gget; for sequence/file manipulation use biopython.

bulk-rnaseq

End-to-end bulk RNA-seq orchestrator — takes raw FASTQ reads through QC and trimming (FastQC, fastp/Trim Galore), alignment and quantification (STAR, Salmon, featureCounts), assembles a gene-level counts matrix, then hands off to differential expression (pydeseq2), pathway/GSEA enrichment (pathway-enrichment), and publication figures (scientific-visualization). Use whenever the user has bulk RNA-seq reads or quant output and wants a complete, reproducible differential-expression workflow — e.g.

cellxgene-census

Query the CZ CELLxGENE Census programmatically for versioned public single-cell and spatial transcriptomics data. Use when you need population-scale cell metadata, gene expression slices, Census summary counts, source H5AD URIs/downloads, embeddings, spatial Census data, or reference atlas comparisons across organisms, tissues, diseases, assays, and cell types. For analyzing your own local single-cell data use scanpy, anndata, or scvi-tools.

cirq

Google quantum computing framework. Use when targeting Google Quantum AI hardware, designing noise-aware circuits, or running quantum characterization experiments. Best for Google hardware, noise modeling, and low-level circuit design. For IBM hardware use qiskit; for quantum ML with autodiff use pennylane; for physics simulations use qutip.

citation-management

Comprehensive citation management for academic research. Search OpenAlex, PubMed, and Google Scholar for papers, extract accurate metadata, validate citations, and generate properly formatted BibTeX entries. This skill should be used when you need to find papers, verify citation information, convert DOIs to BibTeX, or ensure reference accuracy in scientific writing.

clinical-decision-support

Prepare and validate research-only clinical decision-support evaluation, evidence-profile, cohort, survival, biomarker/model, privacy, and governance artifacts. Use for aggregate or synthetic research documentation and traceability—not patient care or live clinical operation.

clinical-reports

Create safety-bounded draft structures and run local deterministic checks for clinical case, diagnostic, trial, safety, and aggregate research reports. Use only with synthetic, de-identified, or aggregate inputs and verified source-fact manifests; every output requires qualified review.

Skills relacionados