verbeteringen aan het bijmengingsalgoritme voor de schatting van individuele voorouders

kruisvalidatie

de keuze van het aantal voorouderlijke populaties K kan moeilijk blijken wanneer de onderliggende populatiegenetica van een soort slecht wordt begrepen. Structuur biedt een middel om de beste waarde van K te schatten door het modelbewijs voor elke K uit een reeks keuzes te berekenen. Het modelbewijs wordt gedefinieerd als:

(2)

waarbij f de waarschijnlijkheid van de gegevens en π een eerdere dichtheid van de parameters vertegenwoordigt. Structuur benadert de integraal via Monte Carlo methoden. Ons optimalisatiekader is niet goed geschikt om deze integraal te evalueren. Als alternatief gebruiken we cross-validatie. In cross-validation proberen we de beste K-waarde te identificeren, gemeten aan de hand van de voorspelling van systematisch ingehouden datapunten. Een soortgelijke tactiek wordt ook gebruikt door het haplotype analyse programma fastPHASE en is geà nspireerd door Wold ‘ s methode voor cross-valideren PCA modellen .

onze v-fold cross-validation procedure verdeelt de niet-ontbrekende genotypes in v grofweg even grote deelverzamelingen (vouwen). Bij elk van de V-iteraties worden de leden van een van de plooien gemaskeerd (tijdelijk gemarkeerd als ontbrekend) om een nieuwe gegevensmatrix op te leveren.analyse van de gemaskeerd gegevensmatrix levert geen nieuwe uitdagingen op. Bij het berekenen van de log-waarschijnlijkheid, score, en waargenomen informatie matrix van , negeren we gewoon de items (i, j) met ontbrekende waarden. Maximalisatie van de log-waarschijnlijkheid levert gemakkelijk nieuwe schattingen en op voor de gemaskerde gegevens. Vervolgens voorspellen we elke gemaskeerde waarde n ij met . Voorspellingsfout wordt geschat door middel van de kwadraten van de deviantie-reststoffen voor het binomiale model ,

(3)

over alle gemaskerde items over alle vouwen. Het minimaliseren van deze Geschatte voorspellingsfout op een raster van K-waarden suggereert dan de meest geschikte K.

onder toezicht leren van bijmengingscoëfficiënten

BIJMENGINGSSTRATEGIE om tegelijkertijd individuele voorouderfracties Q en populatieallelfrequenties F te schatten, is ideaal wanneer niets bekend is over de bijdragende voorouderpopulaties. In veel scenario ‘ s zijn deze populaties echter bekend en zijn verschillende referentie-individuen van elke populatie beschikbaar. Hier is het van belang om de potentieel vermengde voorouders van de resterende individuen te schatten. We noemen deze begeleide analyse, als de referentie individuen leveren training monsters in een begeleide leercontext. Voor het uitvoeren van onder toezicht uitgevoerde analyse in bijmengsel, een .IND bestand mapping individuen naar populaties moet worden verstrekt, en de vlag –supervised moet worden gekoppeld aan de opdrachtregel.

Voorouderschattingen kunnen nauwkeuriger worden geschat in gecontroleerde analyse omdat er minder onzekerheid is in allelfrequenties. De interpretatie van de resultaten is vereenvoudigd en de looptijd is korter vanwege het verminderde aantal te schatten parameters. Zowel het aantal iteraties tot convergentie als de computationele complexiteit per iteratie neemt af. We waarschuwen echter dat gecontroleerde analyse alleen geschikt is wanneer de referentie-individuen met zekerheid kunnen worden toegewezen aan voorouderlijke populaties en voorouderlijke populaties vrij homogeen zijn. Voor verkennende analyses is analyse zonder toezicht geschikter en blijft daarom de standaard bij vermenging.

gesanctioneerde schatting en modelparsimony

zoals opgemerkt in onze latere vergelijking van onder toezicht en zonder toezicht leren, kunnen datasets die afkomstig zijn van nauw verwante populaties getypt op een bescheiden aantal SNP ‘ s aanzienlijke uitdagingen opleveren in de schatting van voorouders. Bijvoorbeeld, overvoegen heeft de neiging om voorouderschattingen met opgeblazen hoeveelheden vermenging opleveren. De Bayesiaanse oplossing voor dit probleem is om een informatieve op te leggen alvorens parameterschattingen weg te sturen van gevaar wanneer gegevens schaars zijn. Zo legt de structuur Dirichlet eerdere distributies op voorouderparameters en schat een hyperparameter α die de sterkte van de eerdere distributies controleert.

een geschikt alternatief in ons optimalisatieraamwerk is het uitvoeren van gesanctioneerde schattingen. In plaats van de log-waarschijnlijkheid te maximaliseren, maximaliseren we een objectieve functie bestaande uit de log-waarschijnlijkheid minus een boete . De straf is bedoeld om de ongewenste vooringenomenheid in de zojuist genoemde geschatte stammatrix te ontmoedigen. De afstemmingsconstante λ bepaalt de sterkte van de penalty. Hoewel het verleidelijk is om de ontkende logaritme van de Dirichlet-dichtheid die in de structuur voorkomt als een straf te beschouwen, de Dirichlet (α, …, α) de dichtheid is hierboven onbegrensd in het parameterregime α < 1-misschien wel de meest bruikbare instelling voor de α-parameter-en is daarom onbruikbaar in ons optimalisatiekader. Een beter alternatief is de geschatte straf

wat niet alleen krimp maar ook agressieve spaarzaamheid bevordert. In het bijzonder drijft de geschatte J20 straf kleine bijmengingscoëfficiënten tot nul. Spaarzaamheid is wenselijk omdat het leidt tot gemakkelijker te interpreteren en waarschijnlijk realistischer parameterschattingen. De schatting wordt uitgevoerd door te maximaliseren over zijn argumenten. Het verhogen van λ of de tweede afstemmingsconstante γ verhoogt de mate van krimp en spaarzaamheid in de resulterende schattingen en .

de bepaling van de penalty tuning constanten λ En γ is niet triviaal. In onze handen is kruisvalidatie effectief gebleken op eenvoudige gesimuleerde datasets. De tuning constanten λ En γ zijn door de gebruiker gedefinieerde opties, zodat gebruikers verschillende instellingen kunnen verkennen die consistent zijn met cross-validatie of hun eigen heuristiek.

het exploiteren van meerdere processoren

zeer grote datasets (miljoenen SNP ‘s, duizenden individuen) kan zelfs ADMIXTURE’ s efficiënte algoritmen tot een crawl reduceren. Sinds onze oorspronkelijke publicatie hebben we ons kernalgoritme afgestemd en de snelheid ervan met een factor twee verbeterd. We hebben ook een parallelle uitvoeringsmodus geïmplementeerd waarmee vermenging meerdere processoren kan exploiteren. Deze nieuwe optie maakt gebruik van het OpenMP framework ontworpen voor eenvoudige parallellisatie met behulp van compiler #pragma richtlijnen. Om analyses uit te voeren met bijvoorbeeld vier threads, hoeft de gebruiker alleen de vlag-j4 aan de opdrachtregel toe te voegen. Vandaar

$ bijmengingsgegevens / hapmap3.bed 3-j4

analyseert het gegevensbestand hapmap3.bed met 4 draden, uitgaande van K = 3 voorouderlijke populaties. Analyses van onze hapmap3 dataset met K = 3 werden met 392% versneld op een vier processormachine.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.