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中运行,包括:gseaprerankssgseareplotenrichr。请参阅原始的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

开始之前:

将所有基因符号名称转换为大写。输入到prerankincontext的排序列表可以作为文件路径(.rnk)或两列pandas数据帧(列gene_namefold_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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用ContentExchange设置请求属性   java Spark/Hdfs/Hdfsclient兼容性   java springcloudstreamkafka配置:instanceCount和instanceIndex   Java中web服务序列化日期   java用动态数据替换占位符   java git gc似乎覆盖了一个packfile,留下了一个打开的文件描述符,其中包含对“oldxxx.pack”的引用   为什么Apache项目对Java版本敏感?   java Anylogic帮助如何在导入的3dobject通过输送机上的多个“站”时更改其颜色?   JavaEclipseNeonM2E可以导入一个大型项目,但似乎不能自动解决依赖关系   java@FindBy搜索具有满足条件的子元素的元素   java如何将ActionEvent e与键绑定一起使用?   java转换以集中方式从外部库抛出的异常   java中用户文件/数据文件与系统/程序文件的区别   java使用变量字符串或字符作为对象名   字体使用Java图形操纵字符串中每个字符的形状   JavaFX图表移动数据   java RandomAccessFile:将所有项设置为相同的字节数?   java Google Play inapp Billing onPurchasesUpdated()错误响应代码1   java在不知道属性名和属性数的情况下处理json对象   java是否可以一次从HazelcastInstance(映射和列表)中删除所有数据?