// private key for Phase designed not to conflict with real GFF data
private static final String PHASE = "!Phase";
+ // private key for feature number designed not to conflict with real GFF data
+ private static final String NUMBER = "!Num";
+
/*
* ATTRIBUTES is reserved for the GFF 'column 9' data, formatted as
* name1=value1;name2=value2,value3;...etc
}
/**
+ * Set the ordinal number of this feature on the sequence
+ *
+ * @param num
+ */
+ public void setFeatureNumber(int num)
+ {
+ setValue(NUMBER, String.valueOf(num));
+ }
+
+ /**
+ * Returns the feature number if set, else 0. Intended for use as the ordinal
+ * position of the feature on the sequence for features of the same type.
+ *
+ * @return
+ */
+ public int getFeatureNumber()
+ {
+ try
+ {
+ return Integer.parseInt((String) getValue(NUMBER));
+ } catch (Exception e)
+ {
+ // property absent or not numeric
+ return 0;
+ }
+ }
+
+ /**
* Readable representation, for debug only, not guaranteed not to change
* between versions
*/