BioPerl-Run

 view release on metacpan or  search on metacpan

t/Infernal.t  view on Meta::CPAN

    isa_ok($result, 'Bio::Search::Result::ResultI');
    is($result->hits, 1);
    my $hit = $result->next_hit;
    is($hit->hsps, 4);
    
    # from a Bio::PrimarySeqI
    my $seq = Bio::SeqIO->new(-format => 'genbank',
                              -file   => $input)->next_seq;
    $searchio = $factory->cmsearch($seq);
    isa_ok($searchio, 'Bio::SearchIO', 'cmsearch works for v1.0 with PrimarySeq;');
    $result = $searchio->next_result();
    is($result->hits, 1);
    $hit = $result->next_hit;
    is($hit->hsps, 4);
    }
}

sub cmbuild {
    my ($aln, $outfile) = (test_input_file('purine.1.sto'), test_output_file());
    if (-e $outfile) {
        unlink $outfile;
    }
    my $factory = Bio::Tools::Run::Infernal->new(-model_file    => $outfile,
                                                 -quiet         => 1,
                                                 -program       => 'cmbuild',  
                                                 -verbose       => test_debug());
    SKIP: {
    test_skip(-requires_executable => $factory,
             -tests => 4);
    
    # from a file
    my $success = $factory->cmbuild($aln);
    ok($success, 'cmbuild works using alignment file');
    ok(-e $outfile, 'CM file created');
    
    my $outfile2 = test_output_file();
    if (-e $outfile2) {
        unlink $outfile2;
    }
    $factory->model_file($outfile2);    
    
    # from a Bio::Align::AlignI
    my $alnobj = Bio::AlignIO->new(-format => 'stockholm',
                              -file   => $aln)->next_aln;
    $success = $factory->cmbuild($alnobj);
    ok($success, 'cmbuild works using Bio::Align::AlignI');
    ok(-e $outfile2, 'CM file created');
    }
}

sub cmstat {
    my ($cm, $outfile) = (test_input_file('purine.c.cm'), test_output_file());
    my $factory = Bio::Tools::Run::Infernal->new(-model_file    => $cm,
                                                 -outfile_name  => $outfile,
                                                 -program       => 'cmstat',  
                                                 -verbose       => test_debug());
    SKIP: {
    test_skip(-requires_executable => $factory,
             -tests => 2);
    
    my $success = $factory->cmstat();
    ok($success, 'cmstat works');
    ok (-e $outfile, 'cmstat outfile created');
    }    
}

sub cmscore {
    my ($cm, $outfile) = (test_input_file('purine.c.cm'), test_output_file());
    my $factory = Bio::Tools::Run::Infernal->new(-model_file    => $cm,
                                                 -outfile_name  => $outfile,
                                                 -program       => 'cmscore',  
                                                 -verbose       => test_debug());
    SKIP: {
    test_skip(-requires_executable => $factory,
             -tests => 2);
    
    my $success = $factory->cmscore();
    ok($success, 'cmscore works');
    ok (-e $outfile, 'cmscore outfile created');
    }    
}

sub cmalign_norm {
    my ($cm, $seqfile) = (test_input_file('purine.c.cm'),
                          test_input_file('purine.added.fa'));
    my $factory = Bio::Tools::Run::Infernal->new(-model_file    => $cm,
                                                 -program       => 'cmalign');
    SKIP: {
    test_skip(-requires_executable => $factory,
             -tests => 6);
    
    my @seqs;
    
    my $stream = $factory->cmalign($seqfile);
    isa_ok($stream, 'Bio::AlignIO', 'cmalign works');
    my $aln = $stream->next_aln;
    isa_ok($aln, 'Bio::Align::AlignI');
    is($aln->num_sequences, 2);
    
    my $seqio = Bio::SeqIO->new(-format => 'fasta', -file => $seqfile);
    
    while (my $seq = $seqio->next_seq) {
        push @seqs, $seq;
    }
    
    $stream = $factory->cmalign(@seqs);
    isa_ok($stream, 'Bio::AlignIO', 'cmalign works');
    $aln = $stream->next_aln;
    isa_ok($aln, 'Bio::Align::AlignI');
    is($aln->num_sequences, 2);
    }        
}

sub cmemit {
    my ($cm, $outfile) = (test_input_file('purine.c.cm'), test_output_file());
    my $factory = Bio::Tools::Run::Infernal->new(-model_file    => $cm,
                                                 -program       => 'cmemit',
                                                 -outfile_name  => $outfile,
                                                 -quiet         => 1
                                                 );
    SKIP: {



( run in 1.373 second using v1.01-cache-2.11-cpan-39bf76dae61 )