小编AWR*_*RAM的帖子

perl中的子字符串比较

我正在努力比较2个子串sub1sub22个初始字符串seq1,seq2只允许一个不匹配的$k是子序列的长度

foreach (my $i = 0; $i < length($seq1) - $k; $i += 1) {
    my $sub1 = substr($seq1, $i, $k);
    foreach (my $j = 0; $j < length($seq2) - $k; $i++) {
        my $sub2 = substr($seq2, $j, $k);
        my $diff = $sub1 ^ $sub2;
        my $num_mismatch = $diff =~ tr/\0//c;
        if ($num_mismatch == 1) { 
            $d{$sub1}++;
        }
    }
}
foreach (keys %d) {
    print "$_\n";
}
Run Code Online (Sandbox Code Playgroud)

*当我运行代码它被卡住直到我杀死进程并且它不会给出任何结果.对此有何帮助?*

string perl loops pattern-matching match

2
推荐指数
1
解决办法
452
查看次数

perl null或空检测

我有一个哈希包含匹配子串的结果.如果字符串之间没有匹配,我想打印一条消息.我尝试过以下内容并没有奏效.

foreach (keys %d) { 
    if ($_ eq "") {
        print "no matches"; # and i've tried (if defined $_
    } else {
        print "$_\n";
    }
}
Run Code Online (Sandbox Code Playgroud)

%d以这种方式填充(它包含匹配的子字符串):

foreach (my $i=0;$i<length($seq1)-$k;$i+=1) { 
    my $common=substr($seq1,$i,$k); 
    if ($seq2=~/$common/) {
        $d{$common}++;
    }
}
Run Code Online (Sandbox Code Playgroud)

string perl hash

2
推荐指数
1
解决办法
3816
查看次数

perl中的字符串匹配,查找匹配数

如何number of of each 2 consecutive characters AA, AC,AG,AT,CC,CA...在这样的序列中找到:

$sequence = 'AACGTACTGACGTACTGGTTGGTACGA' 
Run Code Online (Sandbox Code Playgroud)

不允许重叠,即$序列包含从左到右AA CG TA CT ....而不是AA AC CG ......

regex string perl pattern-matching matching

0
推荐指数
1
解决办法
1003
查看次数

标签 统计

perl ×3

string ×3

pattern-matching ×2

hash ×1

loops ×1

match ×1

matching ×1

regex ×1