Author(s): Ying Ge; Yijing Chen
Date: 2025-09-22

Academic Citation

If you use this code in your work or research, we kindly request that you cite our publication:

Xiaofan Lu, et al. (2025). FigureYa: A Standardized Visualization Framework for Enhancing Biomedical Data Interpretation and Research Efficiency. iMetaMed. https://doi.org/10.1002/imm3.70005

需求描述

Requirement description

把RNA-seq的FPKM转换成TPM。

Convert FPKM from RNA-seq to TPM

应用场景

Application scenario

RNA-seq基因表达量是FPKM,想转变成TPM。不仅限于TCGA数据。

FPKM跟TPM的计算都考虑了基因长度,因此相对于read count转TPM来说,从FPKM转TPM最方便快捷。

如果你需要从read count转TPM,请购买FigureYa23count2TPM;从read count转FPKM,请购买FigureYa34count2FPKM。

The RNA-seq gene expression is in FPKM and needs to be converted to TPM. This is not limited to TCGA data.

Both FPKM and TPM calculations consider gene length, making the conversion from FPKM to TPM more convenient and faster than from read count to TPM.

If you need to convert from read count to TPM, please purchase FigureYa23count2TPM; to convert from read count to FPKM, please purchase FigureYa34count2FPKM.

下载TCGA RNA-seq的FPKM数据

Download FPKM data for TCGA RNA-seq

此处以TCGA的数据为例。

如果你自己的RNA-seq数据已经保存成easy_input.txt的格式,就跳过这步,直接进入“输入数据”

This is an example of TCGA data.

If you have saved your own RNA-seq data in easy_input.txt format, skip this step and go directly to “Input data”.

source("install_dependencies.R")
## Starting R package installation...
## ===========================================
## 
## Installing core CRAN dependencies...
## Package already installed: curl 
## Package already installed: httr 
## Package already installed: rvest 
## 
## Installing core Bioconductor dependencies...
## Package already installed: AnnotationDbi 
## Package already installed: BiocFileCache 
## Package already installed: GenomicRanges 
## Package already installed: SummarizedExperiment 
## 
## Installing Bioconductor packages...
## Package already installed: TCGAbiolinks 
## Package already installed: biomaRt 
## 
## ===========================================
## Package installation completed!
## You can now run your R scripts in this directory.
#source("https://bioconductor.org/biocLite.R")
#biocLite("TCGAbiolinks")
library(TCGAbiolinks)
expquery <- GDCquery(project = "TCGA-LIHC", 
                data.category = "Transcriptome Profiling",
                data.type = "Gene Expression Quantification",
                workflow.type = "STAR - Counts" 
                )
