[Bioperl-l] phylogeny-trait association methods into BioPerl
Heikki Lehvaslaiho
heikki at sanbi.ac.za
Thu Oct 9 05:36:47 UTC 2008
Mira,
Thanks for spotting this. This really proved the point that many eyes are
better than one pair. I knew that the outcome for the test tree is 4 and still
accepted 5!
When writing this, I moved from using add_tag_value() into new method
set_tag_value():
map {$node->add_tag_value('ps_trait', $_)} keys %union; # worked initially
map {$node->set_tag_value('ps_trait', $_)} keys %union; # wrong
$node->set_tag_value('ps_trait',keys %union); # correct and a lot simpler
I'll commit the changes the moment I get svn to respond. The connection is
closing prematurely for me:
svn update
===========================================
dev.open-bio.org - Authorized Access Only
===========================================
Connection closed by 207.154.17.71
svn: Connection closed unexpectedly
-Heikki
On Wednesday 08 October 2008 21:05:38 miraceti wrote:
> Hi, thanks for introducing this into bioperl,
> I was having a hard time trying to figure out how to use mesquite on many
> many trees automatically.
> Now I can use bioperl instead.
> I was testing the ps() function with some discrete character states,
> and I noticed the ancestor states are different from what I would get by
> hand.
> I think it's because of this line
>
> map {$node->set_tag_value('ps_trait', $_)} keys %union;
>
> it replaces the trait values every time it does map,
> instead of storing all possible values.
> Could you look into this?
> thanks
>
> Mira Han
>
> On Fri, Sep 19, 2008 at 12:22 PM, Heikki Lehvaslaiho
<heikki at sanbi.ac.za>wrote:
> > The code is now in SVN. Bio::Tree::TreeFunctionsI::add_trait() can be
> > used to
> > set trait values in a tree.
> >
> > Enjoy,
> >
> > -Heikki
> >
> > On Wednesday 10 September 2008 13:32:06 Heikki Lehvaslaiho wrote:
> > > FYI,
> > >
> > > I've been recently writing code to analyse phylogeny-trait
> > > associations. These traits are typically geographical location of the
> > > sequence but they can be any phenotypic characters associated with the
> > > sequences.
> > >
> > > This involves trees, i.e. Bio::Tree::Tree and Bio::Tree::Node objects
> > > and strings describing the traits. I've been using tags to store trait
> > > values within nodes. The tag methods are:
> > >
> > > Bio::Tree::Node::add_tag_value
> > > Bio::Tree::Node::get_all_tags
> > > Bio::Tree::Node::get_tag_values
> > > Bio::Tree::Node::has_tag
> > > Bio::Tree::Node::remove_all_tags
> > > Bio::Tree::Node::remove_tag
> > >
> > > Question: Is there any particular reason why there is no
> > > set_tag_value(scalar|@array) method?
> > >
> > > I am getting tired of writing:
> > > $node->remove_tag($key);
> > > map {$node->add_tag_value($key)} @values ;
> > > so I am going to implement that unless there is are strong objections.
> > >
> > > Otherwise it has been smooth sailing. I am going to add
> > > Bio::Tree::TreeFunctions::is_binary() and start populating
> > > Bio::Tree::Statistics soon with these methods:
> > >
> > > ps() - Parsimony Score (PS) from Fitch 1971
> > > ai() - Association index (AI) of Whang et al. 2001
> > > mc() - Monophyletic Clade (MC) size statistics by Salemi at al. 2005
> > > cherries() - number of leaf node pairs
> > >
> > > If you have any comments, please feel free to post them here.
> > >
> > > -Heikki
> >
> > --
> > ______ _/ _/_____________________________________________________
> > _/ _/
> > _/ _/ _/ Heikki Lehvaslaiho heikki at_sanbi _ac _za
> > _/_/_/_/_/ Senior Scientist skype: heikki_lehvaslaiho
> > _/ _/ _/ SANBI, South African National Bioinformatics Institute
> > _/ _/ _/ University of Western Cape, South Africa
> > _/ Phone: +27 21 959 2096 FAX: +27 21 959 2512
> > ___ _/_/_/_/_/________________________________________________________
> >
> > _______________________________________________
> > Bioperl-l mailing list
> > Bioperl-l at lists.open-bio.org
> > http://lists.open-bio.org/mailman/listinfo/bioperl-l
>
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l
--
______ _/ _/_____________________________________________________
_/ _/
_/ _/ _/ Heikki Lehvaslaiho heikki at_sanbi _ac _za
_/_/_/_/_/ Senior Scientist skype: heikki_lehvaslaiho
_/ _/ _/ SANBI, South African National Bioinformatics Institute
_/ _/ _/ University of Western Cape, South Africa
_/ Phone: +27 21 959 2096 FAX: +27 21 959 2512
___ _/_/_/_/_/________________________________________________________
More information about the Bioperl-l
mailing list