# -*-Perl-*- Test Harness script for Bioperl
# $Id$
use strict;
BEGIN {
use lib '.';
use Bio::Root::Test;
test_begin(-tests => 39);
use_ok('Bio::SeqEvolution::Factory');
use_ok('Bio::PrimarySeq');
}
#
# point mutations
#
ok my $evolve = Bio::SeqEvolution::Factory->new (-verbose => 1);
isa_ok $evolve, 'Bio::SeqEvolution::DNAPoint';
ok $evolve = Bio::SeqEvolution::DNAPoint->new (-verbose => 2);
isa_ok $evolve, 'Bio::SeqEvolution::DNAPoint';
ok $evolve = Bio::SeqEvolution::Factory->new (-verbose => 3,
-type => 'Bio::SeqEvolution::DNAPoint');
isa_ok $evolve, 'Bio::SeqEvolution::DNAPoint';
my $seq = Bio::PrimarySeq->new(-id=>'test',
-seq=>'aaacccgggtta'
);
ok $evolve = Bio::SeqEvolution::Factory->new (-verbose => 0,
-foo => 'bar',
-rate => 5,
-seq => $seq
);
is $evolve->seq->id, 'test';
is $evolve->rate, 5, 'get rate()';
is $evolve->rate(2), 2, 'get and set rate()';
is $evolve->identity(80), 80, 'identity()';
is $evolve->identity(undef), undef, 'identity()';
is $evolve->pam, undef, 'pam()';
is $evolve->pam(80), 80, 'pam()';
is $evolve->mutation_count, undef, 'mutation_count()';
is $evolve->mutation_count(5), 5, , 'mutation_count()';
is $evolve->seq_type, 'Bio::PrimarySeq', 'seq_type()';
is $evolve->seq_type('Bio::Seq'), 'Bio::Seq', 'seq_type()';
ok my $newseq = $evolve->next_seq, 'next_seq()';
foreach ( $evolve->each_mutation('string')) {
ok $_;
}
is $evolve->each_mutation, 5, 'each_mutation()';
ok $evolve = Bio::SeqEvolution::Factory->new (-verbose => 0,
-rate => 5,
-seq => $seq,
-identity => 50 ###
);
ok $newseq = $evolve->next_seq;
cmp_ok $evolve->get_alignment_identity, '<=', 50, "get_alignment_identity()";
ok $evolve = Bio::SeqEvolution::Factory->new (-verbose => 0,
-rate => 5,
-seq => $seq,
-pam => 50 ###
);
ok $newseq = $evolve->next_seq;
is $evolve->get_mutation_counter, 6, 'get_mutation_counter()';
$newseq = $evolve->next_seq;
is $evolve->get_sequence_counter, 2, 'get_sequence_counter()';
ok $evolve->reset_sequence_counter(), 'reset_sequence_counter()';
is $evolve->get_sequence_counter, 0, 'get_sequence_counter() == 0';
ok $evolve = Bio::SeqEvolution::Factory->new (-verbose => 0,
-rate => 5,
-seq => $seq,
-pam => 50
);
ok $newseq = $evolve->next_seq;
# ok $evolve->get_alignment_identity <= 50, "get_alignment_identity()";
isa_ok $evolve->get_alignmet, 'Bio::SimpleAlign';
#
#print "-----------------------------------------\n";
#print $evolve->{'_ori_locatableseq'}->seq, "\n";
#print $evolve->{'_mut_locatableseq'}->seq, "\n";
#print $evolve->{'_align'}->overall_percentage_identity, "\n";
#print $evolve->get_mutation_counter, "\n";
#print "-----------------------------------------\n";
#
#
# indels
#
#use Bio::SeqEvolution::DNAIndel;
#ok $evolve = Bio::SeqEvolution::DNAIndel->new (-verbose => 0,
# -mutation_count => 3,
# -rate => 1,
# -seq => $seq
# );
#
#
#
#ok $newseq = $evolve->next_seq;
#ok $evolve->get_mutation_counter, 3;
##print Dumper $evolve;
#
#foreach ( $evolve->each_mutation) {
## print Dumper $_;
## print $_->sysname, "\n";
# ok $_->sysname;
#}
#
#
#ok $evolve = Bio::SeqEvolution::DNAIndel->new (-verbose => 0,
# -duplication => 1,
## -identity =>50,
# -mutation_count => 3,
# -rate => 1,
# -seq => $seq
# );
##$evolve->{'_mut_string'} = $evolve->{'_ori_string'};
#
##ok $newseq = $evolve->mutate(12);
#ok $newseq = $evolve->next_seq;
##print Dumper $evolve;
##print $evolve->{'_ori_locatableseq'}->seq, "\n";
##print $evolve->{'_mut_locatableseq'}->seq, "\n";
#
#print "-----------------------------------------\n";
#print $evolve->{'_ori_locatableseq'}->seq, "\n";
#print $evolve->{'_mut_locatableseq'}->seq, "\n";
#print $evolve->{'_align'}->overall_percentage_identity, "\n";
#print "-----------------------------------------\n";
#
#
##
## mixer, simulation
##
#
#
#ok my $evolve2 = Bio::SeqEvolution::Factory->new (-verbose => 0,
# -rate => 2,
# -seq => $seq,
# -set_mutated_seq => $newseq,
## -identity => 50
# -mutation_count => 1 ###
# );
#ok $evolve2->seq_type('Bio::LocatableSeq');
#
#print "=-----------------------------------------\n";
#print $evolve2->{'_ori_locatableseq'}->seq, "\n";
#print $evolve2->{'_mut_locatableseq'}->seq, "\n";
#print $evolve2->{'_align'}->overall_percentage_identity, "\n";
#print "-----------------------------------------\n";
#
#ok $newseq = $evolve2->next_seq;
#
#
#print "-----------------------------------------\n";
#print $evolve2->{'_ori_locatableseq'}->seq, "\n";
#print $evolve2->{'_mut_locatableseq'}->seq, "\n";
#print $evolve2->{'_align'}->overall_percentage_identity, "\n";
#print "-----------------------------------------\n";
#