Source code: jalview/annotation/SeqFeatureI.java
1 package jalview.annotation;
2
3 import jalview.seq.SequenceI;
4
5 public interface SeqFeatureI {
6
7 /**
8 * Returns the name of the feature
9 */
10 public String getName();
11
12 /** Sets the name of the feature
13 *
14 * @param name The name of the feature
15 */
16 public void setName(String name);
17
18 /**
19 * Returns the start coordinate of the feature
20 */
21 public long getStart();
22
23 /**
24 * Sets the start coordinate of the feature
25 *
26 * @param start The start coordinate of the feature
27 */
28 public void setStart(long start);
29
30 /**
31 * Returns the end coordinate of the feature
32 *
33 */
34 public long getEnd();
35
36 /**
37 * Sets the end coordinate of the feature
38 *
39 * @param end The end coordinate of the feature
40 */
41 public void setEnd(long end);
42
43 /**
44 * Returns the underlying sequence that the feature refers to
45 *
46 * @return <code>SequenceI</code>
47 */
48 public SequenceI getSequenceI();
49
50 /**
51 * Sets the underlying sequence that the feature refers to
52 *
53 * @param sequence The sequence the feature refers to
54 */
55 public void setSequenceI(SequenceI sequence);
56
57 /**
58 * Returns the parent reference feature (for nested features)
59 */
60 public SeqFeatureI getRefFeature();
61
62 /**
63 * Sets the reference parent feature
64 *
65 * @param SeqFeatureI The reference sequence
66 */
67 public void setRefFeature(SeqFeatureI refFeature);
68
69 /**
70 * Returns a set of features that this feature produces
71 * from its sub features. For instances this could be
72 * a set of coding exons from an mRNA
73 */
74 public FeatureSetI getProducedFeatures();
75
76 /**
77 * Sets the features that are produced by this feature
78 *
79 * @param FeatureSetI The set of produced features
80 */
81 public void setProducedFeatures(FeatureSetI producedFeatures);
82
83 /**
84 * Returns the strand of the feature
85 *
86 * @return <code>1</code> or <code>-1</code> for forward
87 * and reverse strands
88 */
89 public int getStrand();
90
91 /**
92 * Sets the strand of the feature
93 *
94 * @param strand 1 or -1 for forward and reverse strand
95 */
96 public void setStrand(int strand);
97
98 /**
99 * Returns the type string of the feature.
100 * This is used as a more understandable replacement
101 * for the gff column source_tag
102 */
103 public String getType();
104
105 /**
106 * Sets the type string of the feature.
107 * This is where the gff source_tag value should go.
108 *
109 * @param type The type string of the feature
110 */
111 public void setType(String type);
112
113 /**
114 * Returns the score of the feature
115 */
116 public double getScore();
117
118 /**
119 * Sets the score of the feature.
120 *
121 * @param score The score of the feature
122 */
123 public void setScore(double score);
124
125 /**
126 * Returns whether a supplied feature overlaps
127 * with the current feature
128 *
129 * @param feature The feature to test the overlap with
130 */
131 public boolean overlaps(SeqFeatureI feature);
132
133 /**
134 * Returns detailed information if the supplied
135 * feature overlaps with this feature.
136 *
137 * @param feature The test feature
138 * @return OverlapI Detailed overlap information.
139 */
140 public OverlapI findOverlap(SeqFeatureI feature);
141
142 }
143
144
145