Python版RNA-seq分析教程:差异表达基因分析

文章介绍了如何利用omicverse包进行BulkRNA-seq数据的差异表达基因分析,包括基因ID转换、数据归一化、差异表达分析以及后续的通路富集步骤。示例中提到了DEseq2的SizeFactor用于批量效应校正,使用t-test或DEseq2计算p值,并展示了omicverse的可视化功能,如火山图和箱线图,以及通路富集分析结果的展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Bulk RNA-seq 分析的一个重要任务是分析差异表达基因,我们可以用 omicverse
来完成这个任务。对于差异表达分析而言,首先,我们可以先将 gene_id 改为 gene_name。其次,当我们的数据集存在批量效应时,我们可以使用 DEseq2的 SizeFactor 对其进行归一化,从统计学上,使用 wilcoxon的秩和检验或者 t-test来计算基因的 p 值。也可以使用类似edgeRDeseq2等包的模型来计算p值。在这里,我们用一个从RNA-seq上游的定量包FeatureCounts生成的表达矩阵来演示差异表达分析的流程。我们的流程适用于任何Bulk RNA-seq的差异表达分析。

环境的下载

在这里我们只需要安装omicverse环境即可,有两个方法:

  • 一个是使用conda:conda install omicverse -c conda-forge
  • 另一个是使用pip:pip install omicverse -i https://pypi.tuna.tsinghua.edu.cn/simple/-i的意思是指定清华镜像源,在国内可能会下载地快一些。

导入包

我们首先导入分析需要用到的所有包,包括omicverse, pandas, numpy, scanpy matplotlibseaborn.

import omicverse as ov
import pandas as pd
import numpy as np
import scanpy as sc
import matplotlib.pyplot as plt
import seaborn as sns

#设定绘图格式,分辨率300dpi等
ov.utils.ov_plot_set()

下载基因集

当我们需要转换基因 id 时,我们需要准备一个映射对文件。在这里,我们预处理了6个基因组 gtf 文件和生成的映射对,包括 T2T-CHM13,GRCh38,GRCh37,GRCm39,danRer7和 danRer11。如果需要转换其他 id,可以使用 gtf 将文件放在 genesets 目录中生成自己的映射。

ov.utils.download_geneid_annotation_pair()

读取数据

data=pd.read_csv('https://raw.githubusercontent.com/Starlitnightly/ov/master/sample/counts.txt',index_col=0,sep='\t',header=1)
#replace the columns `.bam` to `` 
data.columns=[i.split('/')[-1].replace('.bam'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值