GDCdownload(expquery)
expquery2 <- GDCprepare(expquery)
## |                                                    |  0%                      |                                                    |0.2358491% ~40 s remaining|                                                    |0.4716981% ~28 s remaining|                                                    |0.7075472% ~25 s remaining|                                                    |0.9433962% ~22 s remaining|                                                    |1.179245% ~21 s remaining |                                                    |1.415094% ~20 s remaining |                                                    |1.650943% ~20 s remaining |                                                    |1.886792% ~46 s remaining |=                                                   |2.122642% ~43 s remaining |=                                                   |2.358491% ~40 s remaining |=                                                   |2.59434% ~38 s remaining  |=                                                   |2.830189% ~36 s remaining |=                                                   |3.066038% ~35 s remaining |=                                                   |3.301887% ~33 s remaining |=                                                   |3.537736% ~32 s remaining |=                                                   |3.773585% ~31 s remaining |==                                                  |4.009434% ~30 s remaining |==                                                  |4.245283% ~41 s remaining |==                                                  |4.481132% ~39 s remaining |==                                                  |4.716981% ~38 s remaining |==                                                  |4.95283% ~37 s remaining  |==                                                  |5.188679% ~36 s remaining |==                                                  |5.424528% ~35 s remaining |==                                                  |5.660377% ~34 s remaining |===                                                 |5.896226% ~33 s remaining |===                                                 |6.132075% ~32 s remaining |===                                                 |6.367925% ~32 s remaining |===                                                 |6.603774% ~31 s remaining |===                                                 |6.839623% ~30 s remaining |===                                                 |7.075472% ~37 s remaining |===                                                 |7.311321% ~36 s remaining |===                                                 |7.54717% ~35 s remaining  |====                                                |7.783019% ~34 s remaining |====                                                |8.018868% ~34 s remaining |====                                                |8.254717% ~33 s remaining |====                                                |8.490566% ~33 s remaining |====                                                |8.726415% ~32 s remaining |====                                                |8.962264% ~32 s remaining |====                                                |9.198113% ~31 s remaining |====                                                |9.433962% ~31 s remaining |=====                                               |9.669811% ~30 s remaining |=====                                               |9.90566% ~30 s remaining  |=====                                               |10.14151% ~29 s remaining |=====                                               |10.37736% ~29 s remaining |=====                                               |10.61321% ~33 s remaining |=====                                               |10.84906% ~33 s remaining |=====                                               |11.08491% ~32 s remaining |=====                                               |11.32075% ~32 s remaining |======                                              |11.5566% ~32 s remaining  |======                                              |11.79245% ~31 s remaining |======                                              |12.0283% ~31 s remaining  |======                                              |12.26415% ~30 s remaining |======                                              |12.5% ~30 s remaining     |======                                              |12.73585% ~30 s remaining |======                                              |12.9717% ~29 s remaining  |======                                              |13.20755% ~29 s remaining |======                                              |13.4434% ~28 s remaining  |=======                                             |13.67925% ~28 s remaining |=======                                             |13.91509% ~28 s remaining |=======                                             |14.15094% ~27 s remaining |=======                                             |14.38679% ~27 s remaining |=======                                             |14.62264% ~30 s remaining |=======                                             |14.85849% ~30 s remaining |=======                                             |15.09434% ~29 s remaining |=======                                             |15.33019% ~29 s remaining |========                                            |15.56604% ~29 s remaining |========                                            |15.80189% ~28 s remaining |========                                            |16.03774% ~28 s remaining |========                                            |16.27358% ~28 s remaining |========                                            |16.50943% ~28 s remaining |========                                            |16.74528% ~27 s remaining |========                                            |16.98113% ~27 s remaining |========                                            |17.21698% ~27 s remaining |=========                                           |17.45283% ~27 s remaining |=========                                           |17.68868% ~26 s remaining |=========                                           |17.92453% ~26 s remaining |=========                                           |18.16038% ~26 s remaining |=========                                           |18.39623% ~26 s remaining |=========                                           |18.63208% ~25 s remaining |=========                                           |18.86792% ~25 s remaining |=========                                           |19.10377% ~25 s remaining |==========                                          |19.33962% ~25 s remaining |==========                                          |19.57547% ~24 s remaining |==========                                          |19.81132% ~26 s remaining |==========                                          |20.04717% ~26 s remaining |==========                                          |20.28302% ~26 s remaining |==========                                          |20.51887% ~26 s remaining |==========                                          |20.75472% ~26 s remaining |==========                                          |20.99057% ~25 s remaining |===========                                         |21.22642% ~25 s remaining |===========                                         |21.46226% ~25 s remaining |===========                                         |21.69811% ~25 s remaining |===========                                         |21.93396% ~25 s remaining |===========                                         |22.16981% ~24 s remaining |===========                                         |22.40566% ~24 s remaining |===========                                         |22.64151% ~24 s remaining |===========                                         |22.87736% ~24 s remaining |============                                        |23.11321% ~24 s remaining |============                                        |23.34906% ~24 s remaining |============                                        |23.58491% ~23 s remaining |============                                        |23.82075% ~23 s remaining |============                                        |24.0566% ~23 s remaining  |============                                        |24.29245% ~23 s remaining |============                                        |24.5283% ~23 s remaining  |============                                        |24.76415% ~22 s remaining |=============                                       | 25% ~22 s remaining      |=============                                       |25.23585% ~22 s remaining |=============                                       |25.4717% ~22 s remaining  |=============                                       |25.70755% ~23 s remaining |=============                                       |25.9434% ~23 s remaining  |=============                                       |26.17925% ~23 s remaining |=============                                       |26.41509% ~23 s remaining |=============                                       |26.65094% ~23 s remaining |=============                                       |26.88679% ~23 s remaining |==============                                      |27.12264% ~22 s remaining |==============                                      |27.35849% ~22 s remaining |==============                                      |27.59434% ~22 s remaining |==============                                      |27.83019% ~22 s remaining |==============                                      |28.06604% ~22 s remaining |==============                                      |28.30189% ~22 s remaining |==============                                      |28.53774% ~21 s remaining |==============                                      |28.77358% ~21 s remaining |===============                                     |29.00943% ~21 s remaining |===============                                     |29.24528% ~21 s remaining |===============                                     |29.48113% ~21 s remaining |===============                                     |29.71698% ~21 s remaining |===============                                     |29.95283% ~21 s remaining |===============                                     |30.18868% ~20 s remaining |===============                                     |30.42453% ~20 s remaining |===============                                     |30.66038% ~20 s remaining |================                                    |30.89623% ~20 s remaining |================                                    |31.13208% ~20 s remaining |================                                    |31.36792% ~20 s remaining |================                                    |31.60377% ~20 s remaining |================                                    |31.83962% ~19 s remaining |================                                    |32.07547% ~19 s remaining |================                                    |32.31132% ~19 s remaining |================                                    |32.54717% ~19 s remaining |=================                                   |32.78302% ~20 s remaining |=================                                   |33.01887% ~20 s remaining |=================                                   |33.25472% ~20 s remaining |=================                                   |33.49057% ~20 s remaining |=================                                   |33.72642% ~20 s remaining |=================                                   |33.96226% ~20 s remaining |=================                                   |34.19811% ~19 s remaining |=================                                   |34.43396% ~19 s remaining |==================                                  |34.66981% ~19 s remaining |==================                                  |34.90566% ~19 s remaining |==================                                  |35.14151% ~19 s remaining |==================                                  |35.37736% ~19 s remaining |==================                                  |35.61321% ~19 s remaining |==================                                  |35.84906% ~19 s remaining |==================                                  |36.08491% ~18 s remaining |==================                                  |36.32075% ~18 s remaining |===================                                 |36.5566% ~18 s remaining  |===================                                 |36.79245% ~18 s remaining |===================                                 |37.0283% ~18 s remaining  |===================                                 |37.26415% ~18 s remaining |===================                                 |37.5% ~18 s remaining     |===================                                 |37.73585% ~18 s remaining |===================                                 |37.9717% ~17 s remaining  |===================                                 |38.20755% ~17 s remaining |===================                                 |38.4434% ~17 s remaining  |====================                                |38.67925% ~17 s remaining |====================                                |38.91509% ~17 s remaining |====================                                |39.15094% ~17 s remaining |====================                                |39.38679% ~17 s remaining |====================                                |39.62264% ~17 s remaining |====================                                |39.85849% ~17 s remaining |====================                                |40.09434% ~17 s remaining |====================                                |40.33019% ~16 s remaining |=====================                               |40.56604% ~16 s remaining |=====================                               |40.80189% ~16 s remaining |=====================                               |41.03774% ~16 s remaining |=====================                               |41.27358% ~16 s remaining |=====================                               |41.50943% ~17 s remaining |=====================                               |41.74528% ~17 s remaining |=====================                               |41.98113% ~17 s remaining |=====================                               |42.21698% ~17 s remaining |======================                              |42.45283% ~17 s remaining |======================                              |42.68868% ~16 s remaining |======================                              |42.92453% ~16 s remaining |======================                              |43.16038% ~16 s remaining |======================                              |43.39623% ~16 s remaining |======================                              |43.63208% ~16 s remaining |======================                              |43.86792% ~16 s remaining |======================                              |44.10377% ~16 s remaining |=======================                             |44.33962% ~16 s remaining |=======================                             |44.57547% ~16 s remaining |=======================                             |44.81132% ~16 s remaining |=======================                             |45.04717% ~15 s remaining |=======================                             |45.28302% ~15 s remaining |=======================                             |45.51887% ~15 s remaining |=======================                             |45.75472% ~15 s remaining |=======================                             |45.99057% ~15 s remaining |========================                            |46.22642% ~15 s remaining |========================                            |46.46226% ~15 s remaining |========================                            |46.69811% ~15 s remaining |========================                            |46.93396% ~15 s remaining |========================                            |47.16981% ~15 s remaining |========================                            |47.40566% ~15 s remaining |========================                            |47.64151% ~14 s remaining |========================                            |47.87736% ~14 s remaining |=========================                           |48.11321% ~14 s remaining |=========================                           |48.34906% ~14 s remaining |=========================                           |48.58491% ~14 s remaining |=========================                           |48.82075% ~14 s remaining |=========================                           |49.0566% ~14 s remaining  |=========================                           |49.29245% ~14 s remaining |=========================                           |49.5283% ~14 s remaining  |=========================                           |49.76415% ~14 s remaining |==========================                          | 50% ~14 s remaining      |==========================                          |50.23585% ~14 s remaining |==========================                          |50.4717% ~13 s remaining  |==========================                          |50.70755% ~13 s remaining |==========================                          |50.9434% ~13 s remaining  |==========================                          |51.17925% ~13 s remaining |==========================                          |51.41509% ~13 s remaining |==========================                          |51.65094% ~14 s remaining |==========================                          |51.88679% ~14 s remaining |===========================                         |52.12264% ~13 s remaining |===========================                         |52.35849% ~13 s remaining |===========================                         |52.59434% ~13 s remaining |===========================                         |52.83019% ~13 s remaining |===========================                         |53.06604% ~13 s remaining |===========================                         |53.30189% ~13 s remaining |===========================                         |53.53774% ~13 s remaining |===========================                         |53.77358% ~13 s remaining |============================                        |54.00943% ~13 s remaining |============================                        |54.24528% ~13 s remaining |============================                        |54.48113% ~13 s remaining |============================                        |54.71698% ~13 s remaining |============================                        |54.95283% ~12 s remaining |============================                        |55.18868% ~12 s remaining |============================                        |55.42453% ~12 s remaining |============================                        |55.66038% ~12 s remaining |=============================                       |55.89623% ~12 s remaining |=============================                       |56.13208% ~12 s remaining |=============================                       |56.36792% ~12 s remaining |=============================                       |56.60377% ~12 s remaining |=============================                       |56.83962% ~12 s remaining |=============================                       |57.07547% ~12 s remaining |=============================                       |57.31132% ~12 s remaining |=============================                       |57.54717% ~12 s remaining |==============================                      |57.78302% ~11 s remaining |==============================                      |58.01887% ~11 s remaining |==============================                      |58.25472% ~11 s remaining |==============================                      |58.49057% ~11 s remaining |==============================                      |58.72642% ~11 s remaining |==============================                      |58.96226% ~11 s remaining |==============================                      |59.19811% ~11 s remaining |==============================                      |59.43396% ~11 s remaining |===============================                     |59.66981% ~11 s remaining |===============================                     |59.90566% ~11 s remaining |===============================                     |60.14151% ~11 s remaining |===============================                     |60.37736% ~11 s remaining |===============================                     |60.61321% ~11 s remaining |===============================                     |60.84906% ~10 s remaining |===============================                     |61.08491% ~10 s remaining |===============================                     |61.32075% ~10 s remaining |================================                    |61.5566% ~10 s remaining  |================================                    |61.79245% ~10 s remaining |================================                    |62.0283% ~10 s remaining  |================================                    |62.26415% ~10 s remaining |================================                    |62.5% ~10 s remaining     |================================                    |62.73585% ~10 s remaining |================================                    |62.9717% ~10 s remaining  |================================                    |63.20755% ~10 s remaining |================================                    |63.4434% ~10 s remaining  |=================================                   |63.67925% ~10 s remaining |=================================                   |63.91509% ~9 s remaining  |=================================                   |64.15094% ~10 s remaining |=================================                   |64.38679% ~10 s remaining |=================================                   |64.62264% ~10 s remaining |=================================                   |64.85849% ~10 s remaining |=================================                   |65.09434% ~9 s remaining  |=================================                   |65.33019% ~9 s remaining  |==================================                  |65.56604% ~9 s remaining  |==================================                  |65.80189% ~9 s remaining  |==================================                  |66.03774% ~9 s remaining  |==================================                  |66.27358% ~9 s remaining  |==================================                  |66.50943% ~9 s remaining  |==================================                  |66.74528% ~9 s remaining  |==================================                  |66.98113% ~9 s remaining  |==================================                  |67.21698% ~9 s remaining  |===================================                 |67.45283% ~9 s remaining  |===================================                 |67.68868% ~9 s remaining  |===================================                 |67.92453% ~9 s remaining  |===================================                 |68.16038% ~8 s remaining  |===================================                 |68.39623% ~8 s remaining  |===================================                 |68.63208% ~8 s remaining  |===================================                 |68.86792% ~8 s remaining  |===================================                 |69.10377% ~8 s remaining  |====================================                |69.33962% ~8 s remaining  |====================================                |69.57547% ~8 s remaining  |====================================                |69.81132% ~8 s remaining  |====================================                |70.04717% ~8 s remaining  |====================================                |70.28302% ~8 s remaining  |====================================                |70.51887% ~8 s remaining  |====================================                |70.75472% ~8 s remaining  |====================================                |70.99057% ~8 s remaining  |=====================================               |71.22642% ~8 s remaining  |=====================================               |71.46226% ~7 s remaining  |=====================================               |71.69811% ~7 s remaining  |=====================================               |71.93396% ~7 s remaining  |=====================================               |72.16981% ~7 s remaining  |=====================================               |72.40566% ~7 s remaining  |=====================================               |72.64151% ~7 s remaining  |=====================================               |72.87736% ~7 s remaining  |======================================              |73.11321% ~7 s remaining  |======================================              |73.34906% ~7 s remaining  |======================================              |73.58491% ~7 s remaining  |======================================              |73.82075% ~7 s remaining  |======================================              |74.0566% ~7 s remaining   |======================================              |74.29245% ~7 s remaining  |======================================              |74.5283% ~7 s remaining   |======================================              |74.76415% ~6 s remaining  |=======================================             | 75% ~6 s remaining       |=======================================             |75.23585% ~6 s remaining  |=======================================             |75.4717% ~6 s remaining   |=======================================             |75.70755% ~6 s remaining  |=======================================             |75.9434% ~6 s remaining   |=======================================             |76.17925% ~6 s remaining  |=======================================             |76.41509% ~6 s remaining  |=======================================             |76.65094% ~6 s remaining  |=======================================             |76.88679% ~6 s remaining  |========================================            |77.12264% ~6 s remaining  |========================================            |77.35849% ~6 s remaining  |========================================            |77.59434% ~6 s remaining  |========================================            |77.83019% ~6 s remaining  |========================================            |78.06604% ~6 s remaining  |========================================            |78.30189% ~5 s remaining  |========================================            |78.53774% ~5 s remaining  |========================================            |78.77358% ~5 s remaining  |=========================================           |79.00943% ~5 s remaining  |=========================================           |79.24528% ~5 s remaining  |=========================================           |79.48113% ~5 s remaining  |=========================================           |79.71698% ~5 s remaining  |=========================================           |79.95283% ~5 s remaining  |=========================================           |80.18868% ~5 s remaining  |=========================================           |80.42453% ~5 s remaining  |=========================================           |80.66038% ~5 s remaining  |==========================================          |80.89623% ~5 s remaining  |==========================================          |81.13208% ~5 s remaining  |==========================================          |81.36792% ~5 s remaining  |==========================================          |81.60377% ~5 s remaining  |==========================================          |81.83962% ~5 s remaining  |==========================================          |82.07547% ~5 s remaining  |==========================================          |82.31132% ~5 s remaining  |==========================================          |82.54717% ~4 s remaining  |===========================================         |82.78302% ~4 s remaining  |===========================================         |83.01887% ~4 s remaining  |===========================================         |83.25472% ~4 s remaining  |===========================================         |83.49057% ~4 s remaining  |===========================================         |83.72642% ~4 s remaining  |===========================================         |83.96226% ~4 s remaining  |===========================================         |84.19811% ~4 s remaining  |===========================================         |84.43396% ~4 s remaining  |============================================        |84.66981% ~4 s remaining  |============================================        |84.90566% ~4 s remaining  |============================================        |85.14151% ~4 s remaining  |============================================        |85.37736% ~4 s remaining  |============================================        |85.61321% ~4 s remaining  |============================================        |85.84906% ~4 s remaining  |============================================        |86.08491% ~4 s remaining  |============================================        |86.32075% ~3 s remaining  |=============================================       |86.5566% ~3 s remaining   |=============================================       |86.79245% ~3 s remaining  |=============================================       |87.0283% ~3 s remaining   |=============================================       |87.26415% ~3 s remaining  |=============================================       |87.5% ~3 s remaining      |=============================================       |87.73585% ~3 s remaining  |=============================================       |87.9717% ~3 s remaining   |=============================================       |88.20755% ~3 s remaining  |=============================================       |88.4434% ~3 s remaining   |==============================================      |88.67925% ~3 s remaining  |==============================================      |88.91509% ~3 s remaining  |==============================================      |89.15094% ~3 s remaining  |==============================================      |89.38679% ~3 s remaining  |==============================================      |89.62264% ~3 s remaining  |==============================================      |89.85849% ~3 s remaining  |==============================================      |90.09434% ~2 s remaining  |==============================================      |90.33019% ~2 s remaining  |===============================================     |90.56604% ~2 s remaining  |===============================================     |90.80189% ~2 s remaining  |===============================================     |91.03774% ~2 s remaining  |===============================================     |91.27358% ~2 s remaining  |===============================================     |91.50943% ~2 s remaining  |===============================================     |91.74528% ~2 s remaining  |===============================================     |91.98113% ~2 s remaining  |===============================================     |92.21698% ~2 s remaining  |================================================    |92.45283% ~2 s remaining  |================================================    |92.68868% ~2 s remaining  |================================================    |92.92453% ~2 s remaining  |================================================    |93.16038% ~2 s remaining  |================================================    |93.39623% ~2 s remaining  |================================================    |93.63208% ~2 s remaining  |================================================    |93.86792% ~2 s remaining  |================================================    |94.10377% ~1 s remaining  |=================================================   |94.33962% ~1 s remaining  |=================================================   |94.57547% ~1 s remaining  |=================================================   |94.81132% ~1 s remaining  |=================================================   |95.04717% ~1 s remaining  |=================================================   |95.28302% ~1 s remaining  |=================================================   |95.51887% ~1 s remaining  |=================================================   |95.75472% ~1 s remaining  |=================================================   |95.99057% ~1 s remaining  |==================================================  |96.22642% ~1 s remaining  |==================================================  |96.46226% ~1 s remaining  |==================================================  |96.69811% ~1 s remaining  |==================================================  |96.93396% ~1 s remaining  |==================================================  |97.16981% ~1 s remaining  |==================================================  |97.40566% ~1 s remaining  |==================================================  |97.64151% ~1 s remaining  |==================================================  |97.87736% ~1 s remaining  |=================================================== |98.11321% ~0 s remaining  |=================================================== |98.34906% ~0 s remaining  |=================================================== |98.58491% ~0 s remaining  |=================================================== |98.82075% ~0 s remaining  |=================================================== |99.0566% ~0 s remaining   |=================================================== |99.29245% ~0 s remaining  |=================================================== |99.5283% ~0 s remaining   |=================================================== |99.76415% ~0 s remaining  |====================================================|100% ~0 s remaining       |====================================================|100%                      Completed after 25 s
expMatrix <- TCGAanalyze_Preprocessing(expquery2)

