[Biopython] Nexus.Tree fails to import nexus tree file
Thomas Keller
thomas.e.keller at gmail.com
Fri Sep 25 23:17:27 EDT 2009
I apologize if this has been addressed, I looked online and it does
not seem to be a general issue. I have several programs that generate
nexus files consisting entirely of trees; there is no sequence
information. Can the Nexus parser not read this type of nexus file?
When I try to open the a file with:
from Bio.Nexus import Trees
tree_string=open('Analysis_tree_1a.tre').read()
tree=Trees.Tree(tree_string)
I get the following error:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
/home/thomas/Missing data in tree of Life
projects/tree_base_dat/S2000/<ipython console> in <module>()
/var/lib/python-support/python2.6/Bio/Nexus/Trees.pyc in
__init__(self, tree, weight, rooted, name, data, values_are_support,
max_support)
70 # there's discrepancy whether newick allows
semicolons et the end
71 tree=tree.rstrip(';')
---> 72
self._add_subtree(parent_id=root.id,tree=self._parse(tree)[0])
73
74 def _parse(self,tree):
/var/lib/python-support/python2.6/Bio/Nexus/Trees.pyc in _parse(self, tree)
96 else:
97 closing=tree.rfind(')')
---> 98 val=self._get_values(tree[closing+1:])
99 if not val:
100 val=[None]
/var/lib/python-support/python2.6/Bio/Nexus/Trees.pyc in _get_values(self, text)
172 values.append(nodecomment)
173 else:
--> 174 values=[float(t) for t in text.split(':') if t.strip()]
175 return values
176
ValueError: invalid literal for float(): ;END
The associated nexus file I am trying to read is the following:
#NEXUS
BEGIN TREES;
TRANSLATE
1 'Pleurochrysis_pseudoroscoffensis_HAP48',
2 'Pleurochrysis_placolithoides_HAP59bis',
3 'Pleurochrysis_carterae_Von_Stosch',
4 'Pleurochrysis_roscoffensis_HAP32',
5 'Pleurochrysis_scherffelii_HAP11',
6 'Pleurochrysis_sp_Langue_du_chat',
7 'Pleurochrysis_elongata_CCMP874',
8 'Pleurochrysis_gayraliae_HAP10',
9 'Hymenomonas_coronata_HAP58bis',
10 'Pleurochrysis_elongata_HAP79',
11 'Ochrosphaera_verrucosa_HAP82',
12 'Pleurochrysis_carterae_HAP1',
13 'Pleurochrysis_dentata_HAP6',
14 'Pleurochrysis_sp_MBIC10443',
15 'Pleurochrysis_sp_MBIC10549',
16 'Jomonlithus_littoralis_JE5',
17 'Pleurochrysis_sp_CCMP875',
18 'Pleurochrysis_sp_CCMP300',
19 'Gloeothamnion_sp_HAPG' ;
TREE 'Fig._2' = [&R]
(11,((((((4,1,8,3,18),(10,7)),(12,(5,19))),6),2),(13,(14,17),15)),(9,16));
END;
Please let me know if/what I am doing wrong. Is the tree nexus file
malformed in some way?
Cheers,
Thomas Keller
Reply
Forward
[It's All Text!]
More information about the Biopython
mailing list