【原创】R语言实战:read counts如何转化为TPM和FPKM, TPM和FPKM相互转化

载入数据

mycounts<-read.csv("2020武汉加油.csv")
head(mycounts)
rownames(mycounts)<-mycounts[,1]
mycounts<-mycounts[,-1]
head(mycounts)

TPM计算

kb <- mycounts$Length / 1000
kb
countdata <- mycounts[,1:9]
rpk <- countdata / kb
rpk
tpm <- t(t(rpk)/colSums(rpk) * 1000000)
head(tpm)
write.table(tpm,file="2020武汉加油_tpm.xls",sep="\t",quote=F)

FPKM计算

fpkm <- t(t(rpk)/colSums(countdata) * 10^6) (之前这里写成了10^9,多谢@不爱说话的生物狗 提醒,现在已经修改)
head(fpkm)
write.table(fpkm,file="2020武汉加油_fpkm.xls",sep="\t",quote=F)

FPKM转化为TPM

fpkm_to_tpm = t(t(fpkm)/colSums(fpkm))*10^6
head(fpkm_to_tpm)
当然,已知所有基因的FPKM情况下,可以通过上述公式直接在excel里计算相应基因的TPM值。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容