mild-blue / txmatching

Solver for kidney pair donation matching problems.
https://txm.demo.mild.blue
Other
2 stars 2 forks source link

Add multiple serological codes from rel_dna_ser.txt table's column "Expert Assigned Exceptions". #1070

Open abragtim opened 2 years ago

abragtim commented 2 years ago

Add to PARSE_HLA_CODE_EXCEPTIONS_MULTIPLE_SEROLOGICAL_CODES also HLA codes ​​that also have a split_number in "Expert Assigned Exceptions".

viz. discussion in #1048

abragtim commented 1 year ago

@kubantjan, je to překlep nebo jsme to tak schválně z nějakého důvodu upravili?

Image https://github.com/mild-blue/txmatching/blob/023c59b352da663221a4333dc8cf53d2e495377d/txmatching/utils/hla_system/rel_dna_ser.txt#L22584

abragtim commented 1 year ago

@kubantjan, Tak bude vypadat PARSE_HLA_CODE_EXCEPTIONS_MULTIPLE_SEROLOGICAL_CODES po předání expert assigned exceptions. Je to docela velká změna v datech pro multiple values. Máme jistotu v těch expert exceptions od https://hla.alleles.org/wmda/index.html ? To je pro případ, když budeme zadávat expert exceptions nejen pro split assumed. Nebo bude lepší dostávat multiples jenom pro split_assumed a pro ostatní sources tohle nedělat?

C04:03: {'CW6', 'CW4'} A02:55: {'A2', 'A28'} A31:08: {'A31', 'A24'} A32:04: {'A32', 'A3'} A66:02: {'A34', 'A66'} A66:05: {'A26', 'A66'} B15:08: {'B62', 'B75'} B15:11: {'B62', 'B75'} B15:12: {'B62', 'B76'} B15:14: {'B62', 'B76'} B15:15: {'B62', 'B75'} B15:19: {'B62', 'B76'} B15:24: {'B62', 'B77'} B15:29: {'B70', 'B15'} B15:31: {'B62', 'B75'} B15:46: {'B62', 'B72'} B15:52: {'B70', 'B15'} B15:80: {'B70', 'B15'} B15:93: {'B71', 'B15'} B15:108: {'B71', 'B15'} B15:114: {'B70', 'B15'} B27:08: {'B7', 'B2708'} B35:21: {'B78', 'B35'} B37:02: {'B37', 'B27'} B40:05: {'B4005', 'B40'} B40:12: {'B48', 'B40'} B40:21: {'B40', 'B15'} B40:26: {'B21', 'B40'} B40:28: {'B40', 'B4005'} B40:39: {'B40', 'B41'} B44:09: {'B45', 'B44'} B44:16: {'B47', 'B44'} B44:42: {'B21', 'B44'} B45:04: {'B21', 'B45'} B46:11: {'B46', 'B22'} B48:02: {'B48', 'B70'} B50:02: {'B45', 'B50'} B53:06: {'B51', 'B53'} B55:08: {'B56', 'B55'} B56:03: {'B15', 'B22'} B56:06: {'B78', 'B22'} B56:10: {'B56', 'B55'} B56:12: {'B56', 'B55'} B58:08: {'B17', 'B5'} B78:04: {'B78', 'B35'} C04:06: {'CW6', 'CW4'} C12:14: {'CW12', 'CW7'} C14:02: {'CW1', 'CW14'} C14:03: {'CW1', 'CW14'} C14:05: {'CW1', 'CW14'} C14:08: {'CW1', 'CW14'} C15:07: {'CW15', 'CW3'} C15:21: {'CW15', 'CW3'} C17:01: {'CW17', 'CW7'} C17:03: {'CW17', 'CW7'} C18:01: {'CW6', 'CW18'} C18:02: {'CW6', 'CW18'} DRB104:22: {'DR3', 'DR4'} DRB108:31: {'DR11', 'DR8'} DRB113:21: {'DR11', 'DR13'} DRB113:24: {'DR11', 'DR13'} DRB113:46: {'DR11', 'DR13'} DRB113:50: {'DR11', 'DR13'} DRB113:54: {'DR13', 'DR14'} DRB113:62: {'DR11', 'DR13'} DRB114:15: {'DR8', 'DR14'} DRB114:53: {'DR13', 'DR14'} DRB114:57: {'DR14', 'DR4'}

Jenom pro split assumed to vypadá takhle: C04:03: ['CW4', 'CW6'] A02:55: {'A2', 'A28'} A31:08: {'A31', 'A24'} A32:04: {'A32', 'A3'} A66:05: {'A26', 'A66'} B35:21: {'B78', 'B35'} B37:02: {'B37', 'B27'} B40:21: {'B40', 'B15'} B40:28: {'B40', 'B4005'} B45:04: {'B21', 'B45'} B46:11: {'B46', 'B22'} B53:06: {'B51', 'B53'} B78:04: {'B78', 'B35'} DRB113:24: {'DR13', 'DR11'} DRB113:46: {'DR13', 'DR11'} DRB113:62: {'DR13', 'DR11'} DRB1*14:57: {'DR4', 'DR14'}

kubantjan commented 1 year ago

@abragtim to 1. je preklep

kubantjan commented 1 year ago

Tohle je na diskusi s IKEMem to druhe. Pro ted prosim to issue teda pauzneme, ja se ikemu s tim ozvu. Jen prosim v mini PR fixni ten preklep

kubantjan commented 1 year ago

PRosim v ramci tohoto PR udelat 1) smazat ten preklep 2) pridat test co explicitne testuje tech par kodu co tam mas nahore, jak se ted zparsujou. (tzn mely by se sparsovat tak, ze vratime multiple codes found parsing issue

abragtim commented 1 year ago

Blocked by #1036

kubantjan commented 1 year ago

Povazuju spis ted za napad, ktery nekdy muzeme probrat s ikemem, ale spis je to neco co nebudeme delat