当基因名称重复时,如何通过R中RNAseq数据的基因ID调用数据框?

时间:2015-10-23 19:48:30

标签: r macos

我有一个.csv文件,其中包含第1列中的基因名称,以及后续列中每位患者的每个基因的“每百万转录数”计数。有56,632个基因被阅读,似乎有许多重复的基因ID。我的数据矩阵样本如下:

Gene_ID     UniIEC01    UniIEC02    UniIEC03    UniIEC04    UniIEC05
TSPAN6        1.45        1.30        1.53        1.35        1.50
TNMD         -2.00       -2.00       -2.00       -2.00        0.29
DPM1          0.76        1.06        1.37        0.90        1.26
SCYL3        -0.43        0.67        0.43        0.71        0.23
C1orf112     -0.43        0.18        0.14        0.74        0.06
FGR          -2.00       -2.00       -2.00        0.29       -2.00
CFH          -2.00       -0.92       -2.00       -0.42       -2.00

我为“read.table”尝试了以下内容,并遇到以下问题:

(1)手动添加一个数字为“row.names”的列,并为该列指定“row.names”。 问题:然后我无法通过基因名称调用数据。我有一些我想要调用的200多个基因列表,找到每个基因的行号太麻烦了。 (2)当在表中读取时,我设置具有正确格式的“row.names = NULL”。 问题:当我尝试使用

调用数据时
"data.frame["TSPAN6":"TNMD",1:5] 

我收到错误消息:“强制引入的NAs”,除了患者编号以外的所有细胞都返回为“NA”。

有人可以帮我解决这个问题吗?

我的最终目标是使用56,632中的特定基因组创建热图。

谢谢!

阿瓦提卡

1 个答案:

答案 0 :(得分:0)

您可以通过以下方式获得所需的基因:

gene_list <- c('CNTF', 'CFH', 'TSPAN6')
df[df$Gene_ID %in% gene_list, ]
来自heatmap.2()包的

gplots是制作热图的一种比较流行的方式。

所有这一切,你应该回过头来弄清楚为什么你有重复的基因名称。我猜测每个基因有多种异构体。在这种情况下,如果要在基因水平上进行量化,则需要从原始计数中重新计算每百万转录本。但是这个问题不适用于堆栈溢出。试试biostars.org,询问如何重新计算这些值。