Slovník | Vyhledávání | Mapa webu
 
Analýza genomických a proteomických datAnalýza genomických a proteomických dat Základní schémata statistické analýzy dat Objevování skupin Praktický příklad analýzy

Logo Matematická biologie

Praktický příklad analýzy

V tomto příkladu budeme podobně jako v předcházejících příkladech pracovat v softvéru R - pro statistické spracování dat. Pro obeznámaní s tímto programem doporučujeme pročíst si výukový text Analýza dat v R. V dalším textu budeme předpokládat, že program R znáte. Všechny příkazy níže se zadávají v do příkazového řádku v R konzole.

Budeme pokračovat v práci se stejným příkladem experimentu porovnávajícího ER (estrogen receptor) pozitivní a ER negativní karcinomy prsu, který jsme používali v předcházejících kapitolách. Budeme používat výsledky z praktického příkladu analýzy z kapitoly "Porovnávání skupin" a to zejména:

- objekt top100 obsahující top 100 odlišně exprimovaných genů mezi skupinami ER+ a ER- (jak získat top100 najdete ZDE)

- matici expresí X všech nádorů prsu (jak načíst tuto matici najdete ZDE)

a) Nejdříve vytvoříme heatmapu z top 100 odlišně exprimovaných genů mezi ER+ a ER-

Vyextrahujeme matici expresních dat o top100 genech, všechny vzorky:
> Y <- X[,as.character(top100)]
> dim(Y)

[1] 278 100

Zadefinujeme si barvy v heatmapě:
> barvy <- colorRampPalette(c("green", "black", "red"))(15)

Vykreslíme heatmapu:
> heatmap(X[,as.character(top100)], col=barvy, RowSideColors=as.character(as.numeric(clinical$ER_status)),scale="column")
> heatmap(Y, col=barvy, RowSideColors=as.character(as.numeric(clinical$ER_status)),scale="column")

Úloha k procvičení: vytvořte podobnou heatmapu pro top100 genů u skupin HER2+ vs HER2-.

b) Pokud přeneseme top100 genů z naší analýzy do nového datového souboru, dostaneme podobné shlukování? (Jinak řečeno validujeme naše pozorování?)

Načteme další datový soubor (TransBig) spolu s tabulkou klinických dat. Data lze stáhnout ZDE (nutno rozbalit archiv).
> load(file="TransBIG/TransBIG-expression.rdata")
> ls()

 [1] "a"              "adj_p_hodnoty"  "b"              "clinical"       "clinical2"     
 [6] "cont.matrix"    "d"              "data.sam"       "de"             "de.adj"        
[11] "de.adj.fin"     "delta.table"    "design"         "de1"            "ER.HER2spec"   
[16] "ER.sam"         "ERspec"         "ER_vysledky"    "ER_vysl_ord"    "ER_vyzn"       
[21] "ER_vyzn_DN"     "ER_vyzn_UP"     "farby"          "fit"            "fit2"          
[26] "limma.res"      "p_hodnoty"      "samr.obj"       "siggenes.table" "top100"        
[31] "t_statistiky"   "v"              "X"              "X2"             "Y"             

> clinical2 <- read.csv("TransBIG/TransBIG-Sample_info.csv")
> head(clinical2)

  Patient.ID ER.pos.1.yes. Grade Lymph.node.invasion..1.yes. Age Tumor.size..mm.
1    4000471             0     3                           0  57              30
2    4000473             1     2                           0  46              35
3    4000475             1     3                           0  51              40
4    4000477             1    NA                           0  51              20
5    4000480             1     3                           0  57              30
6    4000482             0     3                           0  59              25
  Time.RFS..days. Event.RFS
1             730         1
2            4931         1
3             511         1
4            7159         0
5             183         1
6             548         1

> ?load
> X2=X

Znovu načteme původní datovou matici:
> load(file="MDACC/GSE20194_MDACC_Expression.rdata")
> dim(X2)

[1]  253 1052
> X2_top100 <- X2[,intersect(colnames(X2), top100)]
> X2[1:5,1:5]

         ACADS SPBC25    ADM PTPLB KIF21A
4000471 -2.042  0.054  5.639 1.474  1.069
4000473 -0.117 -0.609 -1.858 1.966  2.650
4000475  0.840 -2.033 -4.287 0.305  0.467
4000477  0.547 -1.088 -1.125 0.468  0.055
4000480  0.745  3.917 -3.891 0.097  1.952

> barvy <- colorRampPalette(c("green", "black", "red"))(15)

Vykreslíme druhou heatmapu jen s 9 geny, které jsme v druhé matici našli.

Přidáme parametr RowSideColors:
> heatmap(X2[,intersect(colnames(X2),top100)], col=barvy, RowSideColors=as.character(clinical2$ER.pos.1.yes))

Porovname s původní heatmapou pokud máme jen 9 genů.
> windows();heatmap(X[,intersect(colnames(X2),top100)], col=farby, RowSideColors=as.character(as.numeric(clinical$ER_status)))

Již vizuálně vidíme, že geny, i když jich v novém souboru bylo pouze 9 ze 100, dokázalo rozdělit nádory prsu na ER+ a ER-.

 
vytvořil Institut biostatistiky a analýz Lékařské fakulty Masarykovy univerzity