一键导入
sdrf-fix
Use when the user has an SDRF file with known errors and wants them fixed automatically. Triggers on requests to fix, correct, or repair SDRF errors.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when the user has an SDRF file with known errors and wants them fixed automatically. Triggers on requests to fix, correct, or repair SDRF errors.
用 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:fix |
| description | Use when the user has an SDRF file with known errors and wants them fixed automatically. Triggers on requests to fix, correct, or repair SDRF errors. |
| user-invocable | true |
| argument-hint | [file path or paste SDRF content] |
You are fixing known common errors in an SDRF file. Apply fixes systematically.
Verify that parse_sdrf is available (run parse_sdrf --version or which parse_sdrf). If it is not installed:
/sdrf:setup or conda env create -f environment.yml && conda activate sdrf-skills (or pip install -r requirements.txt)| Wrong | Correct | Modification |
|---|---|---|
| UNIMOD:21 for Acetyl | UNIMOD:1 | Acetyl |
| UNIMOD:1 for Phospho | UNIMOD:21 | Phospho |
| UNIMOD:34 for Oxidation | UNIMOD:35 | Oxidation |
| UNIMOD:35 for Methyl | UNIMOD:34 | Methyl |
Fix: Parse NT= field, look up correct UNIMOD accession, replace AC= field.
| Wrong | Correct |
|---|---|
0000305 | EFO:0000305 |
9606 | NCBITaxon:9606 |
0002107 | UBERON:0002107 |
Fix: Detect bare numbers, infer ontology from column type, add prefix.
| Wrong | Correct |
|---|---|
Male | male |
Female | female |
Homo Sapiens | Homo sapiens |
Not Available | not available |
Fix: Lowercase sex values and reserved words. Organism names follow binomial rules (capital genus, lowercase species).
| Wrong | Correct |
|---|---|
['breast cancer'] | breast cancer |
nan | not available |
None | not available |
"" | (empty or not available) |
Fix: Strip brackets, quotes; replace nan/None with reserved words.
| Wrong | Correct |
|---|---|
N/A | not applicable |
NA | not available |
n/a | not applicable |
unknown | not available |
null | not available |
- | not available |
Fix: Replace with correct SDRF reserved words.
| Wrong | Correct |
|---|---|
data-dependent acquisition | Data-Dependent Acquisition |
data-independent | Data-Independent Acquisition |
DDA | Data-Dependent Acquisition |
DIA | Data-Independent Acquisition |
Fix: Use the ontology-standard full name.
| Wrong | Correct |
|---|---|
58 years | 58Y |
58 | 58Y |
6 months | 6M |
14 days | 14D |
58yo | 58Y |
Fix: Extract number, map unit to Y/M/D suffix.
| Wrong | Correct |
|---|---|
Carbamidomethyl (C) | NT=Carbamidomethyl;AC=UNIMOD:4;TA=C;MT=Fixed |
Oxidation (M) | NT=Oxidation;AC=UNIMOD:35;TA=M;MT=Variable |
NT=Acetyl;AC=UNIMOD:1;TA=Protein N-term | NT=Acetyl;AC=UNIMOD:1;PP=Protein N-term;MT=Variable |
Fix: Parse free-text mods, construct proper NT/AC/TA/MT format.
Fix: Trim all cell values and column names.
| Wrong | Correct |
|---|---|
Q Exactive | AC=MS:1001911;NT=Q Exactive |
Orbitrap Fusion Lumos | AC=MS:1002732;NT=Orbitrap Fusion Lumos |
Fix: If missing AC= format, search OLS MS ontology and construct proper format.
mcp OLS → searchClasses(query="<instrument>", ontologyId="ms")
Changes Applied:
Row 3, comment[modification parameters]:
OLD: NT=Acetyl;AC=UNIMOD:21;TA=Protein N-term;MT=Variable
NEW: NT=Acetyl;AC=UNIMOD:1;PP=Protein N-term;MT=Variable
FIX: UNIMOD:21 is Phospho, not Acetyl. Correct accession is UNIMOD:1. Also TA→PP for position.
Row 5, characteristics[sex]:
OLD: Male
NEW: male
FIX: Sex values must be lowercase per SDRF specification.
All rows, comment[data file]:
FIX: Trimmed trailing whitespace from 12 values.
Summary: 15 fixes applied (3 UNIMOD corrections, 5 case fixes, 7 whitespace trims)
After applying all fixes, always run programmatic validation before presenting results to the user.
git submodule update --remote --recursive
Save the fixed SDRF to a file and validate with the detected templates:
parse_sdrf validate-sdrf \
--sdrf_file fixed.sdrf.tsv \
--template <template1> \
--template <template2>
Detect templates from comment[sdrf template] columns in the SDRF.
If parse_sdrf is not installed, tell the user: pip install sdrf-pipelines
spec/sdrf-proteomics/TERMS.tsv and check allow_not_available/allow_not_applicable fieldsPresent the re-validation summary alongside the changelog.
If all errors are fixed and the SDRF is for a ProteomeXchange dataset (PXD accession),
suggest contributing the corrected annotation via /sdrf:contribute {PXD} to the
sdrf-annotated-datasets community repository.