Enhancements to the DOMIXTURE algorithm for individual ancestry estimation

weryfikacja Krzyżowa

wybór liczby populacji przodków K może okazać się trudny, gdy podstawowa genetyka populacji danego gatunku jest słabo poznana. Struktura zapewnia sposób oszacowania najlepszej wartości K przez obliczenie dowodów modelu dla każdego K z zakresu wyborów. Dowód modelowy definiowany jest jako

(2)

gdzie F oznacza prawdopodobieństwo danych, a π oznacza gęstość na parametrach. Struktura przybliża całkę metodą Monte Carlo. Nasze ramy optymalizacji nie są odpowiednie do oceny tej całki. Jako alternatywę stosujemy cross-validation. W weryfikacji krzyżowej dążymy do zidentyfikowania najlepszej wartości K ocenianej na podstawie przewidywania systematycznie zatrzymywanych punktów danych. Podobna taktyka jest również stosowana przez program analizy haplotypów fastPHASE i jest inspirowana metodą Wolda do weryfikacji krzyżowej modeli PCA .

nasza procedura weryfikacji krzyżowej V-fold dzieli brakujące genotypy na podgrupy v o mniej więcej równej wielkości (fałdy). W każdej z iteracji v Elementy jednego z fałd są maskowane (tymczasowo oznaczone jako brakujące), aby uzyskać nową macierz danych Analiza maskowanej macierzy danych nie stwarza nowych wyzwań. Obliczając log-prawdopodobieństwo, wynik i obserwowaną macierz informacyjną , po prostu ignorujemy wpisy (i, j) z brakującymi wartościami. Maksymalizacja prawdopodobieństwa logowania łatwo daje nowe szacunki i dla zamaskowanych danych. Następnie przewidujemy każdą zamaskowaną wartość n ij przez . Błąd predykcji jest szacowany przez uśrednianie kwadratów resztek dewiacji dla modelu dwumianowego,

(3)

we wszystkich zamaskowanych wpisach we wszystkich fałdach. Minimalizacja tego szacowanego błędu przewidywania na siatce wartości K sugeruje najbardziej odpowiedni K.

nadzorowane uczenie się współczynników domieszki

strategia domieszki polegająca na jednoczesnym szacowaniu poszczególnych ułamków przodków Q i częstotliwości alleli populacji F jest idealna, gdy nic nie wiadomo o przyczyniających się populacjach przodków. Jednak w wielu scenariuszach populacje te są znane i dostępnych jest kilka osobników referencyjnych z każdej populacji. Tutaj interesujące jest oszacowanie potencjalnie zmieszanych przodków pozostałych osobników. Nazywamy tę nadzorowaną analizę, ponieważ osoby referencyjne dostarczają próbki szkoleniowe w nadzorowanym kontekście uczenia się. Do wykonywania nadzorowanej analizy w domieszce, an .plik ind mapujący jednostki do populacji musi być dostarczony, a flaga — supervised musi być dołączona do linii poleceń.

szacunki przodków można oszacować dokładniej w analizie nadzorowanej, ponieważ jest mniejsza niepewność w częstotliwościach alleli. Interpretacja wyników jest uproszczona, a czas realizacji krótszy ze względu na zmniejszoną liczbę parametrów do oszacowania. Zmniejsza się zarówno liczba iteracji aż do konwergencji, jak i złożoność obliczeniowa przypadająca na iterację. Jednak ostrzegamy, że nadzorowana analiza jest odpowiednia tylko wtedy, gdy jednostki referencyjne mogą być z pewnością przypisane do populacji przodków, a populacje przodków są dość jednorodne. W przypadku analiz eksploracyjnych bardziej odpowiednia jest analiza bez nadzoru, a zatem pozostaje ona standardem w domieszce.

Penalized estymation and model parsimony

jak zauważono w naszym późniejszym porównaniu uczenia nadzorowanego i nienadzorowanego, zbiory danych pobrane z blisko spokrewnionych populacji typowanych przy skromnej liczbie SNP mogą stanowić znaczne wyzwania w szacowaniu przodków. Na przykład, overfitting ma tendencję do uzyskania szacunków przodków z zawyżonymi ilościami domieszki. Bayesowskie rozwiązanie tego problemu polega na narzuceniu informacji przed odmierzaniem szacunków parametrów od niebezpieczeństwa, gdy dane są rzadkie. W ten sposób struktura narzuca dirichletowi wcześniejsze rozkłady parametrów i szacuje hiperparametr α, który kontroluje siłę wcześniejszych rozkładów.

odpowiednią alternatywą w naszych ramach optymalizacji jest wykonanie kosztorysu karanego. Zamiast maksymalizować prawdopodobieństwo logarytmu, maksymalizujemy funkcję celu składającą się z prawdopodobieństwa logarytmu minus kara . Kara ma na celu zniechęcenie do niepożądanych uprzedzeń w wymienionej właśnie macierzy przodków . Stała strojenia λ kontroluje siłę kary. O ile za karę można uznać negowany logarytm gęstości pierwotnej Dirichleta występującej w strukturze, o tyle Dirichleta (α, …, α) gęstość jest nieograniczona powyżej w reżimie parametrów α < 1-prawdopodobnie najbardziej użyteczne ustawienie dla parametru α-i dlatego jest bezużyteczne w naszych ramach optymalizacji. Lepszą alternatywą jest przybliżona kara ℓ0

co sprzyja nie tylko skurczowi, ale także agresywnej parsimonii. W szczególności przybliżona kara ℓ0 powoduje, że małe współczynniki domieszki wynoszą zero. Parsymonia jest pożądana, ponieważ prowadzi do łatwiejszej interpretacji i prawdopodobnie bardziej realistycznych szacunków parametrów. Estymacja jest wykonywana przez maksymalizację nad swoimi argumentami. Zwiększenie λ lub drugiej stałej strojenia γ zwiększa stopień skurczu i parsimonii w otrzymanych szacunkach i .

wyznaczanie stałych strojenia karnego λ i γ jest nietrywialne. W naszych rękach krzyżowa Walidacja okazała się skuteczna na prostych symulowanych zestawach danych. Stałe strojenia λ i γ są opcjami zdefiniowanymi przez użytkownika, dzięki czemu użytkownicy mogą badać różne ustawienia zgodne z weryfikacją krzyżową lub własną heurystyką.

Wykorzystanie wielu procesorów

bardzo dużych zbiorów danych (miliony SNPs, tysiące osób) może zredukować nawet efektywne algorytmy Domieszki do indeksowania. Od czasu naszej pierwszej publikacji dostroiliśmy nasz podstawowy algorytm i poprawiliśmy jego szybkość o dwa razy. Zaimplementowaliśmy również tryb wykonywania równoległego, który pozwala na exploitowanie wielu procesorów. Ta nowa opcja wykorzystuje framework OpenMP zaprojektowany do prostej równoległości przy użyciu dyrektyw kompilatora # pragma. Aby przeprowadzić analizy z, na przykład, czterema wątkami, użytkownik musi tylko dodać flagę-j4 do wiersza poleceń. Stąd

$ domieszka danych/hapmap3.łóżko 3-j4

analizuje plik danych hapmap3.łóżko za pomocą 4 nici, zakładając, że K = 3 populacje przodków. Analizy naszego zbioru danych hapmap3 z K = 3 zostały przyspieszone o 392% na cztero-procesorowej maszynie.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.