以下は、ユーザ提供のモチーフのコマンドラインで入力したFASTAファイルを検索するためのコードです。私がそれを実行し、私が知っているモチーフを入力すると、それは「Motif not found」を返します。私はPerlの唯一の初心者ですが、タイトルラインを返すことなく、見つけたモチーフを印刷する方法を見つけ出すことはできません。私はこれを解決するための任意の助けに感謝します。モチーフのFASTAファイルを検索し、モチーフを含む各シーケンスのタイトル行を返す
ありがとうございました。
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;
1行のコードが何をしているかを説明するコメントは書かないでください。彼らは何も追加しません。 –
DNA配列が複数の行に分割されているFastaファイルを処理しますか?私はBioPerlのFastaパーサーの使用をお勧めします。 –