测序数据清洗及格式转化——ENSG 基因 ID转化

 我们已经讲解了许多read count的格式转换方法:

Count,TPM,FPKM,CPM之间的格式转换——Count转CPM_楷然教你学生信的博客-CSDN博客Count,TPM,FPKM,CPM之间的格式转换——Count转CPMhttps://blog.csdn.net/weixin_46500027/article/details/125128064?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22125128064%22%2C%22source%22%3A%22weixin_46500027%22%7D&ctrtid=KdLgU

下面讲一下ENSG id转换:

适用与TCGA及部分GEO数据:

我们下载的TCGA数据是没有经过ID转化的,如下图:

 这种格式的基因id叫Ensembl Gene ID,其中小数点后面是版本号,前十五位才是真正的基因id,要知道哪个基因对应哪个id,我们需要下载以下注释文件:

 注释文件的数据如下所示,我们用excel打开以后存成csv格式:

 我们将文件和表达数据放在同一个文件夹里面,然后开始运行代码:


setwd("C:\\Users\\Lijingxian\\Desktop\\写博客的书籍\\数据清洗")
dir()
data <- read.csv("TCGA-ACC.htseq_counts.tsv",header = T,sep = "\t")
data[1:5,1:5]
data$Ensembl_ID <- substr(data$Ensembl_ID,1,15)
data[1:5,1:5]


# > data[1:5,1:5]
#       Ensembl_ID TCGA.OR.A5JP.01A TCGA.OR.A5JG.01A TCGA.OR.A5K1.01A TCGA.OR.A5JR.01A
#1 ENSG00000000003        10.769838        10.721099        10.253847        11.448116
#2 ENSG00000000005         2.584963         4.000000         1.000000         1.000000
#3 ENSG00000000419        11.361396        11.456868        11.002112        11.324181
#4 ENSG00000000457         9.152285         8.654636         7.781360         9.055282
#5 ENSG00000000460         7.693487         7.832890         6.918863         7.754888

注意此处我们将版本号给去掉了,用的是substr函数,取前15位,然后我们读取注释数据,也将版本号去掉:

data2 <- read.csv("gencode.v22.annotation.gene.csv",header = T,sep = ",")
data2[1:5,1:5]
data2$id <- substr(data2$id,1,15)
head(data2)

# > head(data2)
#               id         gene chrom chromStart chromEnd strand
#1 ENSG00000223972      DDX11L1  chr1      11869    14409      +
#2 ENSG00000227232       WASH7P  chr1      14404    29570      -
#3 ENSG00000278267    MIR6859-3  chr1      17369    17436      -
#4 ENSG00000243485 RP11-34P13.3  chr1      29554    31109      +
#5 ENSG00000274890    MIR1302-9  chr1      30366    30503      +
#6 ENSG00000237613      FAM138A  chr1      34554    36081      -

下面进行id转化:

data <- data[match(data2$id,data$Ensembl_ID),]
dim(data)
identical(data$Ensembl_ID,data2$id)
data$Ensembl_ID <- data2$gene
data[1:5,1:5]

# > data[1:5,1:5]
#        Ensembl_ID TCGA.OR.A5JP.01A TCGA.OR.A5JG.01A TCGA.OR.A5K1.01A TCGA.OR.A5JR.01A
#25808      DDX11L1         0.000000         0.000000          0.00000          0.00000
#28098       WASH7P         6.491853         5.977280          4.70044          5.61471
#57782    MIR6859-3         1.000000         1.584963          0.00000          0.00000
#37879 RP11-34P13.3         0.000000         0.000000          0.00000          0.00000
#55620    MIR1302-9         0.000000         0.000000          0.00000          0.00000

转换完成以后,读出数据:

write.csv(data,"ACC_data.csv",row.names = F)

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

楷然教你学生信

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值