standalone blastn
を使って2つの配列を比較したいと思います。配列perlの2つの要素を結合する
私はそれを行う前に、各断片の1020ntに配列を切断する必要があります。最後のフラグメントが1020nt未満の場合は、前のフラグメントのシーケンスと最後のフラグメントの(シーケンス)をマージする必要があります。たとえば、シーケンスを1020ntにカットして7つのフラグメントを取得します。しかし、7番目のフラグメントは1020ntよりも小さいので、6番目のフラグメントにマージする必要があります。 Perl language?
を使用してこれを行う方法を誰もが知っているこれは私のコードです:
while(<QR>){
chomp;
s/>//g;
my ($scaf,$seq)= split /\n/,$_,2;
my $scaf_name = (split /\s+/,$scaf)[0];
$seq =~ s/\s+//g;
my @cut = ($seq =~ /(.{1,$chop_len})/g);
if (length($#cut) < 1020) {
$#cut="@cut[-2 .. -1]"; # i get error here
}
else {
}
print $#cut;
for my $cut_num (0..$#cut){
my $sgmID = "$scaf_name\_$cut_num";
print CR ">$sgmID\n$cut[$cut_num]\n";
}
}
close QR;
close CR;
は、実際に私は、インターネット上でこのPerlスクリプトを発見し、私は最後の二つの断片をマージすることができるように修正しました。
をはい、仕事のthats!ありがとうございました 。しかし、このコードは1つのファイルだけを読み込みます。次に、複数のファイルを読み込み、各ファイルの同じ処理を実行しようとします。私はそれを実行することができますが、ファイル内には最後の断片だけが表示されます。 – era