FPKM转化为TPM格式
时间: 2023-11-19 15:06:55 浏览: 143
FP (Fragments Per Kilobase of transcript per Million mapped reads) 和 TPM (Transcripts Per Million) 都是常见的基因表达量计算方法。FPKM 是一种相对表达量的度量,而 TPM 是一种归一化表达量的度量。
要将 FPKM 转换为 TPM,需要进行以下步骤:
1. 计算每个基因的长度(单位为 kb)。
2. 计算每个基因的表达量(TPM)。
TPM 的计算公式为:
TPM = (FPKM * 10^6) / (total mapped reads * gene length in kb)
其中,total mapped reads 是所有样本的总 mapped reads 数量,gene length in kb 是基因的长度(即步骤 1 中计算出的值)。
3. 对于每个样本,将所有基因的 TPM 值相加,得到该样本的总 TPM。
4. 将每个样本的总 TPM 进行归一化,即将每个样本的总 TPM 除以 1,000,000。
下面是一个 Python 实现的示例代码:
```python
import pandas as pd
# 读取 FPKM 表达矩阵
df = pd.read_csv('fpkm_matrix.csv', index_col=0)
# 计算基因长度
gene_length = pd.read_csv('gene_length.csv', index_col=0)
# 计算每个基因的表达量(TPM)
total_mapped_reads = df.sum()
tpm = df.mul(10**6).div(total_mapped_reads).div(gene_length['length'], axis=0)
# 计算每个样本的总 TPM
total_tpm = tpm.sum(axis=0)
# 归一化 TPM
tpm_norm = tpm.div(total_tpm, axis=1).mul(10**6)
# 输出 TPM 表达矩阵
tpm_norm.to_csv('tpm_matrix.csv')
```
其中,`fpkm_matrix.csv` 是 FPKM 表达矩阵,`gene_length.csv` 是基因长度信息表。输出的 `tpm_matrix.csv` 就是 TPM 表达矩阵。
阅读全文