问题标签 [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 投票
3 回答
1286 浏览

python - 全局比对序列函数

我正在尝试实现Needleman-Wunsch 算法以获得全局比对函数中的最低分数,但是当两个序列相等时,我得到的不是最低分数 0,而是得到 8。

这段代码有什么问题?

0 投票
2 回答
89 浏览

python - 通过相似度矩阵选择一对一的结果

我构建了一个函数,它通过一些度量找到一些对齐。

它得到一个具有已经计算的相似度值的矩阵: weighted_res可能是:

我的函数最大化 exs1 和 exs2 索引的所有组合的值的总和,但没有索引可以取两次。结果就是这些最佳指标。(0,1)、(2,0)、(3,2) 的总和,因此 0.5+0.8+0.7 产生最大分数。

在很多情况下,为每列/行找到最大值是不够的。设矩阵为:

这里选择(1,1)、(2,1)、(3,2),因为0.5+0.8+0.2是最大可达分数。

我的代码如下所示,我担心它最大程度地无效。我会很高兴找到一些提示来找到更有效的算法,而不是计算所有可能性并总结和最大化。这是该代码:

对于输入结果的长度为 8 和 6 的输入值,weighted_res_overall其大小为 20160,并且增长极快。

0 投票
1 回答
234 浏览

python - 替换 FASTA 对齐文件列中的所有字母实例

我正在编写一个脚本,它可以替换 FASTA 比对文件列中的所有氨基酸残基实例。使用 AlignIO,我只能读取一个对齐文件并从中提取信息,但我无法修改它们的序列。此外,MutableSeq 模块只能修改字符串序列,如果我使用 seq 对象输入,它不能修改它。我想找到一个模块或方法来修改对齐文件并保存它,而它在AlignIO的结构中作为后续过程的序列对象。

我的代码仅使用 AlignIO:

输出:

我的代码同时使用了 AlignIO 和 MutableSeq:

输出:

0 投票
2 回答
533 浏览

r - 使用 SeqinR 提取基于序列名称的子集对齐

我正在尝试从序列比对(比对对象)中提取一组比对序列SeqinR

dput()alignment(S4 对象)的下方

我正在尝试这种方式:

但是我得到了一种不同的对象,如下所示dput()

另外,我没有得到基于 list 的子集n

fas在此示例中,我希望与 variable 中包含相同的对象但仅包含 3 个元素n

提前致谢

0 投票
2 回答
232 浏览

r - 多个(非生物、离散状态)序列的比对

我有一些数据描述了一组有序的离散事件(或状态)。有 34 种可能的状态,它们可能以任何顺序出现并可能重复。每个事件序列可以包含任意数量的事件,关键是有超过 2 个事件序列。我的最终目标是将这些序列聚集成相似的子集,但我的直觉是,除非这些序列对齐使得等效事件在所有序列中占据相同位置,否则这将毫无意义。

我非常熟悉生物序列的多重比对,但我遇到的所有软件(MUSCLE、MAFFT、T-COFFEE、Clustal* 等)都需要 DNA、RNA 或 AA 序列,而且我有更多的状态比任何这些,所以我不能让他们工作。

我在 R 中找到了成对比对算法的各种实现,例如 Needleman-Wunsch,但到目前为止还没有遇到任何序列比对算法的任何通用(非生物)实现。

例如,假设我的数据如下所示:

我的目标是让它看起来像这样:

其中-符号表示此序列中没有事件。这是一个简化的示例,实际上,我正在寻找以-与生物序列 MSA 算法相同的方式惩罚打开间隙 ( ) 的方法。

我发现的唯一一个似乎可能做到这一点的软件是 Alphamalig ( http://alggen.lsi.upc.es/recerca/align/alphamalig/intro-alphamalig.html ) 但它很旧而且我不能让它在我的机器上工作。理想情况下,我想要可以在 R 中实现的东西。

0 投票
1 回答
324 浏览

python - 全局对齐两个字符串并返回python中不匹配和插入/缺失字符的索引

假设我有两个长度相等的字符串:

我将如何编写一个返回不匹配索引的函数,如下所示:

但也可以处理丢失或插入的字符:

这个任务在python中可行吗?

0 投票
1 回答
49 浏览

python - 构建一百万个单词的连接后缀树,并用测试集对其进行查询以找到最接近的匹配并进行分类

我要解决的问题:我有一百万个单词(多种语言)和一些他们归类为我的训练语料库的类。给定单词的测试语料库(随着时间的推移,数量肯定会增加),我想在训练语料库中获得每个单词的最接近匹配,从而将该单词分类为其最接近匹配的对应类。

我的解决方案:最初,我做了这种无法扩展的蛮力。现在我想我在训练语料库(O(n))的连接上构建一个后缀树并查询测试语料库(恒定时间)。试图在python中做到这一点。

我正在寻找可以帮助我入门的工具或软件包,或者寻找其他更有效的方法来解决手头的问题。提前致谢。

编辑1:至于我如何找到最接近的匹配,我在考虑精确匹配对齐(来自后缀树)的组合,然后对于剩下的输入字符串部分,我想用仿射间隙惩罚函数。

0 投票
1 回答
228 浏览

r - 是否有一个 R 函数可以返回对齐的 DNA 序列的对齐分数?

我想取两个字符串(DNA 序列)并生成一个对齐分数。我找到了 DECIPHER 包,但它只让我生成对齐,而不是对齐分数。我也尝试使用“Biostrings”,但我无法生成分数。

谢谢你的帮助!

我正在寻找这样的东西

0 投票
0 回答
117 浏览

c++ - 如何正确实现序列比对

左边是想要的输出,右边是不正确的输出

我正在尝试创建一个序列比对程序,并且正在重新利用我在网上找到的一些代码,但我正在努力找出为什么我的图表有时输出正确,特别是在接近尾声时,因为我似乎总是得到正确的比对分数,但我的图表是如上图所示,总是在这里和那里偏离几个点。(右边是期望的输出,左边是不正确的输出)我怀疑错误存在于替换评分矩阵的某个地方。我意识到有些功能是不必要的,但是因为害怕弄乱我已经拥有的功能而犹豫要更换它们。

0 投票
1 回答
848 浏览

python - 如何使用fasta文件而不是biopython中的蛋白质序列字符串创建多个序列比对

我希望能够使用与我的脚本在同一目录中下载的文件编写多个序列比对。然而,在 Biopython Cookbook 中,唯一的显示方式是写出字符串而不是加载文件。我希望能够做到后者。以下是The biopython cookbook的第 6.2 章中如何进行多序列比对

目标是使用它来从所有蛋白质序列中制作门树。