Verbesserungen des Beimischungsalgorithmus für die individuelle Abstammungsschätzung

Kreuzvalidierung

Die Wahl der Anzahl der angestammten Populationen K kann sich als schwierig erweisen, wenn die zugrunde liegende Populationsgenetik einer Art schlecht verstanden wird. Die STRUKTUR bietet ein Mittel zur Schätzung des besten Wertes von K, indem die Modellnachweise für jedes K aus einer Reihe von Auswahlmöglichkeiten berechnet werden. Der Modellnachweis ist definiert als

(2)

wobei f die Datenwahrscheinlichkeit und π eine vorherige Dichte der Parameter darstellt. STRUKTUR approximiert das Integral über Monte-Carlo-Methoden. Unser Optimierungsframework ist nicht gut geeignet, um dieses Integral zu bewerten. Als Alternative setzen wir Cross-Validation ein. In der Kreuzvalidierung wollen wir den besten K-Wert identifizieren, der durch Vorhersage systematisch zurückgehaltener Datenpunkte beurteilt wird. Eine ähnliche Taktik wird auch vom Haplotypanalyseprogramm fastPHASE angewendet und ist von Wolds Methode zur Kreuzvalidierung von PCA-Modellen inspiriert .

Unser v-Fold-Kreuzvalidierungsverfahren partitioniert die nicht fehlenden Genotypen in v etwa gleich große Teilmengen (Folds). Bei jeder der Iterationen werden die Glieder einer der Falten maskiert (vorübergehend als fehlend markiert), um eine neue Datenmatrix zu erhalten Die Analyse der maskierten Datenmatrix stellt keine neuen Herausforderungen dar. Bei der Berechnung der Log-Likelihood-, Score- und beobachteten Informationsmatrix von ignorieren wir einfach die Einträge (i, j) mit fehlenden Werten. Die Maximierung der Log-Likelihood ergibt leicht neue Schätzungen und für die maskierten Daten. Wir sagen dann jeden maskierten Wert n ij mit voraus. Der Vorhersagefehler wird geschätzt, indem die Quadrate der Abweichungsresiduen für das Binomialmodell gemittelt werden ,

(3)

über alle maskierten Einträge über alle Falten. Die Minimierung dieses geschätzten Vorhersagefehlers auf einem Raster von K-Werten schlägt dann das am besten geeignete K vor.

Überwachtes Lernen der Beimischungskoeffizienten

Die Strategie von ADMIXTURE, gleichzeitig einzelne Abstammungsfraktionen Q und Populationsallelfrequenzen F zu schätzen, ist ideal, wenn nichts über die beitragenden Ahnenpopulationen bekannt ist. In vielen Szenarien sind diese Populationen jedoch bekannt und es stehen mehrere Referenzpersonen aus jeder Population zur Verfügung. Hier ist es von Interesse, die möglicherweise beigemischten Vorfahren der verbleibenden Individuen abzuschätzen. Wir nennen diese überwachte Analyse, da die Referenzpersonen Trainingsproben in einem überwachten Lernkontext liefern. Um eine überwachte Analyse in BEIMISCHUNG durchzuführen, ein .es muss eine IND-Datei bereitgestellt werden, die Einzelpersonen Populationen zuordnet, und das Flag –supervised muss an die Befehlszeile angehängt werden.

Abstammungsschätzungen können in der überwachten Analyse genauer geschätzt werden, da die Allelhäufigkeiten weniger unsicher sind. Die Interpretation der Ergebnisse wird vereinfacht, und die Laufzeiten sind aufgrund der reduzierten Anzahl der zu schätzenden Parameter kürzer. Sowohl die Anzahl der Iterationen bis zur Konvergenz als auch die Rechenkomplexität pro Iteration nehmen ab. Wir weisen jedoch darauf hin, dass eine überwachte Analyse nur dann geeignet ist, wenn die Referenzpersonen mit Sicherheit Ahnenpopulationen zugeordnet werden können und die Ahnenpopulationen ziemlich homogen sind. Für explorative Analysen ist eine unbeaufsichtigte Analyse geeigneter und bleibt daher die Standardeinstellung für die BEIMISCHUNG.

