package jalview.ext.archaeopteryx;
import jalview.analysis.TreeBuilder;
+import jalview.bin.Cache;
import jalview.datamodel.SequenceI;
import jalview.ext.treeviewer.ExternalTreeBuilderI;
import jalview.ext.treeviewer.ExternalTreeViewerBindingI;
*/
public final class AptxInit
{
- private final static Configuration APTX_CONFIG = new Configuration(
- "_aptx_jalview_configuration_file",
- false, false, false);
-
- private final static boolean VALIDATE_PHYLOXML_XSD = APTX_CONFIG
- .isValidatePhyloXmlAgainstSchema();
-
- private final static boolean REPLACE_NHX_UNDERSCORES = APTX_CONFIG
- .isReplaceUnderscoresInNhParsing();
-
- private final static boolean INTERNAL_NUMBERS_AS_CONFIDENCE = APTX_CONFIG
- .isInternalNumberAreConfidenceForNhParsing();
-
- private final static boolean MIDPOINT_REROOT = APTX_CONFIG
- .isMidpointReroot();
-
- private final static NHXParser.TAXONOMY_EXTRACTION TAXONOMY_EXTRACTION = APTX_CONFIG
- .getTaxonomyExtraction();
private static Map<MainFrame, JalviewBinding> activeAptx = new HashMap<>();
AlignmentViewport viewport)
throws FileNotFoundException, IOException
{
+ Configuration APTX_CONFIG = new Configuration(Cache.getDefault(
+ "APTXCONFIG",
+ Desktop.instance.getClass()
+ .getResource("/_aptx_jalview_configuration_file.txt")
+ .toString()),
+ false, false, false);
File treeFile = new File(filePath);
final String err = ForesterUtil.isReadableFile(treeFile);
if (!ForesterUtil.isEmpty(err))
}
boolean nhx_or_nexus = false;
final PhylogenyParser parser = ParserUtils.createParserDependingOnFileType(
- treeFile, VALIDATE_PHYLOXML_XSD);
+ treeFile,
+ APTX_CONFIG.isValidatePhyloXmlAgainstSchema());
if (parser instanceof NHXParser)
{
nhx_or_nexus = true;
final NHXParser nhx = (NHXParser) parser;
- nhx.setReplaceUnderscores(REPLACE_NHX_UNDERSCORES);
+ nhx.setReplaceUnderscores(
+ APTX_CONFIG.isReplaceUnderscoresInNhParsing());
nhx.setIgnoreQuotes(false);
- nhx.setTaxonomyExtraction(TAXONOMY_EXTRACTION);
+ nhx.setTaxonomyExtraction(APTX_CONFIG.getTaxonomyExtraction());
}
else if (parser instanceof NexusPhylogeniesParser)
{
nhx_or_nexus = true;
final NexusPhylogeniesParser nex = (NexusPhylogeniesParser) parser;
- nex.setReplaceUnderscores(REPLACE_NHX_UNDERSCORES);
+ nex.setReplaceUnderscores(
+ APTX_CONFIG.isReplaceUnderscoresInNhParsing());
nex.setIgnoreQuotes(false);
}
else if (parser instanceof PhyloXmlParser)
{
- if (VALIDATE_PHYLOXML_XSD == false)
+ if (APTX_CONFIG.isValidatePhyloXmlAgainstSchema() == false)
{
JvOptionPane.showInternalMessageDialog(Desktop.desktop,
MessageManager.getString("error.phyloxml_validation"),
{
Phylogeny tree = trees[i];
- if (nhx_or_nexus && INTERNAL_NUMBERS_AS_CONFIDENCE)
+ if (nhx_or_nexus
+ && APTX_CONFIG.isInternalNumberAreConfidenceForNhParsing())
{
PhylogenyMethods.transferInternalNodeNamesToConfidence(tree, "");
}
AlignmentViewport viewport)
throws FileNotFoundException, IOException, RuntimeException
{
-
+ Configuration APTX_CONFIG = new Configuration(Cache.getDefault(
+ "APTXCONFIG",
+ Desktop.instance.getClass()
+ .getResource("/_aptx_jalview_configuration_file.txt")
+ .toString()),
+ false, false, false);
String treeTitle = treeUrl.getFile();
if (Desktop.instance != null)
{
Desktop.instance.startLoading(treeTitle);
}
Phylogeny[] trees = AptxUtil.readPhylogeniesFromUrl(treeUrl,
- VALIDATE_PHYLOXML_XSD,
- REPLACE_NHX_UNDERSCORES, INTERNAL_NUMBERS_AS_CONFIDENCE,
- TAXONOMY_EXTRACTION, MIDPOINT_REROOT);
+ APTX_CONFIG.isValidatePhyloXmlAgainstSchema(),
+ APTX_CONFIG.isReplaceUnderscoresInNhParsing(),
+ APTX_CONFIG.isInternalNumberAreConfidenceForNhParsing(),
+ APTX_CONFIG.getTaxonomyExtraction(),
+ APTX_CONFIG.isMidpointReroot());
MainFrame[] aptxFrames = new MainFrame[trees.length];
for (int i = 0; i < trees.length; i++)
PhylogeniesWebserviceClient treeDbClient, String identifier,
AlignmentViewport viewport)
{
-
+ Configuration APTX_CONFIG = new Configuration(Cache.getDefault(
+ "APTXCONFIG",
+ Desktop.instance.getClass()
+ .getResource("/_aptx_jalview_configuration_file.txt")
+ .toString()),
+ false, false, false);
URL url = null;
Phylogeny[] trees = null;
final Phylogeny aptxTree,
final AlignmentViewport jalviewAlignport, String treeTitle)
{
+ Configuration APTX_CONFIG = new Configuration(Cache.getDefault(
+ "APTXCONFIG",
+ Desktop.instance.getClass()
+ .getResource("/_aptx_jalview_configuration_file.txt")
+ .toString()),
+ false, false, false);
if (APTX_CONFIG == null || APTX_CONFIG.isCouldReadConfigFile() == false)
{
int keepGoing = JvOptionPane.showConfirmDialog(Desktop.desktop,
MainFrame aptxApp = Archaeopteryx.createApplication(aptxTree,
APTX_CONFIG, treeTitle);
- adaptAptxGui(aptxApp);
+
LoadedTreeSequenceAssociation bindAptxNodes = new LoadedTreeSequenceAssociation(
jalviewAlignport.getAlignment().getSequencesArray(), aptxTree);
bindAptxNodes.associateLeavesToSequences();
bindAptxNodes.getNodesWithAlignment());
bindTreeViewFrameToJalview(aptxApp);
+ adaptAptxGui(aptxApp);
return aptxApp;
}
else if (menu.getText().contains("View"))
{
menu.addSeparator();
- menu.add(new JMenuItem("Sort alignment by tree"));
+ JMenuItem sortByTree = new JMenuItem("Sort alignment by tree");
+ JMenuItem refreshJalview = new JMenuItem(
+ "Filter alignment to show only currently visible sequences");
+
+ refreshJalview.setFont(menu.getFont());
+
+ menu.add(sortByTree);
+ menu.add(refreshJalview);
+
+ sortByTree.setFont(menu.getFont());
+ sortByTree.setVisible(false); // don't show unless it's actually
+ // possible
+
+ refreshJalview.addActionListener(activeAptx.get(aptxFrame));
+
+
}
}