计算基因长度并替换gene名

#BiocManager::install('GenomicFeatures')

library(GenomicFeatures)

txdb <- makeTxDbFromGFF("./gencode.vM27.annotation.gtf",format="gtf")

# 通过exonsBy获取每个gene上的所有外显子的起始位点和终止位点,然后用reduce去除掉重叠冗余的部分,最后计算长度 -----------

exons_gene <- exonsBy(txdb, by = "gene")
exons_gene_lens <- lapply(exons_gene,function(x){sum(width(reduce(x)))})

exons_gene_2_lens=data.frame(t(data.frame(exons_gene_lens)))

names(exons_gene_2_lens)="length"

head(exons_gene_2_lens)[1]

write.csv(exons_gene_2_lens,"GRCh38_exon_length2.csv",row.names = T)

library(refGenome)
ens <- ensemblGenome()
# 不能读ncbi和genecode上gtf文件,r会崩溃
read.gtf(ens, "Homo_sapiens.GRCh38.104.gtf")###导入gtf文件 比较耗时
class(ens)
my_gene <- getGenePositions(ens)

write.csv(exons_gene_2_lens,"GRCh38_exon_length2.csv",row.names = T)

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值