Closed pbashyal-nmdp closed 2 years ago
Make sure to include logic to determine if expression characters should propagate downward.
DRB5*01:08N
is valid nomenclature, per Steve Marsh.
DRB5*01:08:01N
and DRB5*01:08:02N
are currently the only allelic variants of DRB5*01:08N
.
Make sure to include logic to determine if expression characters should propagate downward.
DRB5*01:08N
is valid nomenclature, per Steve Marsh.
I don't see DRB5*01:08N
in Allelelist.txt file ? How do we know it's valid ?
From: Marsh, Steven Date: Tuesday, September 21, 2021 at 3:51 PM To: Gragert, Loren Subject: Re: DRB5*01:08N - Valid Nomenclature?
External Sender. Be aware of links, attachments and requests. Hi Loren
I suppose it is a valid truncation of DRB501:08:01N or DRB501:08:02N.
On another matter, are you ready to review papers again? I saw something submitted today and thought of you 😉
Steve
Professor Steven GE Marsh, BSc PhD ARCS FRCPath Chief Bioinformatics and Immunogenetics Officer & Deputy Director of Research, Anthony Nolan Research Institute Professor of Immunogenetics, Cancer Institute, University College London Anthony Nolan Research Institute, Royal Free Campus, Pond Street, London NW3 2QG, United Kingdom P: +44 20 7284 8321 | M: +44 7391 016866 |
HLA Informatics Group | www.anthonynolan.org/HIG/ IPD-IMGT/HLA Database | www.ebi.ac.uk/ipd/imgt/hla/ IPD Databases | www.ebi.ac.uk/ipd/ HLA Nomenclature | hla.alleles.org
On 21 Sep 2021, at 21:48, Gragert, Loren wrote:
Hi Steve,
Is “DRB5*01:08N” is valid nomenclature?
DRB501:08:01N and DRB501:08:02N are the only three-field variants of this allele.
Loren
Haha ok. Are there other exceptions that are not listed ?
The general rule is that expression characters can propagate up to two field level if all three-field and/or four-field alleles have the same expression character.
The key term is “all”. If one of the possibilities doesn’t have the expression character then it can’t propagate up.
There seem to be 70 such reductions. Some Examples:
A*01:04:01:01N
A*01:04:01:02N
A*01:52:01N
A*01:52:02N
A*02:314:01N
A*02:314:02N
A*02:468:01N
A*02:468:02N
A*02:696:01N
A*02:696:02N
A*03:01:01:02N
B*15:245:01Q
B*15:245:02Q
B*18:01:01:12Q
B*18:01:01:42Q
B*56:01:01:05S
Broken down by expression character counts:
See PR #129 for the U2
mode:
Here's the feature test for the U2 cases. See tests/features/u2_reduction.feature
Feature: U2 Reduction # tests/features/u2_reduction.feature:1
Unambiguous Reduction to 2 fields
For cases when we want 2 field reduction, but we don't want additional
ambiguity with G group reduction.
In general:
- If the 2 field reduction is unambiguous, reduce to 2 field level
- If ambiguous, reduce to G group level
Scenario Outline: Reduce to 2 Unambiguous feilds -- @1.1 Unambiguous Reductions # tests/features/u2_reduction.feature:18
Given the allele as A*01:04:01:01N # tests/steps/redux_allele.py:7
When reducing on the U2 level # tests/steps/redux_allele.py:12
Then the reduced allele is found to be A*01:04N # tests/steps/redux_allele.py:27
Scenario Outline: Reduce to 2 Unambiguous feilds -- @1.2 Unambiguous Reductions # tests/features/u2_reduction.feature:19
Given the allele as A*01:04:01:02N # tests/steps/redux_allele.py:7
When reducing on the U2 level # tests/steps/redux_allele.py:12
Then the reduced allele is found to be A*01:04N # tests/steps/redux_allele.py:27
Scenario Outline: Reduce to 2 Unambiguous feilds -- @1.3 Unambiguous Reductions # tests/features/u2_reduction.feature:21
Given the allele as A*01:52:01N # tests/steps/redux_allele.py:7
When reducing on the U2 level # tests/steps/redux_allele.py:12
Then the reduced allele is found to be A*01:52N # tests/steps/redux_allele.py:27
Scenario Outline: Reduce to 2 Unambiguous feilds -- @1.4 Unambiguous Reductions # tests/features/u2_reduction.feature:22
Given the allele as A*01:52:02N # tests/steps/redux_allele.py:7
When reducing on the U2 level # tests/steps/redux_allele.py:12
Then the reduced allele is found to be A*01:52N # tests/steps/redux_allele.py:27
Scenario Outline: Reduce to 2 Unambiguous feilds -- @1.5 Unambiguous Reductions # tests/features/u2_reduction.feature:24
Given the allele as DRB5*01:08:01N # tests/steps/redux_allele.py:7
When reducing on the U2 level # tests/steps/redux_allele.py:12
Then the reduced allele is found to be DRB5*01:08N # tests/steps/redux_allele.py:27
Scenario Outline: Reduce to 2 Unambiguous feilds -- @1.6 Unambiguous Reductions # tests/features/u2_reduction.feature:25
Given the allele as DRB5*01:08:02N # tests/steps/redux_allele.py:7
When reducing on the U2 level # tests/steps/redux_allele.py:12
Then the reduced allele is found to be DRB5*01:08N # tests/steps/redux_allele.py:27
Scenario Outline: Reduce to 2 Unambiguous feilds -- @1.7 Unambiguous Reductions # tests/features/u2_reduction.feature:27
Given the allele as B*56:01:01:05S # tests/steps/redux_allele.py:7
When reducing on the U2 level # tests/steps/redux_allele.py:12
Then the reduced allele is found to be B*56:01S # tests/steps/redux_allele.py:27
Scenario Outline: Reduce to 2 Unambiguous feilds -- @1.8 Unambiguous Reductions # tests/features/u2_reduction.feature:28
Given the allele as B*39:01:01:02L # tests/steps/redux_allele.py:7
When reducing on the U2 level # tests/steps/redux_allele.py:12
Then the reduced allele is found to be B*39:01L # tests/steps/redux_allele.py:27
Scenario Outline: Reduce to 2 Unambiguous feilds -- @2.1 Ambiguous Reductions # tests/features/u2_reduction.feature:33
Given the allele as B*44:66 # tests/steps/redux_allele.py:7
When reducing on the U2 level # tests/steps/redux_allele.py:12
Then the reduced allele is found to be B*44:66 # tests/steps/redux_allele.py:27
Scenario Outline: Reduce to 2 Unambiguous feilds -- @2.2 Ambiguous Reductions # tests/features/u2_reduction.feature:34
Given the allele as B*44:270:01 # tests/steps/redux_allele.py:7
When reducing on the U2 level # tests/steps/redux_allele.py:12
Then the reduced allele is found to be B*44:270 # tests/steps/redux_allele.py:27
Scenario Outline: Reduce to 2 Unambiguous feilds -- @2.3 Ambiguous Reductions # tests/features/u2_reduction.feature:36
Given the allele as B*44:270:01/B*44:270:02 # tests/steps/redux_allele.py:7
When reducing on the U2 level # tests/steps/redux_allele.py:12
Then the reduced allele is found to be B*44:270 # tests/steps/redux_allele.py:27
Scenario Outline: Reduce to 2 Unambiguous feilds -- @2.4 Ambiguous Reductions # tests/features/u2_reduction.feature:38
Given the allele as B*44:66:01/B*44:66:02 # tests/steps/redux_allele.py:7
When reducing on the U2 level # tests/steps/redux_allele.py:12
Then the reduced allele is found to be B*44:66 # tests/steps/redux_allele.py:27
1 feature passed, 0 failed, 0 skipped
12 scenarios passed, 0 failed, 0 skipped
36 steps passed, 0 failed, 0 skipped, 0 undefined
Took 0m0.006s
We propose a new reduction mode,
U2
for Unambiguous Reduction. This is a request made in collaboration with CVG.We lose typing precision when we reduce to 2 fields with
lgx
andlg
as it reduces toG
group before reducing to 2 fields.U2
type of reduction: For cases when want 2 field reduction but we don't want additional ambiguity withG
group reduction.In general:
With
U2
:Use case as specified by CVG:
B*44:66
->B*44:66
B*44:270:01
->B*44:270
B*44:270:01/ B*44:270:02
->B*44:270
B*44:66:01/ B*44:66:02
->B*44:66