转录组gene name 通过gtf文件转换

有时候我们遇见的gene id 与protein id 不相符,此时需要从gtf文件提取

使用蛋白质的序列进行eggnog 注释后结果如下query是XP

但通过featurecount 进行表达定量后的的gene id 如下

如何找到对应关系? 

R 可以完成

通过对gtf文件的X9 进行处理 ,使得gene id 与对应的蛋白id 能够对应成表

以下是代码

library(readr)
# 读取 gtf 文件
gtf <- read_delim("~/Program/crab/data/GCF_024679095.1_ASM2467909v1_genomic.gtf.gz", 
                  delim = "\t", escape_double = FALSE, 
                  col_names = FALSE, comment = "#", trim_ws = TRUE)
# 选取 编码 基因
cds = gtf %>% filter(X3 == "CDS" )
# 提取 X9 
cds = cds %>% dplyr::select(9) %>% separate(X9,into = c("1","2","3","4","5","6","7","8","9"),sep = ";") %>% 
  dplyr::select(1,7)

# 替换 文字
cds$`1` =  cds$`1` %>% str_replace_all("gene_id \"","") %>% 
  str_replace_all("\"","")

cds$`7` = cds$`7` %>% str_replace_all(" protein_id \"","") %>% 
  str_replace_all("\"","")

# 形成表格并复查
name = cds %>% dplyr::select(gene_id = `1`,protein_id=`7`) %>% unique() %>% 
  filter(str_detect(protein_id,"XP_"))

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

刘融晨

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

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

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

打赏作者

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

抵扣说明:

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

余额充值