【发布时间】:2019-06-14 07:42:04
【问题描述】:
给定一个名为 file.txt 的多 fasta 文件:
>seq1
CCTTTGGATGGCAAAATTTNTNGTAAA
AGGGCACCCANTTCTGGC
>seq2
NNNNNGGGGCGTAANGAGGGGCACGG
TNCC
>seq3
AAAAAANNNNTAC
我想找到与图案匹配的图案
[NC].[CT](元素 N 或 C 后跟任何元素 . 后跟元素 C 或 T)
和
[AT][AN]..[CG](元素 A 或 T 后接元素 A 或 N 后接任意两个元素 .. 后接元素 C 或 G)
对于以符号“>”开头的每个序列,并计算有多少序列包含该主题。我在这段代码中遇到的主要问题是每个序列的迭代。这是我的代码:
#!/usr/bin/perl -w
use warnings;
if(!open(MY_HANDLE, "file.txt")){
die "Cannot open the file";
}
@content = <MY_HANDLE>;
close(MY_HANDLE);
foreach $row(@content){
chomp($row);
if (@matches1=$row =~ /([AT][AN]..[CG]+)/g) {
$numMat=scalar(@matches1);
print("@matches1,$numMat\n");
}
elsif (@matches2=$row =~ /[NC].[CT]+/g) {
print("@matches2\n");
}
}
非常感谢
【问题讨论】: