updated jalview version of dasobert 1.53e client and added Das Sequence Source discov...
[jalview.git] / src / org / biojava / dasobert / feature / FeatureTrack.java
diff --git a/src/org/biojava/dasobert/feature/FeatureTrack.java b/src/org/biojava/dasobert/feature/FeatureTrack.java
new file mode 100644 (file)
index 0000000..42136ee
--- /dev/null
@@ -0,0 +1,113 @@
+/*
+ *                  BioJava development code
+ *
+ * This code may be freely distributed and modified under the
+ * terms of the GNU Lesser General Public Licence.  This should
+ * be distributed with the code.  If you do not have a copy,
+ * see:
+ *
+ *      http://www.gnu.org/copyleft/lesser.html
+ *
+ * Copyright for this code is held jointly by the individual
+ * authors.  These should be listed in @author doc comments.
+ *
+ * For more information on the BioJava project and its aims,
+ * or to join the biojava-l mailing list, visit the home page
+ * at:
+ *
+ *      http://www.biojava.org/
+ * 
+ * Created on Feb 9, 2005
+ *
+ */
+package org.biojava.dasobert.feature;
+
+import java.util.List;
+
+/**
+ * A feature corresponds to a track in Ensembl
+ * 
+ * @author Andreas Prlic
+ *
+ */
+public interface FeatureTrack {
+    
+       
+       public Object clone();
+       
+    /** returns true if the specified sequence position is within the range of this Feature
+     * 
+     * @param seqPosition the position to check
+     * @return true if the position is within the ranges of the segments of this feature
+     */
+    public boolean overlaps(int seqPosition);
+    
+    public  String toString();
+
+    public  void setSource(String s);
+
+    public  String getSource();
+
+    public  void setName(String nam);
+
+    public  String getName();
+
+    public  void setMethod(String methd);
+
+    public  String getMethod();
+
+    public  void setType(String typ);
+
+    public  String getType();
+
+    public  void setNote(String nte);
+
+    public  String getNote();
+
+    public  void setLink(String lnk);
+
+    public  String getLink();
+    
+    public  void setScore(String score);
+    
+    public  String getScore();
+    
+    public void setOrientation(String orientation);
+    
+    public String getOrientation();
+    
+    /** test if two features are equivalent
+     * 
+     * @param feat feature to compare with 
+     * @return true if equivalend
+     */
+    public abstract boolean equals(FeatureTrack feat);
+
+    /** add a segment to this feature
+     * 
+     * @param start position
+     * @param end position 
+     * @param name of feature
+     */
+    public abstract void addSegment(int start, int end, String name);
+
+    public abstract void addSegment(Segment s);
+
+    public abstract List getSegments();
+    
+    /** set the data from the DAS - type - id field
+     * (used for Ontology support)
+     * @param typeID
+     */
+    public void setTypeID(String typeID);
+    
+    /** set the data from the DAS - type - category field
+     * (used for Ontology support)
+     * @param typeCategory
+     */
+    public void setTypeCategory(String typeCategory);
+    
+    public String getTypeID();
+    public String getTypeCategory();
+   
+}
\ No newline at end of file