Ben Langmead, Michael C Schatz, Jimmy Lin, Mihai Pop and Steven L Salzberg Genome Biology November 20, 2009 April 7, 2010
Problem Cel Problem Bardzo dużo krótkich odczytów mapujemy na genom referencyjny i poszukujemy SNPów Uliniowienie (Mapowanie) SNP - [film]
Problem Cel Cel Obliczenia powinny być: Szybkie (szybkie algorytmy + rozproszenie obliczeń) Tanie ()
Przetwarzanie w chmurze - model przetwarzania oparty na użytkowaniu usług dostarczonych przez zewnętrzne organizacje Klient płaci za usługę (zależnie od stopnia użycia zasobów) Brak konieczności zakupu i utrzymywania sprzętu Ukrycie przed użytkownikiem zbędnych informacji Większa niezawodność Skalowalność
Definition Map(k1,v1) -> list(k2,v2) Reduce(k2, list (v2)) -> list(v3) void map(string name, String document): for each word w in document: EmitIntermediate(w, "1"); void reduce(string word, Iterator partialcounts): int result = 0; for each pc in partialcounts: result += ParseInt(pc); Emit(AsString(result));
Architektura
Ogólnie Mapowanie - SNP - - Model obliczeń -
Ogólnie Bardzo szybkie mapowanie krótkich odczytów na genom referencyjny Wymaga utworzenia indexu genomu Działa efektywnie nawet przy niewielkim użyciu pamięci
Ogólnie Jest częścia pakietu SOAP (Short Oligonucleotide Analysis Package) Wyszukuje SNPy Model bierze pod uwagę: Różnice między SNPami heterozygot (zróżnicowane allele tego samego genu) i homozygot (identyczne allele danego genu) Różnice między tranzycjami (zmiana w ramach jednej grupy zasad azotowych: A-G, C-T) i transwersjami (zasada purynowa ulega zamianie na pirymidynowa lub odwrotnie: A-C, A-T, G-C, G-T) Potwierdzone doświadczalnie SNPy Quality Score generowany przez sekwencer Duża dokładność (>99%)
Ogólnie Framework w Javie umożliwiajacy obliczenia rozproszone z bardzo szybka faza Sort/Shuffle - Klaster posiadajacy 1460 węzłów sortuje 1 TB danych w 62 sekundy (jest to rekord świata według sortbenchmark.org) s Distributed File System Bardzo dobra skalowalność nawet przy petabajtach danych Działa jako warstwa nad systemami plików poszczególnych węzłów
Ogólnie Architektura
Ogólnie Kto używa?
Ogólnie Workflow - Preprocessing Kopiowanie plików z odczytami do HDFS
Ogólnie Workflow - Map Każdy węzeł klastra pobiera index (ok. 3GB dla genomu człowieka) Map -> list(primary Key, Secondary Key, Value) Primary Key - chromosom i identyfikator części Secondary Key - przesunięcie w chromosomie Value - sekwencja i Quality Score
Ogólnie Workflow - Sort/Shuffle Kubełkowanie po Primary Key (pozwala zrównoleglić Reduce) Sortowanie wenatrz kubełków po Secondary Key (wymagane przez )
Ogólnie Workflow - Reduce Reduce - wewnatrz kubełka Informacje o znanych miejscach SNPów i częstościach alleli pochodza z dbsnp i sa dystrybuowane między węzłami podobnie jak index kopiowane sa na lokalny system plików
Pomiary Koszty Skalowalność Parametry symulowanych odczytów
Pomiary Koszty Skalowalność Symulowane odczyty
Pomiary Koszty Skalowalność Prawdziwe dane
Pomiary Koszty Skalowalność Koszty
Pomiary Koszty Skalowalność Skalowalność