/*
- * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
- * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Copyright (C) 2015 The Jalview Authors
*
* This file is part of Jalview.
*
import jalview.datamodel.SequenceFeature;
import jalview.datamodel.SequenceGroup;
import jalview.datamodel.SequenceI;
+import jalview.io.FeaturesFile;
import jalview.util.MessageManager;
import java.awt.Color;
if (sg != null
&& (cs == null || cs.getSelected() == null || cs.size() == 0))
{
- gps = jalview.analysis.Grouping.makeGroupsFrom(
- viewport.getSequenceSelection(),
- viewport.getAlignmentView(true).getSequenceStrings(
- viewport.getGapCharacter()), viewport.getAlignment()
- .getGroups());
- } else {
- if (cs!=null) {
+ gps = jalview.analysis.Grouping.makeGroupsFrom(viewport
+ .getSequenceSelection(), viewport.getAlignmentView(true)
+ .getSequenceStrings(viewport.getGapCharacter()), viewport
+ .getAlignment().getGroups());
+ }
+ else
+ {
+ if (cs != null)
+ {
gps = jalview.analysis.Grouping.makeGroupsFromCols(
(sg == null) ? viewport.getAlignment().getSequencesArray()
: sg.getSequences().toArray(new SequenceI[0]), cs,
viewport.getAlignment().getGroups());
}
}
- if (gps!=null) {
+ if (gps != null)
+ {
viewport.getAlignment().deleteAllGroups();
viewport.clearSequenceColours();
viewport.setSelectionGroup(null);
}
viewport.setColumnSelection(cs);
alignPanel.paintAlignment(true);
- avcg.setStatus(MessageManager.formatMessage("label.view_controller_toggled_marked",
- new String[]{
- (toggle ? MessageManager.getString("label.toggled") : MessageManager.getString("label.marked")),
- (invert ? (Integer.valueOf((alw - alStart) - bs.cardinality()).toString()):(Integer.valueOf(bs.cardinality()).toString())),
- featureType, Integer.valueOf(nseq).toString()
- }));
+ avcg.setStatus(MessageManager.formatMessage(
+ "label.view_controller_toggled_marked",
+ new String[] {
+ (toggle ? MessageManager.getString("label.toggled")
+ : MessageManager.getString("label.marked")),
+ (invert ? (Integer.valueOf((alw - alStart)
+ - bs.cardinality()).toString()) : (Integer
+ .valueOf(bs.cardinality()).toString())),
+ featureType, Integer.valueOf(nseq).toString() }));
return true;
}
else
{
- avcg.setStatus(MessageManager.formatMessage("label.no_feature_of_type_found", new String[]{featureType}));
+ avcg.setStatus(MessageManager.formatMessage(
+ "label.no_feature_of_type_found",
+ new String[] { featureType }));
if (!extendCurrent && cs != null)
{
cs.clear();
}
}
-
-
@Override
public void sortAlignmentByFeatureDensity(String[] typ)
{
FeatureRenderer fr = alignPanel.getFeatureRenderer();
if (typ == null)
{
- typ = fr==null ? null : fr.getDisplayedFeatureTypes();
+ typ = fr == null ? null : fr.getDisplayedFeatureTypes();
}
String gps[] = null;
- gps = fr==null ? null : fr.getDisplayedFeatureGroups();
+ gps = fr == null ? null : fr.getDisplayedFeatureGroups();
if (typ != null)
{
ArrayList types = new ArrayList();
{
sortBy(typ, "Sort by Feature Score", AlignmentSorter.FEATURE_SCORE);
}
+
+ @Override
+ public boolean parseFeaturesFile(String file, String protocol,
+ boolean relaxedIdMatching)
+ {
+ boolean featuresFile = false;
+ try
+ {
+ featuresFile = new FeaturesFile(file, protocol).parse(viewport
+ .getAlignment().getDataset(), alignPanel.getFeatureRenderer()
+ .getFeatureColours(), false, relaxedIdMatching);
+ } catch (Exception ex)
+ {
+ ex.printStackTrace();
+ }
+
+ if (featuresFile)
+ {
+ avcg.refreshFeatureUI(true);
+ if (alignPanel.getFeatureRenderer() != null)
+ {
+ // update the min/max ranges where necessary
+ alignPanel.getFeatureRenderer().findAllFeatures(true);
+ }
+ if (avcg.getFeatureSettingsUI() != null)
+ {
+ avcg.getFeatureSettingsUI().discoverAllFeatureData();
+ }
+ alignPanel.paintAlignment(true);
+ }
+
+ return featuresFile;
+
+ }
}