Bio::DB::HTS::Tabix
Object oriented access to the underlying tbx C methods
- Provided by: libbio-db-hts-perl (Version: 3.01-3)
- Report a bug
Object oriented access to the underlying tbx C methods
Bio::DB::HTS::Tabix - Object oriented access to the underlying tbx C methods
use feature qw( say );
use Bio::DB::HTS::Tabix;
my $tabix = Bio::DB::HTS::Tabix->new( filename => "gerp_plus_plus_31July2014.gz" );
say $tabix->header;
my $iter = $tabix->query("1:4000005-4000009");
while ( my $n = $iter->next ) {
say $n;
}
$tabix->close;
A high level object oriented interface to the htslib tabix (tbx.h) api. Currently it only supports retrieving regions from a tabixed file, because that's all I needed it for.
The index for remote files will be downloaded to the system temporary directory by default. Set use_tmp_dir to 0 to download to the current working directory instead.
Here are some examples showing Tabix.
use Bio::DB::HTS::Tabix;
my $tabix = Bio::DB::HTS::Tabix->new(filename => $file, use_tmp_dir => 1);
# Calling region 1
$iter = $tabix->query("1");
printf("Calling region 1\n" );
while(my $l = $iter->next) {
print $l, "\n";
}
Gives:
1 4000000 4000000 -0.972
1 4000001 4000001 -0.153
1 4000002 4000002 -2.15
1 4000003 4000003 -1.17
1 4000003 4000006 -3.6
1 4000006 4000007 -6.7
1 4000007 4000009 -7.9
#Calling a range
$iter = $tabix->query("1:4000003-4000006");
gives
1 4000003 4000003 -1.17
1 4000003 4000006 -3.6
1 4000006 4000007 -6.7
#Calling region 1:4000003 to end of region 1
$iter = $tabix->query("1:4000003");
gives
1 4000003 4000003 -1.17
1 4000003 4000006 -3.6
1 4000006 4000007 -6.7
1 4000007 4000009 -7.9
#Calling single location 1:4000002
$iter = $tabix->query("1:4000002-4000002");
gives
1 4000002 4000002 -2.15
Returns a Bio::DB::HTS::Tabix::Iterator for the specified region
Alex Hodgkins Rishi Nag <rishi@ebi.ac.uk>