MHC annotation and supplied alleles#
Build the curated sequence reference once with tcren build-mhc-ref before
annotating structures. The search index is then built as needed. The FASTA
reference itself is not automatically downloaded by scoring commands.
The standard structure score needs MHC chain roles, class and groove annotation. Groove regions are projected from canonical class/role sequences. Exact allele identity and the optional NetMHCpan pseudosequence annotation are not inputs to the default cohort score. Allele identity is context for the explicit allele confidence proxy.
A cropped MHC chain may match several reference alleles identically. The sequence
search selects a deterministic representative and retains co-best alleles among
its returned hits. This is not a genotype call or an exhaustive equivalence
class: the search returns at most 50 hits per chain. query_coverage and
exact_observed_match describe the representative alignment, not full-length
allele identity. search_hit_limit_reached signals a possibly truncated list.
Supply known context in metadata.tsv beside the structures, keyed by unique
id (or complex.id). Use mhc for an allele such as HLA-A*02:01 or
A*02. Class II can use mhc.a and mhc.b, or a slash-separated
DRA*01:01/DRB1*01:01 pair in mhc. Supplied field resolution is retained;
A*02 is never expanded into an arbitrary two-field allele.
The mapped call records allele_source=supplied, the separate
representative_allele, and supplied_support. Exact observed-sequence
support means the observed chain is contained in an existing reference sequence
consistent with the declaration. It cannot resolve differences outside that
chain. Non-exact sequence support or absence from returned co-best hits emits a
warning and remains visible in supplied_support; absence from a limited hit
list alone does not establish a genotype conflict. Contradictory class/chain
roles or conflicting metadata fail explicitly. Supplied metadata does not
change the mapped role or groove projection. The energy-score table exposes MHCa evidence with the mhc. prefix.
For both chains of a class-II complex, Python callers can inspect
structure.mhc_calls; the MHCa table fields do not describe the MHCb allele.