决定倒塌这棵树的截止的算法?

2023-12-21

我有一个Newick http://en.wikipedia.org/wiki/Newick_format通过比较 4-9 bp 长 DNA 序列的假定 DNA 调控基序的位置权重矩阵(PWM 或 PSSM)的相似性(欧几里德距离)而构建的树。

iTol 上有该树的交互式版本(),您可以随意使用 - 设置参数后只需按“更新树”:

我的具体目标:如果它们到最近亲本进化枝的平均距离 ETE2 Python 包)。这在生物学上是很有趣的,因为一些基因调控 DNA 基序可能彼此同源(旁系同源物或直向同源物)。这种折叠可以通过上面链接的 iTol GUI 来完成,例如如果您选择 X = 0.001,则某些图案会折叠成三角形(图案族)。

我的问题:有人能提出一种算法,可以输出或帮助可视化哪个 X 值适合“最大化折叠主题的生物学或统计相关性”吗?理想情况下,当针对 X 绘制时,树的某些属性会出现一些明显的阶跃变化,这向算法表明了一个合理的 X。是否有任何已知的算法/脚本/包?也许代码会根据 X 的值绘制一些统计数据?我尝试绘制 X 与平均簇大小(绘图库 http://matplotlib.org/)但我没有看到明显的“步长增加”来告诉我要使用哪个 X 值:

我的代码和数据:我的 Python 脚本的链接是 [here][8],我对其进行了大量评论,它将生成树数据并为您绘制上面的图(使用参数 d_from、d_to 和 d_step 来探索距离截止值 X) 。如果您有 easy-install 和 Python,则只需执行这两个 bash 命令即可安装 ete2:

apt-get install python-setuptools python-numpy python-qt4 python-scipy python-mysqldb python-lxml

easy_install -U ete2

您可以尝试使用类似于 @Jeff 提到的树协调的方法。但标准树协调实际上会失败。

协调首先涉及添加代表整个目标树中进化特征“丢失”的分支。然后指出进化特征发生“重复”的节点。损失和重复的加权和提供了优化的成本函数。

但就您而言,您想要解决的问题是“将这棵超级树分解为适当大小的同源子树”。这意味着您并不想像重复一样遭受损失。您需要一种对树进行评分的方法,以便揭示有多少同源子树合并到您的超级树中。因此,您可以尝试以下评分方法:

  1. 取一棵超级树,计算重复物种的数量 S1。
  2. 折叠所有属于旁系同源物的顶生叶,并计算重复物种的新数量 S2。
  3. S1 和 S2 之间的差异揭示了超级树中大约有多少个子树。
  4. 为了纠正由不同大小的超级树引起的任何偏差,除以超级树 N 中代表的独特物种的数量。

如果我们将此分数称为“子树因子”,那么它等于:

S1 - S2 / N

推论:

  • 如果 S1 - S2 = S1 那么这意味着你的超级树中大约有一个真正的子树,所有多个物种的出现都只是由于最近的旁系同源物造成的。

  • 如果 S1 - S2 = 0 那么这意味着你的超级树中有大约 S1 个真正的子树。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

决定倒塌这棵树的截止的算法? 的相关文章

随机推荐

  • 将 UISearchBar 中的 BookmarkButton 替换为 Activityindicator

    我使用 UISearchBar 输入地址来建立网络连接 建立连接后 我想显示活动指示器 而不是搜索栏右侧的小书签按钮 据我所知 没有公开声明的属性可以让我访问搜索栏的正确子视图 我已经看到这样做了 有什么想法吗 在搜索或连接正在进行时 将左
  • 如何在视图中嵌入时间选择器

    我已经集成了TimePicker在我的申请中成功 现在我想知道是否有一种方法可以在视图中嵌入时间选择器而不是将其显示为对话框 提前致谢 我建议你 使用fragment是个好习惯 如果你使用DialogFragment google提供使用对
  • 使用 LEFT JOIN 仅选择一个连接行

    我正在尝试 LEFT JOIN 两个表 以获取 TABLE 1 中所有行的列表和 TABLE 2 中一个相关行的列表 我已经尝试过 LEFT JOIN 和 GROUP BY c id 但是我不希望 TABLE 2 中的相关行按 isHead
  • 我们真的需要在java RMI中创建Stub吗?

    我正在阅读一些RMI文档 所有书籍都说我们需要为客户端创建Stub才能与服务器通信 然而 我试图不创建存根 事情就像一个魅力 我已将客户端程序放在一台机器上 将服务器程序放在另一台机器上 一切运行良好 那么 创建 Stub 的实际目的是什么
  • 如何使用POI从java中基于某些唯一值的excel读取特定行?

    我试图根据一些独特的价值来获取记录 例子 如果有一个包含 emp 名称 emp id emp 地址的值表 我想根据 emp id 获取记录 这是我尝试过的代码 该代码也不是从文件开始读取数据 package org xlsx read im
  • Powershell命令处理(传入变量)

    我正在创建一个 Powershell 脚本来部署一些代码 该过程的一部分是调用名为 RAR EXE 的命令行压缩工具来备份一些文件夹 我试图动态构建参数 然后让 powershell 使用变量调用命令 但我遇到了麻烦 它不起作用 运行以下脚
  • 如何解决这个问题(Pytorch RuntimeError:需要 1D 目标张量,不支持多目标)

    我是 pytorch 和深度学习的新手 我的数据集 53502 x 58 我的代码有问题 model nn Sequential nn Linear 58 64 nn ReLU nn Linear 64 32 nn ReLU nn Line
  • 在 Rails 4 中保存嵌套模型

    对于 Rails 来说有点新 在某个地方 其中一个模型在 has many belongs to 关联中依赖于另一个模型 基本上 在我的应用程序上创建 帖子 时 用户还可以附加 图像 理想情况下 这是两个独立的模型 当用户选择一张照片时 一
  • 如何将 SFSafariViewController 与像该用户一样的深色主题一起使用?

    我在 StackOverflow 问题的屏幕截图中看到 用户呈现了一个变暗的 SafariViewController https stackoverflow com a 36099965 998117 https stackoverflo
  • 实时数据库中的 .set Value 不会调用 OnCompleteListener

    我目前正在尝试将数据保存到 Firebase 实时数据库 我只是想保存数据 databaseReference child someChild setValue someObject Thread sleep 1000 这很好用 该对象出现
  • 未找到 Grails 独立插件

    我正在尝试使用grails 独立插件 http grails org plugin standalone有了一个新的 grails 项目 但我无法让它工作 我已将其添加为我的插件依赖项BuildConfig groovy file plug
  • 如何在需要时仅提交隐藏/显示字段数据之一 - Laravel

    一个表单包含多个字段 其中一个字段是 是 否 下拉列表 选择 是 后 会出现另一个下拉菜单 当没有选择时 会出现一个文本输入字段 根据是 否下拉列表 字段的数据之一应提交到数据库 但是 这两个字段的数据都会发送到数据库 但数据库需要一个字符
  • Nest SuggestCompletion 用法,抛出“不是完成建议字段”异常

    我是elasticsearch的完全初学者 我一直在尝试使用elasticsearch的完成建议器 使用Nest对属性进行自动完成 这是我的映射 如上所述here https github com Mpdreamz NEST blob ma
  • Numpy sum() 函数 + 推导式:int32 还是 in64?

    为什么当输入是 int 列表时 numpy sum 和 numpy prod 函数返回 int32 如果输入是同一列表的生成器 则返回 int64 在列表上操作时强制他们使用 int64 的最佳方法是什么 E g sum x for x i
  • 将 Adob​​eMobileLibrary(适用于 iOS)与 cocoapods 一起使用?

    我们将使用适用于 iOS 的 Omniture Tracking 它是 Adob eMobileLibrary 的一部分 AdobeAdobeMobileLibrary 无法通过 cocoapods repo 仅旧版本的 Omniture
  • python对象的查询语言[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个库 可以让我在 python 对象数据库 上运行类似 SQL 的查询 对于对象数据库 我
  • *** 检测到 glibc *** free():下一个大小无效(正常):0x0a03c978 *** [重复]

    这个问题在这里已经有答案了 我正在编写一个套接字程序来下载图像 问题是 当我在 gif 这样的小图片上测试我的代码时 它工作得很好 但是当我用 JPG 图片 大于 GIF 运行它时 我收到错误消息 glibc detected home u
  • 将 API 密钥放在标头或 URL 中

    我正在为我公司的数据设计一个公共 API 我们希望应用程序开发人员注册 API 密钥 以便我们可以监控使用情况和过度使用情况 由于 API 是 REST 我最初的想法是将此密钥放在自定义标头中 我看到谷歌 亚马逊和雅虎就是这样做的 另一方面
  • Fortran 技术查询[重复]

    这个问题在这里已经有答案了 我在 Fortran 中有以下函数签名 我是 Fortran 语言的新手 是什么意思0 在下面的函数中 ANTY IAN NA 0 0 符号0 带小数点表示浮点数 而0不带小数点表示整数 对于 FORTRAN 的
  • 决定倒塌这棵树的截止的算法?

    我有一个Newick http en wikipedia org wiki Newick format通过比较 4 9 bp 长 DNA 序列的假定 DNA 调控基序的位置权重矩阵 PWM 或 PSSM 的相似性 欧几里德距离 而构建的树