问题标签 [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.
sequence-alignment - 使用间隙惩罚函数进行全局对齐
任何人都可以帮助我解决以下问题吗?
对于参数 k,计算两个字符串之间的全局对齐,受限于对齐包含最多 k 个间隙(连续 indel 块)的约束。
python - 实现 Waterman-Eggert 算法
我正在尝试实现 Waterman-Eggert 算法以查找次优的局部序列比对,但我正在努力理解如何“分解”单独的比对组。我有基本的 Smith-Waterman 算法工作正常。
将以下序列与自身对齐的简单测试:
产生如下的 fMatrix:
为了找到次优对齐,例如
您必须首先删除最佳对齐方式(即沿主对角线)并重新计算 fMatrix;这被称为“去簇”,其中对齐的“簇”被定义为路径相交/共享一对或多对对齐残基的任何对齐。除了 fMatrix 之外,还有一个二级矩阵,其中包含有关构造 fMatrix 的方向的信息。
构建 fMatrix 和回溯矩阵的代码片段如下:
为了消除这个最佳对齐,我尝试使用这个 backMatrix 来回溯 fMatrix(根据原始的 Smith-Waterman 算法)并随时设置fMatrix[i][j] = 0
,但这不会删除整个团块,只会移除那个团块中的精确对齐.
对于一些背景信息,Smith-Waterman 算法的Wikipedia页面解释了 fMatrix 是如何构建的,并且这里有关于回溯如何工作的解释。Waterman-Eggert 算法在这里大致解释。
谢谢。
python - 多序列比对 - 附加到比对
我有一组 520 个流感序列,我已经对其进行了多序列比对,并计算了成对单位矩阵。如果我想添加另一个序列,我必须重新对齐所有内容,并重新计算整个 PWI 矩阵。是否有任何程序可以用来将这个其他序列“附加”到比对中,并且只计算每个其他序列的 PWI?
一个简单的例子如下。我有一个 2x2 对齐,具有以下分数。
无需重新运行完全对齐,而仅针对所有其他序列运行“SeqC”,我想得到以下矩阵:
我正在使用 BioPython 包,Python 是我的首选语言,但如果需要,我也可以使用 Java。
[我在这里声明我是从 BioStars 交叉发布的,以防万一这里有不在 BioStars 上的专家。BioStars 的帖子是: http: //www.biostars.org/p/77607/,但内容完全相同。]
python - 具有仿射间隙惩罚的 Smith-Wateman 算法中的回溯
我正在尝试使用仿射间隙惩罚函数来实现用于局部序列比对的 Smith-Waterman 算法。我想我了解如何启动和计算计算对齐分数所需的矩阵,但对如何回溯以找到对齐方式一无所知。要生成所需的 3 个矩阵,我有以下代码
我不确定是否需要单个矩阵进行回溯,还是只需要 1 个?任何关于如何从 F 中的最高分数追溯的澄清将不胜感激。
gcc - 识别每个 USART 数据块中的第一个字节
是否有一种可接受/有效的方法来指定/识别 8 位数据流的每个块中的第一个字节,其中块更新和重复?我正在使用 GCC。这些是在两个 uC 之间通过 USART 传递的控制设置数据,我需要确保接收端的帧对齐。我可以将标题附加到块的每个实例,但数据可以假定标题可能具有的任何值。
python - 如何优化用于生物信息学查询的 Python 脚本
我对python很陌生,如果可能的话,我将不胜感激。我正在比较两个密切相关的生物体 [E_C 和 E_F] 的基因组,并试图识别一些基本的插入和缺失。我使用两种生物的序列进行了 FASTA 成对比对(glsearch36)。
下面是我的 python 脚本的一部分,我已经能够在一个序列(数据库)中识别出一个 7 个核苷酸(七聚体),它对应于另一个序列(查询)中的一个缺口。这是我所拥有的一个例子:
假设间隙位于第 9 位。我正在尝试改进脚本以选择两个序列上相距 20 个或更多核苷酸的间隙,并且仅当周围的核苷酸也匹配时
这是我脚本的部分,上半部分处理打开不同的文件。它还会打印一个字典,其中包含最后每个序列的计数。
本质上,我试图编辑成对比对的结果,以尝试识别查询和数据库序列中与缺口相对的核苷酸,以便进行一些基本的插入/删除分析。
我能够通过将间隙“-”之间的距离增加到 20 nt 以尝试减少噪音来解决我早期的问题之一,这改善了我的结果。上面编辑的脚本。
这是我的结果的一个例子,最后我有一个字典,可以计算每个序列的出现次数。
但是,我仍在尝试修复脚本,使间隙周围的核苷酸完全匹配,例如,其中 | 只是为了在每个序列上显示匹配的 nt:
对此的任何帮助将不胜感激!
r - R 基因组比对查看器
目前,我已经阅读了一个 genbank ptt 文件并使用它在 R 中使用 genoplotR 绘制基因组
我还阅读了其相应的排序 bam 文件并使用 rbamtools 制作了覆盖图
我现在想将这两个数字叠加在一张图上,这样我们就可以在 R 中拥有一个基本的基因组比对查看器。但是,我一直在尝试叠加这两个数字,以及匹配 x 轴上的相应位置。
任何帮助将不胜感激!
谢谢
string - 如何在 R 中对相似的字符串进行分组?
我有一个包含约 5,000 个地点名称的数据库,其中大部分是带有拼写错误、排列、缩写等的重复。我想按相似性对它们进行分组,以加快进一步处理。最好的办法是将每个变体转换为“柏拉图形式”,并将两列并排放置,原始形式和柏拉图形式。我读过关于多序列比对,但这似乎主要用于生物信息学,用于 DNA/RNA/肽的序列。我不确定它是否适用于地名。任何人都知道一个可以帮助我在 R 中完成它的库吗?或者许多算法变体中的哪一个可能更容易适应?
编辑:我如何在 R 中做到这一点?到目前为止,我正在使用 adist() 函数,它为我提供了每对字符串之间的距离矩阵(尽管它没有按照我认为的方式处理易位,请参阅下面的评论)。我现在正在工作的下一步是将这个矩阵转换为足够相似的值的分组/聚类。提前致谢!
编辑:为了解决易位问题,我做了一个小函数,获取所有超过 2 个字符的单词,对它们进行排序,删除任何剩余的标点符号,然后将它们再次粘贴到字符串中。
然后我将它应用到我表的所有行
最后应用 adist() 创建相似度表。
bioinformatics - AlignIO 在读取浮雕对齐文件时给出“AssertionError”
我被一个问题困扰了三天......到处搜索,发布在Biostar上,仍在等待 EMBL 回复电子邮件......如果我有更多的代表,将会获得赏金。
在使用 EMBOSSwin needle()
(成对全局对齐)对齐序列后,我得到pair
格式的对齐文件,带有.needle
文件扩展名。我想使用Biopython读取这些对齐方式以供以后分析。
我AlignIO.read(open('alignment.needle'),'emboss')
按照Biopython 的 AlignIO wiki中的说明使用,但我不断得到一个AssertionError
.
我的代码:
我的错误:
对齐文件示例:
在此处下载对齐文件
版本:
- Windows 7的
- Python 版本 2.7.3
- Biopython 1.63 版
- EMBOSS 版本 2.10.0-0.8
线索:
我怀疑这可能与我在实际进行对齐时不断收到的警告消息有关,该消息由 EMBOSSneedle()
函数输出:
warnings - Emboss needle() 警告:“在 ajSeqCvtKS 中找不到序列字符”...?
我正在使用 EMBOSSwin 的 needle() 命令行函数,它执行成对的全局对齐,但我遇到了一个奇怪的警告。
所以我有 24 对需要比对的氨基酸序列,我使用“subprocess.call()”从 python 运行 needle() 命令——虽然这个过程发生(看起来很顺利),但我收到以下警告:
额外线索:
尽管有这个奇怪的警告...如您所见,needle() 以 .fasta 格式成功生成了对齐...
...但是...我在尝试将这些对齐读回 python 时遇到无法解释的“AssertionErrors” -使用 biopython 的 AlignIO.read() 函数(请参阅:http ://bit.ly/1aHK9w7我的问题直接相关这个AssertionError)...
*要明确:这些 AlignIO() AssertionErrors 可能与needle() 警告无关,但我将警告视为调查的主要线索......!