#运行下面这行,会把FPKM保存到文件里,用来做其他的分析。
#running the following line will save the FPKM to a file to be used for additional analysis.
#write.table(expMatrix, "easy_input.txt", sep="\t", quote=F, row.names=T)
#此处为了发邮件方便,只保存前4个sample
#Here, only the first 4 samples are saved for emailing convenience
write.table(expMatrix[,1:4], "easy_input.txt", sep="\t", quote=F, row.names=T)

输入数据

Input data

第一列是基因ID,第一行是sample ID。

一个单元格内是一个基因在一个sample中的read count。

The first column is the gene ID and the first row is the sample ID.

Inside a cell is the read count of a gene in a sample.

expMatrix<-read.table("easy_input.txt",header = T,row.names = 1)
#查看前三个基因的FPKM值
#view FPKM values for the first three genes
expMatrix[1:3,]
##                    TCGA.2V.A95S.01A.11R.A37K.07 TCGA.2Y.A9GS.01A.12R.A38B.07
## ENSG00000000003.15                         3231                         5531
## ENSG00000000005.6                             0                            0
## ENSG00000000419.13                         1083                         1597
##                    TCGA.2Y.A9GT.01A.11R.A38B.07 TCGA.2Y.A9GU.01A.11R.A38B.07
## ENSG00000000003.15                         9031                         5363
## ENSG00000000005.6                             4                            0
## ENSG00000000419.13                          740                         1334

