Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Estimate possible validation of the maximum number of antigens with the same code in low res #1204

Open
2 tasks
abragtim opened this issue May 5, 2023 · 0 comments
Labels
backend Backend related task/PR

Comments

@abragtim
Copy link
Collaborator

abragtim commented May 5, 2023

Úvod

Teď pro do-crossmatch API jsme vypnuli omezení na maximální počet HLA typů v typing se stejným low res kódem (

donor_hla_typing=create_hla_typing(crossmatch_dto.get_maximum_donor_hla_typing(),
ignore_max_number_hla_types_per_group=True),
),
což umožňuje správně sparsovat celý assumed HLA typing, který v maximalizovánem vzhledu může mít i nekonečně mnoho HLA typů se stejným low res, tj. dovoluje korektně sparsovat typing jako
[
[DPA1*01:01, DPA1*01:02],
[DPA1*01:03]
], který v maximalizovaném vzhledu má až tři kódy se stejným low res kódem.

To ale propouští i nevalidní HLA typings jako tenhle:
[
[DPA1*01:01],
[DPA1*01:02],
[DPA1*01:03]
], který má taky tři HLA kódy, ale skutečných, když v minulém případě [DPA1*01:01, DPA1*01:02] se počítá jako jeden

Aby bylo jasné
[
[DPA1*01:01, DPA1*01:02],
[DPA1*01:03],
[DPA1*01:04]
] je taky nevalidní případ, protože má taky tři skutečných (ne assumed) HLA typů:

  1. [DPA1*01:01, DPA1*01:02]
  2. [DPA1*01:03]
  3. [DPA1*01:04]

Crossmatch pro ty "nevalidní" případy při obyčejným počítání na TXM jsou označeny za UNDECIDABLE. Validace probíhá tady:

# 4. check if the number of hla_types per group exceedes the max number of hla_types for that group
if not ignore_max_number_hla_types:
for group in hla_per_groups:
if group_exceedes_max_number_of_hla_types(group.hla_types, group.hla_group):
invalid_hla_groups.append(group.hla_group.name)
group_name = 'Group ' + group.hla_group.name
parsing_issues.append(
ParsingIssueBase(
hla_code_or_group=group_name,
parsing_issue_detail=ParsingIssueDetail.MORE_THAN_TWO_HLA_CODES_PER_GROUP,
message=ParsingIssueDetail.MORE_THAN_TWO_HLA_CODES_PER_GROUP.value
)
)

Task

Tak v rámci tohoto issue je třeba

  • Zvážit možnosti vracení takových UNDECIDABLE matches, jak moc zpomalují současný kód. Konečně vyřešit, jestli ty úpravy toho stojí nebo jsme spokojeny i s takovou verzi tohoto specifického endpointu.
  • Buď to vyřešit nebo zavřít issue

Diskuze

Původní diskuze o tomto začala v rámci tohoto PR: #1188

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend Backend related task/PR
Projects
None yet
Development

No branches or pull requests

1 participant