Bölüm 7 Yasla degisim analizi
Diyelim ki sadece dogum sonrasi donemde 20 sonrasi yasta yasla degisen genlerle ilgileniyoruz. Bunun icin ilk olarak veriyi subset etmeliyiz. Yas’in 20den buyuk oldugu bireyleri almaliyiz:
= names(which(yas>=20))
subsamp = genexpr_qn[,subsamp]
subexp = yas[subsamp] subyas
= apply(subexp, 1, function(x){
yasladegisim = cor.test(x, subyas[colnames(subexp)], method = 'spearman')
co c(co$est, co$p.val)
})
dim(yasladegisim)
## [1] 2 17160
= t(yasladegisim)
yasladegisim head(yasladegisim)
## rho
## CTSD -0.03253336 0.6956624723
## EEF2 -0.12309924 0.1374343793
## VIM 0.28300932 0.0005395356
## GSN 0.11697104 0.1581010511
## RPN2 -0.22977129 0.0052073498
## POLR2A 0.01173037 0.8878589579
colnames(yasladegisim) = c('rho','p')
= cbind(yasladegisim, p.adjust(yasladegisim[,'p'], method= 'fdr')) yasladegisim
Hangi genler yasla istatistiksel olarak anlamli degisim gosteriyor?
= names(which(yasladegisim[,3]<=0.05))
anlamli table(yasladegisim[rownames(yasladegisim)%in%anlamli,1]>=0)
##
## FALSE TRUE
## 1538 1418
Bunlardan 1419 tanesi artis yonunde anlamli degisim gosteriyor, 1538 tanesi ise dusus. Bunlardan en cok artis gostereni secip gorsellestirelim:
= names(which.max(yasladegisim[,1]))
maxartis yasladegisim[maxartis,]
## rho p
## 6.980232e-01 8.761466e-23 1.002312e-19
plot(x = subyas, y = subexp[maxartis,], pch = 19, cex = 0.5, xlab='Yas',
ylab = 'Gen ifadesi', main = maxartis)
abline(lm(subexp[maxartis,]~subyas), col = 'darkred',cex = 2)
pdf('./yasladegisim.pdf')
plot(x = subyas, y = subexp[maxartis,], pch = 19, cex = 0.5, xlab='Yas',
ylab = 'Gen ifadesi', main = maxartis)
abline(lm(subexp[maxartis,]~subyas), col = 'darkred',cex = 2)
dev.off()
## quartz_off_screen
## 2
write.csv(x = yasladegisim, file = './yasladegisim.csv',quote = F,
row.names = T)
Ayni figuru ggplot ile cizelim:
= data.frame(expression = subexp[maxartis,], sample = colnames(subexp),
mydat yas = subyas[colnames(subexp)],cinsiyet = cinsiyet[colnames(subexp)])
ggplot(mydat, aes(x = yas, y = expression)) +
geom_point(aes(color = cinsiyet)) +
geom_smooth(method = 'lm', color = 'midnightblue') +
scale_color_brewer(type = 'qual', palette = 6) +
theme_bw()
## `geom_smooth()` using formula 'y ~ x'