Communitygithub.com

lamindb

Se utiliza al trabajar con LaminDB, el lago de datos de código abierto y con trazabilidad de linaje para conjuntos de datos y modelos biológicos. Cubre configuración, registro de artefactos, consulta/búsqueda, seguimiento de linaje, validación, anotaciones respaldadas por ontologías con Bionty, colecciones, ramas, almacenamiento e integraciones de flujo de trabajo.

¿Qué es lamindb?

LaminDB es un lago de datos (lakehouse) de código abierto con trazabilidad de linaje nativa, diseñado para biología. Permite que conjuntos de datos y modelos sean consultables, rastreables, validados, reproducibles y FAIR (Findable, Accessible, Interoperable, Reusable), mientras almacena datos en formatos abiertos en sistemas de archivos locales, S3, GCS, Hugging Face, SQLite y Postgres. Su valor principal reside en la capacidad de consulta, trazabilidad, validación de formatos biológicos (DataFrame, AnnData, SpatialData, etc.), cumplimiento FAIR mediante ontologías de Bionty y gestión de cambios con proyectos, ramas y espacios de trabajo. La habilidad es útil para investigadores y desarrolladores que trabajan con datos biológicos, integrando flujos de trabajo computacionales, anotación ontológica y gestión de datos reproducible. Soporta integraciones con Nextflow, Snakemake, Weights & Biases, MLflow, Hugging Face y más, y puede desplegarse en entornos locales o en la nube.

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

Preguntar en tu IA favorita

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

Documentación

¿Qué hace lamindb?

Descripción general

LaminDB es un lago de datos (lakehouse) de código abierto con trazabilidad de linaje nativa para biología. Hace que los conjuntos de datos y modelos sean consultables, trazables, validados, reproducibles y FAIR (Encontrables, Accesibles, Interoperables, Reutilizables) mientras almacena datos en formatos abiertos en sistemas de archivos locales, S3, GCS, Hugging Face, SQLite y Postgres.

Propuesta de valor principal:

  • Consultabilidad: Buscar y filtrar artefactos, registros, ejecuciones, características, esquemas y colecciones
  • Trazabilidad: Rastrear entradas, salidas, parámetros, código fuente y entornos para notebooks, scripts, funciones y pipelines
  • Validación: Curar DataFrames, AnnData, SpatialData, TileDB-SOMA, Parquet, Zarr y otros formatos biológicos con esquemas
  • Cumplimiento FAIR: Estandarizar anotaciones con ontologías respaldadas por Bionty y registros personalizados
  • Gestión de cambios: Organizar el trabajo con proyectos, ramas, espacios, colecciones y notas o planes guardados

Cuándo usar esta habilidad

Usa esta habilidad cuando:

  • Gestiones conjuntos de datos biológicos: scRNA-seq, RNA-seq masivo, transcriptómica espacial, citometría de flujo, datos multimodales, datos de EHR
  • Realices seguimiento de flujos de trabajo computacionales: Notebooks, scripts, funciones, scripts de shell y ejecución de pipelines (Nextflow, Snakemake, Redun)
  • Cures y valides datos: Validación de esquemas, estandarización, anotación basada en ontologías
  • Trabajes con ontologías biológicas: Genes, proteínas, tipos celulares, tejidos, enfermedades, vías (a través de Bionty)
  • Construyas lagos de datos: Interfaz de consulta unificada entre múltiples conjuntos de datos
  • Asegures la reproducibilidad: Versionado automático, seguimiento de linaje, captura del entorno
  • Integres pipelines de ML: Conexión con Weights & Biases, MLflow, Hugging Face, Lightning, scVI-tools
  • Despliegues infraestructura de datos: Configuración de sistemas de gestión de datos locales o en la nube
  • Colabores en conjuntos de datos: Compartir datos curados y anotados con metadatos estandarizados

Capacidades principales

LaminDB proporciona seis áreas de capacidad interconectadas, cada una documentada en detalle en la carpeta de referencias.

1. Conceptos básicos y linaje de datos

Entidades principales:

  • Artefactos: Conjuntos de datos versionados (DataFrame, AnnData, Parquet, Zarr, etc.)
  • Registros y ULabels: Entidades experimentales, registros tipados y etiquetas simples
  • Colecciones: Conjuntos versionados e inmutables de artefactos
  • Ejecuciones y Transformaciones: Seguimiento de linaje computacional (qué código produjo qué datos)
  • Características: Campos de metadatos tipados para anotación y consulta
  • Proyectos, Ramas y Espacios: Agrupación de proyectos, gestión de cambios y límites de acceso

