Skip to content

Calling coverage on a BAM re-fetches the header every time

Created by: ah19

A possible performance issue rather than a bug: https://github.com/Ensembl/Bio-DB-HTS/blob/master/lib/Bio/DB/HTS.pm#L1951

...
    my $header = $self->{hts_file}->header_read;
    my ( $id, $s, $e ) = $header->parse_region($region);
    return unless defined $id;
    # parse_region may return a very high value if no end specified
    $end = $e >= 1 << 29 ? $header->target_len->[$id] : $e;
...

Calling $self->header uses the cached version