下面是我在命令行输入的 FASTA 文件中搜索用户提供的主题的代码。当我运行它并输入一个我知道在文件中的主题时,它会返回“找不到主题”。我只是 Perl 的初学者,我不知道如何让它打印找到的主题,更不用说返回标题行了。我将不胜感激任何帮助解决这个问题。
谢谢。
use warnings;
use strict;
my $motif;
my $filename;
my @seq;
#my $motif_found;
my $scalar;
$filename = $ARGV[0];
open (DNAFILE,$filename) || die "Cannot open file\n";
@seq = split(/[>]/, $filename);
print "Enter a motif to search for; ";
$motif = <STDIN>;
chomp $motif;
foreach $scalar(@seq) {
if ($scalar =~ m/$motif/ig) {
print "Motif found in following sequences\n";
print $scalar;
} else {
print "Motif was not found\n";
}
}
close DNAFILE;