Bio-BigFile
view release on metacpan or search on metacpan
lib/Bio/DB/BigWigSet.pm view on Meta::CPAN
unless URI::URL->can('new');
my $ua = LWP::UserAgent->new;
my $response = $ua->get($dir,Accept=>'text/html, */*;q=0.1');
unless ($response->is_success) {
warn "Web fetch of $dir failed: ",$response->status_line;
return;
}
my $html = $response->decoded_content;
my $base = $response->base;
my @wigfiles = map {URI::URL->new($_=>$base)->abs} $html =~ /href="([^\"]+\.bw)"/ig;
my @indices = map {URI::URL->new($_=>$base)->abs} $html =~ /href="(meta[^\"]*)"/ig;
return (\@wigfiles,\@indices);
}
=item $bws->add_bigwig($path)
Given a path to a .bw file, add the BigWig file to the set.
lib/Bio/DB/BigWigSet.pm view on Meta::CPAN
$base ||= dirname($file);
my $f;
if ($file =~ /^(ftp|http):/i) {
my $ua = LWP::UserAgent->new;
my $r = $ua->get($file);
die "Couldn't read $file: ",$r->status_line unless $r->is_success;
eval "require IO::String; 1"
or die "IO::String module is required for remote directories"
unless IO::String->can('new');
$f = IO::String->new($r->decoded_content);
}
else {
$f = IO::File->new($file) or die "$file: $!";
}
my ($current_path,%wigs);
while (<$f>) {
chomp;
s/\s+$//; # strip whitespace at ends of lines
# strip right-column comments unless they look like colors or html fragments
( run in 0.309 second using v1.01-cache-2.11-cpan-26ccb49234f )