11 our @ISA = qw/Exporter/;
12 our @EXPORT = qw/tabix_open tabix_close tabix_read tabix_query tabix_getnames tabix_iter_free/;
14 our $VERSION = '0.2.0';
17 XSLoader::load('Tabix', $VERSION);
22 $args{-data} || croak("-data argument required");
23 my $class = ref($invocant) || $invocant;
26 $self->open($args{-data}, $args{-index});
31 my ($self, $fn, $fnidx) = @_;
34 $self->{_fnidx} = $fnidx;
35 $self->{_} = $fnidx? tabix_open($fn, $fnidx) : tabix_open($fn);
41 tabix_close($self->{_});
42 delete($self->{_}); delete($self->{_fn}); delete($self->{_fnidx});
55 $iter = tabix_query($self->{_}, @_);
57 $iter = tabix_query($self->{_});
59 my $i = TabixIterator->new;
67 return tabix_read($self->{_}, $iter->get);
72 return tabix_getnames($self->{_});