Flujos de trabajo clave:

  • Crear y versionar artefactos desde archivos u objetos de Python
  • Rastrear la ejecución de notebooks/scripts con ln.track() y ln.finish()
  • Rastrear flujos de trabajo de funciones con @ln.flow() y @ln.step()
  • Anotar artefactos con registros, ulabels, proyectos y características tipadas
  • Visualizar gráficos de linaje de datos con artifact.view_lineage()
  • Consultar por procedencia (encontrar todas las salidas de código/entradas específicas)

Referencia: references/core-concepts.md - Lee esto para obtener información detallada sobre artefactos, registros, ejecuciones, transformaciones, características, versionado y seguimiento de linaje.

2. Gestión y consulta de datos

Capacidades de consulta:

  • Exploración y búsqueda en registros con autocompletado
  • Recuperación de un solo registro con get(), one(), one_or_none()
  • Filtrado con operadores de comparación (__gt, __lte, __contains, __startswith)
  • Consultas basadas en características, incluyendo consultas de estilo de expresión con objetos Feature
  • Recorrido entre registros con sintaxis de doble guión bajo
  • Búsqueda de texto completo en todos los registros
  • Consultas lógicas avanzadas con objetos ln.Q (AND, OR, NOT)
  • Transmisión de grandes conjuntos de datos sin cargarlos en memoria

Flujos de trabajo clave:

  • Navegar por artefactos con filtros y ordenación
  • Consultar por características, fecha de creación, creador, tamaño, etc.
  • Transmitir archivos grandes en fragmentos o con división de arreglos
  • Organizar datos con claves jerárquicas
  • Agrupar artefactos en colecciones

Referencia: references/data-management.md - Lee esto para patrones de consulta exhaustivos, ejemplos de filtrado, estrategias de transmisión y mejores prácticas de organización de datos.

3. Anotación y validación

Proceso de curación:

  1. Validación: Confirmar que los conjuntos de datos coinciden con los esquemas deseados
  2. Estandarización: Corregir errores tipográficos, mapear sinónimos a términos canónicos
  3. Anotación: Vincular conjuntos de datos a entidades de metadatos para su consultabilidad

Tipos de esquema:

  • Esquemas flexibles: Validar solo columnas conocidas, permitir metadatos adicionales
  • Esquemas mínimos requeridos: Especificar columnas esenciales, permitir extras
  • Esquemas estrictos: Control completo sobre la estructura y los valores

Tipos de datos compatibles:

  • DataFrames (Parquet, CSV)
  • AnnData (genómica unicelular)
  • MuData (multimodal)
  • SpatialData (transcriptómica espacial)
  • TileDB-SOMA (arreglos escalables)

Flujos de trabajo clave:

  • Definir características y esquemas para la validación de datos
  • Usar DataFrameCurator, AnnDataCurator, SpatialDataCurator o TiledbsomaExperimentCurator para validación
  • Estandarizar valores con .cat.standardize()
  • Mapear a ontologías con .cat.add_ontology()
  • Guardar artefactos curados con enlace al esquema
  • Consultar conjuntos de datos validados por características

Referencia: references/annotation-validation.md - Lee esto para flujos de trabajo de curación detallados, patrones de diseño de esquemas, manejo de errores de validación y mejores prácticas.

4. Ontologías biológicas

Ontologías disponibles (a través de Bionty):

  • Genes (Ensembl), Proteínas (UniProt)
  • Tipos celulares (CL), Líneas celulares (CLO)
  • Tejidos (Uberon), Enfermedades (Mondo, DOID)
  • Fenotipos (HPO), Vías (GO)
  • Factores experimentales (EFO), Etapas de desarrollo
  • Organismos (NCBItaxon), Fármacos (DrugBank)

Flujos de trabajo clave:

  • Importar ontologías públicas con bt.CellType.import_source()
  • Buscar en ontologías con coincidencia exacta o por palabra clave
  • Estandarizar términos usando mapeo de sinónimos
  • Explorar relaciones jerárquicas (padres, hijos, antepasados)
  • Validar datos contra términos de ontología
  • Anotar conjuntos de datos con registros de ontología
  • Crear términos y jerarquías personalizadas
  • Manejar contextos multi-organismo (humano, ratón, etc.)

Referencia: references/ontologies.md - Lee esto para operaciones exhaustivas de ontologías, estrategias de estandarización, navegación jerárquica y flujos de trabajo de anotación.

5. Integraciones

Gestores de flujo de trabajo:

  • Nextflow: Rastrear procesos y salidas del pipeline
  • Snakemake: Integrar en reglas de Snakemake
  • Redun: Combinar con el seguimiento de tareas de Redun
  • Lightning: Persistir puntos de control y metadatos de entrenamiento

