On Feb 13, 2013, at 10:21 AM, Moretti Sébastien
>>>>> # Add annotation
>>>>> $treeio->add_phyloXML_annotation(-obj => $tree,
>>>>> -xml => 'SUMF family',
>>>> If you really have $treeio in your script in this line and not $tree,
then that's at least one problem. But the stack suggests that the above
isn't the exact line in your script - can you confirm that?
>>> I replaced $treeio by $tree in the above line but still get an error.
>>> Don't see what you mean by "the stack suggests that the above isn't the
exact line in your script"
>>> The only think I changed is the length of the xml string I try to
insert. But get the same error with an empty xml string.
>>> my $treeio = new Bio::TreeIO(-file => "$infile",
>>> -format => 'phyloxml',
>>> my $tree = $treeio->next_tree;
>>> # Add annotation
>>> $tree->add_phyloXML_annotation(-obj => $tree,
>>> -xml => 'SUMF family',
>>> Can't locate object method "add_phyloXML_annotation" via package
>>> "Bio::Tree::Tree" at ./add_annotation_to_phyloxml.pl line 40,
line 1 (#1)
>>> (F) You called a method correctly, and it correctly indicated a
>>> functioning as a class, but that package doesn't define that
>>> method, nor does any of its base classes. See perlobj.
>>> Uncaught exception from user code:
>>> at ./add_annotation_to_phyloxml.pl line 40
>> Will have to look into this. One problem we have is that phyloXML
support has dwindled, so if anyone wants to take this on I would be more
than happy to help them get started.
> You mean that BioPerl 1.6.901 has not a full support of PhyloXML ?
> The problem I have is "expected" ?
> Sébastien Moretti
I think it handles most of phyloXML fine, but the implementation of the
parser is a little tricky. I tried cleaning this up a few years back but
didn't make much progress.
The function is in Bio::TreeIO::phyloxml, so the correct call should be (as
you previously had it):
$treeio->add_phyloXML_annotation(-obj => $tree,
-xml => 'SUMF family',
My guess is that Bio::Tree::Tree was AnnotatableI at one point but that was
removed, will have to trace that back. Can you file a bug on this?