swh:1:snp:5789d5563ae0ff1fac9d4620526a6e02863df326
Raw File
Tip revision: 43a50ee05189b9ea5bd6720539286085c6afba8a authored by Nathaniel Nutter on 06 December 2014, 11:01:26 UTC
Merge pull request #280 from nnutter/genome_test_inputs
Tip revision: 43a50ee
Glimmer2.pm
package BAP::JobSource::Glimmer2;

use strict;
use warnings;

use Carp;
use English;

use BAP::Job::Glimmer;

use base qw(GAP::JobSource);


sub new {

    my ($class, @args) = @_;


    my $self = $class->SUPER::new(@args);
    
    my (
        $seq_source,
        $g2_model,
        $circular_dna_flag
    ) = @args;
    
    unless (defined($seq_source)) {
        croak 'missing seq source!';
    }
    
    unless ($seq_source->can('next_seq')) {
        croak 'seq source does not implement next_seq()!';
    }
    
    unless (defined($g2_model)) {
        croak 'missing glimmer2 model';
    }
    
    unless (defined($circular_dna_flag)) {
        $circular_dna_flag = 0;
    }
    
    $self->{_feature_ref} = [ ]; 
    
    while (my $seq = $seq_source->next_seq()) {
        
        push @{$self->{_jobs}}, BAP::Job::Glimmer->new(
                                                       'glimmer2',
                                                       $seq,
                                                       $g2_model,
                                                       undef,
                                                       $circular_dna_flag,
                                                       $self->next_job_id(),
                                                   );
        
    }
    
    return $self;
    
}

sub finish_job {

    my ($self, $job, $results) = @_;


    push @{$self->{_feature_ref}}, $job->seq()->get_SeqFeatures();
    
}


sub feature_ref {
    
    my ($self) = @_;
    
    return $self->{_feature_ref};
    
}

1;
back to top