2017-02-15 61 views
2

我有问题在边缘R中创建MDS阴谋,以可视化实验(白血病)和控制(健康捐助者)群体的颜色。边缘多彩MDS阴谋R

我用htseq文件作为edgeR的输入。每个文件由两列组成 - gene_ID和读取计数。 “A”代表白血病患者,“H”代表健康捐献者。

这里是我的代码:

创建一个表:

samples <- matrix(c("A18.txt","experiment","blood_exp", 
     "A19.txt","experiment","blood_exp", 
     "A20.txt","experiment","blood_exp", 
     "A23.txt","experiment","blood_exp", 
     "A24.txt","experiment","blood_exp", 
     "A26.txt","experiment","blood_exp", 
     "A30.txt","experiment","blood_exp", 
     "A37.txt","experiment","blood_exp", 
     "H11.txt","control","blood_control", 
     "H12.txt","control","blood_control", 
     "H13.txt","control","blood_control", 
     "H15.txt","control","blood_control", 
     "H16.txt","control","blood_control", 
     "H17.txt","control","blood_control", 
     "H18.txt","control","blood_control", 
     "H19.txt","control","blood_control"), 
    nrow = 16, ncol = 3, byrow = TRUE, dimnames = list(c(1:16), c("library_name","condition","group_ALL_vs_control"))) 

samples <- as.data.frame (samples, row.names = NULL, optional = FALSE, stringAsFactors = default.stringAsFactors()) 

使用磨边机功能,readDGE,在READS COUNT文件创建frou htseq数为:

counts <- readDGE(samples$library_name, path = 'C:/Users/okbm4/Desktop/htseq_files', columns=c(1,2), group = samples$group_ALL_vs_control, header = FALSE) 

colnames(counts) <- samples$library_name 

过滤器弱表达和无信息(即amibigous)功能:

noint <- rownames(counts) %in% c('__no_feature','__ambiguous','__too_low_aQual','__not_aligned','__alignment_not_unique') 

cpms <- cpm(counts) 
keep <- rowSums (cpms > 1) >= 4 & !noint 
counts <- counts[keep,] 

创建DGElist对象

counts <- DGEList(counts=counts,group = samples$group_ALL_vs_control) 

估计归一化因子,这是对文库大小

counts <- calcNormFactors(counts) 

检查使用MDS情节样本之间的关系正常化。

pdf(file = 'HCB_ALL.pdf', width = 9, height = 6) 

plotMDS(counts, labels = c('A18.txt','A19.txt','A20.txt','A23.txt','A24.txt','A26.txt','A30.txt','A37.txt','H11.txt','H12.txt','H13.txt','H15.txt','H16.txt','H17.txt','H18.txt','H19.txt'), 

xlab = 'Dimension 1', 
ylab = 'Dimension 2', 
asp = 6/9, 
cex = 0.8, 

main = 'Multidimentional scaling plot') 
par(cex.axis =0.6, cex.lab = 0.6, cex.main = 1) 

我附加了以前生成的文件。 enter image description here

我很乐意听到任何建议。

+1

请考虑是否所有这些代码是真正必要的,以演示你想要实现的(颜色的一些观点)。 –

回答

1

plotMDS()产生可以传递给plot()就像 是一个对象, 这样你可以选择自己的绘图符号和x和y轴 标签:

mds <- plotMDS(yourdata) 
    plot(mds) 

您可以添加任何参数到plot()选择绘图符号,颜色 等

+0

谢谢您的建议! –