public boolean parseFeaturesFile(String file, String type,
boolean autoenabledisplay)
{
- // TODO: test if importing a features file onto an alignment which already
- // has features with links overwrites the original links.
-
- Hashtable featureLinks = new Hashtable();
boolean featuresFile = false;
try
{
- featuresFile = new jalview.io.FeaturesFile(file, type).parse(viewport
- .getAlignment(), alignPanel.seqPanel.seqCanvas
- .getFeatureRenderer().getFeatureColours(), featureLinks,
- true, viewport.applet.getDefaultParameter("relaxedidmatch",
- false));
+ Map<String, Object> colours = alignPanel.seqPanel.seqCanvas
+ .getFeatureRenderer().getFeatureColours();
+ boolean relaxedIdMatching = viewport.applet.getDefaultParameter(
+ "relaxedidmatch", false);
+ featuresFile = new FeaturesFile(file, type).parse(
+ viewport.getAlignment(), colours, true, relaxedIdMatching);
} catch (Exception ex)
{
ex.printStackTrace();
if (featuresFile)
{
- if (featureLinks.size() > 0)
- {
- alignPanel.seqPanel.seqCanvas.getFeatureRenderer().featureLinks = featureLinks;
- }
if (autoenabledisplay)
{
viewport.setShowSequenceFeatures(true);
{
viewport.showAllHiddenColumns();
}
+ viewport.sendSelection();
}
}
else if (source == invertSequenceMenuItem)
{
invertSequenceMenuItem_actionPerformed();
+ // uncomment to slave sequence selections in split frame
+ // viewport.sendSelection();
}
else if (source == invertColSel)
{
viewport.invertColumnSelection();
alignPanel.paintAlignment(true);
+ viewport.sendSelection();
}
else if (source == remove2LeftMenuItem)
{
{
viewport.showAllHiddenColumns();
alignPanel.paintAlignment(true);
+ viewport.sendSelection();
}
else if (source == showSeqs)
{
viewport.showAllHiddenSeqs();
alignPanel.paintAlignment(true);
+ // uncomment if we want to slave sequence selections in split frame
+ // viewport.sendSelection();
}
else if (source == hideColumns)
{
viewport.hideSelectedColumns();
alignPanel.paintAlignment(true);
+ viewport.sendSelection();
}
else if (source == hideSequences
&& viewport.getSelectionGroup() != null)
{
viewport.hideAllSelectedSeqs();
alignPanel.paintAlignment(true);
+ // uncomment if we want to slave sequence selections in split frame
+ // viewport.sendSelection();
}
else if (source == hideAllButSelection)
{
toggleHiddenRegions(false, false);
alignPanel.paintAlignment(true);
+ viewport.sendSelection();
}
else if (source == hideAllSelection)
{
viewport.hideAllSelectedSeqs();
viewport.hideSelectedColumns();
alignPanel.paintAlignment(true);
+ viewport.sendSelection();
}
else if (source == showAllHidden)
{
viewport.showAllHiddenColumns();
viewport.showAllHiddenSeqs();
alignPanel.paintAlignment(true);
+ viewport.sendSelection();
}
else if (source == showGroupConsensus)
{
public String outputFeatures(boolean displayTextbox, String format)
{
String features;
+ FeaturesFile formatter = new FeaturesFile();
if (format.equalsIgnoreCase("Jalview"))
{
- features = new FeaturesFile().printJalviewFormat(viewport
+ features = formatter.printJalviewFormat(viewport
.getAlignment().getSequencesArray(),
getDisplayedFeatureCols());
}
else
{
- features = new FeaturesFile().printGFFFormat(viewport.getAlignment()
+ features = formatter.printGffFormat(viewport.getAlignment()
.getSequencesArray(), getDisplayedFeatureCols());
}
{
// register the association(s) and quit, don't create any windows.
if (StructureSelectionManager.getStructureSelectionManager(applet)
- .setMapping(seqs, chains, pdb.getFile(), protocol) == null)
+ .setMapping(seqs, chains, pdb.getFile(), protocol, null) == null)
{
System.err.println("Failed to map " + pdb.getFile() + " ("
+ protocol + ") to any sequences");