Plataformas MLOps:

  • Weights & Biases: Vincular experimentos con artefactos de datos
  • MLflow: Rastrear modelos y experimentos
  • Hugging Face: Rastrear ajuste fino de modelos
  • scVI-tools: Flujos de trabajo de análisis unicelulares

Sistemas de almacenamiento:

  • Sistema de archivos local, AWS S3, Google Cloud Storage
  • Compatible con S3 (MinIO, Cloudflare R2)
  • Puntos finales HTTP/HTTPS (solo lectura)
  • Conjuntos de datos de HuggingFace

Almacenes de arreglos:

  • TileDB-SOMA (con soporte cellxgene)
  • DuckDB para consultas SQL en archivos Parquet

Visualización:

  • Vitessce para visualización interactiva espacial/unicelular

Control de versiones:

  • Integración con Git para el seguimiento del código fuente

Referencia: references/integrations.md - Lee esto para patrones de integración, ejemplos de código y resolución de problemas para sistemas de terceros.

6. Configuración e implementación

Instalación:

  • Versión estable actual: lamindb==2.5.1 (publicada el 2026-06-01; Python >=3.10, <=3.14)
  • Básica: uv pip install 'lamindb==2.5.1'
  • Con extras: uv pip install 'lamindb[gcp,zarr-v2,fcs]==2.5.1'
  • Solo espacio de nombres mínimo: uv pip install 'lamindb-core==2.5.1'
  • Módulo Bionty: incluido en la documentación de LaminDB y disponible como uv pip install 'bionty==2.4.0'
  • Módulos opcionales: fijar versiones revisadas para módulos de esquema de laboratorio húmedo o clínico en lugar de instalar las últimas versiones flotantes

Tipos de instancia:

  • SQLite local (desarrollo)
  • Almacenamiento en la nube + SQLite (equipos pequeños)
  • Almacenamiento en la nube + PostgreSQL (producción)

Opciones de almacenamiento:

  • Sistema de archivos local
  • AWS S3 con regiones y permisos configurables
  • Google Cloud Storage
  • Puntos finales compatibles con S3 (MinIO, Cloudflare R2)

Configuración:

  • Gestión de caché para archivos en la nube
  • Configuraciones de sistema multiusuario
  • Sincronización de repositorio Git
  • Variables de entorno con nombre para credenciales y URL de conexión

Patrones de implementación:

  • Migración de desarrollo local a producción en la nube
  • Implementaciones multirregión
  • Almacenamiento compartido con instancias personales

Referencia: references/setup-deployment.md - Lee esto para instalación detallada, configuración, configuración de almacenamiento, gestión de bases de datos, mejores prácticas de seguridad y resolución de problemas.

Valores predeterminados de seguridad y protección

Al ayudar con la configuración o integraciones de LaminDB:

  • Nunca mostrar, registrar ni transmitir claves API reales, credenciales en la nube, contraseñas de bases de datos o cadenas de conexión completas que incluyan secretos.
  • Preferir roles IAM, identidad de carga de trabajo, gestores de secretos o variables de entorno con nombre como LAMIN_DB_URL, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY y GOOGLE_APPLICATION_CREDENTIALS; solo verificar si una variable con nombre está presente, no su valor.
  • Antes de guardar contenido de API REST, bases de datos externas o archivos proporcionados por el usuario, validar y sanitizar con un esquema o curador explícito.
  • Para instalaciones reproducibles, fijar versiones de paquetes o usar un archivo de bloqueo. Las instalaciones flotantes son aceptables solo cuando el usuario desea explícitamente la última versión ascendente.

Flujos de trabajo de casos de uso comunes

Caso de uso 1: Análisis de ARN-seq unicelular con validación de ontología

import lamindb as ln
import bionty as bt
import anndata as ad

# Iniciar el seguimiento de una ejecución de notebook/script
ln.track(params={"analysis": "scRNA-seq QC and annotation"})

# Importar ontología de tipos celulares
bt.CellType.import_source()

# Cargar datos
adata = ad.read_h5ad("raw_counts.h5ad")

# Validar y estandarizar tipos celulares
adata.obs["cell_type"] = bt.CellType.standardize(adata.obs["cell_type"])

# Curar con esquema
curator = ln.curators.AnnDataCurator(adata, schema)
curator.validate()
artifact = curator.save_artifact(key="scrna/validated.h5ad")

# Vincular anotaciones respaldadas por ontología para su consultabilidad
cell_types = bt.CellType.from_values(adata.obs["cell_type"])
artifact.cell_types.add(*cell_types)

ln.finish()

Caso de uso 2: Construcción de un lago de datos consultable

import lamindb as ln

