Am validat Hapl-o-Mat prin verificarea estimat haplotip frecvențe pentru corectitudinea. Deoarece traducerea între rezoluțiile alelelor și rezolvarea ambiguităților de genotipare nu sunt acceptate de alte programe software pentru estimarea frecvenței haplotipului, am urmat două abordări., În primul rând, am validat Hapl-O-Mat împotriva datelor artificiale ale populației HLA, inclusiv diferite rezoluții de tastare și ambiguități de genotipare. Pentru astfel de populații artificiale, frecvențele haplotipului au fost cunoscute pe construcție. Luând datele complete ale populației ca probă de intrare, am folosit Hapl-O-Mat pentru a rezolva datele de genotip și pentru a reproduce frecvențele haplotipului. În al doilea rând, am comparat rezultatele obținute de la Hapl-O-Mat cu rezultatele de la software-ul ușor de utilizat și bine stabilit Arlequin ., Am folosit eșantioane reale de înregistrări de tastare din Centrul donatorilor DKMS și date despre populația artificială ca date de intrare pentru ambele implementări. În plus, am evaluat performanța computațională a Hapl-O-Mat în general și în comparație cu Arlequin. Rezoluția țintă pentru toate experimentele de validare sunt grupurile g, cu excepția cazului în care se specifică altfel.
pentru observabile pentru a compara frecvențele haplotipului și pentru construcția populațiilor artificiale, a se vedea metodele din fișierul suplimentar 3. Toate rezultatele sunt rezumate în tabelul 2.,
primul model de populație
prima populație artificială a fost construită prin construcția combinatorie a genotipurilor din toate combinațiile posibile ale celor mai frecvente haplotipuri germane cu înlocuire, așa cum se explică în fișierul suplimentar 3. Populația era în HWE aproape perfectă, așa cum este indicat de statistica dimensiunii efectului \ ({W}_n=6.65 \ times {10}^{-8} \). Pentru a verifica traducerile între rezoluțiile de tastare ale Hapl-O-Mat, am înlocuit rezultatele tastării cu rezultate în rezoluție mai mare de tastare, inclusiv rezultatul tastării originale, de ex., fiecare apariție a C * 16:04 a fost înlocuită aleatoriu cu C*16:04:01, C*16:04:03 sau C*16:04P sau a rămas neschimbată ca C*16: 04. Am folosit Hapl-O-Mat pentru a traduce rezoluțiile de tastare modificate înapoi la grupurile g și pentru a estima frecvențele haplotipului. Distanța dintre estimată și original populației haplotip frecvențe fost \( d=1.3\ori {10}^{-4} \), maximă absolută diferența a fost \( \Delta =9.04\ori {10}^{-7} \), și nu deviația relativă mai mare decât 0,05 a fost găsit. Aceste rezultate au indicat reproducerea frecvențelor inițiale de haplotip populațional., Reproducerea exactă nu se poate aștepta, deoarece aproximarea frecvențelor genotipului prin numere întregi din datele populației scapă de precizia punctului în virgulă mobilă.
Pentru a valida estimarea haplotip frecvențe de la genotip date, inclusiv genotipare ambiguități, am introdus, într-un al doilea test, NMDP coduri pentru genotipul populației date. În acest scop, am înlocuit aleatoriu 5% din rezultatele tastării cu coduri NMDP. Codurile au fost selectate aleatoriu, cu excepția cerințelor pentru a include tastarea originală și pentru a fi apărut în datele originale ale populației reale., De exemplu, toate alelele tastate ca a * 31: 01 g au fost înlocuite cu A * 31: VSCB, care codifică A * 31:01, a*31:41 și a*31:68, rezultând două alele suplimentare (a*31:01 se traduce prin a*31: 01 g). Hapl-O-Mat cu filtrul său de ambiguitate a fost folosit pentru a rezolva aceste ambiguități, pentru a traduce alelele rezultate înapoi în grupurile g și pentru a calcula frecvențele haplotipului. Am repetat această procedură de zece ori pentru a calcula abaterea medie și standard a observabilelor.
comparația dintre frecvențele estimate și cele inițiale ale haplotipului populației a arătat o distanță medie de \ (d = 0,11 \ pm 0.,02 \) și o diferență absolută medie maximă de \( \Delta =\left(4\pm 1\right)\times {10}^{-3} \). Rangul mediu pentru primul haplotip cu o abatere relativă mai mare de 0,05 a fost \( \rho =14\pm 6 \). În comparație cu primul test, aceste valori mai mari sunt explicate prin apariția codurilor NMDP, care introduc alele suplimentare și astfel maschează alele reale., Aceasta ascunde identificarea haplotipurilor prin creșterea numărului de haplotipuri care nu sunt prezente în setul inițial de populație („haplotipuri suplimentare”) și haplotipuri prezente numai în setul inițial de populație („haplotipuri lipsă”). Numărul de haplotipuri suplimentare este de așteptat să fie mai mare decât numărul celor lipsă, deoarece un cod NMDP înlocuiește o singură alelă, dar poate produce mai multe altele atunci când este decodat., În cele zece repetări ale celui de-al doilea test, în medie \( 314\pm 98 \) (\( \left(25\pm 8\right)\% \)) haplotipurile au fost „suplimentare” și \( 50\pm 18 \) (\( \left(4\pm 1\right)\% \)) „lipsă”. Aceste haplotipuri au contribuit major la diferența dintre frecvențele estimate și cele ale haplotipului populației. Excluzând haplotipurile suplimentare și lipsă din calculul distanței obținute \ (d=0,028 \ pm 0,007\).populația inițială și frecvențele estimate sunt prezentate în Fig. 2a., Ca suplimentare haplotipuri au un original populație frecvența de \( {h}_k=0 \) și lipsă de haplotipuri au o valoare estimată de frecvență a \( {h}_k=0 \), suplimentare și lipsă de haplotipuri nu sunt prezentate în Fig. 2a sau în alte parcele log-log să vină. Abaterile majore ale frecvențelor de haplotip s-au datorat apariției codurilor NMDP. Dacă un haplotip a inclus o alelă care a fost mascată de un cod NMDP, frecvența estimată a acesteia a fost redusă. Dacă, pe de altă parte, un haplotip a inclus alele suplimentare dintr-un cod NMDP, frecvența estimată a acestuia a crescut., Numai în puține cazuri, câștigul de frecvență de la alele suplimentare este transferat la haplotipuri deja prezente în datele inițiale ale populației. Din acest motiv, aproape nici o supraestimare a frecvențelor haplotipului (frecvența estimată mai mare decât frecvența inițială a populației) apare în Fig. 2A.cu toate acestea, pierderea de frecvență din alelele mascate aparținând haplotipurilor prezente în datele inițiale ale populației are ca rezultat subestimarea așa cum se găsește în Fig. 2a. haplotipurile care nu au împărtășit alele prin codurile NMDP au prezentat doar abateri minore între populația inițială și frecvențele estimate.,
faptul că unele estimat haplotip frecvențe au o constantă de compensare cu privire la populație originale de frecvență rezultă din schimbul de alele a fost găsit în aceeași NMDP cod. Frecvențele sunt reduse proporțional cu numărul de alele suplimentare care ies din Codul NMDP. În consecință, frecvențele haplotipurilor, inclusiv alelele din același cod NMDP, sunt reduse cu același factor.,
al doilea model de populație
a doua populație a fost construită prin construirea de genotipuri din combinarea aleatorie a două haplotipuri în funcție de distribuția lor de frecvență, așa cum se explică în fișierul suplimentar 3. Statistica mărimii efectului medie pentru toți loci pentru această populație a fost \ ({W}_n = 3.0 \ times {10}^{-3}\) indicând nici o devare semnificativă de la HWE. Am calculat frecvențele haplotipului din aceste date ale populației folosind Arlequin și Hapl-O-Mat. Frecvențele estimate și inițiale ale haplotipului populației sunt prezentate în Fig. 2B. observabilele corespunzătoare sunt prezentate în tabelul 2., Ambele implementări au efectuat la fel de bine demonstrând implementarea corectă a Hapl-O-Mat. Cu toate acestea, spre deosebire de primul model de populație, abaterile dintre frecvențele estimate și cele inițiale ale populației au fost mult mai mari atât pentru Arlequin, cât și pentru Hapl-O-Mat. Acest lucru a rezultat din aplicarea algoritmului EM la date cu o cantitate mare de diversitate de genotip. Deoarece datele au constat doar din \ (N=50,000\) indivizi, dar au inclus \ (41,489\) genotipuri diferite, algoritmul EM nu a fost capabil să reproducă exact distribuția inițială a frecvenței haplotipului populației., Din acest motiv, Arlequin și Hapl-O-Mat, ambele bazate pe algoritmul EM, au prezentat abateri similare între frecvențele estimate și cele inițiale ale populației, așa cum se observă în Fig. 2B.
eșantioane de date reale
de Calcul de performanță
Am evaluat Hapl-o-Mat în termeni de calcul performanța prin măsurarea sale de execuție pentru diferite cantități de date de intrare și țintă diferite rezoluții. Toate calculele au fost efectuate folosind un computer care rulează Ubuntu Linux 14.04.5 cu 768 GB RAM (deși acest lucru nu a fost niciodată epuizat) și 32 nuclee Intel® Xeon® CPU E5-2630 v3 la 2.40 GHz., Cu toate acestea, Hapl-O-Mat nu face uz de paralelism, prin urmare, toate runtime sunt în referire la un singur nucleu.
runtime pentru estimarea haplotip frecvențe de Hapl-o-Mat de la N=1,825,721 persoane cu auto-evaluate de origine germană a fost \( t\cca 11.4 \)h cu g grupuri țintă rezoluție.
În scopul de a compara performanța între Arlequin și Hapl-o-Mat, am repetat haplotip frecvență estimarea reală a populației date. Am variat dimensiunea eșantionului între \ (N=5,000 \), \( n=20,000\) și \( n = 50,000 \) și am inclus în mod similar numai eșantioane cu traducere fără ambiguitate în 2 câmpuri., În medie, ambele implementări peste zece ruleaza pe aceeași mașină a dat runtime așa cum este prezentat în tabelul 3. În special în cazul eșantioanelor de dimensiuni mari, Hapl-O-Mat a demonstrat o implementare mult mai rapidă a acestuia.
Avem, de asemenea, evaluate Hapl-o-Mat abilitățile de a face față cu eterogene și natura ambiguă de dactilografiere înregistrări., Am înregistrat de execuție și utilizarea de memorie de pe aparat descris mai sus ca am variate cota de NMDP coduri am introdus în genotipul populației date pentru prima populației model în același mod ca cel descris mai sus pentru diferite fracțiune de mascați alele de la 2,5% la 50%. Hapl-O-Mat cu filtrul său de ambiguitate a fost folosit pentru a rezolva aceste ambiguități, pentru a traduce alelele rezultate înapoi în grupurile g și pentru a calcula frecvențele haplotipului. Am repetat această procedură de zece ori pentru a calcula abaterea medie și standard a utilizărilor de memorie și a runtime-urilor. Rezultatele sunt vizualizate în Fig. 5.,