X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Frenderer%2Fseqfeatures%2FFeatureRenderer.java;h=13885b45370b005378ac348fdbf7edca256bc3a2;hb=5143fe21d91fa16c40be42cc0923be0d6f2f6536;hp=f16522fcf0931894658a763091bca5213d7b7c44;hpb=f3809a56dd27cd423fc114371aeab3faf9576953;p=jalview.git diff --git a/src/jalview/renderer/seqfeatures/FeatureRenderer.java b/src/jalview/renderer/seqfeatures/FeatureRenderer.java index f16522f..13885b4 100644 --- a/src/jalview/renderer/seqfeatures/FeatureRenderer.java +++ b/src/jalview/renderer/seqfeatures/FeatureRenderer.java @@ -22,7 +22,7 @@ package jalview.renderer.seqfeatures; import jalview.api.AlignViewportI; import jalview.api.FeatureColourI; -import jalview.datamodel.Range; +import jalview.datamodel.ContiguousI; import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceI; import jalview.util.Comparison; @@ -216,7 +216,8 @@ public class FeatureRenderer extends FeatureRendererModel return null; } - if (Comparison.isGap(seq.getCharAt(column))) + // column is 'base 1' but getCharAt is an array index (ie from 0) + if (Comparison.isGap(seq.getCharAt(column - 1))) { /* * returning null allows the colour scheme to provide gap colour @@ -271,7 +272,7 @@ public class FeatureRenderer extends FeatureRendererModel /* * if columns are all gapped, or sequence has no features, nothing to do */ - Range visiblePositions = seq.findPositions(start+1, end+1); + ContiguousI visiblePositions = seq.findPositions(start + 1, end + 1); if (visiblePositions == null || !seq.getFeatures().hasFeatures()) { return null; @@ -303,14 +304,19 @@ public class FeatureRenderer extends FeatureRendererModel List overlaps = seq.getFeatures().findFeatures( visiblePositions.getBegin(), visiblePositions.getEnd(), type); - filterFeaturesForDisplay(overlaps, fc); + if (fc.isSimpleColour()) + { + filterFeaturesForDisplay(overlaps); + } for (SequenceFeature sf : overlaps) { - Color featureColour = fc.getColor(sf); + Color featureColour = getColor(sf, fc); if (featureColour == null) { - // score feature outwith threshold for colouring + /* + * feature excluded by visibility settings, filters, or colour threshold + */ continue; }