package jalview.ext.archaeopteryx; import jalview.analysis.TreeBuilder; import jalview.gui.Desktop; import java.awt.Dimension; import org.forester.archaeopteryx.Archaeopteryx; import org.forester.archaeopteryx.MainFrame; import org.forester.phylogeny.Phylogeny; public final class ArchaeopteryxInit { public static MainFrame createInstance(Phylogeny[] aptxTrees) { return createBoundAptxFrame(aptxTrees); } public static MainFrame createInstance(Phylogeny aptxTree) { Phylogeny[] aptxTrees = { aptxTree }; // future possibility to load in // several trees simultaneously return createBoundAptxFrame(aptxTrees); } public static MainFrame createInstance( TreeBuilder calculatedTree) { ArchaeopteryxTreeBuilder aptxTreeBuilder = new ArchaeopteryxTreeBuilder(); Phylogeny aptxTree = aptxTreeBuilder.buildAptxTree(calculatedTree); Phylogeny[] aptxTrees = { aptxTree }; // future possibility to load in // several trees simultaneously return createBoundAptxFrame(aptxTrees); } private static MainFrame createBoundAptxFrame(Phylogeny[] aptxTrees) { MainFrame aptxApp = Archaeopteryx.createApplication(aptxTrees, "_aptx_jalview_configuration_file", null); return bindFrameToJalview(aptxApp); } private static MainFrame bindFrameToJalview(MainFrame aptxApp) { int width = 400; int height = 550; aptxApp.setMinimumSize(new Dimension(width, height)); Desktop.addInternalFrame(aptxApp, "Archaeopteryx Tree View", true, width, height, true, true); return aptxApp; } }