多个不匹配的 [点 (.)] 搜索模式
多个不匹配的语法是什么,即。 Perl 中的点运算符 (.)? 我需要将 DNA 序列与目标序列进行匹配,允许 3 个不匹配。 其语法是什么?
例如,设DNA序列ATGC,目标序列为ATGAGCA。匹配后,我的结果应该如下所示:
position no : pattern
1 A...
1 .T..
1 ..G.
3 ..G.
3 ...C
4 A...
What is the syntax for more than one mismatch ie. dot operator (.) in Perl?
I need to match DNA sequence with target sequence with 3 mismatch allowed.
What will be syntax for that?
For example let DNA sequence ATGC and target sequence is ATGAGCA. After matching, my result should be like below:
position no : pattern
1 A...
1 .T..
1 ..G.
3 ..G.
3 ...C
4 A...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对于您在模式中显示的内容,您需要
.{3}
来表示“最多 3”个匹配项,您需要.{,3}
,其中{< /code>n
,
m}
是一个“量词”,指定至少 n 匹配,但不超过 m。如果省略数字,则默认为 0 或无限制。要将
ATGC
与ATGAGCA
匹配,我想您可能需要/(?:A[^T]{,3}T[^G]{,3} G[^C]{,3}C)+/
并且由于这是非常规则的,因此您可以这样编写此表达式:For what you show in your patterns, you want
.{3}
for "up to 3" matches you would want.{,3}
, where{
n,
m}
is a "quantifier" specifying at least n matches, but no more than m. If you omit a number, it defaults to either 0 or unlimited.To match
ATGC
toATGAGCA
, I think you might want/(?:A[^T]{,3}T[^G]{,3}G[^C]{,3}C)+/
and since this is so regular, you could make this expression this way:检查此代码
输出是
Check this code
Output is