Bio-KEGG-API
view release on metacpan or search on metacpan
lib/Bio/KEGG/API.pm view on Meta::CPAN
package Bio::KEGG::API;
use v5.12;
use strict;
use warnings;
use Moose;
use namespace::autoclean;
use REST::Client;
use Net::FTP::Tiny qw(ftp_get);
our $VERSION = '0.02';
has 'client' => (
is => 'rw',
isa => 'REST::Client',
default => sub {
my $self = shift;
return my $obj = REST::Client->new({host=> "http://rest.kegg.jp", timeout => 30,});
}
);
has 'operation' => (
is => 'rw',
isa => 'Str',
);
has 'database' => (
is => 'rw',
isa => 'Str',
);
has 'organism' => (
is => 'rw',
isa => 'Str',
);
sub database_info {
my $self = shift;
my %param = @_;
$self->operation('/info/');
$self->database($param{'database'}) if defined $param{'database'};
$self->organism($param{'organism'}) if defined $param{'organism'};
if ( $param{'database'} ) {
$self->client->GET($self->operation.$param{'database'});
} elsif ( $param{'organism'} ) {
$self->client->GET($self->operation.$param{'organism'});
}
return $self->client->responseContent;
}
sub entry_list {
my $self = shift;
my %param = @_;
$self->operation('/list/');
$self->database($param{'database'}) if defined $param{'database'};
$self->organism($param{'organism'}) if defined $param{'organism'};
if ( $param{'database'} && $param{'organism'} ) {
( run in 2.966 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )