JAL-1683 replace year/version strings with tokens in source
[jalview.git] / src / jalview / analysis / Dna.java
index 1ce22f2..00793be 100644 (file)
@@ -1,19 +1,21 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  * Jalview 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 3 of the License, or (at your option) any later version.
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
  *  
  * Jalview 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 Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
  * The Jalview Authors are detailed in the 'AUTHORS' file.
  */
 package jalview.analysis;
@@ -126,7 +128,8 @@ public class Dna
     {
       SequenceI newseq = translateCodingRegion(selection[s], seqstring[s],
               viscontigs, codons, gapCharacter,
-              (product != null) ? product[s] : null, false); // possibly anonymous
+              (product != null) ? product[s] : null, false); // possibly
+                                                             // anonymous
       // product
       if (newseq != null)
       {
@@ -422,7 +425,9 @@ public class Dna
    *          Definition of global ORF alignment reference frame
    * @param gapCharacter
    * @return sequence ready to be added to alignment.
-   * @deprecated Use {@link #translateCodingRegion(SequenceI,String,int[],AlignedCodonFrame,char,DBRefEntry,boolean)} instead
+   * @deprecated Use
+   *             {@link #translateCodingRegion(SequenceI,String,int[],AlignedCodonFrame,char,DBRefEntry,boolean)}
+   *             instead
    */
   public static SequenceI translateCodingRegion(SequenceI selection,
           String seqstring, int[] viscontigs, AlignedCodonFrame codons,
@@ -444,7 +449,8 @@ public class Dna
    * @param codons
    *          Definition of global ORF alignment reference frame
    * @param gapCharacter
-   * @param starForStop when true stop codons will translate as '*', otherwise as 'X'  
+   * @param starForStop
+   *          when true stop codons will translate as '*', otherwise as 'X'
    * @return sequence ready to be added to alignment.
    */
   public static SequenceI translateCodingRegion(SequenceI selection,
@@ -507,7 +513,7 @@ public class Dna
             // edit scontigs
             skipint[0] = vismapping.shift(skipint[0]);
             skipint[1] = vismapping.shift(skipint[1]);
-            for (vc = 0; vc < scontigs.length; )
+            for (vc = 0; vc < scontigs.length;)
             {
               if (scontigs[vc + 1] < skipint[0])
               {
@@ -515,16 +521,19 @@ public class Dna
                 vc += 2;
                 continue;
               }
-              if (scontigs[vc]>skipint[1])
+              if (scontigs[vc] > skipint[1])
               {
                 // finished editing so
                 break;
               }
-              // Edit the contig list to include the skipped region which did not translate
+              // Edit the contig list to include the skipped region which did
+              // not translate
               int[] t;
               // from : s1 e1 s2 e2 s3 e3
-              // to s:  s1 e1 s2 k0 k1 e2 s3 e3
-              // list increases by one unless one boundary (s2==k0 or e2==k1) matches, and decreases by one if skipint intersects whole visible contig 
+              // to s: s1 e1 s2 k0 k1 e2 s3 e3
+              // list increases by one unless one boundary (s2==k0 or e2==k1)
+              // matches, and decreases by one if skipint intersects whole
+              // visible contig
               if (scontigs[vc] <= skipint[0])
               {
                 if (skipint[0] == scontigs[vc])
@@ -534,11 +543,11 @@ public class Dna
                   if (scontigs[vc + 1] > skipint[1])
                   {
                     scontigs[vc] = skipint[1];
-                    vc+=2;
+                    vc += 2;
                   }
                   else
                   {
-                    if (scontigs[vc+1]==skipint[1])
+                    if (scontigs[vc + 1] == skipint[1])
                     {
                       // remove the contig
                       t = new int[scontigs.length - 2];
@@ -549,32 +558,38 @@ public class Dna
                       if (vc + 2 < t.length)
                       {
                         System.arraycopy(scontigs, vc + 2, t, vc, t.length
-                              - vc + 2);
+                                - vc + 2);
                       }
-                      scontigs=t;
-                    } else {
+                      scontigs = t;
+                    }
+                    else
+                    {
                       // truncate contig to before the skipint region
-                      scontigs[vc+1] = skipint[0]-1;
-                      vc+=2;
+                      scontigs[vc + 1] = skipint[0] - 1;
+                      vc += 2;
                     }
                   }
                 }
                 else
                 {
                   // scontig starts before start of skipint
-                  if (scontigs[vc+1]<skipint[1]) {
+                  if (scontigs[vc + 1] < skipint[1])
+                  {
                     // skipint truncates end of scontig
-                    scontigs[vc+1] = skipint[0]-1; 
-                    vc+=2;
-                  } else {
+                    scontigs[vc + 1] = skipint[0] - 1;
+                    vc += 2;
+                  }
+                  else
+                  {
                     // divide region to new contigs
                     t = new int[scontigs.length + 2];
-                    System.arraycopy(scontigs, 0, t, 0, vc +1);
-                    t[vc+1] = skipint[0];
-                    t[vc+2] = skipint[1];
-                    System.arraycopy(scontigs, vc + 1, t, vc+3, scontigs.length-(vc+1));
-                    scontigs=t;
-                    vc+=4;
+                    System.arraycopy(scontigs, 0, t, 0, vc + 1);
+                    t[vc + 1] = skipint[0];
+                    t[vc + 2] = skipint[1];
+                    System.arraycopy(scontigs, vc + 1, t, vc + 3,
+                            scontigs.length - (vc + 1));
+                    scontigs = t;
+                    vc += 4;
                   }
                 }
               }
@@ -641,10 +656,15 @@ public class Dna
               protein.toString());
       if (rf != 0)
       {
-        if (jalview.bin.Cache.log!=null) {
-          jalview.bin.Cache.log.debug("trimming contigs for incomplete terminal codon.");
-        } else {
-          System.err.println("trimming contigs for incomplete terminal codon.");
+        if (jalview.bin.Cache.log != null)
+        {
+          jalview.bin.Cache.log
+                  .debug("trimming contigs for incomplete terminal codon.");
+        }
+        else
+        {
+          System.err
+                  .println("trimming contigs for incomplete terminal codon.");
         }
         // map and trim contigs to ORF region
         vc = scontigs.length - 1;
@@ -758,7 +778,8 @@ public class Dna
   private static void transferCodedFeatures(SequenceI dna, SequenceI pep,
           MapList map, Hashtable featureTypes, Hashtable featureGroups)
   {
-    SequenceFeature[] sf = (dna.getDatasetSequence()!=null ? dna.getDatasetSequence() : dna).getSequenceFeatures();
+    SequenceFeature[] sf = (dna.getDatasetSequence() != null ? dna
+            .getDatasetSequence() : dna).getSequenceFeatures();
     Boolean fgstate;
     jalview.datamodel.DBRefEntry[] dnarefs = jalview.util.DBRefUtils
             .selectRefs(dna.getDBRef(),