SequenceMapping updated
authoramwaterhouse <Andrew Waterhouse>
Tue, 29 Aug 2006 15:21:39 +0000 (15:21 +0000)
committeramwaterhouse <Andrew Waterhouse>
Tue, 29 Aug 2006 15:21:39 +0000 (15:21 +0000)
src/jalview/datamodel/AlignmentAnnotation.java

index 62de696..470497e 100755 (executable)
@@ -262,7 +262,9 @@ public class AlignmentAnnotation
        * @param seqRef
        * @param startRes
        */
-      public void createSequenceMapping(SequenceI seqRef, int startRes)
+      public void createSequenceMapping(SequenceI seqRef,
+                                        int startRes,
+                                        boolean alreadyMapped)
       {
         if(seqRef == null)
           return;
@@ -270,30 +272,22 @@ public class AlignmentAnnotation
         sequenceMapping = new java.util.Hashtable();
 
         sequenceRef = seqRef;
-
-        if(startRes < sequenceRef.getStart())
-          startRes = sequenceRef.getStart();
-
         int seqPos;
 
-        int fileOffset = 0;
-        if(startRes > sequenceRef.getStart())
-        {
-          fileOffset = startRes - sequenceRef.getStart();
-        }
-
         for(int i = 0; i < annotations.length; i++)
         {
-            seqPos = sequenceRef.findPosition(i + fileOffset);
             if (annotations[i] != null)
             {
-              sequenceMapping.put(new Integer(seqPos),
-                  annotations[i]);
+              if(alreadyMapped)
+                seqPos = seqRef.findPosition(i);
+              else
+                seqPos = i+startRes;
+
+              sequenceMapping.put(new Integer(seqPos), annotations[i]);
             }
          }
 
         adjustForAlignment();
-
       }
 
       public void adjustForAlignment()