文字列を含むファイルから部分文字列を抽出しようとしています。ファイルは次のようなものです:
>scaffold30 24194
CTTAGCAGCAGCAGCAGCAGTGACTGAAGGAACTGAGAAAAAGAGCGAGCTGAAAGGAAGCATAGCCATTTGGGAGTGCCAGAGAGTTGGGAGG GAGGGAGGGCAGAGATGGAAGAAGAAAGGCAGAAATACAGGGAGATTGAGGATCACCAGGGAG.........
.................
部分文字列の抽出には、部分文字列の開始と終了の座標を持つファイルを使用しています。私が書いたスクリプトは次のとおりです。
open my $coords_info, $coords_file or die "Could not open $coords_file: $!";
open my $chr_info, $chrom or die "Could not open $chrom: $!";
my $count = 0;
while(my $sline = <$chr_info>) {
if ($sline!~ m/^>/) {
chomp $sline;
print $sline;
foreach(my $cline = <$coords_info>) {
my@data = split('\t', $cline);
my $start = $data[0];
my $end = $data[1];
my $offset = $end - $start;
$count++;
my $sub = substr($sline, $start+1, $offset);
print ">conserved $count\n";
print $sub;
}
}
}
私の問題は、ファイルのすべての文字列を sline 変数にロードすることです (各反復で行ごとにロードするのではなく、その後、foreach で部分文字列を抽出するのではありません。些細な問題に聞こえることはわかっていますが、助けてください?? ありがとう...