phylotastic / phylotastic-portal

Web tool (ruby on rails) providing access to phylotastic services for acquiring species trees.
https://github.com/phylotastic/phylotastic/wiki
1 stars 3 forks source link

tree render stress test issue #335

Closed arlin closed 6 years ago

arlin commented 6 years ago

please attach problem lists here.

Find out what is the problem with these and fix it. Replicate the problem. See if you can render this in ETE using the Python library (etetoolkit.org). If there is a problem, look for things like special characters, or a problem with tree syntax (could use DendroPy to check this).

Fix the problem so that trees can be rendered in the portal.

bomeara commented 6 years ago

subset2.txt finds 457 taxa, renders this newick, but doesn't plot asdf_newick.txt

dimus commented 6 years ago

These two files generated about 500 names. The unscaled tree did get generated, but the tree did not get rendered.

2999.txt

PDF (not html) from this page

arlin commented 6 years ago

@abusalehmdtayeen this one is for you.

abusalehmdtayeen commented 6 years ago

@arlin @bomeara @dimus , I have debugged the tree rendering problem. It is indeed a newick parsing issue from ETE side. But it is not the fault of ETE. When a newick string have species names with single quotes, by the time the input string reaches ETE from portal side, these quotes get converted into ' which is the HTML code for Apostrophes. These codes are not recognizable by ETE parser as valid strings. So it throws an error and can not render the tree. Below is an example of such newick strings. ....(((((Bradyrhizobium sp. CCGE-LA004,'Methylobacterium sp. Pd-S-(l)-e-D-4(3)'),( .... gets converted into the following: ....(((((Bradyrhizobium sp. CCGE-LA004,'Methylobacterium sp. Pd-S-(l)-e-D-4(3)'),( ....

I have fixed this problem. Now you should be able to render tree for the same examples.

arlin commented 6 years ago

Thanks @abusalehmdtayeen! I have tested both examples and they render successfully. However, the OT scaling takes forever and the datelife scaling returns an error. I will open a new ticket.