2
# $Id: Coalescent.t,v 1.5 2003/12/16 01:12:34 jason Exp $
3
## Bioperl Test Harness Script for Modules
9
# to handle systems with no installed Test module
10
# we include the t dir (where a copy of Test.pm is located)
13
eval { require Test; };
21
use Bio::PopGen::Simulation::Coalescent;
22
use Bio::PopGen::Statistics;
28
END { unlink $FILE1; }
31
my $sim = new Bio::PopGen::Simulation::Coalescent(-sample_size => $ssize);
32
my $stats = Bio::PopGen::Statistics->new();
33
my $tree = $sim->next_tree;
35
ok($tree->get_nodes, ($ssize * 2 - 1));
37
my $treeio = new Bio::TreeIO(-format => 'newick', -file => ">$FILE1");
39
$treeio->write_tree($tree);
44
$sim->add_Mutations($tree, $mutcount);
46
my $leaves = [$tree->get_leaf_nodes];
48
my $pi = $stats->pi($leaves);
49
ok( $pi > 0 , 1, 'pi');
52
# theta is num seg sites / sum(1/(numsams-1))
53
my $theta = $stats->theta(scalar @$leaves, $mutcount);
54
ok($theta,48, 'theta');
56
my $tD = Bio::PopGen::Statistics->tajima_D($leaves);
57
ok(defined $tD,1, 'tajimaD');
59
my $seg_sites = Bio::PopGen::Statistics->segregating_sites_count($leaves);
60
ok($seg_sites,$mutcount,
61
'all the mutations should be polymorphic (by definition)');
62
my $single = Bio::PopGen::Statistics->singleton_count($leaves);
63
my $flD = Bio::PopGen::Statistics->fu_and_li_D($leaves,$single);
64
ok(defined $flD,1,'fu and li D');
66
my $flD_star = $stats->fu_and_li_D_star($leaves);
67
ok(defined $flD_star,1,'fu and li D*');
69
my $flF = $stats->fu_and_li_F($leaves,$single);
70
ok(defined $flF, 1,'fu and li F');
72
my $flFstar = $stats->fu_and_li_F_star($leaves);
73
ok(defined $flF, 1,'fu and li F');