X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fdatamodel%2FAlignment.java;h=10e2766580e9b93626d49e15f965b50b379d717d;hb=393371998dc63a471dbb64ad868bc09188a01c64;hp=8535d84fcd6604f82fcd7de054ad091a7b847b0c;hpb=a4a9f7fe69c9e05052242f693d38cfc6f99fd637;p=jalview.git diff --git a/src/jalview/datamodel/Alignment.java b/src/jalview/datamodel/Alignment.java index 8535d84..10e2766 100755 --- a/src/jalview/datamodel/Alignment.java +++ b/src/jalview/datamodel/Alignment.java @@ -13,6 +13,10 @@ public class Alignment implements AlignmentI protected Vector groups = new Vector(); protected ArrayList superGroup = new ArrayList(); protected char gapCharacter = '-'; + public AlignmentAnnotation [] annotations; + public Conservation conservation; + + public boolean featuresAdded = false; /** Make an alignment from an array of Sequences. * @@ -40,7 +44,6 @@ public class Alignment implements AlignmentI } /** Adds a sequence to the alignment. Recalculates maxLength and size. - * Should put the new sequence in a sequence group!!! * * @param snew */ @@ -55,8 +58,7 @@ public class Alignment implements AlignmentI } /** Adds a sequence to the alignment. Recalculates maxLength and size. - * Should put the new sequence in a sequence group!!! - * + * * @param snew */ public void setSequenceAt(int i,SequenceI snew) { @@ -64,8 +66,6 @@ public class Alignment implements AlignmentI deleteSequence(oldseq); sequences.setElementAt(snew,i); - - ((SequenceGroup)groups.lastElement()).addSequence(snew); } public Vector getGroups() { @@ -507,8 +507,52 @@ public class Alignment implements AlignmentI return false; return true; + } + + public void deleteAnnotation(AlignmentAnnotation aa) + { + int aSize = 1; + if(annotations!=null) + aSize = annotations.length; + + AlignmentAnnotation [] temp = new AlignmentAnnotation [aSize-1]; + + int tIndex = 0; + for (int i = 0; i < aSize; i++) + { + if(annotations[i]==aa) + continue; + + + temp[tIndex] = annotations[i]; + tIndex++; + } + annotations = temp; + + } + + public void addAnnotation(AlignmentAnnotation aa) + { + int aSize = 1; + if(annotations!=null) + aSize = annotations.length+1; + + AlignmentAnnotation [] temp = new AlignmentAnnotation [aSize]; + int i=0; + if (aSize > 1) + for (i = 0; i < aSize-1; i++) + temp[i] = annotations[i]; + + temp[i] = aa; + + annotations = temp; } + public AlignmentAnnotation[] getAlignmentAnnotation() + { + return annotations; + } + }