FPKM转TPM

FPKM to TPM

rsem作者Bo Li的文字描述: https://groups.google.com/forum/#!topic/rsem-users/uajT7gnTj-0

将FPKM/RPKMs转换为TPMs非常简单。首先将所有基因的FPKM归一化,使其总和等于1,然后将每个归一化值乘以 1e6,即可得到TPMs。

先写个函数,来源 :https://haroldpimentel.wordpress.com/2014/05/08/what-the-fpkm-a-review-rna-seq-expression-units/

Text description by rsem author Bo Li: https://groups.google.com/forum/#!topic/rsem-users/uajT7gnTj-0

It is very easy to convert FPKM/RPKMs to TPMs. You first normalize your FPKMs from all genes so that their sum is equal to 1. Then you product 1e6 to each normalized value and you will obtain TPMs.

Write a function first , source : https://haroldpimentel.wordpress.com/2014/05/08/what-the-fpkm-a-review-rna-seq-expression-units/

fpkmToTpm <- function(fpkm)
{
    exp(log(fpkm) - log(sum(fpkm)) + log(1e6))
}

计算TPM值,保存到tpms里

Calculate TPM value, save to tpms

tpms <- apply(expMatrix,2,fpkmToTpm)

#查看前三个基因的TPM值
#view TPM values for the first three genes
tpms[1:3,]
##                    TCGA.2V.A95S.01A.11R.A37K.07 TCGA.2Y.A9GS.01A.12R.A38B.07
## ENSG00000000003.15                     73.71188                     113.9362
## ENSG00000000005.6                       0.00000                       0.0000
## ENSG00000000419.13                     24.70751                      32.8975
##                    TCGA.2Y.A9GT.01A.11R.A38B.07 TCGA.2Y.A9GU.01A.11R.A38B.07
## ENSG00000000003.15                 222.08919659                    127.23087
## ENSG00000000005.6                    0.09836749                      0.00000
## ENSG00000000419.13                  18.19798533                     31.64758
#检查一下,是不是每列的总和都是1
#check to see if the sum of each column is 1
colSums(tpms)
## TCGA.2V.A95S.01A.11R.A37K.07 TCGA.2Y.A9GS.01A.12R.A38B.07 
##                        1e+06                        1e+06 
## TCGA.2Y.A9GT.01A.11R.A38B.07 TCGA.2Y.A9GU.01A.11R.A38B.07 
##                        1e+06                        1e+06
#把TPM值保存到文件
#save TPM values to file
write.table(tpms,"TCGA_FPKM2TPM.genes.txt",quote = F)

