From 4e77a2d1581819e35ba9e186324c522f1e4b0a25 Mon Sep 17 00:00:00 2001 From: gmungoc Date: Mon, 5 Jun 2017 09:41:02 +0100 Subject: [PATCH] JAL-2505 explicit (and final) contactFeature property --- src/jalview/datamodel/SequenceFeature.java | 29 +++++++++++++--------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/src/jalview/datamodel/SequenceFeature.java b/src/jalview/datamodel/SequenceFeature.java index 045bbbd..25dfc40 100755 --- a/src/jalview/datamodel/SequenceFeature.java +++ b/src/jalview/datamodel/SequenceFeature.java @@ -58,9 +58,9 @@ public class SequenceFeature implements FeatureLocationI private static final String ATTRIBUTES = "ATTRIBUTES"; /* - * type, begin, end, featureGroup are final to ensure that - * the integrity of SequenceFeatures data store can't be - * broken by direct update of these fields + * type, begin, end, featureGroup and contactFeature are final + * to ensure that the integrity of SequenceFeatures data store + * can't be broken by direct update of these fields */ public final String type; @@ -72,6 +72,8 @@ public class SequenceFeature implements FeatureLocationI public final float score; + private final boolean contactFeature; + public String description; /* @@ -107,12 +109,7 @@ public class SequenceFeature implements FeatureLocationI public SequenceFeature(String theType, String theDesc, int theBegin, int theEnd, String group) { - this.type = theType; - this.description = theDesc; - this.begin = theBegin; - this.end = theEnd; - this.featureGroup = group; - this.score = NO_SCORE; + this(theType, theDesc, theBegin, theEnd, NO_SCORE, group); } /** @@ -134,6 +131,12 @@ public class SequenceFeature implements FeatureLocationI this.end = theEnd; this.featureGroup = group; this.score = theScore; + + /* + * for now, only "Disulfide/disulphide bond" is treated as a contact feature + */ + this.contactFeature = "disulfide bond".equalsIgnoreCase(type) + || "disulphide bond".equalsIgnoreCase(type); } /** @@ -504,13 +507,7 @@ public class SequenceFeature implements FeatureLocationI @Override public boolean isContactFeature() { - // TODO abstract one day to a FeatureType class - if ("disulfide bond".equalsIgnoreCase(type) - || "disulphide bond".equalsIgnoreCase(type)) - { - return true; - } - return false; + return contactFeature; } /** -- 1.7.10.2