问题标签 [phylogeny]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - R中系统发育树的分支长度修改
我有一个 NEWICK 格式的 phylo 文件,距离很短(大约 1.042e-06),我需要“消除”这些小距离。
我曾考虑将所有距离乘以 10,因为对于我进一步需要的树,这种乘法不会产生任何效果。为此,我在 R 和函数中找到了apecompute.brlen
包,与此函数一样,您可以通过函数更改分支的长度。
关于如何用这个函数将分支的长度乘以 10 的任何想法?
我试过这样做compute.brlen(tree, main=expression(rho==10))
,但我认为这对我想要的不正确。
r - Phylocom 非超测量树与超测量树
再次。
我再需要一次帮助。
现在我开始使用 PHYLOCOM 软件来从不同的样本中推断系统发育的特征。该软件允许您计算您的物种在您的分析中是否在其他种群中显示出聚类或过度分散。作为输入文件,您需要一个 NEWICK 格式的系统发育树和一个示例文件 (.txt)。
我已经完成了两项测试,一项以这种方式使用“ape”包修改了 R 中的树:
而另一个'猿'选项的另一个:
第一个修改生成带有超度量树的输出,而第二个输出是非超度量树。如果那时我自己运行 PHYLOCOM
我得到了不同的结果,不仅在参数值方面,而且在意义 p 值方面。
我的问题是,如果有人知道我应该如何运行 PHYLOCOM 以正确地进行这些“结构”分析,输入超测量或非超测量,以及以一种或另一种方式运行它有什么区别。
我知道这不是 stackoverflow 论坛的“经典”问题,但也许任何使用系统发育的人都可以帮助我。
非常感谢。
r - R中使用ape包的标签和颜色叶树状图(系统发育)
在上一篇文章(r 中的标签和颜色叶树状图)之后,我有一个后续问题。
我的问题与提到的帖子相似,但我想知道是否可以使用猿来完成(例如,plot(as.phylo(fit), type="fan", labelCol)
因为它具有更多类型的系统发育。
提到的帖子问题是:
如何在叶标签(而不是样本编号)中显示组代码?
我希望为每个代码组分配一种颜色并根据它为叶子标签着色(可能会发生它们不在同一个进化枝中,这样我可以找到更多信息)?
代码示例是:
r - 模型测试和负边长度与 R 中的 phanorn
我正在分析蛋白质数据集。我正在尝试使用phangorn
R 中的包构建一棵树。当我构建它时,我会得到负边长度,这有时会导致难以进行分析(modelTest)。
根据数据集的大小(超过 250 种蛋白质),我无法执行模型测试。显然,由于负边长存在问题。但是,对于较短的数据集,即使存在一些负边长度,我也可以执行 modelTest。
我直接从我的终端运行它。
有人知道我能做什么吗?
干杯,阿尔巴
algorithm - 了解小简约,Sankoff 算法
小简约问题:在进化树中找到内部顶点的最简约标签。输入:树 T,每个叶子都用一个 m 字符串标记。输出:树 T 的内部顶点的标签最小化简约分数。
我指的是这篇文章底部的图片。我只是想按照提供的示例进行操作。我知道第一步是标记四片叶子 A、C、T、G(因为我们提供了这个输入),并且我们通过将适当的一个字符设置为 0 并将字符字母表的其余部分设置为无穷大来做到这一点在每个叶子的数组中。
在图像的下一步中,我们分析不是根的两个内部节点。我也理解这个过程。例如,在左侧内部节点中,我们得到数组 A/9、T/7、G/8、C/9。这四个值中的每一个都被计算为左孩子(A)和右孩子(C),加上得分惩罚。例如,A/9 被取为 0+0(左孩子得分 0 + A->A 的惩罚),加上 0+9(右孩子得分 0 + C->A 的惩罚)。
然而,我感到困惑的是如何计算根。这是与考虑具有无穷大值的叶子不同的情况(这样添加一个小的惩罚没有区别,甚至不考虑无穷大分数)。
当我把它画出来时,似乎根的 A/14、T/9、10/G、15/c 是这样计算的:对于 A/14,我们取四个可能值中的最小值。第一个值是左右孩子是 A 的情况 (9+7+2(0) = 16),第二个值是左右孩子是 T 的情况 (7+2+2(3) = 14 ),第三个值是左右孩子是G的情况(8+2+2(4) = 18),第四个值是左右孩子是C的情况(9+8+2(9) = 35)。这四个值中的最小值是 min(16, 14, 18, 35) = 14,这意味着如果根是 A,则左右孩子是 T。
如果我以这种方式继续,我会得到与书相同的根值 (14, 9, 10, 15),其中最小值为 9,表明根是 T(并且它的两个子节点也是 T)。
然而,这是正确的逻辑吗?我觉得可以有更多的组合,而不仅仅是探索每个根字符的四个值。我特别奇怪,我只考虑孩子必须是同一个字符的四种情况(A和A,T和T,G和G,C和C)。
所以我的问题是,这只是一个巧合,这在这个问题上有效吗?如果是正确的,为什么我不需要考虑两个孩子性格不同的情况呢?如果它不正确,那么在这个例子中计算根的正确方法是什么(我更喜欢看到与这个特定问题相关的数字,因为我仍然会睁一只眼闭一只眼地试图找出复杂的方程)。
谢谢你。
如果难以阅读,后序的顶点数组是 [0, inf, inf, inf], [inf, inf, inf, 0], [9, 7, 8, 9], [inf , 0, inf, inf], [inf, inf, 0, inf], [7, 2, 2, 8], [14, 9, 10, 15]
algorithm - 比较具有不同叶集的树(叶节点的数量和标签不同)
我有来自文件/文件夹结构的分层数据,用于构建树。我现在正在尝试将这些树与随机树以及它们之间进行比较。
为了与随机树进行比较,我可以保留叶节点的数量和标签,并使用传统的树距离度量(例如 Robinson-Foulds 距离)。尽管如此,要比较来自不同数据的不同树(具有不同数量的叶子和标签),我不知道要使用哪种度量/算法。有什么建议么?
谢谢!
PS-比较的目标是确定这些树之间的拓扑结构有多相似,并查看可能存在哪些集群(并因此添加一些关于文件夹结构背后的生成机制的想法的证据)。
r - 绘制表象图时缺少树提示
当我使用 phytools 包生成表型图时,树的提示和提示标签没有显示。有没有人对如何解决这个问题有任何想法,或者用另一种方式绘制一个带有节点和尖端的表型图,y 轴绘制在相关性状的值处?
这是我所拥有的:
这是树的样子:
r - 构建循环系统发育树
我有一张与它们相关的基因和疾病表。我想构建一个系统发育树并将基因分组到它们的疾病中。下面是一个示例数据集,其中gene1 列属于 disease1,gene2 属于 disease2。主要是 gene1 和基因2彼此相关,并映射到它们所属的疾病。
为了我的目的,我想要一个循环的系统发育树,在下面的链接中给出:http: //itol.embl.de/itol.cgi
在 R 或任何软件中执行此操作的任何建议?
谢谢
我正在运行的代码,现在:
如果我确实显示.tip.label = TRUE,则绘制的标签太多,使提示混乱。
我修改后的数据集现在只有两列,一列基因,一列疾病。
r - 系统发育树
我正在努力建立一个基于成对基因数据的系统发育树。下面是我的数据子集(test.txt)。树不必基于任何 DNA 序列构建,但只需将其视为字。
下面是我在 R 中的代码
我的图附在这里
我有一个关于它们如何聚集的问题。因为这对
和
应该紧密聚集在一起,因为它们有一个共同的基因。所以 17 和 2 应该在一起,而 18 和 3 应该在一起。
如果我使用这种方法(欧几里得距离)错误,我应该使用任何其他方法吗?
我应该将我的数据转换为行和列的矩阵,其中gene1是x轴,gene2是y轴,每个单元格填充1或0吗?(基本上,如果它们成对就意味着1,如果不是那么0)
更新代码:
但是,在这里我只从gene1而不是gene2列中获得基因。下图正是我想要的,但也应该从gene2列中获得基因
r - 来自系统发育树的簇
我有一个系统发育树,它显示了基因以及它们如何聚集在一起。它是使用欧几里得距离矩阵和猿包绘制的。有关更多详细信息,这里是较早的链接。
这是我的数据(gg.txt),已转换为基因矩阵。
生成树的最终代码是:
我们可以看到形成了 4 个大集群。ALOX5、AR 和 ALPPL2 形成一个集群。ADRA1A、ADRA1B、ADRA1D、AGTR1 形成另一个集群。同样,还有 2 个集群。有没有办法把这些信息放在一个表格中,例如下面的?有没有可用的软件可以做到这一点?
我只显示了 20 行,但我有 21k 行,所以这是主要问题。