Re: [问题] 请问要怎么把.CEL档的内容画出来?

楼主: celestialgod (天)   2015-05-16 20:33:01
※ 引述《soheadsome (师大狗鼻哥)》之铭言:
: [问题叙述]:
: 将.cel档(生物芯片)的内容画成跟affymetrix .dat ImageViewer类型的图
: 目前只知道使用affy的ReadAffy读出内容
: 然后用image()去画黑白的图片
: 但不知道要怎么画出跟类似附图的内容
: http://imgur.com/6cqCCQF
: 还是有其他方式可以画出.cel档的内容呢?
: 附档:
: https://goo.gl/wUR1t7
我测试了一下,这样应该是对的
只是你的附图是否对应到这个资料,我不确定
你可以在levelplot加入col.regions来调整颜色
## install affy
# source("http://bioconductor.org/biocLite.R")
# biocLite("affy")
library(affy)
mat = ReadAffy("GSM21708.CEL")
dat = data.frame(intensity(mat),
x = rep(1:nrow(mat), ncol(mat)),
y = rep(1:ncol(mat), each=nrow(mat)))
library(lattice)
levelplot(GSM21708.CEL ~ x + y, dat)
levelplot(log(GSM21708.CEL) ~ x + y, dat)
# partial
library(dplyr)
dat2 = filter(dat, x <= 200, y <= 200)
levelplot(GSM21708.CEL ~ x + y, dat2)
# mean
library(magrittr)
r = 1
G = ceiling(max(dat$x)/(2*r+1))
dat3 = dat %>% mutate(group = ceiling(x/(2*r+1))) %>%
transform(group = group + G*(ceiling(y/(2*r+1))-1)) %>%
group_by(group) %>% summarise(int2 = mean(GSM21708.CEL)) %>%
mutate(xnew = group %% G, ynew = floor(group / G)+1)
levelplot(int2 ~ xnew + ynew, dat3)
# similar colorkey
ramp = colorRamp(c("blue", "cyan", "yellow", "orange", "red", "white"))
colorkey = rgb(ramp(seq(0, 1, length = 18)), max = 255)
levelplot(GSM21708.CEL ~ x + y, dat, col.regions = colorkey)
levelplot(log(GSM21708.CEL) ~ x + y, dat, col.regions = colorkey)
作者: soheadsome (师大狗鼻哥)   2015-05-16 21:02:00
感谢大大OTZ

Links booklink

Contact Us: admin [ a t ] ucptt.com