annotate variant_effect_predictor/Bio/Tools/Phylo/Molphy.pm @ 2:a5976b2dce6f

changing defualt values for ensembl database
author mahtabm
date Thu, 11 Apr 2013 17:15:42 +1000
parents 1f6dce3d34e0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1 # $Id: Molphy.pm,v 1.3 2002/10/22 07:45:23 lapp Exp $
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
2 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
3 # BioPerl module for Bio::Tools::Phylo::Molphy
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
4 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
5 # Cared for by Jason Stajich <jason@bioperl.org>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
6 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
7 # Copyright Jason Stajich
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
8 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
9 # You may distribute this module under the same terms as perl itself
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
10
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
11 # POD documentation - main docs before the code
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
12
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
13 =head1 NAME
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
14
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
15 Bio::Tools::Phylo::Molphy - DESCRIPTION of Object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
16
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
17 =head1 SYNOPSIS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
18
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
19 use Bio::Tools::Phylo::Molphy;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
20 my $parser = new Bio::Tools::Phylo::Molphy(-file => 'output.protml');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
21 while( my $result = $parser->next_result ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
22
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
23 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
24
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
25 =head1 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
26
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
27 A parser for Molphy output (protml,dnaml)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29 =head1 FEEDBACK
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31 =head2 Mailing Lists
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33 User feedback is an integral part of the evolution of this and other
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 Bioperl modules. Send your comments and suggestions preferably to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35 the Bioperl mailing list. Your participation is much appreciated.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37 bioperl-l@bioperl.org - General discussion
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38 http://bioperl.org/MailList.shtml - About the mailing lists
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40 =head2 Reporting Bugs
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42 Report bugs to the Bioperl bug tracking system to help us keep track
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43 of the bugs and their resolution. Bug reports can be submitted via
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44 email or the web:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46 bioperl-bugs@bioperl.org
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47 http://bugzilla.bioperl.org/
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49 =head1 AUTHOR - Jason Stajich
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51 Email jason@bioperl.org
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53 Describe contact details here
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55 =head1 CONTRIBUTORS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57 Additional contributors names and emails here
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59 =head1 APPENDIX
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61 The rest of the documentation details each of the object methods.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62 Internal methods are usually preceded with a _
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67 # Let the code begin...
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70 package Bio::Tools::Phylo::Molphy;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71 use vars qw(@ISA);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74 use Bio::Tools::Phylo::Molphy::Result;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75 use Bio::Root::Root;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76 use Bio::Root::IO;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77 use Bio::TreeIO;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78 use IO::String;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
79
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
80 @ISA = qw(Bio::Root::Root Bio::Root::IO );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82 =head2 new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84 Title : new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85 Usage : my $obj = new Bio::Tools::Phylo::Molphy();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86 Function: Builds a new Bio::Tools::Phylo::Molphy object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87 Returns : Bio::Tools::Phylo::Molphy
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88 Args : -fh/-file => $val, # for initing input, see Bio::Root::IO
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93 sub new {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94 my($class,@args) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96 my $self = $class->SUPER::new(@args);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97 $self->_initialize_io(@args);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99 return $self;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102 =head2 next_result
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104 Title : next_result
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105 Usage : my $r = $molphy->next_result
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106 Function: Get the next result set from parser data
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107 Returns : Bio::Tools::Phylo::Molphy::Result object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108 Args : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113 sub next_result{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114 my ($self) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116 # A little statemachine for the parser here
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117 my ($state,$transition_ct,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118 @transition_matrix, %transition_mat, @resloc,) = ( 0,0);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119 my ( %subst_matrix, @treelines, @treedata, %frequencies);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120 my ( $treenum,$possible_trees, $model);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121 while( defined ( $_ = $self->_readline()) ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122 if( /^Relative Substitution Rate Matrix/ ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123 if( %subst_matrix ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124 $self->_pushback($_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125 last;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127 $state = 0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128 my ( @tempdata);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129 @resloc = ();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130 while( defined ($_ = $self->_readline) ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131 last if (/^\s+$/);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132 # remove leading/trailing spaces
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133 s/^\s+//;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134 s/\s+$//;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135 my @data = split;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136 my $i = 0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137 for my $l ( @data ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138 if( $l =~ /\D+/ ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139 push @resloc, $l;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
141 $i++;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
142 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
143 push @tempdata, \@data;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
144 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
145 my $i = 0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
146 for my $row ( @tempdata ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
147 my $j = 0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
148 for my $col ( @$row ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
149 if( $i == $j ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
150 # empty string for diagonals
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
151 $subst_matrix{$resloc[$i]}->{$resloc[$j]} = '';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
152 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
153 $subst_matrix{$resloc[$i]}->{$resloc[$j]} = $col;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
154 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
155 $j++;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
156 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
157 $i++;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
158 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
159 } elsif( /^Transition Probability Matrix/ ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
160 if( /1\.0e7/ ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
161 $state = 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
162 $transition_ct = 0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
163 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
164 $state = 0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
165 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
166 } elsif ( /Acid Frequencies/ ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
167 $state = 0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
168 $self->_readline(); # skip the next line
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
169 while( defined( $_ = $self->_readline) ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
170 unless( /^\s+/) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
171 $self->_pushback($_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
172 last;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
173 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
174 s/^\s+//;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
175 s/\s+$//;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
176 my ($index,$res,$model,$data) = split;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
177 $frequencies{$res} = [ $model,$data];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
178 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
179 } elsif( /^(\d+)\s*\/\s*(\d+)\s+(.+)\s+model/ ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
180 my @save = ($1,$2,$3);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
181 # finish processing the transition_matrix
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
182 my $i =0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
183 foreach my $row ( @transition_matrix ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
184 my $j = 0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
185 foreach my $col ( @$row ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
186 $transition_mat{$resloc[$i]}->{$resloc[$j]} = $col;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
187 $j++;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
188 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
189 $i++;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
190 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
191
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
192 if( defined $treenum ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
193 $self->_pushback($_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
194 last;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
195 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
196
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
197 $state = 2;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
198 ($treenum,$possible_trees, $model) = @save;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
199 $model =~ s/\s+/ /g;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
200 } elsif( $state == 1 ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
201 next if( /^\s+$/ );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
202 s/^\s+//;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
203 s/\s+$//;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
204 # because the matrix is split up into 2-10 column sets
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
205 push @{$transition_matrix[$transition_ct++]}, split ;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
206 $transition_ct = 0 if $transition_ct % 20 == 0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
207 } elsif( $state == 2 ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
208 if( s/^(\d+)\s+(\-?\d+(\.\d+)?)\s+// ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
209 push @treedata, [ $1,$2];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
210 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
211 # save this for the end so that we can
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
212 # be efficient and only open one tree parser
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
213 push @treelines, $_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
214 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
215 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
216 # waiting till the end to do this, is it better
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
217 my @trees;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
218 if( @treelines ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
219 my $strdat = IO::String->new(join('',@treelines));
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
220 my $treeio = new Bio::TreeIO(-fh => $strdat,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
221 -format => 'newick');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
222 while( my $tree = $treeio->next_tree ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
223 if( @treedata ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
224 my $dat = shift @treedata;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
225 # set the associated information
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
226 $tree->id($dat->[0]);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
227 $tree->score($dat->[1]);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
228 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
229 push @trees, $tree;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
230 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
231 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
232
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
233 my $result = new Bio::Tools::Phylo::Molphy::Result
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
234 (-trees => \@trees,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
235 -substitution_matrix => \%subst_matrix,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
236 -transition_matrix => \%transition_mat,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
237 -frequencies => \%frequencies,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
238 -model => $model,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
239 -search_space => $possible_trees,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
240 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
241
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
242 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
243
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
244 1;