/*
- * 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.
*
import jalview.api.FeatureRenderer;
import jalview.commands.OrderCommand;
import jalview.datamodel.AlignmentI;
-import jalview.datamodel.Annotation;
import jalview.datamodel.ColumnSelection;
import jalview.datamodel.SequenceCollectionI;
import jalview.datamodel.SequenceFeature;
import jalview.datamodel.SequenceGroup;
import jalview.datamodel.SequenceI;
import jalview.util.MessageManager;
-import jalview.viewmodel.annotationfilter.AnnotationFilterParameter;
-import jalview.viewmodel.annotationfilter.AnnotationFilterParameter.SearchableAnnotationField;
import java.awt.Color;
import java.util.ArrayList;
@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());
}
}
- public static boolean filterAnnotations(Annotation[] annotations,
- AnnotationFilterParameter filterParams, ColumnSelection cs)
- {
- cs.revealAllHiddenColumns();
- cs.clear();
- int count = 0;
- do
- {
- if (annotations[count] != null)
- {
-
- boolean itemMatched = false;
-
- if (filterParams.getThresholdType() == AnnotationFilterParameter.ThresholdType.ABOVE_THRESHOLD
- && annotations[count].value > filterParams
- .getThresholdValue())
- {
- itemMatched = true;
- }
- if (filterParams.getThresholdType() == AnnotationFilterParameter.ThresholdType.BELOW_THRESHOLD
- && annotations[count].value < filterParams
- .getThresholdValue())
- {
- itemMatched = true;
- }
-
- if (filterParams.isFilterAlphaHelix()
- && annotations[count].secondaryStructure == 'H')
- {
- itemMatched = true;
- }
-
- if (filterParams.isFilterBetaSheet()
- && annotations[count].secondaryStructure == 'E')
- {
- itemMatched = true;
- }
-
- if (filterParams.isFilterTurn()
- && annotations[count].secondaryStructure == 'S')
- {
- itemMatched = true;
- }
- String regexSearchString = filterParams.getRegexString();
- if (regexSearchString != null
- && !filterParams.getRegexSearchFields().isEmpty())
- {
- List<SearchableAnnotationField> fields = filterParams
- .getRegexSearchFields();
- try
- {
- if (fields.contains(SearchableAnnotationField.DISPLAY_STRING)
- && annotations[count].displayCharacter
- .matches(regexSearchString))
- {
- itemMatched = true;
- }
- } catch (java.util.regex.PatternSyntaxException pse)
- {
- if (annotations[count].displayCharacter
- .equals(regexSearchString))
- {
- itemMatched = true;
- }
- }
- if (fields.contains(SearchableAnnotationField.DESCRIPTION)
- && annotations[count].description != null
- && annotations[count].description
- .matches(regexSearchString))
- {
- itemMatched = true;
- }
- }
-
- if (itemMatched)
- {
- cs.addElement(count);
- }
- }
- count++;
- } while (count < annotations.length);
- return false;
- }
@Override
public void sortAlignmentByFeatureDensity(String[] typ)