Mapowanie sekwencji na genom (Ultrafast and memory-efficient alignment of short DNA sequences to the human gemone)

Podobne dokumenty
Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości

Kodowanie predykcyjne

Algorytmy sortujące i wyszukujące

Wstęp do Biologii Obliczeniowej



Spis treści. 1 Moduł RFID (APA) 3

Strukturalne własności transformaty Burrowsa-Wheelera dla pewnych klas słów

Sekwencjonowanie Nowej Generacji ang. Next Generation Sequencing

Pamięci półprzewodnikowe w oparciu o książkę : Nowoczesne pamięci. Ptc 2013/

Rzut oka na współczesną matematykę spotkanie 3: jak liczy kalkulator i o źródłach chaosu

Obiegówka elektroniczna- wdrożenie i użytkowanie w jednostce UW (poradnik)

dr inż. Jarosław Forenc

dr inŝ. Jarosław Forenc

Statystyczna analiza danych

Według raportu ISO z 1988 roku algorytm JPEG składa się z następujących kroków: 0.5, = V i, j. /Q i, j

Technologie baz danych

Praktyczny Excel. 50 praktycznych formuł na każdą okazję

Metoda list prostych Wykład II. Agnieszka Nowak - Brzezińska

Politechnika Wrocławska. Dopasowywanie sekwencji Sequence alignment

pobieramy pierwszą literę komunikatu i wypełniamy nią (wszystkie pozycje tą samą literą) bufor słownikowy.

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

ANALIZA DANYCH POCHODZĄCYCH Z SEKWENCJONOWANIA NASTĘPNEJ GENERACJI

instrukcja użytkownika terminala ARGOX PA-20 SYSTEMY AUTOMATYCZNEJ IDENTYFIKACJI

Zagadnienie transportowe (badania operacyjne) Mgr inż. Aleksandra Radziejowska AGH Akademia Górniczo-Hutnicza w Krakowie

"Zapisane w genach, czyli Python a tajemnice naszego genomu."

Matematyczne Podstawy Informatyki

Bioinformatyka. Ocena wiarygodności dopasowania sekwencji.

Przetarg nieograniczony na zakup specjalistycznej aparatury laboratoryjnej Znak sprawy: DZ-2501/6/17

Funkcje wyszukiwania i adresu PODAJ.POZYCJĘ

Uproszczony dowod twierdzenia Fredricksona-Maiorany

Kody Tunstalla. Kodowanie arytmetyczne

Wprowadzenie do Scilab: macierze

Programowanie liniowe. Tadeusz Trzaskalik

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych

Wersja pliku: v.10, 13 kwietnia 2019 zmiany: dodany punkt na temat testów do sprawozdania. Biologia, bioinformatyka:

Laboratorium. Szyfrowanie algorytmami Vernam a oraz Vigenere a z wykorzystaniem systemu zaimplementowanego w układzie

Ćwiczenie 12. Diagnostyka molekularna. Poszukiwanie SNPs Odczytywanie danych z sekwencjonowania. Prof. dr hab. Roman Zieliński

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Kompresja Kodowanie arytmetyczne. Dariusz Sobczuk

METODA SYMPLEKS. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski

Podstawy bioinformatyki sekwencjonowanie nowej generacji. Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu

ZARZĄDZANIE PROJEKTAMI W KOMUNIKACJI

ANALIZA DANYCH POCHODZĄCYCH Z SEKWENCJONOWANIA NASTĘPNEJ GENERACJI

Granica kompresji Kodowanie Shannona Kodowanie Huffmana Kodowanie ciągów Kodowanie arytmetyczne. Kody. Marek Śmieja. Teoria informacji 1 / 35


Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

DHL24 SZABLONY PRZESYŁEK. Warszawa, listopad 2017

Działanie i charakterystyka sterownika GE FANUC VersaMaxNano

PROBLEM: SORTOWANIE PRZEZ ODWRÓCENIA METODA: ALGORYTMY ZACHŁANNE

