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 )