Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR applies a “hotfix” to the VDJdb proofreading guidance and several chunk files, primarily around MHC-II field integrity and frequency handling.
Changes:
- Extends
skills/vdjdb-proofread/SKILL.mdwith additional proofreading/QC rules (MHC-II repair rules, quick-scan commands, andmethod.frequencyguidance). - Fills missing mouse MHC-II
mhc.bvalues in multiple chunk files by copyingmhc.a. - Adjusts/normalizes select human MHC-II representations in specific datasets (including split handling for combined α/β in
mhc.ain other changed chunks per the PR description).
Reviewed changes
Copilot reviewed 10 out of 14 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| skills/vdjdb-proofread/SKILL.md | Adds/updates proofreading rules for method.frequency and MHC-II audits/repairs; includes new “gaps” documentation. |
| chunks/PMID_37325645.txt | Fills missing mouse MHC-II mhc.b values (mhc.b = mhc.a). |
| chunks/PMID_31471352.txt | Same mouse MHC-II mhc.b self-fill normalization. |
| chunks/PMID_30541895.txt | Applies combined MHC-II α/β split and updates frequency values (per PR summary). |
| chunks/PMID_29568993.txt | Small data hygiene fix (trailing/odd whitespace cleanup). |
| chunks/PMID_15889096.txt | Fills missing MHC-II partner chain, but currently uses a likely swapped mhc.a/mhc.b mapping for HLA-DR. |
| chunks/PMID_12466894.txt | Fills missing HLA-DR partner chain; one row needed correction to keep mhc.a/mhc.b consistent within the file. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| | 11 | HLA allele not in IPD-IMGT/HLA | Human `mhc.a/mhc.b` (starting with `HLA-`) not found in `proofreading/mhc_alleles.tsv.gz` | Query mhc_alleles.tsv.gz | | ||
| | 12 | Unconfirmed HLA allele | Allele in `proofreading/mhc_alleles.tsv.gz` with `confirmed = Unconfirmed` | Query mhc_alleles.tsv.gz | | ||
| | 13 | Combined MHC-II α/β in `mhc.a` | `mhc.a` contains a `/` (e.g., `HLA-DQA1*01:02/DQB1*06:02`) with `mhc.b` blank — the α-chain and β-chain are collapsed into one field | Split on `/`: `mhc.a` = part before slash (including `HLA-` prefix); `mhc.b` = `HLA-` + part after slash. Check: `re.search(r'^(HLA-\S+?)/([A-Z]\S+)$', mhc_a)` where `mhc_b == ''` | | ||
| | 14 | Percentage in `method.frequency` | `method.frequency` contains `%` instead of count/total (e.g., `36.1%` instead of `13/36`). Percentages are not a valid VDJdb frequency format. Particularly suspicious when the same percentage repeats across all clones for a given epitope (indicating it is a group-level statistic, not a per-clone frequency) | **Do not blindly convert to N/M** — the denominator is often unknown from the paper. Check: if the same value repeats for all clones of one epitope, it likely represents the frequency of that epitope-reactive fraction (e.g., % of tetramer-positive cells) and should be moved to `meta.subset.frequency`. If it is truly a per-clone repertoire frequency (e.g., from high-throughput sequencing), retain as a note in the extraction log and leave blank or convert if the count/total can be determined from the paper. | |
| | mhc.a → class inference | If `mhc.a` starts with `HLA-DR/DQ/DP/DO/DM`, class must be `MHCII` | Correct `mhc.class` | | ||
| | HLA allele in mhc_alleles.tsv.gz | Human `mhc.a/mhc.b` starting with `HLA-` should exist in `proofreading/mhc_alleles.tsv.gz` | Note if not found | | ||
| | **No blank MHC fields** (Gap #15) | `mhc.a` and `mhc.b` must both be non-blank when `mhc.class` is provided. | Flag every row with blank `mhc.a` or `mhc.b`; apply deterministic fixes first, then curate unresolved rows manually. | | ||
| | **Combined α/β in `mhc.a`** (Gap #13) | `mhc.a` matches `HLA-DXA*/DYB*...` or similar (contains `/`), `mhc.b` is blank — both chains are collapsed into `mhc.a`. Applies to HLA-DQ, HLA-DP, HLA-DR heterodimers. | Split on `/`: `mhc.a` = prefix before slash (e.g., `HLA-DQA1*01:02`); `mhc.b` = `HLA-` + suffix after slash (e.g., `HLA-DQB1*06:02`). Detection: `bool(re.match(r'^HLA-\S+/\S+$', mhc_a)) and mhc_b == ''` | |
| | # | Resolution date | Details | | ||
| |---|---|---| | ||
| | 13 | June 2026 | Combined HLA α/β collapses (e.g., `HLA-DQA1*01:02/DQB1*06:02`) detected in 628 rows across 4 files (PMID_30541895, PMID_33837283, PMID_35675811, small_datasets_2026-05-29). Split using regex `r'^(HLA-\S+?)/([A-Z]\S+)$'`: mhc.a = part before slash, mhc.b = `HLA-` + part after slash. **✅ FULLY RESOLVED** | | ||
| | 14 | In progress | Percentage-format frequencies (e.g., `36.1%`) identified in 36 files; flagged as likely group-level statistics when identical across all clones of one epitope. Not auto-fixed (requires editorial decision to move to `meta.subset.frequency` or blank). See `MHC_BLANK_RESOLUTION_REPORT.md` for details | |
| 91 CASSGSPGQGAEYF TRBV6-5 TRBJ2-7 HomoSapiens HLA-DRA*01 HLA-DRB1*01 MHCII PKYVKQNTLKLAT HA InfluenzaA PMID:12466894 tetramer-sort 1/73 sanger CD4+ SL SL-33 PBMC HLA-DR1 | ||
| 92 CATSAGGAEPTDTQYF TRBV24-1 TRBJ2-3 HomoSapiens HLA-DRA*01 HLA-DRB1*01 MHCII PKYVKQNTLKLAT HA InfluenzaA PMID:12466894 tetramer-sort 1/73 sanger CD4+ SL SL-34 PBMC HLA-DR1 | ||
| 93 CASSWRGGIQGVAGELFF TRBV13 TRBJ2-2 HomoSapiens HLA-DRA*01 HLA-DRB1*01 MHCII PKYVKQNTLKLAT HA InfluenzaA PMID:12466894 tetramer-sort 2/73 sanger CD4+ SL SL-35 PBMC HLA-DR1 | ||
| 94 CASSWPEWEGELFF TRBV1 TRBJ2-2 HomoSapiens HLA-DRB1*01:01 HLA-DRA*01:01 MHCII PKYVKQNTLKLAT HA InfluenzaA PMID:12466894 tetramer-sort WL1-7 |
| | `method.singlecell` | `yes` or blank | Any other value (e.g. `no`, `true`, `single-cell`) → blank or `yes` | | ||
| | `method.sequencing` | `sanger`, `amplicon-seq`, `rna-seq`, or blank | `illumina`, `nextseq`, `miseq` → `amplicon-seq` (those are platforms, not methods); `Single cell` → `rna-seq` + set `method.singlecell=yes`; `RNA-seq` → `rna-seq`; `amplicon` → `amplicon-seq` | | ||
| | `method.verification` | tokens from the README set, comma-separated | Software names (`mixcr`, `cellranger`) → blank; sort methods misplaced here (`tetramer-sort`, `multimer-sort`) → replace with stain form (`tetramer-stain`, `multimer-stain`); `antigen-coated-targets` → `antigen-loaded-targets`; plain text descriptions → blank | | ||
| | `method.frequency` | `N/M` (count/total, e.g. `1/56`) or blank | **Percentage format (`%`) is not valid**. A repeated identical `%` value across all clones for one epitope (e.g., `36.1%` on all NP-reactive rows) means it is a group-level figure (% of tetramer+ cells reactive to that epitope) — move to `meta.subset.frequency` and blank `method.frequency`. A varied `%` value per clone from a sequencing experiment (e.g., `2.40%`, `2.48%`) may be a per-clone repertoire fraction — note in extraction log; ideally convert to `N/M` using the paper's denominators, or blank if denominator is unknown. | |
Comment on lines
+2
to
+4
| 1 CASSLATSGGGSDTQYF TRBV5-1*02 TRBJ2-3*01 HomoSapiens HLA-DRB1*04:01 HLA-DRA*01:01 MHCII GIVEQCCTSICSLYQ INS HomoSapiens PMID:15889096 antigen-loaded-targets | ||
| 2 CASSPWTGIPDNSPLHF TRBV5-1*02 TRBJ1-6*01 HomoSapiens HLA-DRB1*04:01 HLA-DRA*01:01 MHCII GIVEQCCTSICSLYQ INS HomoSapiens PMID:15889096 antigen-loaded-targets | ||
| 3 CASSLEVPFNSPLHF TRBV5-1*02 TRBJ1-6*01 HomoSapiens HLA-DRB1*04:01 HLA-DRA*01:01 MHCII GIVEQCCTSICSLYQ INS HomoSapiens PMID:15889096 antigen-loaded-targets |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.