App-Mimosa

 view release on metacpan or  search on metacpan

lib/App/Mimosa/Job.pm  view on Meta::CPAN

package App::Mimosa::Job;
use Moose;
use namespace::autoclean;
use autodie ':all';

use Bio::SeqIO;
use Moose::Util::TypeConstraints;
use Bio::BLAST::Database;
use File::Spec::Functions;

use IPC::Run qw/timeout/;

# Good breakdown of commandline flags
# http://www.molbiol.ox.ac.uk/analysis_tools/BLAST/BLAST_blastall.shtml
subtype 'Program'
             => as Str
             => where {
                    /^(blastn|tblastx|tblastn)$/;
                };
subtype 'SubstitutionMatrix'
             => as Str
             => where {
                    /^(BLOSUM|PAM)\d\d$/;
                };

has program => (
    isa     => 'Program',
    is      => 'rw',
    default => 'blastn',
);

has input_file => (
    isa => 'Str',
    is  => 'rw',
);

has context => (
    is  => 'rw',
);

has output_file => (
    isa => 'Str',
    is  => 'rw',
);

has evalue => (
    isa => 'Num',
    is  => 'rw',
    default => 0.01,
);

has maxhits => (
    isa => 'Int',
    is  => 'rw',
    default => 100,
);

has matrix => (
    isa     => 'SubstitutionMatrix',
    is      => 'rw',
    default => 'BLOSUM62',
);



( run in 1.111 second using v1.01-cache-2.11-cpan-5a3173703d6 )