Skip to main content

在层次聚类中查找统计显着的节点

项目描述

最新的 PyPI 版本 Travis-CI

作者

海宝汤( tanghaibao )

李静平 ( Jingping )

电子邮件

汤海@gmail com

执照

BSD

描述

层次聚类是挖掘多元生物数据之间有用关系的重要工具。但是,没有明显的方法可以从已识别的层次结构中定义一组有用的、不重叠的组。大多数努力都集中在不同的截止值上,评估组内和组间方差的相对强度,然后启发式地确定“良好”的截止值。本研究引入了一种更动态的方法,该方法提取了显着丰富或与其他进化枝不同的进化枝。结合系统发育信息消除了在常规分析中观察到的假阳性,从而提高了对性状关联的预测。

该算法采用两个输入,一个树模型和所有终端分支的一些值映射。简而言之,该算法对所有内部分支执行独立的统计测试,并计算每个节点的 P 值。在探索阶段,统计检验是:1)对于定量值,检验每个节点分隔的两组的差异(学生t检验);2)对于分类值,为每个内部节点的后代测试特定类别的关联(Fisher精确检验)。

候选节点是使用以下规则确定的:候选节点 v 的 P 值必须是所有通过 v 的根到叶路径中最小的。换句话说,以节点 v 为根的组应该包含最大的关联水平,从而避免冗余进化枝。

服务器版本

可以在此处找到 TRECUT 软件的服务器版本:http: //chibba.agtec.uga.edu/duplication/cut/

安装

  • Python 版本 >= 2.6

  • scipy用于 t 检验和 Fisher 精确检验

  • ete2用于解析树结构

pip install scipy ete2

用法

查看data/文件夹中的示例:treefilelistfile

文件应该是 Newick 格式的文件(通常来自系统发育重建软件的输出,例如phylipMEGA)。

列表文件应包含每个分类单元的定量值(用逗号分隔)。确保分类单元名称在 treefilelistfile之间匹配:

# continuous example
IS13,57.2
IS35,66.13

如果数据类型是离散的,则用分号分隔类。例如:

# discrete example
AT1G02150,GO:0009507;GO:0005488
AT1G02160,GO:0005575;GO:0003674;GO:0008150

请注意,#代表注释行,将被忽略。

要运行软件:

python treecut.py data/tree.nwk data/continuous.csv tree.pdf

提取模块的摘要将写入stdout。每行将包含一个子进化枝,显示显着高表型值或低表型值。此外,可视化可用作 tree.pdf(支持的图像格式包括svgpngpdfjpg等)。模块以绿色(低价值模块)和红色(高价值模块)颜色突出显示。

<图> 树值映射 <图说明>

树值映射

</figcaption> </figure>

食谱

TRECUT 有几个直接的应用程序。下面仅展示两个示例,但还有更多示例。

提取具有高/低表型值的分类群

请参阅data/文件夹中的示例。这是高粱多样性面板的开花时间数据。开花.nwk是研究中使用的高粱种质的系统发育树。开花.assoc具有对特征值的加入的映射(在这种情况下是开花前的天数)。跑步:

python treecut.py data/flowering.nwk data/flowering.assoc

如果您希望将开花数据视为离散值,请说“高”与“低”。您可以添加--discrete选项:

python treecut.py data/flowering.nwk data/flowering_discrete.assoc --discrete flowering_discrete.png

显着的不同进化枝(如极端特征值)将被写入屏幕。

提取功能丰富的共表达基因

在此示例中,我使用 Eisen 的CLUSTER软件(此处)处理了一系列拟南芥微阵列 AtGenExpress集群运行后。我找到了两个文件 - microarray.cdtmicroarray.gtr。.gtr文件包含分层树结构,但我需要将其转换为.nwk格式以便 treecut.py进行处理。

看一下microarray.assoc,它包含从拟南芥基因到 GO 术语的映射,这些映射基于在Gene Ontology 网站上下载的信息。请注意,一个基因可以有多个与之相关的 GO 术语。这是我用来创建microarray.assoc的脚本:

python scripts/parse_tair_go.py

设置好所有内容后,只需像往常一样运行treecut.py(确保打开--discrete选项):

python scripts/eisen_to_newick.py data/microarray.gtr data/microarray.cdt data/microarray.nwk
python treecut.py data/microarray.nwk data/microarray.assoc --discrete

在某些 GO 术语中显着丰富的进化枝将被写入屏幕。

参考

唐等人。TRECUT:从层次聚类中提取重要模块的算法

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

treecut-0.7.8.tar.gz (12.6 kB 查看哈希)

已上传 source