Skip to content
Skillpedia
Machine learning51k · #1893

lamindb

Helps your agent manage biological data and models with LaminDB. It tracks data lineage and ensures schema validation for reproducibility.

What it does

LaminDB helps organize and track biological data and its analysis processes. It allows you to register datasets, annotate metadata, and ensure results are reproducible.

When to use it

  • ✓Registering biological datasets.
  • ✓Annotating DataFrame or AnnData metadata.
  • ✓Tracking scientific scripts or workflows.

Example of what to ask your AI

“Organize my genetic experiment data and track the analyses I performed.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/K-Dense-AI/scientific-agent-skills/blob/main/skills/lamindb/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/K-Dense-AI/scientific-agent-skills/blob/main/skills/lamindb/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

You define how your data should be structured (schema) and what information is important (features). Then, you can register your files and scripts, ensuring everything can be found and reproduced.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add K-Dense-AI/scientific-agent-skills --skill lamindb

Or download just the file:

curl -L https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/main/skills/lamindb/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

LaminDB

When to use

Use for registering biological datasets, curating DataFrame/AnnData metadata, querying annotated artifacts, and tracking scientific scripts or workflows. LaminDB stores metadata in SQLite/PostgreSQL and files in configured storage; registration alone does not establish scientific validity or FAIR compliance.

This skill targets LaminDB 2.10.0 and Bionty 2.5.0. The local examples were executed on Python 3.12, pandas 3.0.6, and AnnData 0.13.2. The LaminDB release caps AnnData at 0.13.2; preserve its dependency constraints. Install IPython for registry synonym helpers (add_synonym() imports it in this release).

Workflow

  1. Confirm the intended instance, storage, and write scope with lamin info. Use a new local development directory for experiments. See setup and deployment.
  2. Define typed Feature records and a Schema for the biological data. Use registry-backed categorical dtypes for controlled vocabularies; dtype=str only checks strings. See annotation and validation.
  3. Review the ontology source/version and organism. Standardize only reviewed synonyms and preserve unresolved annotations. See Bionty ontologies.
  4. In a script or notebook, start ln.track(), load registered inputs, validate, and save outputs. curator.validate() returns None on success and raises ln.errors.ValidationError on failure. Repair, then validate again.
  5. Save through the curator or a schema-aware artifact constructor. Check the stored schema and round-trip content; finish a successful run with ln.finish().
  6. Query metadata before loading content. Record artifact UIDs and schema/source provenance for reproducibility; a key can resolve to a newer version later. See queries and streaming.

Local worked example

Run in a dedicated environment and an empty project directory:

uv venv --python 3.12
uv pip install 'lamindb==2.10.0' 'bionty==2.5.0' 'ipython==9.17.1'
source .venv/bin/activate
lamin init --storage ./storage --name biology-demo --modules bionty

Save the following as curate_qc.py, then run python curate_qc.py:

import pandas as pd
import lamindb as ln

ln.track(params={"analysis": "QC metadata curation"})
count = ln.Feature(name="gene_count", dtype=int).save()
condition = ln.Feature(name="condition", dtype=str).save()
schema = ln.Schema(
    name="qc_metadata",
    features=[count, condition],
    maximal_set=True,  # reject extra columns
).save()
df = pd.DataFrame({
    "gene_count": [120, 130],
    "condition": ["control", "treated"],
})
curator = ln.curators.DataFrameCurator(df, schema)
curator.validate()  # raises on invalid data; do not use as an if condition
artifact = curator.save_artifact(key="experiments/qc.parquet")
assert artifact.schema == schema
pd.testing.assert_frame_equal(artifact.load(), df)
ln.finish()

This validates table structure/types, not whether the counts satisfy assay QC. Add assay-specific checks (units, allowed ranges, missingness, duplicate sample IDs, batch balance) before publication or downstream analysis.

Core objects and contracts

Object Purpose and important constraint
Artifact A file/folder or serialized dataset; cache() gets a local path, load() materializes content, open() returns a format-specific accessor.
Feature A typed metadata field; save its definition before artifact.features.set_values(...).
Schema Validation rules and feature membership; maximal_set=True rejects extras. flexible=False alone does not.
Record, ULabel Experimental entities and simple labels. A custom term is not an ontology assertion.
Run, Transform An execution and its code definition. Inputs are run.input_artifacts; outputs are run.output_artifacts.
Collection A versioned group of artifacts; iterate collection.artifacts.all().
Project, Branch, Space Grouping, change organization, and access scope; branches do not replace permissions.

Use @ln.flow() for a workflow entry point and @ln.step() within it. Lineage captures tracked accesses, not arbitrary reads outside LaminDB. Review core concepts for tracking, labels, and revisions.

Failure patterns to avoid

…

FAQ

What is an 'artifact'?

An artifact is a file or folder you register, like a dataset or a script. LaminDB keeps track of these artifacts.

How does LaminDB ensure reproducibility?

It tracks the input data, the scripts used, and the analysis parameters, creating a complete history so you can redo the work.

What are 'schemas' and 'features'?

Schemas define the expected structure of your data (columns and types), and features are the individual fields within that structure, such as 'gene count' or 'experimental condition'.

Details

Original description by the author

Manages biological datasets and models with LaminDB, including artifact registration, lineage tracking, schema validation, Bionty ontology annotation, query/search, collections, branches, storage, and workflow integrations. Use for reproducible biological data curation or a LaminDB lakehouse.

repo: K-Dense-AI/scientific-agent-skills

Popularity

GitHub stars
51k
Ranking position
#1893
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills