We hebben Hapl-O-Mat gevalideerd door de geschatte haplotypefrequenties op juistheid te controleren. Aangezien het vertalen tussen allelresoluties en het oplossen van genotypering ambiguïteiten niet door andere software voor haplotype frequentie schatting worden ondersteund, hebben we twee benaderingen gevolgd., Ten eerste hebben we Hapl-o-Mat gevalideerd tegen kunstmatige HLA-populatiegegevens, waaronder verschillende typen resoluties en genotypering ambiguïteiten. Voor dergelijke kunstmatige populaties waren haplotypefrequenties per constructie bekend. Door de volledige populatiegegevens als inputsteekproef te nemen, gebruikten we Hapl-O-Mat om genotype-gegevens op te lossen en haplotypefrequenties te reproduceren. Ten tweede hebben we de resultaten van Hapl-O-Mat vergeleken met de resultaten van de gebruiksvriendelijke en gevestigde software Arlequin ., Voor beide implementaties gebruikten we echte voorbeelden van typgegevens van het dkms donor center en kunstmatige populatiegegevens. Verder evalueerden we de computationele prestaties van Hapl-O-Mat in het algemeen en in vergelijking met Arlequin. De doelresolutie voor alle validatieexperimenten zijn g-groepen, tenzij anders vermeld.
voor observables om haplotypefrequenties te vergelijken en voor de opbouw van kunstmatige populaties, zie methoden in aanvullend bestand 3. Alle resultaten zijn samengevat in Tabel 2.,
eerste populatiemodel
de eerste kunstmatige populatie werd opgebouwd door combinatorische constructie van genotypes uit alle mogelijke combinaties van de \( 1.000 \) meest voorkomende Duitse haplotypes met vervanging, zoals uitgelegd in aanvullend bestand 3. De populatie was in bijna perfecte HWE zoals aangegeven door de effectgrootte statistiek \ ({W}_n = 6,65 \ times {10}^{-8} \). Om de vertalingen tussen de typen resoluties van Hapl-O-Mat te controleren, hebben we de typen resultaten vervangen door resultaten in een hogere typeresolutie inclusief het oorspronkelijke typeresultaat, bijv., elke gebeurtenis van C * 16: 04 werd willekeurig vervangen door C*16:04:01, C*16:04:03, of C*16:04P of bleef ongewijzigd als C*16:04. We gebruikten Hapl-O-Mat om de gewijzigde typeresoluties terug te vertalen naar g-groepen en haplotypefrequenties te schatten. De afstand tussen Geschatte en oorspronkelijke haplotypefrequenties van de populatie was \ (d=1,3\times {10}^{-4} \), het maximale absolute verschil was \ (\Delta = 9.04 \ times {10}^{-7} \), en geen relatieve afwijking groter dan 0,05 werd gevonden. Deze resultaten wezen op reproductie van de oorspronkelijke populatie haplotypefrequenties., Exacte reproductie kan niet worden verwacht, aangezien het benaderen van genotype frequenties door gehele getallen in de populatiegegevens ontsnapt aan floating point precisie.
om de schatting van haplotypefrequenties uit genotype-gegevens te valideren, inclusief genotypering ambiguïteiten, introduceerden we in een tweede test NMDP-codes in de genotype-populatiegegevens. Daartoe hebben we willekeurig 5% van de typeresultaten vervangen door nmdp-codes. De codes werden willekeurig gekozen, met uitzondering van de vereisten om de oorspronkelijke typering op te nemen en te verschijnen in de oorspronkelijke reële bevolkingsgegevens., Bijvoorbeeld, alle allelen getypt als a*31:01 g werden vervangen door A*31:VSCB, die codeert voor A*31:01, A*31:41, en A*31:68 wat twee extra allelen oplevert (A*31:01 vertaalt zich naar A * 31:01 g). Hapl-O-Mat met zijn ambiguïteitfilter werd gebruikt om deze ambiguïteiten op te lossen, de resulterende allelen terug te vertalen naar G-groepen, en haplotypefrequenties te berekenen. We herhaalden deze procedure tien keer om gemiddelde en standaardafwijking van observables te berekenen.
vergelijking tussen Geschatte en oorspronkelijke populatie haplotypefrequenties toonde een gemiddelde afstand van \( d=0,11\pm 0.,02 \), en een gemiddeld maximaal absoluut verschil van \( \Delta =\left(4\pm 1\right) \ times {10}^{-3} \). De gemiddelde rang voor het eerste haplotype met een relatieve afwijking groter dan 0,05 was \( \rho =14\pm 6 \). Vergeleken met de eerste test worden deze grotere waarden verklaard door het voorkomen van nmdp-codes, die extra allelen introduceren en dus echte allelen maskeren., Dit verhult de identificatie van haplotypes door het aantal haplotypes te verhogen die niet aanwezig zijn in de oorspronkelijke populatie set (“extra haplotypes”) en haplotypes die alleen aanwezig zijn in de oorspronkelijke populatie set (“ontbrekende haplotypes”). Het aantal extra haplotypes zal naar verwachting groter zijn dan het aantal ontbrekende, aangezien een nmdp-code slechts één allel vervangt, maar verscheidene andere kan opleveren wanneer gedecodeerd., In de tien herhalingen van de tweede test waren gemiddeld \( 314\pm 98 \) (\( \left(25\pm 8\right)\% \)) haplotypes “extra” en \( 50\pm 18 \) (\( \left(4\pm 1\right)\% \)) “vermist”. Deze haplotypes leverden een belangrijke bijdrage aan het verschil tussen Geschatte en populatie haplotypefrequenties. Exclusief extra en ontbrekende haplotypes van het berekenen van de afstand leverde \ (d = 0,028 \ pm 0,007 \).
oorspronkelijke populatie en geschatte frequenties zijn weergegeven in Fig. 2 bis., Aangezien extra haplotypes een oorspronkelijke populatiefrequentie hebben van \ ({h}_k = 0 \) en ontbrekende haplotypes een geschatte frequentie hebben van \( {h}_k=0\), worden extra en ontbrekende haplotypes niet weergegeven in Fig. 2a of in verdere log – log plots te komen. Belangrijke afwijkingen in haplotypefrequenties waren te wijten aan het voorkomen van nmdp-codes. Als een haplotype een allel bevatte dat door een nmdp-code werd gemaskeerd, werd de geschatte frequentie verminderd. Als een haplotype daarentegen extra allelen van een nmdp-code bevatte, nam de geschatte frequentie toe., Slechts in enkele gevallen wordt de frequentiewinst van extra allelen overgebracht naar haplotypes die reeds aanwezig zijn in de oorspronkelijke populatiegegevens. Om deze reden, bijna geen overschatting van haplotypefrequenties (geschatte frequentie groter dan de oorspronkelijke populatiefrequentie) optreedt in Fig. 2a. echter, het frequentieverlies van gemaskerde allelen behorend tot haplotypes aanwezig in de oorspronkelijke populatiegegevens resulteert in onderschatting zoals gevonden in Fig. 2a. Haplotypes die geen allelen deelden via NMDP-codes vertoonden slechts kleine afwijkingen tussen de oorspronkelijke populatie en geschatte frequenties.,
het feit dat sommige geschatte haplotypefrequenties een constante offset hebben ten opzichte van hun oorspronkelijke populatiefrequentie volgt uit het delen van allelen gevonden in dezelfde nmdp-code. De frequenties worden verminderd in verhouding tot het aantal extra allelen dat uit de nmdp-code komt. Als gevolg daarvan worden de frequenties van haplotypes met inbegrip van allelen van dezelfde nmdp-code met dezelfde factor verminderd.,
tweede populatiemodel
de tweede populatie werd opgebouwd door genotypen te construeren uit het willekeurig combineren van twee haplotypes volgens hun frequentieverdeling, zoals uitgelegd in aanvullend bestand 3. De effectgrootte statistiek gemiddeld over alle loci voor deze populatie was \( {W}_n=3,0\times {10}^{-3} \) wat geen significante devatie van HWE aangeeft. We berekenden haplotypefrequenties uit deze populatiegegevens met behulp van Arlequin en Hapl-O-Mat. De geschatte en oorspronkelijke haplotypefrequenties van de populatie zijn weergegeven in Fig. 2b. de overeenkomstige observables worden gegeven in Tabel 2., Beide implementaties presteerden even goed om de juiste implementatie van Hapl-O-Mat aan te tonen. In tegenstelling tot het eerste populatiemodel waren de afwijkingen tussen Geschatte en oorspronkelijke populatiefrequenties echter veel groter voor Arlequin en Hapl-O-Mat. Dit is het gevolg van het toepassen van het em algoritme op data met een grote mate van genotype diversiteit. Omdat de gegevens slechts uit \( N=50.000 \) individuen bestonden, maar \( 41.489 \) verschillende genotypen bevatten, was het em-algoritme niet in staat om de oorspronkelijke haplotypefrequentie-verdeling van de populatie exact te reproduceren., Om deze reden toonden Arlequin en Hapl-O-Mat, beide gebaseerd op het em algoritme, vergelijkbare afwijkingen tussen Geschatte en oorspronkelijke populatiefrequenties zoals waargenomen in Fig. 2b.
real data samples
computationele prestaties
We hebben Hapl-O-Mat geëvalueerd in termen van computationele prestaties door de runtime te meten voor verschillende hoeveelheden inputgegevens en verschillende doelresoluties. Alle berekeningen werden uitgevoerd met behulp van een computer met Ubuntu Linux 14.04.5 met 768 GB RAM (hoewel dit nooit was uitgeput), en 32 Intel® Xeon® CPU E5-2630 v3 cores op 2,40 GHz., Hapl-O-Mat maakt echter geen gebruik van parallellisme, vandaar dat alle runtime verwijzen naar een enkele kern.
de runtime voor het schatten van haplotypefrequenties door Hapl-O-Mat van n=1.825.721 individuen met zelfbeoordeelde Duitse oorsprong was \( t\CA.11.4 \)h met G-groepen als doelresolutie.
om de performance tussen Arlequin en hapl-o-mat, herhaalden we de haplotypefrequentie schatting van echte populatiegegevens. We varieerden de steekproefgrootte tussen \ (N = 5.000 \), \ (n=20.000\), en \( N=50.000\) en namen op dezelfde manier alleen monsters met eenduidige 2-veldvertaling op., Het gemiddelde van beide implementaties over tien runs op dezelfde machine leverde runtimes op zoals aangegeven in Tabel 3. Vooral in het geval van grote steekproefgroottes demonstreerde Hapl-o-Mat aanzienlijk sneller zijn efficiënte implementatie.
we evalueerden ook de mogelijkheden van Hapl-O-Mat om het hoofd te bieden aan de heterogene en dubbelzinnige aard van typerecords., We registreerden runtime – en geheugengebruik op de hierboven beschreven machine, omdat we het aandeel van de nmdp-codes die we introduceerden in de genotype-populatiegegevens voor het eerste populatiemodel op dezelfde manier varieerden als hierboven beschreven voor een variërend deel van gemaskerde allelen van 2,5% tot 50%. Hapl-O-Mat met zijn ambiguïteitfilter werd gebruikt om deze ambiguïteiten op te lossen, de resulterende allelen terug te vertalen naar G-groepen, en haplotypefrequenties te berekenen. We herhaalden deze procedure tien keer om gemiddelde en standaarddeviatie van geheugengebruik en runtimes te berekenen. De resultaten zijn weergegeven in Fig. 5.,