问题标签 [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 回答
320 浏览

java - 平行序列比对算法

我正在使用 Java 中的并行性来实现一种有效的序列比对算法。我想返回序列的所有可能位置。

你们能建议一个可行的算法吗?我已经研究过 Needem-Wunsch 和 Smith-Waterman,但我正在寻找一些不太复杂但仍然有效的东西。我刚刚开始使用并行性,所以它不能太复杂。

谢谢。

0 投票
1 回答
838 浏览

python - How to filter alignment columns based on list of position in biopython?

Based on the biopython help page here, I can filter the alignment columns based on first or last 10, I can even piece together subalignment using

align being an MSA object, generated using

But, is it possible to, say extract column based on list of position. For example, if i have a following list:

Is there a way to extract just these columns from the alignment align.

An R package called bio3d comes in handy to filter alignment by providing list as input (by doing: filtered_align = align[, a]), but would be great if i can use this from python.

Thank you

0 投票
1 回答
185 浏览

string - Gusfield 对用于查找具有恒定间隙惩罚的全局比对的动态规划算法的描述是否存在错误?

Gusfield(关于字符串、树和序列的算法,第 11.8.6 节)描述了一种动态规划算法,用于在两个序列 A 和 B 之间找到最佳比对,假设惩罚分配给一个比对中长度为 x 的间隙对于常数 R 和 S,序列的形式为 R+Sx。在 S=0 的特殊情况下,开始一个间隙会受到惩罚,但延长它不会受到惩罚。在我看来,Gusfield 的公式中存在错误,我希望有人能帮助我了解真实情况。

Gusfield 定义了四个函数 V(i,j)、G(i,j)、E(i,j) 和 F(i,j),具有以下属性:

  • V(i,j) 是前缀 A[1..i] 和 B[1..j] 对齐的最佳分数。
  • 在 B[j] 与 A 中的间隙配对的条件下,E(i,j) 是这些前缀对齐的最佳可能分数。
  • 在 A[i] 与 B 中的间隙配对的条件下,F(i,j) 是这些前缀对齐的最佳可能分数。
  • G(i,j) 是 A[i] 与 B[j] 配对的最佳可能分数。

i 和 j 大于或等于 1 的递归是:

最后给出的边界条件为:

将所有这些作为预备知识,考虑我们有两个长度为 1 的序列的情况,因此 A=p 和 B=q。在这种情况下,只有三种可能的对齐方式:

这些分数分别为 w(p,q)、-2R、-2R。特别是我们应该有 E(0,1)=F(1,0)=-2R。然而,递归给出了 E(0,1) 和 F(1,0) 都大于或等于 -R。

边界条件中的这种错误会产生后果。例如假设 A=pppppp...p 和 B=qqqq...q 与 p 和 q 不同。将 A 与 B 完全分开的对齐方式:

应该得分为 -2R(它有两个间隙),因此假设 w(p,q)<0,这种对齐最终是最优的。

Gusfield 的算法似乎不能正确处理这种情况。

在实际情况下,这可能无关紧要,因为典型的字符串有很多匹配项,因此边界情况对解决方案没有贡献。

欢迎评论/批评。

0 投票
5 回答
3381 浏览

javascript - html/css,更改每个文本字母?

是否可以更改文本中每个字母的颜色,例如,我在屏幕上打印标签文本,我想迭代每个字母,检查其值并相应地更改其颜色,是否可以使用 html/css或 javascript 添加标签(或者如果 js 有一个已经这样做的库),如下图所示,正如您所注意到的,每个字母都有自己的颜色

在此处输入图像描述
(来源:clcbio.com

0 投票
1 回答
273 浏览

matlab - 12个物种的多序列比对

我需要对 12 个小麦品种的核苷酸序列进行 MSA(多序列比对。所有这些品种都有不同长度的 bps(碱基对)。我遵循了 MATLAB http://www.mathworks.in/help/bioinfo/ref的这个文档/multialign.html。但是当我输入这个“

我收到一个错误:

请帮忙

0 投票
0 回答
110 浏览

bioperl - BioPerl: Annotate mismatches in an alignment

I'm reasonably new to perl and very new to BioPerl, so my apologies if this seems like a trivial question. I'm using Bio::AlignIO and Bio::SimpleAlign to generate pairwise alignments of sequences of interest to a reference sequence - in this case the human mtDNA reference sequence. I'm able to generate the alignment in fasta format without issue, however I wish to record the differences between the reference and the sequences of interest in a tab delimited file for use with the webtool Haplogrep (http://haplogrep.uibk.ac.at/index.html). I can imagine doing this as loop whereby I go through each base of the reference sequence and say if the position in the reference does not match the query sequence, record the position and the nucleotide present in the query sequence. However, I can't figure out how to do this from the Bio::AlignIO object generated as part of the alignment. Here is the code I have so far:

So to give a brief example, if I had generated an alignment such as this one:

would then like to generate an output such as:

Can anyone help me figure out how to do so? General comments on better/easier ways to do this are also greatly appreciated.

0 投票
2 回答
1814 浏览

alignment - 命令行中的 Clustal Omega

以下是当我在 clustal omega 包中在终端上键入 ./configure 时得到的结果。

然后,当我“制造”时,我得到,

当我输入“make”时它必须工作正常,所以我继续安装 clustal omega。但这就是我得到的。请告诉我该怎么办。

0 投票
1 回答
100 浏览

algorithm - 仅使用 indel 的全局多序列比对算法

我正在编写一个 Sublime Text 脚本来对齐几行代码。该脚本获取每一行,通过一组预定义的分隔符 ( ,;:=) 将其拆分,然后将其与填充到相同宽度的“列”中的每个段重新连接。当所有行都具有相同的定界符集时,这很有效,但有些行可能有额外的段、末尾的可选逗号等等。

我的想法是提出一个规范的分隔符列表。具体来说,给定几个定界符字符串,我想找到可以由任何给定字符串仅使用插入形成的最短字符串,并以某种合理的方式打破联系。经过一番研究,我了解到这是众所周知的全局多序列比对问题,除了没有错配,只有匹配和插入缺失。

不幸的是,动态编程方法在字符串数量上呈指数增长——至少在一般情况下是这样。当不允许不匹配时,是否有更快的解决方案的希望?

0 投票
1 回答
1923 浏览

r - R EnvironmentError:在路径上找不到 Ghostscript。RWebLogo

我遇到了一个我无法以任何方式解决的奇怪问题,我希望这里的人可以更好地了解问题所在;

我无法使用 RWebLogo 包 - 由于同样缺少 Ghostscript 错误,我什至无法运行最简单的示例。

例如运行:

引发此错误:

我已经在终端中使用 configure/make/install 安装了 ghostscript 9.15 版,然后将 PATH 添加到 bash 配置文件并执行它。当我在终端中运行 gs 时,它可以工作,确认它已设置为系统路径,但仍然出现相同的错误。即使重新启动后。

我尝试将 gs 直接添加到 R 中的环境中:

这也没有帮助...给出完全相同的错误。当我搜索 R 环境时,它显示 gs 在那里。

重要版本信息:

您知道可能导致此问题的任何问题吗?我是编程新手,所以我担心我可能会遗漏一些基本的东西。我将不胜感激任何建议。谢谢!

0 投票
1 回答
623 浏览

bioinformatics - 多序列比对。将多行格式转换为单行格式?

我有一个多序列比对文件,其中散布着来自不同序列的行,就像 clustal 和其他流行的多序列比对工具输出的格式一样。它看起来像这样:

每行以序列标识符开头,然后是字符序列(在这种情况下描述蛋白质的氨基酸序列)。每个序列分为几行,因此您会看到第一个序列(带有 ID TGFb3_human_used_for_docking)有两行。我想将其转换为每个序列都有一行的格式,如下所示:

(在这个特定示例中,序列几乎相同,但通常它们不是!)

如何从多行多序列比对格式转换为单行?