[Bioperl-l] Bio::Tree::IO "Collapse" function
Lucia Peixoto
luciap at sas.upenn.edu
Wed May 31 14:06:13 UTC 2006
Hi
Thanks
a couple more questions
why is the bootstrap value stored as the node id? Is that right?
also, in the add_descendant method, how do you set the $ignoreoverwrite
parameter to true?
Lucia
Quoting Jason Stajich <jason.stajich at duke.edu>:
> you need to special case the root - it won't have an ancestor. just
> protect the my $parent = $node->ancestor with an if statement as I
> did below
>
> On May 30, 2006, at 4:11 PM, Lucia Peixoto wrote:
>
> > Hi
> > OK that was silly, but what I have in my code is what you just wrote
> > But the problem is that if I write
> >
> > $parent->add_Descendent($child)
> >
> > it tells me that I am calling the method "ass_Descendent" on an
> > undefined value
> > (but I did define $parent before??)
> >
> > So here it goes the code so far:
> >
> > use Bio::TreeIO;
> > my $in = new Bio::TreeIO(-file => 'Test2.tre',
> > -format => 'newick');
> > my $out = new Bio::TreeIO(-file => '>mytree.out',
> > -format => 'newick');
> > while( my $tree = $in->next_tree ) {
> > foreach my $node ( grep { ! $_->is_Leaf() } $tree->get_nodes() ) {
> > my $bootstrap=$node->_creation_id;
> >
> > if ($bootstrap < 70 ){
> > >>> if( my $parent = $node->ancestor ) {
> > my @children=$node->get_all_Descendents;
> > foreach my $child (@children){
> > $parent->add_Descendent($child);
> > }
> }
> >
> > ........
> >
> > eventually I'll add (once I assigned the children to the parent
> > succesfully):
> > $tree->remove_Node($node);
> >
> > }
> > }
> > $out->write_tree($tree);
> > }
> >
> > Quoting aaron.j.mackey at gsk.com:
> >
> >>> foreach $child (@children){
> >>> $parent=add_Descendent->$child;
> >>> }
> >>
> >> I think what you want is $parent->add_Descendent($child)
> >>
> >> -Aaron
> >>
> >
> >
> > Lucia Peixoto
> > Department of Biology,SAS
> > University of Pennsylvania
> > _______________________________________________
> > Bioperl-l mailing list
> > Bioperl-l at lists.open-bio.org
> > http://lists.open-bio.org/mailman/listinfo/bioperl-l
>
> --
> Jason Stajich
> Duke University
> http://www.duke.edu/~jes12
>
>
Lucia Peixoto
Department of Biology,SAS
University of Pennsylvania
More information about the Bioperl-l
mailing list