Rozmyslet, jak by měla informace frequent/infrequent ovlivňovat převod do SPLIT ve funkci _convert_potential_hla_types_to_low_res:
def _convert_potential_hla_types_to_low_res(
potential_hla_types: List[HLATypeWithFrequency]) -> List[HLATypeWithFrequency]:
assumed_hla_types_raw = {HLATypeWithFrequencyRaw(
hla_code=potential_hla_type.hla_type.code.get_low_res_code(),
is_frequent=True
) for potential_hla_type in potential_hla_types}
return [create_hla_type_with_frequency(assumed_hla_type_raw)
for assumed_hla_type_raw in assumed_hla_types_raw]
Například, máme HIGH RES potential hla types = [A1:01, A2:02], které nemají match s žádnou protilátek, tak jsem převádíme do SPLIT. Teď ve výsledku dostaneme oba split kody [A1, A2]. Ale pamatujeme, že máme ještě informaci o tom, že A1:01 is frequent, but A2:02 is NOT. V rámci tohoto issue je potřeba zvážit možnost využit tuto informaci a, například, zahodit A2 v tomto případě, tj. ve výsledku dostaneme jenom [A1].
Tahle změna ale má hodně edge cases, a proto je potřeba na začátku je všechny detekovat, prodiskutovat a popsat v tomto issue, jenom pak přejít k implementaci. Je důležité pamatovat, že se tyto kódy v jednom listu hodně souvisejí z biologického pohledu, a proto je potřeba být opatrnými i při drobných změnách, které mohou vážně ovlivnit vyhodnocování tohoto parování (obzvlášť když mluvíme o snížení resolution).
Rozmyslet, jak by měla informace frequent/infrequent ovlivňovat převod do SPLIT ve funkci
_convert_potential_hla_types_to_low_res
:Například, máme HIGH RES potential hla types = [A1:01, A2:02], které nemají match s žádnou protilátek, tak jsem převádíme do SPLIT. Teď ve výsledku dostaneme oba split kody [A1, A2]. Ale pamatujeme, že máme ještě informaci o tom, že A1:01 is frequent, but A2:02 is NOT. V rámci tohoto issue je potřeba zvážit možnost využit tuto informaci a, například, zahodit A2 v tomto případě, tj. ve výsledku dostaneme jenom [A1].
Tahle změna ale má hodně edge cases, a proto je potřeba na začátku je všechny detekovat, prodiskutovat a popsat v tomto issue, jenom pak přejít k implementaci. Je důležité pamatovat, že se tyto kódy v jednom listu hodně souvisejí z biologického pohledu, a proto je potřeba být opatrnými i při drobných změnách, které mohou vážně ovlivnit vyhodnocování tohoto parování (obzvlášť když mluvíme o snížení resolution).