- - Ocena wykonaniu zad3. Brak zad3

Jak sprawnie filtrować i sprawdzać poprawność danych w Excelu? 1

Windows Serwer 2008 R2. Moduł 5. Zarządzanie plikami

( ) V O D. D A W I D B A G I N S K I. C O M W W W. D A W I D B A G I N S K I. C O M

ZARZĄDZANIA PROJEKTAMI W KOMUNIKACJI

Zajęcia e-kompetencje

Rozdział 4. Macierze szyfrujące. 4.1 Algebra liniowa modulo 26

Sekwencjonowanie, przewidywanie genów

POPULARNE POLECENIA SKRYPTY. Pracownia Informatyczna 2

Ustalanie dostępu do plików - Windows XP Home/Professional

Co to jest transkryptom? A. Świercz ANALIZA DANYCH WYSOKOPRZEPUSTOWYCH 2

Praca z programem PLANS

ZARZĄDZANIE PROJEKTAMI W KOMUNIKACJI

Arkusz kalkulacyjny MS EXCEL ĆWICZENIA 4

ZARZĄDZANIA PROJEKTAMI W KOMUNIKACJI

Algorytmy zrandomizowane

Politechnika Warszawska. Wydział Chemiczny

Tematy projektów Algorytmy Kompresji Danych (2006)

Język SQL. Rozdział 2. Proste zapytania

Informatyka II. Laboratorium Aplikacja okienkowa

NAGŁÓWKI, STOPKI, PODZIAŁY WIERSZA I STRONY, WCIĘCIA

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL.

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy,

52 NAJLEPSZE TRIKI W EXCELU, CZYLI JAK SZYBCIEJ WYKONAĆ OBLICZENIA

Kodowanie predykcyjne

Biuletyn informacyjny WeriOn. 4/2015 Instrukcja konfiguracji połączenia z programem WF-MAG r.

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 4. Karol Tarnowski A-1 p.

Administracja i programowanie pod Microsoft SQL Server 2000

Mapowanie i obróbka numerów (Digit Map)

KATOWICE, LIPIEC 2018 WERSJA 1.0

1.7. Eksploracja danych: pogłębianie, przeszukiwanie i wyławianie

Dwie szkoły oceny 360 stopni. Sprawdź różnicę pomiędzy klasycznym a nowoczesnym podejściem

Modele danych walidacja widoki zorientowane na model

DHPLC. Denaturing high performance liquid chromatography. Wiktoria Stańczyk Zofia Kołeczko

Skorzystaj z Worda i stwórz profesjonalnie wyglądające dokumenty.

Jednym z najprostszych sposobów porządkowania jest technika stosowana przy sortowaniu listów:

Wykład 5 Dopasowywanie lokalne

Uliniawianie całych genomów

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane

Biuletyn informacyjny WeriOn. 3/2015 Instrukcja konfiguracji połączenia z programem Subiekt GT r.

WEKTORY I WARTOŚCI WŁASNE MACIERZY. = λ c (*) problem przybliżonego rozwiązania zagadnienia własnego dla operatorów w mechanice kwantowej

0 + 0 = 0, = 1, = 1, = 0.

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

Akademia Górniczo-Hutnicza

Wprowadzenie do Scilab: macierze

0-0000, , , itd

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Formatowanie. Formatowanie to proces tworzący na dysku struktury niezbędne do zapisu i odczytu danych.

Analiza danych pochodzących z sekwencjonowania nowej generacji - przyrównanie do genomu referencyjnego. - część I -

Program dla praktyki lekarskiej

Transkrypt:

Mapowanie sekwencji na genom (Ultrafast and memory-efficient alignment of short DNA sequences to the human gemone) Uniwersytet Warszawski 1 kwietnia 2010

Referowana praca Problem

Problem Wstęp Referowana praca Problem

