python中gsea-incontext基因集富集分析
gsea-incontext的Python项目详细描述
GSEA in context:上下文中的基因集富集分析
基因集富集分析(GSEA)通常用于分析和解释转录组学实验中的坐标变化。对于每个条件下少于7个样本进行比较的实验,gsea采用竞争性零假设来检验显著性。一个基因集富集分数是根据一个零分布的富集分数生成的排列基因集,其中的基因是随机选择的输入实验。然而,纵观各种生物条件,基因并不是随机分布的,许多基因呈现出一致的上调或下调模式。结果,在实验中观察到了阳性和阴性富集基因集的共同模式。把一个单一的实验放在一组相关的背景实验的背景中,我们就可以确定基因集富集的常见模式和实验特定模式。我们开发了gsea-incontext方法,允许用户在定义的实验背景集中解释基因表达模式,以在自己的实验中识别统计上显著丰富的基因集。
有关运行gsea incontext算法的示例,请参见下文。
这个repo是GSEApy(原始文档here)的分支。我们添加了一个新的工具GSEA_InContext
,它运行gseapreranked算法,但使用一组排名列表的背景来计算经验的空分布,以通知置换过程。例如使用原始gseapy库visit this page。
关于GSEA incontext
目前,没有任何方法可以让用户轻松地将他们的gsea结果与在其他实验中获得的gsea结果进行比较,以识别受实验影响的相似和/或不同模式。gsea-incontext解释了从实验背景估计的基因特异性变异。尽管gsea在一个实验中识别出所有显著富集的基因集,但这种方法允许用户提出一个互补的问题,即与许多其他独立的实验相比,在单个实验中哪些基因集是唯一富集的。
我们的方法采用与GSEA相同的方法来计算名义P值。然而,与gseapreranked相比,gsea incontext采用了一种替代的显著性检验方法来生成零分布,在零分布中,置换的基因集是使用一组用户定义的背景实验估计的基因序列密度生成的。在背景集的实验中,我们使用高斯核来估计基因的概率密度。
gsea incontext算法可以使用incontext
子命令运行。其他子命令可以在原始gseapy中运行,包括:gsea
、prerank
、ssgsea
、replot
、enrichr
。请参阅原始的GSEApy <https://github.com/BioNinja/GSEApy>
存储库。
完整的GSEA
描述如下:
GSEA文档。gseapy的所有文件格式都与GSEA
桌面版本相同。
数据和可用性
our preprint中描述的数据、结果和分析托管在synapse项目中,synapse项目可用here(doi:10.7303/syn11804693)。
依赖关系和要求
- Python3.4+
- numpy=1.13.0
- 熊猫
- matplotlib
- 美化组4
- 请求(Enrichr API)
您可能还需要安装lxml和html5lib来解析xml文件。
运行gseapy和gsea incontext
开始之前:
将所有基因符号名称转换为大写。输入到prerank
或incontext
的排序列表可以作为文件路径(.rnk)或两列pandas数据帧(列gene_name
和fold_change
)提供。输入到incontext
的背景排序列表是作为包含要在排列中使用的.rnk文件列表的文本文件提供的,或者作为包含使用make_background_dist()
函数创建的预排列基因列表的.csv文件提供的。行动。
在python控制台中运行gseapy:
|在python中使用文件路径作为输入运行gseapreranked和gsea incontext
import gseapy
# Run GSEA Prerank
gseapy.prerank(rnk='gsea_data.rnk', gene_sets='gene_sets.gmt', outdir='out')
# Run GSEA-InContext
gseapy.incontext(rnk='gsea_data.rnk', gene_sets='gene_sets.gmt', backround_rnks = 'permuted_background.csv', outdir='out')
一个完整的例子可以在run_example.py
中看到。用run_all_442.py
对kegg和hallmarks基因集进行全面分析。
错误报告
如果您想在运行incontext
模块时报告任何错误,请在github here上创建一个问题。有关其他模块的问题,您可能希望访问original GSEAPY repo。