Bio-PrimerDesigner

 view release on metacpan or  search on metacpan

Build.PL  view on Meta::CPAN

    create_readme        => 1,
    dist_name            => 'Bio-PrimerDesigner',
    dist_abstract        => 'Design PCR primers using primer3 and epcr',
    dist_author          => 'Sheldon McKay <mckays@cshl.edu>; Ken Youens-Clark <kclark@cshl.edu>',
    module_name          => 'Bio::PrimerDesigner',
    dist_version         => 0.04,
    license              => 'gpl',
    script_files         => [ 'scripts/primer_designer' ],
    requires             => {
        'Class::Base'         => 0,
        'HTTP::Request'       => 0,
        'HTTP::Response'      => 0,
        'LWP::UserAgent'      => 0,
        'Readonly'            => 0,
    },
    test_requires        => {
        'Test::More'          => 0,
        'Test::Pod::Coverage' => 0,
        'Test::Pod'           => 0,
    },
);

META.yml  view on Meta::CPAN

name: Bio-PrimerDesigner
version: 0.07
author:
  - 'Sheldon McKay <mckays@cshl.edu>; Ken Youens-Clark <kclark@cshl.edu>'
abstract: Design PCR primers using primer3 and epcr
license: gpl
resources:
  license: http://www.opensource.org/licenses/gpl-license.php
requires:
  Class::Base: 0
  HTTP::Request: 0
  HTTP::Response: 0
  LWP::UserAgent: 0
  Readonly: 0
provides:
  Bio::PrimerDesigner:
    file: lib/Bio/PrimerDesigner.pm
    version: 0.65
  Bio::PrimerDesigner::Remote:
    file: lib/Bio/PrimerDesigner/Remote.pm
    version: 0.65

Makefile  view on Meta::CPAN

#     PREREQ_PM => { Class::Base=>q[0], LWP::UserAgent=>q[0], HTTP::Response=>q[0], HTTP::Request=>q[0], Readonly=>q[0] }

all : force_do_it
	/usr/bin/perl Build --makefile_env_macros 1
realclean : force_do_it
	/usr/bin/perl Build --makefile_env_macros 1 realclean
	/usr/bin/perl -e unlink -e shift Makefile

force_do_it :
	@ true
build : force_do_it

lib/Bio/PrimerDesigner/Remote.pm  view on Meta::CPAN

Interface to the server-side binaries.  Passes the primer design
paramaters to a remote CGI, which uses a server-side installation of
Bio::PrimerDesigner to process the request.

=head1 METHODS

=cut

use strict;
use warnings;
use HTTP::Request;
use LWP::UserAgent;
use Readonly;

Readonly our 
    $VERSION => sprintf "%s", q$Revision: 24 $ =~ /(\d+)/;

use base 'Class::Base';

# -------------------------------------------------------------------
sub CGI_request {

lib/Bio/PrimerDesigner/Remote.pm  view on Meta::CPAN

    my $program  = $args->{'program'};
    my $ua       = LWP::UserAgent->new;

    #
    # Is the remote server able to process our request?
    #
    unless ( $self->check( $url, $ua, $program ) ) {
        return $self->error("$url did not return expected result");
    }

    my $request  = HTTP::Request->new('POST', $url);

    #
    # string-ify the config hash to pass to the CGI
    #
    my @content = ();
    @content = map {"$_=" . $args->{$_}} keys %$args;
    my $content = join "#", @content;
    
    $request->content( "config=$content" );
    my $response = $ua->request( $request );

lib/Bio/PrimerDesigner/Remote.pm  view on Meta::CPAN


Tests the URL to make sure the host is live and the CGI returns the
expected results.

=cut

    my $self     = shift;
    my ($url, $ua, $program) = @_;
    
    my $content  = "check=" . $program;
    my $request  = HTTP::Request->new( 'POST', $url );
    $request->content( $content );
    my $response = $ua->request( $request );

    return $self->error("No reponse from host $url")
        unless $response;

    my $output   = $response->content;

    return $self->error("Incorrect response from host $url")
        unless $output =~ /$program OK/m;



( run in 0.408 second using v1.01-cache-2.11-cpan-de7293f3b23 )