打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
转录组Count格式数据转化为FPKM/TPM格式

很多时候我们得到的转录组格式为Count,例如在TCGA数据库下载的数据,如果我们想使用FPKM格式或者TPM,那么就需要转换,不过TCGA数据库也提供了FPKM的格式,貌似miRNA数据只有Count格式数据,如果想使用FPKM,就需要进行格式转换。

1、计算基因的长度,可以计算基因在染色体的起始和结束之差,也可以计算每个基因的最长转录本或所有外显子之和:

a、计算基因在染色体的起始和结束之差需要用到R包biomaRt,安装方法如下:

if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")

BiocManager::install("biomaRt")

b、计算每个基因的最长转录本或所有外显子之和需要用到R包GenomicFeatures,安装方法如下:

if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")

BiocManager::install("GenomicFeatures")

2、得到基因长度的文件之后,使用R读取基因长度文件与被转换格式文件,按照下面的公式进行转换

a、Count2FPKM

count2fpkm <- function(countnum, genelen){ total <- sum(countnum) exp( log(countnum) + log(1e9) - log(genelen) - log(total) )}
fpkm<- apply(count_data, 2, count2fpkm, genelen = gene_l$gene_l)fpkm_df<-data.frame(fpkm)colnames(fpkm_df)<-colnames(count_data)write.table(fpkm, "fpkm.txt", sep="\t", quote=F, row.names=T)

b、Count2TPM

n <- count_data / gene_l$gene_ltpm <- t( t(n) / colSums(n) ) * 1e6 tpm<-data.frame(tpm)write.table(tpm, "tpm.txt", sep="\t", quote=F, row.names=T)

c、FPKM2TPM

FPKM_data<-read.table("fpkm.txt",header = T,row.names = 1)fpkm2tpm <- function(fpkm){ exp(log(fpkm) - log(sum(fpkm)) + log(1e6))}
tpm2 <- apply(FPKM_data,2,fpkm2tpm)write.table(tpm2,"tpm2.txt",sep="\t", quote=F, row.names=T)
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【表达量计算】RPKM、FPKM、TPM说明
RNA-seq的counts值,RPM, RPKM, FPKM, TPM 的异同
获取基因有效长度的N种方法
【生信基础】深入理解FPKM/TPM,只有GTF文件如何将count转为FPKM/TPM
Read count、CPM、 RPKM、FPKM和TPM的区别
1行代码提取6种TCGA表达矩阵2.0版
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服