File: TreeBuild.t

package info (click to toggle)
bioperl 1.7.8-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, sid, trixie
  • size: 35,788 kB
  • sloc: perl: 94,019; xml: 14,811; makefile: 20
file content (54 lines) | stat: -rw-r--r-- 1,631 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# -*-Perl-*- Test Harness script for Bioperl
# $Id$

use strict;

BEGIN { 
    use Bio::Root::Test;
    
    test_begin(-tests => 13);
	
	for my $mod ( qw(Bio::Align::DNAStatistics
					 Bio::Align::ProteinStatistics
					 Bio::Align::Utilities
					 Bio::AlignIO
					 Bio::Tree::DistanceFactory
					 Bio::TreeIO) ) {
		use_ok($mod);
    }
}

my $debug = test_debug();

use Bio::Align::Utilities qw(:all);

my $in = Bio::AlignIO->new(-format => 'clustalw',
       			  -file   => test_input_file('pep-266.aln'));
my $aln = $in->next_aln();
isa_ok($aln, 'Bio::SimpleAlign','SimpleAlign object parsed out');
my $pstats = Bio::Align::ProteinStatistics->new(-verbose => $debug);
my $matrix = $pstats->distance(-method => 'Kimura',
			       -align  => $aln);
isa_ok($matrix,'Bio::Matrix::MatrixI','Protein distance matrix retrieved');

my $treebuilder = Bio::Tree::DistanceFactory->new(-method => 'NJ');
my $tree = $treebuilder->make_tree($matrix);
isa_ok($tree,'Bio::Tree::TreeI', 'Tree object gotten back');

my ($cn) = $tree->find_node('183.m01790');

# brlens checked against tree generated by PHYLIP NJ
is($tree->find_node('AN2438.1')->branch_length, '0.28221','NJ calculated Branch length');
is($tree->find_node('FG05298.1')->branch_length, '0.20593','NJ calculated Branch length');

# simple topology test - make sure these 2 are sister
is($tree->find_node('YOR262W')->ancestor->id, 
   $tree->find_node('Smik_Contig1103.1')->ancestor->id, 'Make sure two nodes are sister');

# TODO?
# UPGMA tests


# test the bootstrap
my $replicates = &bootstrap_replicates($aln,10);
is(scalar @$replicates, 10,'10 replicates formulated');