edgeR 中的彩色 MDS 图

Colorful MDS plot in edgeR

我在 edgeR 中创建 MDS 图以可视化实验(白血病)和对照(健康供体)组的颜色时遇到问题。

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

这是我的代码:

创建 table:

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())

使用 edgeR 函数 readDGE 读取通过 htseq-count 创建的 READS COUNT 个文件:

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

过滤弱表达和无信息(i.e.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)

我附加了之前生成的文件。

我很乐意听到任何建议。

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

 mds <- plotMDS(yourdata)
   plot(mds)

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