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 )