merge from 2_4_Release branch
[jalview.git] / src / jalview / datamodel / Mapping.java
index 835400e..c7e359b 100644 (file)
@@ -1,3 +1,21 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4)
+ * Copyright (C) 2008 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
+ * 
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * 
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+ */
 package jalview.datamodel;
 
 import java.util.Vector;
@@ -34,16 +52,16 @@ public class Mapping
    * create a new mapping from
    * 
    * @param to
-   *          the sequence being mapped
+   *                the sequence being mapped
    * @param exon
-   *          int[] {start,end,start,end} series on associated sequence
+   *                int[] {start,end,start,end} series on associated sequence
    * @param is
-   *          int[] {start,end,...} ranges on the reference frame being mapped
-   *          to
+   *                int[] {start,end,...} ranges on the reference frame being
+   *                mapped to
    * @param i
-   *          step size on associated sequence
+   *                step size on associated sequence
    * @param j
-   *          step size on mapped frame
+   *                step size on mapped frame
    */
   public Mapping(SequenceI to, int[] exon, int[] is, int i, int j)
   {
@@ -78,7 +96,7 @@ public class Mapping
 
   /**
    * @param map
-   *          the map to set
+   *                the map to set
    */
   public void setMap(MapList map)
   {
@@ -131,7 +149,7 @@ public class Mapping
    * gets boundary in direction of mapping
    * 
    * @param position
-   *          in mapped reference frame
+   *                in mapped reference frame
    * @return int{start, end} positions in associated sequence (in direction of
    *         mapped word)
    */
@@ -219,7 +237,7 @@ public class Mapping
       if (map != null)
       {
         int[] frange = map.locateInFrom(f.getBegin(), f.getEnd());
-        if (frange==null)
+        if (frange == null)
         {
           // JBPNote - this isprobably not the right thing to doJBPHack
           return null;
@@ -231,7 +249,7 @@ public class Mapping
           vf[v].setBegin(frange[i]);
           vf[v].setEnd(frange[i + 1]);
           if (frange.length > 2)
-            vf[v].setDescription(f.getDescription() + "\nPart " + (v+1));
+            vf[v].setDescription(f.getDescription() + "\nPart " + (v + 1));
         }
         return vf;
       }
@@ -347,7 +365,8 @@ public class Mapping
       for (int vc = 0; vc < viscontigs.length; vc += 2)
       {
         // find a mapped range in this visible region
-        int[] mpr = locateMappedRange(1+viscontigs[vc], viscontigs[vc + 1]-1);
+        int[] mpr = locateMappedRange(1 + viscontigs[vc],
+                viscontigs[vc + 1] - 1);
         if (mpr != null)
         {
           for (int m = 0; m < mpr.length; m += 2)
@@ -363,49 +382,58 @@ public class Mapping
           }
         }
       }
-      int[] from = new int[fromRange.size()*2];
-      int[] to = new int[toRange.size()*2];
+      int[] from = new int[fromRange.size() * 2];
+      int[] to = new int[toRange.size() * 2];
       int[] r;
-      for (int f=0,fSize=fromRange.size(); f<fSize; f++)
+      for (int f = 0, fSize = fromRange.size(); f < fSize; f++)
       {
         r = (int[]) fromRange.elementAt(f);
-        from[f*2] = r[0];
-        from[f*2+1] = r[1];
+        from[f * 2] = r[0];
+        from[f * 2 + 1] = r[1];
       }
-      for (int f=0,fSize=toRange.size(); f<fSize; f++)
+      for (int f = 0, fSize = toRange.size(); f < fSize; f++)
       {
         r = (int[]) toRange.elementAt(f);
-        to[f*2] = r[0];
-        to[f*2+1] = r[1];
+        to[f * 2] = r[0];
+        to[f * 2 + 1] = r[1];
       }
-      copy.setMap(new MapList(from, to, map.getFromRatio(), map.getToRatio()));
+      copy.setMap(new MapList(from, to, map.getFromRatio(), map
+              .getToRatio()));
     }
     return copy;
   }
+
   public static void main(String[] args)
   {
     /**
-     * trite test of the intersectVisContigs method
-     * for a simple DNA -> Protein exon map and a range of visContigs
+     * trite test of the intersectVisContigs method for a simple DNA -> Protein
+     * exon map and a range of visContigs
      */
-    MapList fk = new MapList(new int[] { 1,6,8,13,15,23}, new int[] { 1,7}, 3, 1);
+    MapList fk = new MapList(new int[]
+    { 1, 6, 8, 13, 15, 23 }, new int[]
+    { 1, 7 }, 3, 1);
     Mapping m = new Mapping(fk);
-    Mapping m_1 = m.intersectVisContigs(new int[] {fk.getFromLowest(), fk.getFromHighest()});
-    Mapping m_2 = m.intersectVisContigs(new int[] {1,7,11,20});
-    System.out.println(""+m_1.map.getFromRanges());
-    
-    
+    Mapping m_1 = m.intersectVisContigs(new int[]
+    { fk.getFromLowest(), fk.getFromHighest() });
+    Mapping m_2 = m.intersectVisContigs(new int[]
+    { 1, 7, 11, 20 });
+    System.out.println("" + m_1.map.getFromRanges());
+
   }
+
   /**
    * get the sequence being mapped to - if any
+   * 
    * @return null or a dataset sequence
    */
   public SequenceI getTo()
   {
     return to;
   }
+
   /**
    * set the dataset sequence being mapped to if any
+   * 
    * @param tto
    */
   public void setTo(SequenceI tto)
@@ -413,7 +441,9 @@ public class Mapping
     to = tto;
   }
 
-  /* (non-Javadoc)
+  /*
+   * (non-Javadoc)
+   * 
    * @see java.lang.Object#finalize()
    */
   protected void finalize() throws Throwable
@@ -422,5 +452,5 @@ public class Mapping
     to = null;
     super.finalize();
   }
-  
+
 }