vdjdb-format

Normalise the controlled-vocabulary fields of a raw VDJdb chunk TSV to the form the database records - IMGT V/D/J gene and allele names including Adaptive ImmunoSEQ and Arden conversions, IPD-IMGT/HLA

SKILL.md

GitHub

Validate submission formatting

Read AUTHORITIES.md. Use the current chunk specification and a shipping header rather than positional column numbers or copied column lists.

Run vdjdb qc <file> first. Resolve malformed headers, wrong separators and shifted fields from the original source. An invalid layout cannot be repaired by renaming values in the shifted cells.

Name the publication

Use a verified PMID_<id>.tsv, including for PubMed-indexed preprints. Without a PMID, use DOI_<doi>.tsv with / replaced by _. Extract the DOI from its URL first; exclude hostnames, content, v1 and .full. Verify the reference against PubMed or the publisher rather than inferring it from a filename.

Before a rename, check for a target collision. Preserve the source bytes, update the identity registry on the data-issue branch and verify all record IDs and content hashes. Record the old and new paths on the issue. A rename can amend provenance keys without changing observations.

Inspect assembly before editing

Preserve supplied sequence and segment cells when the build already resolves them. Inspect the harmonisation, nomenclature, junction and submitted-call reports. Do not manually repeat allele selection, old-name conversion or terminal-flank repair at import.

Field Review
Species Declared vocabulary, including BosTaurus; no borrowed germline model
V/D/J IMGT membership and locus; Arden/Adaptive conversions from reviewed tables
Multiple segment calls Preserve the reported alternatives; check each call
Human MHC IPD-IMGT/HLA membership, reported resolution and expression suffix
Nonhuman MHC proofreading/mhc_nonhuman.tsv and declared patches/mhc.dict corrections
Method tokens Declared vocabulary and actual experimental evidence
Reference Verified publication/submission identifier and reviewed aliases

Check suspicious allele-number runs against IMGT and the source. A numeric cutoff is not evidence that an allele is wrong. Nonfunctional calls are advisory; do not substitute a functional allele without sequence or source support.

Use H2- murine names where the authority maps them. A chain name and a haplotype molecule name are different levels of reporting. Low-resolution human calls remain low resolution unless the source provides more detail.

Class I requires mhc.b=B2M. Class II cannot use B2M; a reported class-II chain may have its unreported partner blank. Resolve supported names and inspect partner inference where available; never infer restriction from peptide length or a peptide-binding prediction.

Preserve frequency and assay meaning

A percentage for a clonotype is not automatically a subset frequency. Keep method.frequency, its count/total and meta.subset.frequency separate. Do not fill one from another. A platform name is not sequencing evidence by itself. A sorting term does not become verification unless the paper reports the reconstructed receptor being tested.

Record every proposed cell change with file/row, old/new value and authority. A missing authority entry requires a reviewed addition, not a guessed nearest spelling. Apply data changes on the chunk or data-issue branch, separately from build code. Re-run QC and proofread.