Problem Wstęp Referowana praca Problem Nowoczesne metody sekwencjonowania zwracają krótkie odcinki sekwencji Jak to poskładać? Bez żadnych dodatkowych informacji Jak wiemy co ma z grubsza wyjść - to dzisiaj

Cóż to? Kompresja?

Cóż to? Wstęp Cóż to? Kompresja? Wymyślona przez Michaela Burrowsa i Davida Wheelera w 1994 do polepszenia kompresji Używana np. w bzip2 BWT(T) - ostatnia kolumna z macierzy zawierającej wszystkie cykliczne rotacje T+ w porządku leksykograficznym, gdzie + jest najmniejsze

Cóż to? Wstęp Cóż to? Kompresja? Wymyślona przez Michaela Burrowsa i Davida Wheelera w 1994 do polepszenia kompresji Używana np. w bzip2 BWT(T) - ostatnia kolumna z macierzy zawierającej wszystkie cykliczne rotacje T+ w porządku leksykograficznym, gdzie + jest najmniejsze BWT(ROWER): ROWER+ OWER+R WER+RO ER+ROW R+ROWE +ROWER

Cóż to? Wstęp Cóż to? Kompresja? Wymyślona przez Michaela Burrowsa i Davida Wheelera w 1994 do polepszenia kompresji Używana np. w bzip2 BWT(T) - ostatnia kolumna z macierzy zawierającej wszystkie cykliczne rotacje T+ w porządku leksykograficznym, gdzie + jest najmniejsze BWT(ROWER): ROWER+ OWER+R WER+RO ER+ROW R+ROWE +ROWER +ROWE R ER+RO W OWER+ R R+ROW E ROWER + WER+R O

Kompresja? Wstęp Cóż to? Kompresja? Zobaczmy co wyjdzie dla BWT(AGZEAGZJAGZ): +AGZEAGZJAG Z AGZ+AGZEAGZ J AGZEAGZJAGZ + AGZJAGZ+AGZ E EAGZJAGZ+AG Z GZ+AGZEAGZJ A GZEAGZJAGZ+ A GZJAGZ+AGZE A JAGZ+AGZEAG Z Z+AGZEAGZJA G ZEAGZJAGZ+A G ZJAGZ+AGZEA G

Kompresja? Wstęp Cóż to? Kompresja? Zobaczmy co wyjdzie dla BWT(AGZEAGZJAGZ): +AGZEAGZJAG Z AGZ+AGZEAGZ J AGZEAGZJAGZ + AGZJAGZ+AGZ E EAGZJAGZ+AG Z GZ+AGZEAGZJ A GZEAGZJAGZ+ A GZJAGZ+AGZE A JAGZ+AGZEAG Z Z+AGZEAGZJA G ZEAGZJAGZ+A G ZJAGZ+AGZEA G W macierzy rotacje zaczynjące się od danych sufiksów powtarzających się podsłów występują obok siebie Tworzy to ciągi złożone z ostatniej litery odpowiadających im prefiksów

Kompresja? Wstęp Cóż to? Kompresja? Zobaczmy co wyjdzie dla BWT(AGZEAGZJAGZ): +AGZEAGZJAG Z AGZ+AGZEAGZ J AGZEAGZJAGZ + AGZJAGZ+AGZ E EAGZJAGZ+AG Z GZ+AGZEAGZJ A GZEAGZJAGZ+ A GZJAGZ+AGZE A JAGZ+AGZEAG Z Z+AGZEAGZJA G ZEAGZJAGZ+A G ZJAGZ+AGZEA G W macierzy rotacje zaczynjące się od danych sufiksów powtarzających się podsłów występują obok siebie Tworzy to ciągi złożone z ostatniej litery odpowiadających im prefiksów Na pewno?

