t/*: remove "use lib '.'" and t/lib/Error.pm
[bioperl-live.git] / t / Tree / TreeIO / nexus.t
blob209d4e3e9492f82c4c3d9e07e0530fcfa9a989b5
1 # -*-Perl-*- Test Harness script for Bioperl
2 # $Id: TreeIO.t 14580 2008-03-01 17:01:30Z cjfields $
4 use strict;
6 BEGIN {
7     use Bio::Root::Test;
8     
9     test_begin(-tests => 24);
10     use_ok('Bio::TreeIO');
13 my $verbose = test_debug();
16 SKIP: {
17     test_skip(-tests => 8, -requires_module => 'IO::String');
18         
19     # test nexus tree parsing
20     my $treeio = Bio::TreeIO->new(-format => 'nexus',
21                                   -verbose => $verbose,
22                                   -file   => test_input_file('urease.tre.nexus'));
23     
24     my $tree = $treeio->next_tree;
25     ok($tree);
26     is($tree->id, 'PAUP_1');
27     is($tree->get_leaf_nodes, 6);
28     my ($node) = $tree->find_node(-id => 'Spombe');
29     is($node->branch_length,0.221404);
30     
31     # test nexus MrBayes tree parsing
32     $treeio = Bio::TreeIO->new(-format => 'nexus',
33                                -file   => test_input_file('adh.mb_tree.nexus'));
34     
35     $tree = $treeio->next_tree;
36         my $ct = 1; 
37     ok($tree);
38     is($tree->id, 'rep.1');
39     is($tree->get_leaf_nodes, 54);
40     ($node) = $tree->find_node(-id => 'd.madeirensis');
41     is($node->branch_length,0.039223);
42         while ($tree = $treeio->next_tree) {
43                 $ct++;
44         }
45         is($ct,13,'bug 2356');
49 # bug #1854
50 # process no-newlined tree
51 my $treeio = Bio::TreeIO->new(-format => 'nexus',
52                               -verbose => $verbose,
53                               -file   => test_input_file('tree_nonewline.nexus'));
55 my $tree = $treeio->next_tree;
56 ok($tree);
57 ok($tree->find_node('TRXHomo'));
59 # bug #2205
60 # process trees with node IDs containing spaces
61 $treeio = Bio::TreeIO->new(-format => 'nexus',
62                            -verbose => $verbose,
63                            -file   => test_input_file('spaces.nex'));
65 $tree = $treeio->next_tree;
67 my @nodeids = ("'Allium drummondii'", "'Allium cernuum'",'A.cyaneum');
69 ok($tree);
70 for my $node ($tree->get_leaf_nodes) {
71         is($node->id, shift @nodeids);          
74 # bug #2221
75 # process tree with names containing quoted commas
77 $tree = $treeio->next_tree;
79 @nodeids = ("'Allium drummondii, USA'", "'Allium drummondii, Russia'",'A.cyaneum');
81 ok($tree);
82 for my $node ($tree->get_leaf_nodes) {
83         is($node->id, shift @nodeids);          
86 # bug #2221
87 # process tree with names containing quoted commas on one line
89 $tree = $treeio->next_tree;
91 @nodeids = ("'Allium drummondii, Russia'", "'Allium drummondii, USA'",'A.cyaneum');
93 ok($tree);
94 for my $node ($tree->get_leaf_nodes) {
95         is($node->id, shift @nodeids);