Session Info

sessionInfo()
## R version 4.5.1 (2025-06-13)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 24.04.3 LTS
## 
## Matrix products: default
## BLAS:   /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 
## LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.26.so;  LAPACK version 3.12.0
## 
## locale:
##  [1] LC_CTYPE=C.UTF-8       LC_NUMERIC=C           LC_TIME=C.UTF-8       
##  [4] LC_COLLATE=C.UTF-8     LC_MONETARY=C.UTF-8    LC_MESSAGES=C.UTF-8   
##  [7] LC_PAPER=C.UTF-8       LC_NAME=C              LC_ADDRESS=C          
## [10] LC_TELEPHONE=C         LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C   
## 
## time zone: UTC
## tzcode source: system (glibc)
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] TCGAbiolinks_2.36.0
## 
## loaded via a namespace (and not attached):
##  [1] tidyselect_1.2.1            dplyr_1.1.4                
##  [3] farver_2.1.2                blob_1.2.4                 
##  [5] filelock_1.0.3              Biostrings_2.76.0          
##  [7] S7_0.2.0                    fastmap_1.2.0              
##  [9] BiocFileCache_2.16.2        promises_1.3.3             
## [11] XML_3.99-0.19               digest_0.6.37              
## [13] lifecycle_1.0.4             processx_3.8.6             
## [15] KEGGREST_1.48.1             RSQLite_2.4.3              
## [17] magrittr_2.0.4              compiler_4.5.1             
## [19] rlang_1.1.6                 sass_0.4.10                
## [21] progress_1.2.3              tools_4.5.1                
## [23] yaml_2.3.10                 data.table_1.17.8          
## [25] knitr_1.50                  prettyunits_1.2.0          
## [27] S4Arrays_1.8.1              bit_4.6.0                  
## [29] curl_7.0.0                  DelayedArray_0.34.1        
## [31] plyr_1.8.9                  xml2_1.4.0                 
## [33] RColorBrewer_1.1-3          websocket_1.4.4            
## [35] abind_1.4-8                 withr_3.0.2                
## [37] purrr_1.1.0                 BiocGenerics_0.54.0        
## [39] grid_4.5.1                  stats4_4.5.1               
## [41] ggplot2_4.0.0               scales_1.4.0               
## [43] dichromat_2.0-0.1           biomaRt_2.64.0             
## [45] SummarizedExperiment_1.38.1 cli_3.6.5                  
## [47] rmarkdown_2.29              crayon_1.5.3               
## [49] generics_0.1.4              httr_1.4.7                 
## [51] tzdb_0.5.0                  DBI_1.2.3                  
## [53] cachem_1.1.0                chromote_0.5.1             
## [55] stringr_1.5.2               rvest_1.0.5                
## [57] AnnotationDbi_1.70.0        TCGAbiolinksGUI.data_1.28.0
## [59] XVector_0.48.0              matrixStats_1.5.0          
## [61] vctrs_0.6.5                 Matrix_1.7-3               
## [63] jsonlite_2.0.0              IRanges_2.42.0             
## [65] hms_1.1.3                   S4Vectors_0.46.0           
## [67] bit64_4.6.0-1               tidyr_1.3.1                
## [69] jquerylib_0.1.4             glue_1.8.0                 
## [71] ps_1.9.1                    stringi_1.8.7              
## [73] gtable_0.3.6                later_1.4.4                
## [75] GenomeInfoDb_1.44.2         GenomicRanges_1.60.0       
## [77] UCSC.utils_1.4.0            tibble_3.3.0               
## [79] pillar_1.11.1               rappdirs_0.3.3             
## [81] htmltools_0.5.8.1           GenomeInfoDbData_1.2.14    
## [83] R6_2.6.1                    dbplyr_2.5.1               
## [85] httr2_1.2.1                 evaluate_1.0.5             
## [87] lattice_0.22-7              Biobase_2.68.0             
## [89] readr_2.1.5                 png_0.1-8                  
## [91] memoise_2.0.1               bslib_0.9.0                
## [93] Rcpp_1.1.0                  SparseArray_1.8.1          
## [95] downloader_0.4.1            xfun_0.53                  
## [97] MatrixGenerics_1.20.0       pkgconfig_2.0.3