/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
*
* This file is part of Jalview.
*
@Override
public boolean makeGroupsFromSelection()
{
-
- if (viewport.getSelectionGroup() != null)
+ SequenceGroup sg = viewport.getSelectionGroup();
+ ColumnSelection cs = viewport.getColumnSelection();
+ SequenceGroup[] gps = null;
+ if (sg != null
+ && (cs == null || cs.getSelected() == null || cs.size() == 0))
{
- SequenceGroup[] gps = jalview.analysis.Grouping.makeGroupsFrom(
+ 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) {
viewport.getAlignment().deleteAllGroups();
viewport.clearSequenceColours();
viewport.setSelectionGroup(null);
int tfeat = 0;
if (sq != null)
{
- SequenceI dsq = sq.getDatasetSequence();
- while (dsq.getDatasetSequence() != null)
- {
- dsq = dsq.getDatasetSequence();
- }
- ;
- SequenceFeature[] sf = dsq.getSequenceFeatures();
+ SequenceFeature[] sf = sq.getSequenceFeatures();
if (sf != null)
{
int ist = sq.findIndex(sq.getStart());