问题标签 [sequence-alignment]

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.

0 投票
1 回答
827 浏览

bioinformatics - Biopython 如何确定系统发育树的根?

还有其他包,尤其是 R 的ape,它们构建了一个无根树,然后允许您通过显式指定一个 outgroup来对其进行根。

相比之下,在 BioPython 中,我可以直接创建一个有根树而不指定根,所以我想知道根是如何确定的,例如从以下代码。

我在构建树之后在这里制作了序列,但尽管如此,这是一个从该过程构建的有根树。

在此处输入图像描述

0 投票
0 回答
78 浏览

algorithm - 序列比对:避免不可能的比对

我正在使用与Needleman-Wunsch算法等效的算法来使用相似度矩阵进行模糊序列匹配。

一些结果接近最佳:

但有些不是:

问题出现在删除和插入周围:该算法将删除附近的单个字母对齐,这些字母与缺失的部分几乎不匹配。

我已经尝试惩罚间隙的开始,因此该算法有利于大间隙而不是小间隙。结果很糟糕,因为正如您在上面看到的,长度为 1 和 2 的间隙在正确对齐的部分中非常常见。

如何修改算法以避免进行这些错误的对齐,这些错误的对齐包括分散的分数差的字母(例如fin - - - - f - -,显然应该只是另一个-)?

编辑:对于那些不熟悉算法的人:计算分数时,不知道将采取的方式,因为方式取决于猜测:分数。

这意味着在计算分数时我不能考虑相邻的路线,因为它们是未知的。但是如果对齐是否足够好取决于邻居:如果一对不合适(请记住:我使用填充概率的相似性矩阵)并且被间隙包围,它应该得到非常差的分数(参见第二个示例) . 如果它被其他更合适的对包围,它应该得到一个很好的分数(见第一个例子)。

因此,在计算分数时,我遇到了一些先有鸡还是先有蛋的问题。

0 投票
1 回答
3114 浏览

python - 字符串长度不等的多序列比对

我需要一种从 3 - 1000 个不同长度的短 (10-20bp) 核苷酸 (“ATCG”) 读数中创建共有序列的方法。

一个简化的例子:

应该产生一致的序列"AGGGGC"

我在 BioPython 库中找到了进行多序列比对 (MSA) 的模块,但仅适用于相同长度的序列。我也熟悉(并且已经实现)任意长度的两个序列的 Smith-Waterman 风格对齐。我想一定有一个库或实现结合了这些元素(MSA 不等长),但经过数小时的网络搜索和各种文档都没有找到任何东西。

关于现有模块/库(首选 Python)或我可以合并到执行此操作的管道中的程序的任何建议?

谢谢!

0 投票
1 回答
129 浏览

python - 定义自己的字母表并在 biopython 中执行 MultipleSequenceAlignment

我想在 biopython 中做一个 MultipleSequenceAlignment,但使用一个自定义的字母表。背景是:我的序列是数字状态序列,最多有 5000 个状态。因此,我需要一个包含 5000 个字母的字母表,例如“0001”、“0042”、“4999”。这些序列长达 50 个状态/字母。

所以我的主要问题是:

  • 我如何定义这样的字母表?
  • 如何将此字母与 MultipleSequenceAlignment 一起使用?

或者:是否可以对列表/数组而不是序列执行 MultipleSequenceAlignment?

感谢您的时间和帮助!

0 投票
1 回答
74 浏览

image-processing - 对齐椭圆形状的算法

我正在寻找一种算法来对齐能够处理“丢失数据”的椭圆形状。粗略的草图:

在此处输入图像描述

在这种情况下,我们希望将所有形状对齐到形状 #1。

我环顾四周寻找“凸形对齐”和“椭圆形对齐”,但找不到任何似乎对框架外部的缺失部分(例如右上角的图像)具有鲁棒性的东西。

是否有专门为此目的设计的算法?

0 投票
1 回答
284 浏览

biopython - biopython中format_alignment中序列的部分着色

我正在使用 format_alignment 来查找两个序列之间的 pariwise 对齐。我想在完全对齐中用不同的颜色(比如在碱基数 40 和碱基数 54 之间)突出显示序列的一部分,以便清楚它与哪个部分对齐。上述序列需要在两个序列中突出显示。你能建议我如何在 biopython 中做到这一点

示例序列:

序列1:ccagctgtttaattgagttgtcatatgttaataacggtatattggaacactgtataa

序列 2:CCAGCTGTTTAATTGAGTTGTCATATGTTAATAACGGTATATGGAACACTGTATAA

0 投票
2 回答
1787 浏览

python - BioPython AlignIO ValueError 说字符串必须相同长度?

输入 fasta 格式的文本文件:

http://www.jcvi.org/cgi-bin/tigrfams/DownloadFile.cgi?file=/opt/www/www_tmp/tigrfams/fa_alignment_PF00205.txt

错误:

输入序列的长度不必相同,因为在 ClustalOmega 上,您可以对齐不同长度的序列。

这也不起作用......得到同样的错误:

熟悉 BioPython 的人是否知道如何解决这个问题以对齐 fasta 文件中的序列?

0 投票
2 回答
259 浏览

combinations - 在 Julia 中计算 Levenshtein 距离时记录所有最佳序列比对

我正在使用 Julia 中的 Wagner–Fischer 算法研究 Levenshtein 距离。

得到最优值很容易,但在从矩阵的右下角回溯时,得到最优的操作顺序就有点困难了,比如插入或删除。

我可以记录每个 d[i][j] 的指针信息,但它可能会给我 3 个方向让我回到 d[i-1][j-1] 进行替换,d[i-1][j]用于删除和 d[i][j-1] 用于插入。所以我试图得到所有给我最佳 Levenshtein 距离的操作集的组合。

看来我可以将一个操作集存储在一个数组中,但是我不知道所有组合的总数以及长度,所以我很难定义一个数组来存储枚举期间的操作集过程。如何在存储前一个数组的同时生成数组?或者我应该使用数据框?

0 投票
1 回答
197 浏览

nlp - 使用序列比对算法构建 NER

背景:关于序列比对的 维基百科页面说 DNA 序列比对算法也可用于自然语言处理。

问题: 因为命名实体识别器和 DNA 序列库都进行近似字符串匹配 -使用 DNA 测序库(如Bowtie)并构建您的 NER 是否可行?

不使用现有 NER 开源而是使用 DNA 测序库来构建 NER 的一个原因是希望在我的 NER 中自动获得“拼写错误纠正”。

如果我上面的假设是有道理的 - 是否有一些在线 DNA 测序工具,我可以在其中输入我的名人姓名数据库而不是 DNA 序列,并尝试在 DNA 测序工具中搜索拼写错误的“Michale Jacksun”,希望它与来自输入数据库的“迈克尔杰克逊”

0 投票
3 回答
879 浏览

list - Prolog中的最长子序列

我想实现一个谓词P(Xs,Ys,Zs),其中Xs, Ys,Zs是列表​​。

我是 Prolog 的新手,我无法找到一种方法来获得Xs(example. Xs = ['b','b','A','A','A','A','b','b']) 中最长的序列,该序列包含在Ys(example Ys = ['A','A','A','A','c','A','A','A','A']) 中,而不会跨越偶数次。也许有人已经写了这段代码,或者有人可以告诉我我该如何开始。感谢您的帮助。

老师的解释。老师的解释。