Repository navigation
2.36.0 — a junction naming neither V nor J gets a locus proposed too - #146
Merged
Merged
Conversation
2.34.0 proposed the missing side from the junction, but only within the locus the *other* side named. A record naming neither came back refused: no locus, no boundary, nothing for a nucleotide stage to work on. No new rule. Every locus the organism ships now competes, scored by the same `anchor_depth` from each germline's own anchor, and a locus only wins by explaining residues at BOTH ends -- which is what keeps a TRA junction out of TRD, where the V genes are shared and the J genes are not. 522 of VDJdb's curated `chunks` records name neither side (461 distinct keys). All 461 get a locus and 459 come back `good`, against none before. The proposed locus agrees with the `cdr3.alpha`/`cdr3.beta` column the record was filed under on 457 of 461 (99.13 %) -- 318 TRB, 139 TRA -- and all four disagreements are `CACD...DKLIF`: TRDV2's own anchor and TRDJ1's own ending, in a schema with no delta column. Each end must explain its own anchor residue or no locus is named. Without that floor `QQQQQQQQQQQQ` agreed with nothing on every locus and was still handed TRA; over the 461 real keys the winning locus clears it on every one. scripts/audit_cdr3fix.py kept blank-side keys out. It required both a V and a J to be named, so the A/B instrument was blind to exactly the rows 2.34.0 and this release change. Corpus 189,596 -> 192,726 keys, digest rebases to 0df8541ed1060fe1; on the 189,596 the old filter kept, the digest is unchanged at 2b75491b380310aa, so nothing that already worked moved. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
2.34.0 proposed a missing V or J from the junction, but only within the locus the other side named. A record naming neither came back refused — no locus, no boundary, nothing for a nucleotide stage to work on.
There is no new rule here. Every locus the organism ships now competes, scored by the same
anchor_depthfrom each germline's own anchor, and a locus only wins by explaining residues at both ends — which is what keeps a TRA junction out of TRD, where the V genes are shared and the J genes are not.Measured
522 of VDJdb's curated
chunksrecords name neither side (461 distinct keys). All 461 now get a locus and 459 come backgood, against none before.The check is VDJdb's own filing: the proposed locus agrees with the
cdr3.alpha/cdr3.betacolumn the record was filed under on 457 of 461 (99.13 %) — 318 TRB, 139 TRA. All four disagreements areCACD…DKLIF, which is TRDV2's own anchor and TRDJ1's own ending, in a schema with no δ column.The floor is measured too
Each end must explain its own anchor residue or no locus is named. Without it a junction agreeing with nothing (
QQQQQQQQQQQQ) reached depth 0 on both ends of every locus and was still handed TRA. Over the 461 real keys the winning locus clears the floor on every one — 16 at depth 1, 200 at 4, 156 at 5.The audit instrument was blind to this
scripts/audit_cdr3fix.pyrequired both a V and a J to be named, so the A/B could not see the rows 2.34.0 and this release change. Widened:0df8541ed1060fe12b75491b380310aa— nothing that already worked movedWhy now
vdjtools4.8.0's junction pipeline pinsarda-mapper>=2.36.0: those 461 keys are the last of VDJdb's corpus that answered nothing.Gate: 1,339 passed / 9 skipped.
ruff check src/clean. Docs build with-W, zero warnings.🤖 Generated with Claude Code