Zadanie 3 i 4 (połączone)

Zadanie będzie polegało na narysowaniu prostego wykresu w programie Circos. Wcześniej jednak będziemy musieli przygotować sobie dane, które następnie zostaną umieszczone na wykresie. Będziemy pracowali z dwoma rodzajami danych.

Pierwszy, to dane o miejscach wiązania białka CTCF do genomu ludzkiego pochodzące z eksperymentu ChIP-Seq. Dane te są dostępne dla Państwa na wydziałowym serwerze Galaxy (bioputer.mimuw.edu.pl:12345), w katalogu zajecia_APB/zadanie 3. Jest to pojedynczy plik w formacie fastq zawierający 25,000,000 odczytów (dane o jakości odczytów kodowane są w formacie odpowiednim dla maszyny Illumina 1.5). Podobnie jak to miało miejsce na zajęciach z Galaxy, część danych jest niskiej jakości i należy odfiltrować/przyciąć odczyty zanim przystąpimy do ich mapowania. Należy się przy tym posłużyć programem FastQC, aby na bieżąco monitorować, czy mamy już do czynienia z danymi odpowiednio dobrej jakości. Dane należy następnie zmapować używając programu bowtie i stworzyć ze zmapowanego pliku w formacie SAM plik z pokryciem całogenomowym w formacie bedGraph. Z tego ostatniego należy z kolei wybrać tylko dane o wiązaniu białka CTCF dla chromosomów 10, 11 i 12. Z przeprowadzonych kroków (istotnych dla rozwiązania zadania, nie z całej historii zawierającej niepotrzebne/testowe wywołania) należy na koniec utworzyć workflow i udostępnić go użytkownikowi o nazwie P.Bednarz@mimuw.edu.pl. Niektóre kroki analizy zajmują dość dużo czasu, więc dla ułatwienia w tym samym katalogu, co właściwe dane wejściowe, znajduje się jeszcze znacznie mniejszy (100,000 odczytów) plik CTCF_small.fastq w tym samym formacie i z tymi samymi problemami z jakością - dobrym pomysłem będzie przetestowanie całego przebiegu wywołań dla tego pliku, wyekstrahowanie workflowu i zaaplikowanie go do pliku CTCF.fastq. Ta część zadania będzie oceniana w skali 0-5pkt.

Drugim zestawem danych są dane o interakcjach przestrzennych pomiędzy poszczególnymi częściami genomu człowieka. W pliku interactions.txt znajdą Państwo informacje o wszystkich znaczących wykrytych interakcjach. Państwa zadaniem będzie przygotowanie skryptu w pythonie, który wybierze z tego pliku tylko część interakcji i wypisze go w formacie, który będzie czytelny dla Circosa. Format pliku interactions.txt jest bardzo podobny do wymaganego przez Circos - jedyną różnicą jest wartość w ostatniej kolumnie. W pliku interactions.txt dostają Państwo p-wartość wystąpienia interakcji - im mniejsza jest to wartość, tym bardziej jesteśmy pewni występowania u człowieka takiej interakcji przestrzennej. Circos z kolei oczekuje, że w tej kolumnie znajdzie się wartość "color=C,thickness=Xp", gdzie C to kolor, a X - grubość linii, którą zostanie na wykresie zaznaczona ta interakcja. Wartości te można dobrać wg uznania. To, co istotniejsze, to odpowiednie odfiltrowanie interesujących nas interakcji. Będą nas interesowały te interakcje, które dzieją się pomiędzy chromosomami (niezależnie od p-wartości). Dodatkowo będziemy chcieli wybrać też 500 najbardziej odległych interakcji odbywających się w ramach jednego chromosomu, które mają p-wartość mniejszą niż 10e-5. Jako odległość weźmiemy tutaj wartość bezwzględną różnicy pomiędzy środkami dwóch końców interakcji. Przygotowanie tego skryptu będzie punktowane w skali 0-2pkt.

Ostatnią częścią zadania będzie zwizualizowanie przygotowanych danych w programie Circos. Wykres powinien być czytelny dla użytkownika, co w szczególności oznacza, że powinien wyświetlać tylko interesujące nas chromosomy, pokazywać skalę wzdłuż chromosomów oraz wyświetlać nazwy samych chromosomów. Dodatkowo, na zewnątrz chromosomów należy umieścić wykres wiązania białka CTCF, który wcześniej stworzyliśmy. Będzie to wymagało drobnej obróbki pliku z pokryciem. Mianowicie, należy stworzyć skrypt w pythonie, który uśredni sygnał CTCF w ramach okien o długości 10kb. Należy przyjąć rozsądne założenia co do tego, jak traktować linijki w formacie bedGraph, które przecinają granicę pomiędzy dwoma oknami długości 10kb. Przygotowanie tego skryptu oraz pliku konfiguracyjnego będzie punktowane w skali 0-3pkt. Dla zorganizowania pracy w Circosie proszę korzystać z kont apbX jak to miało miejsce na zajęciach i niech X oznacza Państwa numer na liście w USOSie (od góry).

Podsumowując, rozwiązanie zadania będzie składało się z napisania dwóch niewielkich skryptów pythonowych, przygotowania workflowu w programie Galaxy i pliku konfiguracyjnego dla Circosa. Zadanie można rozwiązywać do końca sesji egzaminacyjnej (10.02). Powodzenia!