AgentStack
SKILL verified MIT Self-run

Sdrf:terms

skill-bigbio-sdrf-skills-sdrf-terms · by bigbio

Use when the user needs to find, verify, or compare ontology terms for SDRF columns. Triggers on questions about ontology terms, accessions, or which term to use.

No reviews yet
0 installs
9 views
0.0% view→install

Install

$ agentstack add skill-bigbio-sdrf-skills-sdrf-terms

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Sdrf:terms? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

SDRF Ontology Term Lookup

You are helping the user find the correct ontology term for an SDRF column.

Step 1: Identify the Column and Ontology

Read spec/sdrf-proteomics/TERMS.tsv and find the row for the column the user is asking about. The values field tells you which ontology(ies) to search.

Examples from TERMS.tsv:

  • organism → values: NCBITaxon → search OLS with ontologyId ncbitaxon
  • disease → values: MONDO, EFO, DOID, PATO → search these ontologies
  • organism part → values: UBERON, BTO → search UBERON first, BTO as fallback
  • cell type → values: CL, BTO → search CL first, BTO as fallback
  • instrument → values: MS → search MS ontology
  • modification parameters → values: UNIMOD → use UNIMOD accessions
  • cleavage agent details → values: MS → search MS ontology

Always read TERMS.tsv rather than relying on memorized ontology mappings — the spec may add new columns or change ontology sources.

Step 2: Search OLS

Use the OLS MCP tools to find the term:

Primary search:
  mcp OLS → searchClasses(query="", ontologyId="")

If no results or too many:
  mcp OLS → search(query="")
  Filter results to the correct ontology manually

For broader semantic search:
  mcp OLS → searchClassesWithEmbeddingModel(query="", model="")
  (Call listEmbeddingModels first to get available models with can_embed=true)

Step 3: Evaluate Specificity

When presenting results, assess specificity:

Too Generic (suggest more specific)

  • "cancer" → suggest "breast carcinoma", "lung adenocarcinoma", etc.
  • "tissue" → suggest the actual tissue name
  • "cell" → suggest the actual cell type
  • "brain" might be OK, but "temporal cortex" is better if known

Appropriately Specific

  • "breast carcinoma" (EFO:0000305) — good for a breast cancer study
  • "liver" (UBERON:0002107) — good for tissue-level studies
  • "T cell" (CL:0000084) — good if subtype unknown

Too Specific (might be too narrow)

  • "left breast upper inner quadrant" — probably too specific for most studies

To check specificity, use hierarchy navigation:

mcp OLS → getAncestors(ontologyId="", classIri="")
mcp OLS → getChildren(ontologyId="", classIri="")

Step 4: Cross-Ontology Mapping

When the user has a term from one ontology but needs another:

Example: User has DOID term, needs EFO equivalent
  1. Get the DOID term details: mcp OLS → fetch(id="doid+")
  2. Search EFO for the same concept: mcp OLS → searchClasses(query="", ontologyId="efo")
  3. Present both options with accessions

For disease terms, SDRF accepts EFO, MONDO, or DOID. Recommend:

  • EFO as first choice (most commonly used in SDRF)
  • MONDO as second choice (good cross-references)
  • DOID as third choice

Step 5: Present Results

For each term found, present:

Term: breast carcinoma
Accession: EFO:0000305
Ontology: Experimental Factor Ontology (EFO)
Definition: A carcinoma that arises in the breast region.
Synonyms: breast cancer, mammary carcinoma
Parent: carcinoma (EFO:0000228)
SDRF format: breast carcinoma
Column: characteristics[disease]

Alternative terms:
  - invasive breast carcinoma (EFO:0010132) — more specific, if applicable
  - breast ductal carcinoma (EFO:0000298) — subtype-specific

Special Cases

"Normal" / "Healthy" / "Control"

  • For disease: use normal with accession PATO:0000461
  • Do NOT use: "healthy", "control", "none", "N/A"

"Not Available" vs "Not Applicable"

  • not available — the information exists but wasn't captured
  • not applicable — the property doesn't apply (e.g., cell line for a tissue sample)
  • Check TERMS.tsv allow_not_available and allow_not_applicable for the specific column

Cell Lines

  • Use the Cellosaurus database (https://www.cellosaurus.org/) for cell line identification
  • SDRF uses three columns for cell lines:
  • characteristics[cell line] — name from CLO, BTO, or EFO ontology
  • characteristics[cellosaurus accession] — format: CVCLXXXX (e.g., CVCL0030 for HeLa)
  • characteristics[cellosaurus name] — official Cellosaurus name
  • Common examples: HeLa (CVCL0030), HEK293 (CVCL0045), MCF7 (CVCL0031), A549 (CVCL0023)
  • To find a Cellosaurus accession: search https://www.cellosaurus.org/search (not OLS)
  • Cross-reference Cellosaurus for: species of origin, disease, tissue of origin, STR profile

Instruments

  • Format in SDRF: AC=MS:1001911;NT=Q Exactive HF
  • Search MS ontology for the instrument model
  • Include manufacturer in search if needed

Modifications

  • ALWAYS use UNIMOD accessions, not PSI-MOD
  • The format is: NT=;AC=UNIMOD:;TA=;MT=
  • Double-check the UNIMOD:1/UNIMOD:21 swap (Acetyl vs Phospho)

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.