Kompresja? Wstęp Cóż to? Kompresja? Zobaczmy co wyjdzie dla BWT(AGZEAGZJAGZ): +AGZEAGZJAG Z AGZ+AGZEAGZ J AGZEAGZJAGZ + AGZJAGZ+AGZ E EAGZJAGZ+AG Z GZ+AGZEAGZJ A GZEAGZJAGZ+ A GZJAGZ+AGZE A JAGZ+AGZEAG Z Z+AGZEAGZJA G ZEAGZJAGZ+A G ZJAGZ+AGZEA G W macierzy rotacje zaczynjące się od danych sufiksów powtarzających się podsłów występują obok siebie Tworzy to ciągi złożone z ostatniej litery odpowiadających im prefiksów Na pewno? Np. "BGZF" trochę by popsuło, ale nie tak bardzo

Cóż to? Kompresja? Jak to rozszryfować???????????????????????????????????? S + O B G O L I T I S

Cóż to? Kompresja? Jak to rozszryfować? + B G I I L O O S S T??????????????????????????????????? S + O B G O L I T I S

Cóż to? Kompresja? Jak to rozszryfować? + B G I I L O O S S T??????????????????????????????????? S + O B G O L I T I S

Algorytm Wstęp Cóż to? Kompresja? C[c] - ilość wystąpień znaków mniejszych od c w T - szybkie! Occ(c, r) - ilość wystąpień c w BWT do pozycji r - wolne?

Algorytm Wstęp Cóż to? Kompresja? C[c] - ilość wystąpień znaków mniejszych od c w T - szybkie! Occ(c, r) - ilość wystąpień c w BWT do pozycji r - wolne? Niekoniecznie! Occ możemy wcześniej przeliczyć dla co n-tej pozycji

Cóż to? Kompresja? Jak znaleźć GCAC w: + TACACGCA C A C+TACACG C A CACGCAC+ T A CGCAC+TA C C +TACACGC A C AC+TACAC G C ACGCAC+T A C GCAC+TAC A G CAC+TACA C T ACACGCAC +

Cóż to? Kompresja? Jak znaleźć GCAC w: + TACACGCA C A C+TACACG C A CACGCAC+ T A CGCAC+TA C C +TACACGC A C AC+TACAC G C ACGCAC+T A C GCAC+TAC A G CAC+TACA C T ACACGCAC +

Cóż to? Kompresja? Jak znaleźć GCAC w: + TACACGCA C A C+TACACG C A CACGCAC+ T A CGCAC+TA C C +TACACGC A C AC+TACAC G C ACGCAC+T A C GCAC+TAC A G CAC+TACA C T ACACGCAC + Ale jak z przedziału dostać indeks w tekście?

Cóż to? Kompresja? Jak znaleźć GCAC w: + TACACGCA C A C+TACACG C A CACGCAC+ T A CGCAC+TA C C +TACACGC A C AC+TACAC G C ACGCAC+T A C GCAC+TAC A G CAC+TACA C T ACACGCAC + Ale jak z przedziału dostać indeks w tekście? STEPLEFT + taki sam trik jak z Occ tylko pamiętamy indeksy w tekście

Wstęp Mapowanie (INEXACTMATCH) Wyniki Budowanie indeksu Nie tylko na papierze

Mapowanie (INEXACTMATCH) Mapowanie (INEXACTMATCH) Wyniki Budowanie indeksu Nie tylko na papierze EXACTMATCH + backtracking (DFS prawie bruteforce)

Mapowanie (INEXACTMATCH) Wyniki Budowanie indeksu Nie tylko na papierze Czemu prawie a nie całkiem bruteforce? Odczyty niosą ze sobą jakość dla każdej pozycji Przy wielu możliwościach wybieramy pozycję z najgorszą jakością

Mapowanie (INEXACTMATCH) Wyniki Budowanie indeksu Nie tylko na papierze Czemu prawie a nie całkiem bruteforce? Odczyty niosą ze sobą jakość dla każdej pozycji Przy wielu możliwościach wybieramy pozycję z najgorszą jakością Limit na znalezione dopasowania (domyślnie 1) Pierwsze znalezione nie musi być najlepsze Można go zmusić do szukania k (albo wszystkich) dopasowań Jak znajdzie więcej niż k to zwraca k losowych Limit na ilość prób podmian (domyślnie 125)