# Registrar múltiples experimentos
for i, file in enumerate(data_files):
    artifact = ln.Artifact.from_anndata(
        ad.read_h5ad(file),
        key=f"scrna/batch_{i}.h5ad",
        description=f"scRNA-seq batch {i}"
    ).save()

    # Anotar con características
    artifact.features.set_values({
        "batch": i,
        "tissue": tissues[i],
        "condition": conditions[i]
    })

# Consultar en todos los experimentos por características anotadas
immune_datasets = ln.Artifact.filter(
    key__startswith="scrna/",
    tissue="PBMC",
    condition="treated"
).to_dataframe()

# Cargar conjuntos de datos específicos
for artifact in immune_datasets:
    adata = artifact.load()
    # Analizar

Caso de uso 3: Pipeline de ML con integración de W&B

import lamindb as ln
import wandb

# Inicializar ambos sistemas
wandb.init(project="drug-response", name="exp-42")
ln.track(params={"model": "random_forest", "n_estimators": 100})

# Cargar datos de entrenamiento desde LaminDB
train_artifact = ln.Artifact.get(key="datasets/train.parquet")
train_data = train_artifact.load()

# Entrenar modelo
model = train_model(train_data)

# Registrar en W&B
wandb.log({"accuracy": 0.95})

# Guardar modelo en LaminDB con enlace a W&B
import joblib
joblib.dump(model, "model.pkl")
model_artifact = ln.Artifact("model.pkl", key="models/exp-42.pkl").save()
model_artifact.features.set_values({"wandb_run_id": wandb.run.id})

ln.finish()
wandb.finish()

Caso de uso 4: Integración con pipeline de Nextflow

# En script de proceso de Nextflow
import lamindb as ln

ln.track()

# Cargar artefacto de entrada
input_artifact = ln.Artifact.get(key="raw/batch_${batch_id}.fastq.gz")
input_path = input_artifact.cache()

# Procesar (alineación, cuantificación, etc.)
# ... lógica del proceso de Nextflow ...

# Guardar salida
output_artifact = ln.Artifact(
    "counts.csv",
    key="processed/batch_${batch_id}_counts.csv"
).save()

ln.finish()

Para proyectos nativos de Nextflow, prefiere el plugin nf-lamin y los patrones actuales de nextflow.config cuando estén disponibles; usa seguimiento en línea de Python para pasos pequeños o de pipeline personalizados.

Lista de verificación para comenzar

Para comenzar a usar LaminDB de manera efectiva:

  1. Instalación y configuración (references/setup-deployment.md)

    • Instalar LaminDB fijado y los extras requeridos
    • Autenticar con lamin login
    • Inicializar instancia con lamin init --storage ...
  2. Aprender conceptos básicos (references/core-concepts.md)

    • Comprender artefactos, registros, ejecuciones, transformaciones
    • Practicar la creación y recuperación de artefactos
    • Implementar ln.track()/ln.finish() o @ln.flow()/@ln.step() en flujos de trabajo
  3. Dominar las consultas (references/data-management.md)

    • Practicar el filtrado y la búsqueda en registros
    • Aprender consultas basadas en características y filtros de estilo de expresión
    • Experimentar con la transmisión de archivos grandes
  4. Configurar validación (references/annotation-validation.md)

    • Definir características relevantes para el dominio de investigación
    • Crear esquemas para tipos de datos
    • Practicar flujos de trabajo de curación
  5. Integrar ontologías (references/ontologies.md)

    • Importar ontologías biológicas relevantes (genes, tipos celulares, etc.)
    • Validar anotaciones existentes
    • Estandarizar metadatos con términos de ontología
  6. Conectar herramientas (references/integrations.md)

    • Integrar con gestores de flujo de trabajo existentes
    • Vincular plataformas de ML para seguimiento de experimentos
    • Configurar almacenamiento y cómputo en la nube

Principios clave

Sigue estos principios al trabajar con LaminDB:

  1. Rastrear todo: Usa ln.track() al inicio de cada análisis para la captura automática de linaje

  2. Validar temprano: Define esquemas y valida datos antes de un análisis extenso

  3. Usar ontologías: Aprovecha las ontologías biológicas públicas para anotaciones estandarizadas

  4. Estructurar datos: Usa claves jerárquicas y colecciones para una organización de datos clara

  5. Preferir la entrada única: Para artefactos compartidos y registros centrales, usa el principio de entrada única (canónico: un artefacto o registro por clave/identidad; práctico: consultar primero, crear después si no existe)

  6. Exponer el linaje de forma nativa: En lugar de reconstruir manualmente el historial de datos, deja que el grafo de ejecución (ejecuciones → artefactos) capture las dependencias de forma automática y permita consultas posteriores por procedencia

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