Penalized estimation and model parsimony

Wie in unserem späteren Vergleich von überwachtem und unbeaufsichtigtem Lernen festgestellt, können Datensätze aus eng verwandten Populationen, die mit einer bescheidenen Anzahl von SNPs typisiert wurden, erhebliche Herausforderungen bei der Abstammungsschätzung darstellen. Zum Beispiel, Überanpassung neigt dazu, Abstammungsschätzungen mit überhöhten Beimischungsmengen zu liefern. Die Bayes’sche Lösung für dieses Problem besteht darin, eine informative Methode einzuführen, um Parameterschätzungen von Gefahren fernzuhalten, wenn die Daten spärlich sind. Somit erlegt STRUCTURE Dirichlet-Vorverteilungen den Abstammungsparametern auf und schätzt einen Hyperparameter α, der die Stärke der Vorverteilungen steuert.

Eine geeignete Alternative in unserem Optimierungsframework ist die Durchführung einer bestraften Schätzung. Anstatt die Log-Likelihood zu maximieren, maximieren wir eine Zielfunktion , die aus der Log-Likelihood minus einer Strafe besteht. Die Strafe soll die unerwünschten Verzerrungen in der gerade erwähnten geschätzten Abstammungsmatrix abschrecken. Die Abstimmkonstante λ steuert die Stärke der Strafe. Während es verlockend ist, den negierten Logarithmus des Dirichlets vor dem Erscheinen in der STRUKTUR als Strafe zu betrachten, ist das Dirichlet (α, …, α) Die Dichte ist oben im Parameterregime α < 1 – wohl die nützlichste Einstellung für den α-Parameter – unbegrenzt und daher in unserem Optimierungsframework unbrauchbar. Eine bessere Alternative ist die ungefähre penalty0 Strafe

das fördert nicht nur Schrumpfung, sondern auch aggressive Sparsamkeit. Insbesondere treibt die ungefähre penalty0-Strafe kleine Beimischungskoeffizienten auf Null. Sparsamkeit ist wünschenswert, weil sie zu leichter interpretierbaren und wahrscheinlich realistischeren Parameterschätzungen führt. Die Schätzung wird durchgeführt, indem über seine Argumente maximiert wird. Das Erhöhen von λ oder der zweiten Abstimmkonstante γ erhöht das Ausmaß der Schrumpfung und Sparsamkeit in den resultierenden Schätzungen und .

Die Bestimmung der beiden Abstimmkonstanten λ und γ ist nicht trivial. In unseren Händen hat sich die Kreuzvalidierung bei einfachen simulierten Datensätzen als effektiv erwiesen. Die Abstimmkonstanten λ und γ sind benutzerdefinierte Optionen, sodass Benutzer verschiedene Einstellungen erkunden können, die mit der Kreuzvalidierung oder ihren eigenen Heuristiken übereinstimmen.

Ausnutzung mehrerer Prozessoren

Sehr große Datensätze (Millionen von SNPs, Tausende von Individuen) können sogar die effizienten Algorithmen von ADMIXTURE auf ein Crawlen reduzieren. Seit unserer ursprünglichen Veröffentlichung haben wir unseren Kernalgorithmus optimiert und seine Geschwindigkeit um den Faktor zwei verbessert. Wir haben auch einen parallelen Ausführungsmodus implementiert, mit dem ADMIXTURE mehrere Prozessoren ausnutzen kann. Diese neue Option verwendet das OpenMP-Framework, das für die einfache Parallelisierung mithilfe von compiler #pragma-Direktiven entwickelt wurde. Um Analysen mit beispielsweise vier Threads durchzuführen, muss der Benutzer nur das Flag -j4 in die Befehlszeile einfügen. Daher

$ Beimischungsdaten/hapmap3.bed 3 -j4

analysiert die Datendatei hapmap3.bett mit 4 Fäden unter der Annahme von K = 3 Ahnenpopulationen. Die Analysen unseres hapmap3-Datensatzes mit K = 3 wurden auf einer Maschine mit vier Prozessoren um 392% beschleunigt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.