GPL license added
[jalview.git] / src / jalview / datamodel / AlignmentI.java
index 6a1e026..e48ff36 100755 (executable)
@@ -1,6 +1,24 @@
+/*\r
+* Jalview - A Sequence Alignment Editor and Viewer\r
+* Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
+*\r
+* This program is free software; you can redistribute it and/or\r
+* modify it under the terms of the GNU General Public License\r
+* as published by the Free Software Foundation; either version 2\r
+* of the License, or (at your option) any later version.\r
+*\r
+* This program is distributed in the hope that it will be useful,\r
+* but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+* GNU General Public License for more details.\r
+*\r
+* You should have received a copy of the GNU General Public License\r
+* along with this program; if not, write to the Free Software\r
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA\r
+*/\r
+\r
 package jalview.datamodel;\r
 \r
-import jalview.jbgui.*;\r
 import java.util.*;\r
 \r
 /** Data structure to hold and manipulate a multiple sequence alignment\r
@@ -11,6 +29,8 @@ public interface AlignmentI {
   public int         getWidth() ;\r
   public int         getMaxIdLength() ;\r
 \r
+  public boolean isAligned();\r
+\r
   public Vector      getSequences();\r
   public SequenceI   getSequenceAt(int i);\r
 \r
@@ -29,6 +49,8 @@ public interface AlignmentI {
   public void        insertColumns(SequenceI[] seqs, int pos) ;\r
 \r
   public SequenceI   findName(String name) ;\r
+  public SequenceI   findbyDisplayId(String name);\r
+\r
   public int         findIndex(SequenceI s) ;\r
 \r
   // Modifying\r
@@ -42,22 +64,32 @@ public interface AlignmentI {
   // Grouping methods\r
   public SequenceGroup findGroup(int i) ;\r
   public SequenceGroup findGroup(SequenceI s) ;\r
+  public SequenceGroup [] findAllGroups(SequenceI s);\r
   public void          addToGroup(SequenceGroup g, SequenceI s) ;\r
   public void          removeFromGroup(SequenceGroup g,SequenceI s) ;\r
   public void          addGroup(SequenceGroup sg) ;\r
-  public SequenceGroup addGroup() ;\r
   public void          deleteGroup(SequenceGroup g) ;\r
   public Vector        getGroups();\r
+  public void deleteAllGroups();\r
+\r
+  public void          addSuperGroup(SuperGroup sg);\r
+  public void          removeSuperGroup(SuperGroup sg);\r
+  public SuperGroup    getSuperGroup(SequenceGroup sg);\r
 \r
   // Sorting\r
   public void          sortGroups() ;\r
   public void          sortByPID(SequenceI s) ;\r
   public void          sortByID() ;\r
 \r
-  public void          setGapCharacter(String gc);\r
-  public String        getGapCharacter();\r
+  //Annotations\r
+  public void addAnnotation(AlignmentAnnotation aa);\r
+  public void deleteAnnotation(AlignmentAnnotation aa);\r
+  public AlignmentAnnotation [] getAlignmentAnnotation();\r
+\r
+  public void          setGapCharacter(char gc);\r
+  public char          getGapCharacter();\r
 \r
-    public Vector        getAAFrequency();\r
+  public Vector        getAAFrequency();\r
 }\r
 \r
 \r