間隔のリスト (約 42000) と値の配列 (数百万) があり、間隔ごとに長い値のリストから値を取得したいと考えています。
すべての値をループして各間隔のループ内の間隔と比較する代わりに、各間隔内の値を直接抽出できる方法 (またはモジュール) はありますか。これには非常に時間がかかります。
例えば:
foreach my $read_pos ( keys %{ $reads{$chr} } ) { #$reads{$chr} is the list of all values
if ( ( $read_pos >= $utr_start ) && ( $read_pos <= $utr_end ) ) { #$utr_start and $utr_end are intervals
push( @{ $reads_tsx{$acc} }, $read_pos );
}
}