py_hla_match.policy

class py_hla_match.policy.ARDMatchLevel(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: IntEnum

ARD refinement iff AlleleMatchLevel == ARD_MATCH.

G_GROUP_MATCH (2):

ARD exons identical at nucleotide level (G group)

P_GROUP_MATCH (1):

ARD exons identical at amino-acid level (P group)

NOT_APPLICABLE:

AlleleMatchLevel != ARD_MATCH

G_GROUP_MATCH = 2
NOT_APPLICABLE = 0
P_GROUP_MATCH = 1
class py_hla_match.policy.ARDMatchLevelCertainty(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: Enum

Certainty of ARD-match level.

NOT_APPLICABLE:

AlleleMatchLevel != ARD_MATCH

UNCERTAIN:

insufficient typing resolution to be sure about ARDMatchLevel i.e., a higher ARDMatchLevel is possible

CERTAIN:

sufficient typing resolution to be sure about ARDMatchLevel i.e., a higher ARDMatchLevel is not possible

CERTAIN = 'certain about ARDMatchLevel due to sufficient resolution'
NOT_APPLICABLE = 'not applicable for AlleleMatchLevel != ARD_MATCH'
UNCERTAIN = 'uncertain about ARDMatchLevel due to insufficient resolution'
class py_hla_match.policy.AlleleMatchLevel(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: IntEnum

Following hla nomenclature:

NOT_ASSESSABLE (0):

Typing resolution insufficient

DRB345_SUBLOCUS_MISMATCH (-3):

DRB3/4/5 region mismatch: - locus normalized to DRB345 - but underlying sub-loci differ (e.g. DRB3 vs DRB4/5 or DRBX)

ANTIGEN_MISMATCH (-2):

Mismatch at the group code encoding antigen

ALLELE_MISMATCH (-1):

Mismatch at the allele level encoding a specific allele

ARD_MATCH (1):

ARD level match

cf.https://hla.alleles.org/nomenclature/naming.html

ALLELE_MISMATCH = -1
ANTIGEN_MISMATCH = -2
ARD_MATCH = 1
DRB345_SUBLOCUS_MISMATCH = -3
NOT_ASSESSABLE = 0
class py_hla_match.policy.ExpressionSuffixMatchLevel(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: Enum

Policy decisions about how to treat expression suffixes in matching. Similar to cf AlleleMatchLevel in hla.py, but for expression suffixes.

ALLELE_MISMATCH = 'allele_mismatch'
ANTIGEN_MISMATCH = 'antigen_mismatch'
ARD_MATCH = 'ard_match'
IGNORE = 'ignore'
NOT_ASSESSABLE = 'not_assessable'
class py_hla_match.policy.ExpressionSuffixPolicy(risk_suffixes: 'FrozenSet[str]' = frozenset({'A', 'S', 'C', 'N', 'L'}), ambiguous_suffixes: 'FrozenSet[str]' = frozenset({'Q'}), equal_risk: 'ExpressionSuffixMatchLevel' = <ExpressionSuffixMatchLevel.NOT_ASSESSABLE: 'not_assessable'>, risk_vs_none: 'ExpressionSuffixMatchLevel' = <ExpressionSuffixMatchLevel.ALLELE_MISMATCH: 'allele_mismatch'>, risk_vs_different_risk: 'ExpressionSuffixMatchLevel' = <ExpressionSuffixMatchLevel.ALLELE_MISMATCH: 'allele_mismatch'>, q_present: 'ExpressionSuffixMatchLevel' = <ExpressionSuffixMatchLevel.NOT_ASSESSABLE: 'not_assessable'>)[source]

Bases: object

Parameters:
ambiguous_suffixes: FrozenSet[str] = frozenset({'Q'})
equal_risk: ExpressionSuffixMatchLevel = 'not_assessable'
q_present: ExpressionSuffixMatchLevel = 'not_assessable'
risk_suffixes: FrozenSet[str] = frozenset({'A', 'C', 'L', 'N', 'S'})
risk_vs_different_risk: ExpressionSuffixMatchLevel = 'allele_mismatch'
risk_vs_none: ExpressionSuffixMatchLevel = 'allele_mismatch'
class py_hla_match.policy.MolecularMatchLevel(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: IntEnum

Molecular (sequence-level) refinement iff AlleleMatchLevel == ARD_MATCH.

EXACT_ALLELE_MATCH (5):

1-4 fields identical

CODING_SEQUENCE_MATCH (4):

1-3 fields identical, different or untyped 4th field

FULL_PROTEIN_MATCH (3):

1-2 fields identical, different or untyped 3rd field

ARD_MATCH_ONLY (2):

2-field difference but ARD equivalent

NOT_ASSESSABLE (1):

Typing resolution insufficient to assess molecular match level

NOT_APPLICABLE (0):

AlleleMatchLevel != ARD_MATCH

ARD_MATCH_ONLY = 2
CODING_SEQUENCE_MATCH = 4
EXACT_ALLELE_MATCH = 5
FULL_PROTEIN_MATCH = 3
NOT_APPLICABLE = 0
NOT_ASSESSABLE = 1
class py_hla_match.policy.MolecularMatchLevelCertainty(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: Enum

Certainty of molecular level.

NOT_APPLICABLE:

AlleleMatchLevel != ARD_MATCH

UNCERTAIN:

insufficient typing resolution to be sure about MolecularMatchLevel i.e., a higher MolecularMatchLevel is possible

CERTAIN:

sufficient typing resolution to be sure about MolecularMatchLevel i.e., a higher MolecularMatchLevel is not possible

CERTAIN = 'certain about MolecularMatchLevel due to sufficient resolution'
NOT_APPLICABLE = 'not applicable for AlleleMatchLevel != ARD_MATCH'
UNCERTAIN = 'uncertain about MolecularMatchLevel due to insufficient resolution'

Classes

ARDMatchLevel(value[, names, module, ...])

ARD refinement iff AlleleMatchLevel == ARD_MATCH.

ARDMatchLevelCertainty(value[, names, ...])

Certainty of ARD-match level.

AlleleMatchLevel(value[, names, module, ...])

Following hla nomenclature:

ExpressionSuffixMatchLevel(value[, names, ...])

Policy decisions about how to treat expression suffixes in matching.

ExpressionSuffixPolicy(risk_suffixes, ...)

MolecularMatchLevel(value[, names, module, ...])

Molecular (sequence-level) refinement iff AlleleMatchLevel == ARD_MATCH.

MolecularMatchLevelCertainty(value[, names, ...])

Certainty of molecular level.