I have a large tree of ~25,000 tips that I want to create a multipage pdf for. I know that FigTree doesn't create this kind of files but it does create very long pdf files that one can split into multiple pages later. Because my tree is so large, it takes a long time for anything to happen in FigTree, e.g., ordering the nodes, transforming branches, so I want to do it on the command line. I found a similar thread (
here) specifying that you need to add a "FigTree Block" to your nexus file so that any modifications you want to make are taken into account. Then you can simply export a pdf file from the command line with: `java -jar figure.jar -graphic PDF infield.tre outfield.pdf`.
I tried this with a small tree and it works great, however, it does not work with my large tree. The "FigTree Block" is there but if I try opening the file it's ignored. If I try to export a pdf from the command line, the program crashes with the following error:
Exception in thread "main" java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.String
at java.lang.String.compareTo(String.java:111)
at java.util.TreeMap.put(TreeMap.java:568)
at java.util.TreeSet.add(TreeSet.java:255)
at figtree.treeviewer.decorators.DiscreteColourDecorator.setAttributes(Unknown Source)
at figtree.treeviewer.decorators.ColourDecorator.<init>(Unknown Source)
at figtree.treeviewer.decorators.DiscreteColourDecorator.<init>(Unknown Source)
at figtree.treeviewer.decorators.HSBDiscreteColourDecorator.<init>(Unknown Source)
at figtree.treeviewer.AttributeColourController.getDecoratorForAttribute(Unknown Source)
at figtree.treeviewer.AttributeColourController.getColourDecorator(Unknown Source)
at figtree.treeviewer.painters.LegendPainterController$1.attributeComboChanged(Unknown Source)
at figtree.treeviewer.painters.AttributeComboHelper.fireAttributeSelectionChanged(Unknown Source)
at figtree.treeviewer.painters.AttributeComboHelper.access$200(Unknown Source)
at figtree.treeviewer.painters.AttributeComboHelper$2.actionPerformed(Unknown Source)
at javax.swing.JComboBox.fireActionEvent(JComboBox.java:1258)
at javax.swing.JComboBox.setSelectedItem(JComboBox.java:586)
at figtree.treeviewer.painters.AttributeComboHelper$1.treeChanged(Unknown Source)
at figtree.treeviewer.DefaultTreeViewer.fireTreeChanged(Unknown Source)
at figtree.treeviewer.DefaultTreeViewer.showTree(Unknown Source)
at figtree.treeviewer.ExtendedTreeViewer.showTree(Unknown Source)
at figtree.treeviewer.DefaultTreeViewer.setTrees(Unknown Source)
at figtree.application.FigTreeApplication.createGraphic(Unknown Source)
at figtree.application.FigTreeApplication.main(Unknown Source)