Mapowanie (INEXACTMATCH) Wyniki Budowanie indeksu Nie tylko na papierze Czemu prawie a nie całkiem bruteforce? Odczyty niosą ze sobą jakość dla każdej pozycji Przy wielu możliwościach wybieramy pozycję z najgorszą jakością Limit na znalezione dopasowania (domyślnie 1) Pierwsze znalezione nie musi być najlepsze Można go zmusić do szukania k (albo wszystkich) dopasowań Jak znajdzie więcej niż k to zwraca k losowych Limit na ilość prób podmian (domyślnie 125) Dodatkowy indeks dla odwróconego tekstu (bez komplementarności) Szukamy z obu stron, zabraniając podmian w pierwszej połowie

Mapowanie (INEXACTMATCH) Wyniki Budowanie indeksu Nie tylko na papierze Czemu prawie a nie całkiem bruteforce? Odczyty niosą ze sobą jakość dla każdej pozycji Przy wielu możliwościach wybieramy pozycję z najgorszą jakością Limit na znalezione dopasowania (domyślnie 1) Pierwsze znalezione nie musi być najlepsze Można go zmusić do szukania k (albo wszystkich) dopasowań Jak znajdzie więcej niż k to zwraca k losowych Limit na ilość prób podmian (domyślnie 125) Dodatkowy indeks dla odwróconego tekstu (bez komplementarności) Szukamy z obu stron, zabraniając podmian w pierwszej połowie Ale to działa tylko dla pojedyńczych błędów...

Mapowanie (INEXACTMATCH) Wyniki Budowanie indeksu Nie tylko na papierze Czemu prawie a nie całkiem bruteforce? Limit na ilość podmian w części HQ (domyślnie pierwsze 24bp) odczytu (domyślnie 2) Dla 2 można kombinować z 2 indeksami Faza 1: 0 błedów i 1 lub 2 błędy w lo-half Faza 2: 1 lub 2 błędy w hi-half Faza 3: dokończenie z fazy 2 i po 1 błędzie w hi-half i lo-half

Wyniki Wstęp Mapowanie (INEXACTMATCH) Wyniki Budowanie indeksu Nie tylko na papierze 8.84 M odczytów z bazy 1000 Genmoes project przyciętych do 35bp

Wyniki Wstęp Mapowanie (INEXACTMATCH) Wyniki Budowanie indeksu Nie tylko na papierze Odczyty przefiltrowane narzędziem Maq, które usuwa poly-a

Wyniki Wstęp Mapowanie (INEXACTMATCH) Wyniki Budowanie indeksu Nie tylko na papierze Po 2 M odczytów z bazy 1000 Genmoes project

Wyniki Wstęp Mapowanie (INEXACTMATCH) Wyniki Budowanie indeksu Nie tylko na papierze Cały ludzki genom

Budowanie indeksu Wstęp Mapowanie (INEXACTMATCH) Wyniki Budowanie indeksu Nie tylko na papierze BWT [i] = T [SUF [i] 1] lub + dlasuf [i] = 0 Można więc trywialnie wykorzystać algorytmy do budowania SUF Istnieje algorytm budujący SUF w blokach co daje możliwość kontrolowania zużycia pamięci

Nie tylko na papierze Mapowanie (INEXACTMATCH) Wyniki Budowanie indeksu Nie tylko na papierze http://bowtie-bio.sourceforge.net/ Ciągle rozwijany, ostatnia wersja z 17 lutego 2010

Nie tylko na papierze Mapowanie (INEXACTMATCH) Wyniki Budowanie indeksu Nie tylko na papierze http://bowtie-bio.sourceforge.net/ Ciągle rozwijany, ostatnia wersja z 17 lutego 2010 DEMO