AlignAid

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

       - Now can use without the PP module being installed (although you
         won't be able to submit to PP or LSF queues, of course).

       - PP-related tests are skipped if PP is not installed.

       - switched from using FAlite to Bio::SeqIO.

       - POD is now complete.

       - now checks for BPdeluxe 1.0 before allowing the use of
         validate_blasts().

       - updated README.

       - now using Build.PL to auto-generate Makefile.PL and META.yml.

0.0.1  Wed May  3 13:38:18 2006

       - Initial release.

README  view on Meta::CPAN




DEPENDENCIES

Bio::SeqIO   - part of BioPerl, available at bioperl.org
version      - available from CPAN
PP           - This is an optional dependency, needed if you want to submit
               jobs to a compute cluster queueing system like LSF.
BPdeluxe 1.0 - This is an optional dependency, needed only if you want to use
               the validate_blasts() method. Available from Jarret Glasscock
               (glasscock_cpan at mac dot com).




COPYRIGHT AND LICENCE

Copyright (C) 2006, Dave Messina <dave-pause@davemessina.net>.

This library is free software; you can redistribute it and/or modify

lib/AlignAid.pm  view on Meta::CPAN

The kill_all() method only works with jobs submitted to a queueing system
right now. If you are itchin' to have this power over single jobs too, begging
via email would be appropriate.

=item C<< <num> weren't killed and still are in the queue >>

<num> jobs weren't successfully killed by kill_all() and are still on the
queue. You'll probably want to go kill them manually (or make another attempt
with kill_all() ).

=item C<< can't validate_blasts -- BPdeluxe 1.0 did not load. >>

BPdeluxe version 1.0 is needed to use the validate_blasts() method. The most
likely cause of this error is that BPdeluxe v1.0 isn't installed on your
system or it's in a directory that's not in @INC. BPdeluxe 1.0 is available
from Jarret Glasscock C<< <glasscock_cpan@mac.com> >>.

=item C<< validate_blasts only works on blast jobs >>

validate_blasts() will not work on any alignment program's output other than
one of the blast programs.

=back


=head1 CONFIGURATION AND ENVIRONMENT
  
AlignAid requires no configuration files or environment variables.


lib/AlignAid.pm  view on Meta::CPAN

available from CPAN

=item PP

This is an optional dependency, needed if you want to submit jobs
to a compute cluster queueing system like LSF

=item BPdeluxe 1.0

This is an optional dependency, needed only if you want to use the
validate_blasts() method. Available from Jarret Glasscock
C<< <glasscock_cpan@mac.com> >>.

=back

=head1 INCOMPATIBILITIES

None reported.


=head1 BUGS AND LIMITATIONS

lib/AlignAid.pm  view on Meta::CPAN

    elsif ( $self->{_queue} eq 'PBS' ) {
        croak "Sorry! PBS queue support not implemented yet!\n";
        return 0;
    }
    else {
        croak "$self->{_queue} is not a supported queue type";
        return 0;
    }
}

=head2 validate_blasts

 Title        : validate_blasts
 Usage        : AlignAid->validate_blasts();
 Function     : checks ot make sure all of the blasts completed correctly
 Returns      : 1 upon success (no failed blasts), 0 upon failure
 Args         : none
 Throws       : croaks if you try to run it on a non-blast job
              : or if file can't be opened
 Comments     : this method is optional and requires BPdeluxe 1.0

=cut

sub validate_blasts {
    eval { require 'BPdeluxe 1.0'; };
    if ($@) {
        croak "can't validate_blasts -- BPdeluxe 1.0 did not load.\n";
        return;
    };

    my ( $class ) = @_;

### ------------------------------------------
    # not yet implemented for single-proc runs
    if ( $class->{_queue} eq 'single' ) {
	return 1;
    }
### ------------------------------------------

    my @jobs = @{ $class->{_jobs} };
    my %skip; # files to skip due to incomplete blast reports
    my $ret_val = 1;

    if ( $class->{_prog_name} !~ /[t]*blast[nxp]/ ) {
	croak "validate_blasts only works on blast jobs";
    }

    if ( $class->{_queue} eq 'single' ) {
	
    }
    foreach  my $job (@jobs) {
	my $blast_reports = $job->{oo};
	my $file = IO::File->new($blast_reports, "r")
	    or croak "couldn't open $blast_reports";
	my $multi_report = new BPdeluxe::Multi($file);



( run in 0.488 second using v1.01-cache-2.11-cpan-a5abf4f5562 )