TSG2 – Zajęcia 4 – wyszukiwanie SNPów

Slajdy do wykładu są tu i tu.

Dane (sparowane odczyty z genomu ludzkiego) są dostępne tu. Dobrze byłoby zacząć od QC, żeby zobaczyć z czym mamy do czynienia. Potem mapujemy wg. standardowych parametrów do genomu ludzkiego (hg19). Warto porównać to co wyjdzie nam przy pomocy programu bowtie (z opcją -2) i to co wychodzi przy pomocy programu BWA (zmapowane odczyty w pliku sam)

Będziemy robić zadania z tutorialu, który jest tutaj

Interesuje nas sekcja 3, czyli o znajdowaniu snipow przy pomocy mpileup z samtools i bcftools.

Poza tym chcemy nauczyć się korzystać z pakietu GATK do lokalnego re-alignmentu (sekcja 4) i snp-callingu (sekcja 5)

A także do porównywania znalezionych snpów do dbSNP (sekcja 7) przy użyciu podanego pliku vcf.

Porównaj warianty znalezione przy pomocy  mappera BWA z tymi, które otrzymujemy przy pomocy bowtie. pliki VCF znajdziesz tu

 

 

TSG2 – Zajęcia 3 – mapowanie odczytów

Dziś zajmiemy się mapowaniem odczytów. Slajdy z wykłądu są tu

Spróbujemy powrócić do jednego z plików, które już przetwarzaliśmy: test1.fastq

Będziemy używać oprogramowania bowtie do mapowania odczytów do zadanego genomu.

1. Pobierz probram bowtie i sekwencje genomu i stworz dla niej pliki indeksu

2. Spróbuj zmapować przy użyciu bowtie i opcji -m 1 -v 0 (tylko unikalne mapowania bez niezgodności z sekwencją referencyjną).

3. Spróbuj różnych parametrów preprocessingu (flitrowanie trimowanie itp) aby zwiekszyc liczbe zmapowanych odczytow.

4. Zinstaluj przeglądarkę IGV i zwizualizuj zmapowane odczyty przy jej pomocy

5. Porównaj mapowania dokładne (z p. 3) do mapowań z domyślnymi parametrami.

 

TSG2 – zajęcia 2

Dziś chcemy bliżej zapoznać się z indeksami sekwencji.

Spróbujmy zaimplementować trzy rodzaje indeksów:

1. Drzewo sufiksowe. Implementujemy funkcje build_ST(genome) i find (ST,word). Nie interesuje nas tak bardzo koszt implementacji drzewa (może być słownik) ani koszt budowy drzewa (może być n^2). Chodzi o to, aby find działał liniowo względem długości słowa i zwracał wszystkie wystąpienia słowa w genomie.

2. Tablica sufiksowa. Implementujemy funkcję build_SA(genome) i find(SA, word). Podobnie jak w p. 1.

3*. FM-Index: możemy podzielić na podproblemy:

– Dla zadanego genomu policz BWT(genome)

– Dla zadanej BWT, policz Last-First mapping

– Przy użyciu BWT i Last-First mapping skonstruuj wyszukiwanie słowa (czy istnieje wystąpienie i gdzie jest w genomie

– dodaj funkcjonalność związaną z wyszukwianiem wszystkich słów

4. Dla zadanego słowa, napisz funkcję, która wyszukuje wariantów tego słowa w ustalonej odległości (<k błędów) w zadanym indeksie (np. wyszukaj słowa podobne do ATGCG z nie więcej niż 2 błędami w zadanej sekwencji).

TSG 2 – Wykład 2.

Dzisiaj o mapowaniu odczytów. Slajdy z wykładu są tu. Warto też obejrzeć ostatnią część slajdów z kursu w CSHL dostępnych tu

Jako zadanie na zajęcia mamy dokończyć analizę 3. zbioru danych po groomerz’e. Plik można znaleźć w historii nazwanej “dane 3 groomer” na serwerze centromere:8080

Na dziś myślę, że warto jest popróbować samemu zaimplementować wyszukiwanie wzorca przy pomocy drzew sufiksowych, tablic sufiksowych i transformaty B-W.

TSG2 – Zajęcia 1.

Slajdy do wykładu dostępne są tu

Naszym celem jest analiza jakości odczytów w plikach dostępnych tu

Logujemy się do serwera galaxy pod adresem http://centromere:8080 i tam zakładamy dla siebie nową historię przetwarzania danych. Następnie wykonujemy analizę FASTQC i na podstawie jej wyników dokonujemy “czyszczenia” danych przy pomocy narzędzi do “przycinania” odczytów na podstawie ich jakości (TRIM), wycinania sekwencji adapterowych (CLIP), filtrowania odczytów o złej jakości (FILTER). Operacje powtarzamy do uzyskania akceptowalnych wyników, uważając przy tym, aby nie usunąć zbyt wiele.