一键导入
sdrf-explain
Use when the user asks about SDRF concepts, columns, errors, format rules, or wants to understand why something is done a certain way.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when the user asks about SDRF concepts, columns, errors, format rules, or wants to understand why something is done a certain way.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Independently falsify and review a created, modified, or proposed SDRF against its specification, ontology terms, source evidence, repository files, and experimental design. Use after SDRF annotation or repair, before contribution or completion, when a review gate reports a pending artifact, or whenever an isolated reviewer must distrust the producer's self-assessment and issue a hash-bound verdict.
Create or improve an SDRF through a producer-reviewer workflow with deterministic validation, an evidence manifest, fresh-context adversarial review, repair, and mandatory re-review. Use when an SDRF must be independently verified before completion or contribution, when the user requests adversarial review, or when automated review hooks require a passing hash-bound receipt.
Use when the user wants SDRF annotation to run as an autonomous retained-improvement loop over one dataset, a manifest, or a dataset class such as all PRIDE cell line or crosslinking datasets.
Use when the user has a completed SDRF annotation for a ProteomeXchange dataset and wants to contribute it back to the community via a PR to sdrf-annotated-datasets.
Use when the user wants a comprehensive quality review of an SDRF file, a PR review of an SDRF submission, or a quality score assessment.
Use before sdrf:autoresearch when the user needs to screen or shortlist proteomics studies from PRIDE, MassIVE, ProteomeXchange accessions, or a manifest using detailed user-defined inclusion/exclusion criteria; extract study-level metadata from repository records and publications; and write an evidence-backed TSV for downstream annotation, review, or meta-analysis.
| name | sdrf:explain |
| description | Use when the user asks about SDRF concepts, columns, errors, format rules, or wants to understand why something is done a certain way. |
| user-invocable | true |
| argument-hint | [column name, error message, or concept] |
You are explaining SDRF concepts to users who may be new to the format. Use the sdrf-knowledge and sdrf-templates background skills for reference.
spec/sdrf-proteomics/TERMS.tsv and find the row for the columndescription field)type field, allowed values from values field, reserved words from allow_not_available/allow_not_applicable/allow_pooled fieldsUser: "What is comment[modification parameters]?"
This column describes the post-translational modifications (PTMs) searched in
your proteomics experiment.
WHY IT MATTERS:
Every search engine needs to know which modifications to look for.
Analysis pipelines (MaxQuant, DIA-NN, OpenMS) read this column to
configure their modification search.
FORMAT:
NT=<name>;AC=UNIMOD:<id>;TA=<target>;MT=<Fixed|Variable>
- NT = Name (human-readable)
- AC = UNIMOD accession (machine-readable)
- TA = Target amino acid (C, M, K, etc.) or position
- MT = Modification Type (Fixed = always present, Variable = sometimes present)
EXAMPLES:
NT=Carbamidomethyl;AC=UNIMOD:4;TA=C;MT=Fixed
→ Cysteine alkylation, present on all cysteines (fixed)
NT=Oxidation;AC=UNIMOD:35;TA=M;MT=Variable
→ Methionine oxidation, may or may not be present (variable)
NT=Acetyl;AC=UNIMOD:1;PP=Protein N-term;MT=Variable
→ N-terminal acetylation (PP instead of TA for protein-level positions)
MULTIPLE MODIFICATIONS:
Use separate columns for each modification (multiple columns allowed).
Common setup: 1 fixed (Carbamidomethyl) + 1-3 variable (Oxidation, Phospho, etc.)
COMMON MISTAKE:
⚠ UNIMOD:1 = Acetyl, UNIMOD:21 = Phospho
These are the most frequently swapped accessions in SDRF files.
Always double-check.
Error: "UNIMOD:21 used for Acetyl"
WHAT IT MEANS:
Your modification parameters column says UNIMOD:21 for a modification
named "Acetyl", but UNIMOD:21 is actually Phospho (phosphorylation).
WHY IT'S WRONG:
UNIMOD:21 = Phospho (+79.966 Da on S, T, Y)
UNIMOD:1 = Acetyl (+42.011 Da on protein N-terminus)
The wrong accession means analysis pipelines will search for phosphorylation
instead of acetylation — completely wrong search results.
HOW TO FIX:
Change: NT=Acetyl;AC=UNIMOD:21;PP=Protein N-term;MT=Variable
To: NT=Acetyl;AC=UNIMOD:1;PP=Protein N-term;MT=Variable
HOW TO PREVENT:
This is the #1 most common SDRF error (~45% of all issues).
Always verify UNIMOD accessions: Acetyl=1, Phospho=21.
Error: "Missing required column: characteristics[biological replicate]"
WHAT IT MEANS:
Your SDRF doesn't have a column for biological replicate identifiers.
WHY IT MATTERS:
Analysis pipelines (MSstats, quantms) need to know which runs are
biological replicates vs technical replicates to correctly model
variance. Without this, statistical analysis may be invalid.
HOW TO FIX:
Add a column: characteristics[biological replicate]
Values: integers starting from 1 (unique per biological sample)
If pooled: use "pooled"
Think of it this way:
Ontology terms enable:
Templates define which columns are required for your experiment type. Without templates, SDRF validation only checks basic format (column names, no empty cells). With templates, it checks that you've captured the right metadata for your specific experiment.
Read spec/sdrf-proteomics/sdrf-templates/templates.yaml for the full list of available templates.
Templates are organized into layers: Technology (required), Sample/Organism (recommended),
Experiment (optional), Clinical (optional), and Metaproteomics (special).
You declare templates via comment[sdrf template] columns:
NT=ms-proteomics;VV=v1.1.0
See /sdrf:templates for the full selection guide and decision tree.
Rows = samples × fractions × label_channels × technical_replicates
Label-free: 1 row per file
TMT6plex: 6 rows per file (one per channel)
TMT10plex: 10 rows per file
SILAC: 2-3 rows per file (light/medium/heavy)
Example: 10 samples × 12 fractions × 1 (label-free) = 120 rows
Example: 10 samples × 12 fractions × 10 (TMT10plex) = 1,200 rows