Bölüm 8 Biyolojik cinsiyete gore farklilik gosteren gen analizi
Diyelim ki sadece dogum sonrasi donemde 20 sonrasi ve 40 yas oncesi yasta kadin ve erkekler arasinda farkli gen ifadesi gosteren genlerle ilgileniyoruz.
= names(which(yas>=20 & yas<40))
subsamp = genexpr_qn[,subsamp]
subexp = yas[subsamp]
subyas = cinsiyet[subsamp]
subcins table(subcins)
## subcins
## Erkek Kadin
## 41 12
Kadin ve erkek sayisindaki fark cok fazla. Hem erkek hem de kadinlarin icinden rastegele 10ar birey secip analiz yapalim (- rastgele secim yapmayi gostermek icin!).
= sample(names(which(subcins == 'Erkek')),10,replace = F)
erkek = sample(names(which(subcins == 'Kadin')),10,replace = F)
kadin = c(erkek,kadin)
subsamp = genexpr_qn[,subsamp]
subexp = yas[subsamp]
subyas = cinsiyet[subsamp]
subcins table(subcins)
## subcins
## Erkek Kadin
## 10 10
= apply(subexp, 1, function(x){
cinsiyetfark = t.test(x~subcins)
tres c(tres$statistic, tres$p.value)
})
dim(cinsiyetfark)
## [1] 2 17160
= t(cinsiyetfark)
cinsiyetfark head(cinsiyetfark)
## t
## CTSD 1.2022368 0.2475190
## EEF2 0.7313033 0.4743186
## VIM 0.1130708 0.9113746
## GSN -0.1262172 0.9010494
## RPN2 0.6787791 0.5072433
## POLR2A 0.1274177 0.9001053
colnames(cinsiyetfark) = c('t','p')
= cbind(cinsiyetfark,p.adjust(cinsiyetfark[,'p'],method= 'fdr')) cinsiyetfark
Hangi genler yasla istatistiksel olarak anlamli degisim gosteriyor?
= names(which(cinsiyetfark[,3]<=0.05))
anlamli length(anlamli)
## [1] 13
Sadece 12 gen anlamli fark gostermis.
= names(which.max(abs(cinsiyetfark[,1])))
maxfark cinsiyetfark[maxfark,]
## t p
## 4.814198e+01 2.327394e-20 3.993809e-16
boxplot(subexp[maxfark,]~subcins, ylab = 'Gen ifadesi', main = maxfark,
xlab = 'Cinsiyet')
Figuru kaydetmek icin:
pdf('./cinsiyetfark.pdf')
boxplot(subexp[maxfark,]~subcins, ylab = 'Gen ifadesi', main = maxfark,
xlab = 'Cinsiyet')
dev.off()
## quartz_off_screen
## 2
Ayni figuru ggplotta cizelim:
= data.frame(expression = subexp[maxfark,],
mydat cinsiyet = subcins[colnames(subexp)],
yas = yas[colnames(subexp)])
ggplot(mydat, aes(x = cinsiyet, y = expression)) +
geom_violin(aes(fill = cinsiyet), alpha = 0.5) +
scale_fill_brewer(type='qual', palette = 6)+
geom_boxplot(outlier.shape = NA, width = 0.1) +
theme_bw()