Bazy danych i R/Bioconductor wizualizacja danych genomicznych cz. 2
ggbio Yin T, Cook D and Lawrence M (2012). ggbio: an R package for extending the grammar of graphics for genomic data. Genome Biology, 13(8), pp. R77. Pakiet metod do tworzenia statycznej grafiki danych genomicznych Posiada spore możliwości tworzenia różnorodnych wykresów.
Struktura genu Yin et al. Genome Biology 2012 13:R77 doi:10.1186/gb-2012-13-8-r77
Ideogramy alternatywny splicing Yin et al. Genome Biology 2012 13:R77 doi:10.1186/gb-2012-13-8-r77
Ścieżki (tracks) i mapowania pomiędzy nimi Yin et al. Genome Biology 2012 13:R77 doi:10.1186/gb-2012-13-8-r77
Manhattan plot (dane SNP) Yin et al. Genome Biology 2012 13:R77 doi:10.1186/gb-2012-13-8-r77
Kariogramy Yin et al. Genome Biology 2012 13:R77 doi:10.1186/gb-2012-13-8-r77
Kołowe wykresy rearanżacji genomowych Yin et al. Genome Biology 2012 13:R77 doi:10.1186/gb-2012-13-8-r77
ggbio jest zbudowany na pakietach GenomicRanges, biovizbase i ggplot2. Do tworzenia wykresów korzysta głównie z funkcji graficznych pakietu ggplot2. Składnia przypomina składnię ggplot2 Funkcje do generowania wykresów zwracają obiekty ggplot2 i mogą byd modyfikowane poprzez zastosowanie parametrów właściwych dla ggplot2. To co robi ggbio to automatyczne dopasowanie wykresu do koordynat osi genomowych. Wykorzystuje obiekty klasy GRanges tworzone przez pakiet GenomicRanges. Pakiet biovizbase dostarcza schematów kolorystycznych i narzędzi do obliczania podstawowych parametrów genomicznych
ggplot2
ggplot2 H. Wickham. ggplot2: elegant graphics for data analysis. Springer New York, 2009. Bardzo wszechstronne narzędzie do wizualizacji danych w R. Pozwala na tworzenie wykresów jakości publikacyjnej. Wolno pracuje przy dużych zestawach danych.
POGROMCY DANYCH http://pogromcydanych.icm.edu.pl/ Autor: Przemysław Biecek Sezon 2: Wizualizacja i modelowanie Odcinek 7: Podstawy ggplot2 Odcinek 8. Podsumowania danych Odcinek 9. Praca nad detalami Odcinek 10. Mapy..tu próbka tego, co możemy znaleźd w tym kursie
1. Zainstaluj i uruchom pakiet PogromcyDanych z danymi treningowymi install.packages("pogromcydanych") library(pogromcydanych) 2. Podejrzyj dane koty_ptaki head(koty_ptaki) 3. Zainstaluj i uruchom pakiet ggplot2 install.packages("ggplot2") library(ggplot2) na podstawie: http://pogromcydanych.icm.edu.pl/
Funkcja ggplot i jej argumenty zbiór danych funkcja mapowania ggplot(koty_ptaki, aes(x=waga, y=predkosc)) + geom_point() trzon wykresu geometria na podstawie: http://pogromcydanych.icm.edu.pl/
na podstawie: http://pogromcydanych.icm.edu.pl/
Mapowania ggplot(koty_ptaki, aes(x=waga, y=predkosc, shape=druzyna)) + geom_point(size=5) zmienna grupująca cecha wykresu (sposób grupowania), np: shape size color/colour na podstawie: http://pogromcydanych.icm.edu.pl/
Relacja jeden do wielu: Można podad wiele cech wykresu i przypisad je do tej samej zmiennej lub do różnych zmiennych. Daną cechę determinuje jedna konkretna zmienna. na podstawie: http://pogromcydanych.icm.edu.pl/
Geometrie ggplot(koty_ptaki, aes(x=waga, y=predkosc) + geom_point() wykres punktowy na podstawie: http://pogromcydanych.icm.edu.pl/
Geometrie ggplot(koty_ptaki, aes(x= waga, y=predkosc, label=gatunek)) + geom_text() wykres z napisami potrzebna dodatkowa zmienna określająca źródło tekstu na podstawie: http://pogromcydanych.icm.edu.pl/
Wykres liniowy ggplot(wig, aes(x=data, y=kurs.zamkniecia)) + geom_line() tu automatyczna detekcja rodzaju zmiennej x Wykres wstęga ggplot(wig, aes(x=data, ymin=0, ymax=kurs.zamkniecia)) + geom_ribbon() podajemy przedział wartości y http://docs.ggplot2.org/current/index.html na podstawie: http://pogromcydanych.icm.edu.pl/
Warstwy Narysujmy wykres prezentujący dane o wadze i prędkości zwierząt w postaci punktów podpisanych nazwami gatunków ggplot(koty_ptaki, aes(x= waga, y=predkosc, label=gatunek)) + geom_text(hjust=-0.1) + geom_point() + xlim(0,350) na podstawie: http://pogromcydanych.icm.edu.pl/
Mapowania globalne i lokalne ggplot(koty_ptaki, aes(x=waga, y=predkosc, label=gatunek, color=druzyna)) + geom_text(hjust=-0.1) + geom_point() + xlim(0,350) ggplot(koty_ptaki, aes(x=waga, y=predkosc, label=gatunek)) + geom_text(hjust=-0.1, aes(color=druzyna)) + geom_point() + xlim(0,350) na podstawie: http://pogromcydanych.icm.edu.pl/
na podstawie: http://pogromcydanych.icm.edu.pl/
ZADANIE Z KURSU POGROMCY DANYCH Przedstaw graficznie za pomocą wykresu punktowego zależnośd pomiędzy żywotnością (kolumna zywotnosc) a wagą zwierzęcia (kolumna waga). Zaznacz kolorem lub kształtem punktu informację czy przedstawiany jest ptak czy kot. Czy są różnice pomiędzy żywotnością a wagą dla kotów i ptaków? Użyj etykiet by odczytad który ptak i który kot żyją najdłużej. Używając geometrii wstęga (geom_ribbon) przedstaw kurs minimalny i maksymalny każdego dnia na podstawie danych ze zbioru WIG. na podstawie: http://pogromcydanych.icm.edu.pl/
biovizbase
Schematy kolorów danych biologicznych Domyślne ustawienia palet kolorów są dobrane tak, aby były odpowiednio zróżnicowane również dla osób nie rozróżniających kolorów library(biovizbase) Dostępne palety kolorów np. STRAND orientacja nici showcolor(getbiocolor("strand"), name ) prezentuje domyślne kolory palety; można je modyfikowad poprzez argument Options
Dostępne palety kolorów STRAND CYTOBAND DNA_BASES_N DNA_BASES DNA_ALPHABET RNA_BASES_N RNA_BASES RNA_ALPHABET IUPAC_CODE_MAP AMINO_ACID_CODE AA_ALPHABET Przejrzyj inne palety kolorów w pakiecie showcolor(getbiocolor( nazwa palety"), name )
GenomicRanges
Pakiet GenomicRanges stanowi podstawę reprezentacji lokalizacji genomowej dla licznych pakietów Bioconductor. Wprowadza trzy klasy obiektów: GRanges - elementy o pojedynczych zakresach (koordynatach start i end), np. eksony, miejsca wiązania czynników transkrypcyjnych etc. GRangesList - elementy o wielu zakresach, np. modele genów i alternatywnego splicingu GAlignments) - alignmenty/mapowania do genomu, np. danych RNASeq
ggbio
Instalacja pakietu ggbio source("http://bioconductor.org/bioclite.r") bioclite("ggbio")
Jak działa ggbio i jaką nową gramatykę dodaje do funkcji ggplot2
Geometrie Posiadanie wyspecjalizowanych geometrii dla typowych elementów takich jak geny, niweluje koniecznośd samodzielnego kodowania tych danych i czyni cały kod prostym i łatwiejszym w opracowaniu.
Statystyki Podsumowania danych, np. coverage, w oparciu o ilośd odczytów; stepping dopasowanie dla lepszej wizualizacji bez nachodzenia danych. Statystyki również mogą byd wizualizowane
Np. podsumowanie danych RNaSeq Dane: obiekt granges Track 1 geom_rect stat_stepping Track 2 geom_area stat_coverage
Inne Układ (Faceting) pozwala na podział danych na podstawie kombinacji czynników takich jak np. rodzaj tkanki, traktowanie, płed etc. (metadane) i wizualizację w celu analizy zależności pomiędzy tymi czynnikami. Layout definiuje sposób prezentacji koordynat genomowych: linear (mapowanie na oś x domyślnie), karyogram każdy chromosom oddzielnie, uporządkowany, circle jak linear, ale oś połączona w koło
Funkcja autoplot Podstawowa funkcja pakietu ggbio. Rozpoznaje strukturę zestawu danych Dopasowuje najbardziej adekwatną geometrię na podstawie struktury danych
#not run autoplot(grl, aes(color = strand))
grl - obiekt GRangesList o takiej zawartości (każdy wiersz odpowiada eksonowi)
oś y jest dopasowywana przez algorytm rozkładu danych (zabezpiecza dane przed wychodzeniem poza zakres i nakładaniem się) oś x jest automatycznie rozpoznawana jako koordynaty genomowe mapowanie strand wywołuje odpowiednią paletę kolorów poprzez funkcję aes użytkownik może personalizowad wygląd dodając dodatkowe argumenty (labels, titles, layout)
funkcja autoplot sama rozpoznaje strukturę danych i generuje adekwatny rysunek (na tym przykładzie rysuje zakresy w sposób typowy dla modeli genu i alignmentów alignment geom (high level function) chevron geom rectangle geom łączy eksony i introny jednego transkryptu, korzystając z danych o adnotacji wywołuje dodatkowe geometrie opisujące zakresy i odstępy rysuje odstępy (splice junction) rysuje zakresy (eksony)
Funkcja tracks funkcja pakietu ggbio. Tworzy nowy obiekt Tracks. Generuje ścieżki w zadanym porządku. Można ustawiad parametry poszczególnych ścieżek. Można zmieniad zoom widoku genomu. #not run tracks(p1, p2, p3, heights = c(4, 1, 1)) gdzie obiekty p1,p2,p3 to poszczególne wykresy / ścieżki
ZADANIE Otwórz manual do pakietu ggbio Rozpoczynając od sekcji 2.2.1 wykonuj po kolei opisane polecenia. Nie bądź robotem spróbuj zastanowid się, jak są zbudowane funkcje, które wywołujesz i co określają poszczególne argumenty i parametry W zadnaiu wykorzystywane są dodatkowe pakiety, np. zawierające adnotacje genomowe doinstaluj je w miarę potrzeb.