JAL-1264 fix broken applet build dependencies
authorgmungoc <g.m.carstairs@dundee.ac.uk>
Mon, 30 Mar 2015 15:31:14 +0000 (16:31 +0100)
committergmungoc <g.m.carstairs@dundee.ac.uk>
Mon, 30 Mar 2015 15:31:14 +0000 (16:31 +0100)
src/jalview/analysis/AlignmentUtils.java
src/jalview/analysis/CrossRef.java
src/jalview/analysis/Dna.java
test/jalview/analysis/AlignmentUtilsTests.java
test/jalview/analysis/CrossRefTest.java [deleted file]

index 6f0125d..d8ebc79 100644 (file)
@@ -37,6 +37,7 @@ import jalview.datamodel.AlignedCodon;
 import jalview.datamodel.AlignedCodonFrame;
 import jalview.datamodel.AlignmentAnnotation;
 import jalview.datamodel.AlignmentI;
+import jalview.datamodel.DBRefEntry;
 import jalview.datamodel.Mapping;
 import jalview.datamodel.SearchResults;
 import jalview.datamodel.Sequence;
@@ -54,7 +55,6 @@ import jalview.util.MapList;
  */
 public class AlignmentUtils
 {
-
   /**
    * given an existing alignment, create a new alignment including all, or up to
    * flankSize additional symbols from each sequence's dataset sequence
@@ -282,7 +282,7 @@ public class AlignmentUtils
          * many-to-many, as that would risk mixing species with similar cDNA
          * sequences.
          */
-        if (xrefsOnly && !CrossRef.haveCrossRef(aaSeq, cdnaSeq))
+        if (xrefsOnly && !AlignmentUtils.haveCrossRef(aaSeq, cdnaSeq))
         {
           continue;
         }
@@ -1212,4 +1212,49 @@ public class AlignmentUtils
       }
     }
   }
+
+  /**
+   * Returns true if either sequence has a cross-reference to the other
+   * 
+   * @param seq1
+   * @param seq2
+   * @return
+   */
+  public static boolean haveCrossRef(SequenceI seq1, SequenceI seq2)
+  {
+    return hasCrossRef(seq1, seq2) || hasCrossRef(seq2, seq1);
+  }
+
+  /**
+   * Returns true if seq1 has a cross-reference to seq2. Currently this assumes
+   * that sequence name is structured as Source|AccessId.
+   * 
+   * @param seq1
+   * @param seq2
+   * @return
+   */
+  public static boolean hasCrossRef(SequenceI seq1, SequenceI seq2)
+  {
+    // Method moved here from CrossRef as the latter class has dependencies
+    // which break the applet build
+    if (seq1 == null || seq2 == null)
+    {
+      return false;
+    }
+    String name = seq2.getName();
+    final DBRefEntry[] xrefs = seq1.getDBRef();
+    if (xrefs != null)
+    {
+      for (DBRefEntry xref : xrefs)
+      {
+        String xrefName = xref.getSource() + "|" + xref.getAccessionId();
+        // case-insensitive test, consistent with DBRefEntry.equalRef()
+        if (xrefName.equalsIgnoreCase(name))
+        {
+          return true;
+        }
+      }
+    }
+    return false;
+  }
 }
index eed2d7e..47bd7bc 100644 (file)
@@ -583,49 +583,6 @@ public class CrossRef
   }
 
   /**
-   * Returns true if either sequence has a cross-reference to the other
-   * 
-   * @param seq1
-   * @param seq2
-   * @return
-   */
-  public static boolean haveCrossRef(SequenceI seq1, SequenceI seq2)
-  {
-    return hasCrossRef(seq1, seq2) || hasCrossRef(seq2, seq1);
-  }
-
-  /**
-   * Returns true if seq1 has a cross-reference to seq2. Currently this assumes
-   * that sequence name is structured as Source|AccessId.
-   * 
-   * @param seq1
-   * @param seq2
-   * @return
-   */
-  public static boolean hasCrossRef(SequenceI seq1, SequenceI seq2)
-  {
-    if (seq1 == null || seq2 == null)
-    {
-      return false;
-    }
-    String name = seq2.getName();
-    final DBRefEntry[] xrefs = seq1.getDBRef();
-    if (xrefs != null)
-    {
-      for (DBRefEntry xref : xrefs)
-      {
-        String xrefName = xref.getSource() + "|" + xref.getAccessionId();
-        // case-insensitive test, consistent with DBRefEntry.equalRef()
-        if (xrefName.equalsIgnoreCase(name))
-        {
-          return true;
-        }
-      }
-    }
-    return false;
-  }
-
-  /**
    * precalculate different products that can be found for seqs in dataset and
    * return them.
    * 
index ab606f7..1d5f996 100644 (file)
  */
 package jalview.analysis;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Map;
+
 import jalview.api.AlignViewportI;
-import jalview.bin.Cache;
 import jalview.datamodel.AlignedCodon;
 import jalview.datamodel.AlignedCodonFrame;
 import jalview.datamodel.Alignment;
@@ -42,12 +47,6 @@ import jalview.util.DBRefUtils;
 import jalview.util.MapList;
 import jalview.util.ShiftList;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Map;
-
 public class Dna
 {
   private static final String STOP_X = "X";
@@ -617,14 +616,7 @@ public class Dna
       if (rf != 0)
       {
         final String errMsg = "trimming contigs for incomplete terminal codon.";
-        if (Cache.log != null)
-        {
-          Cache.log.debug(errMsg);
-        }
-        else
-        {
-          System.err.println(errMsg);
-        }
+        System.err.println(errMsg);
         // map and trim contigs to ORF region
         vc = scontigs.length - 1;
         lastnpos = vismapping.shift(lastnpos); // place npos in context of
index bc6a137..71b1bcb 100644 (file)
@@ -810,4 +810,63 @@ public class AlignmentUtilsTests
     assertFalse(ann5.visible);
     assertTrue(ann6.visible); // not sequence-related, not affected
   }
+
+  /**
+   * Tests for the method that checks if one sequence cross-references another
+   */
+  @Test
+  public void testHasCrossRef()
+  {
+    assertFalse(AlignmentUtils.hasCrossRef(null, null));
+    SequenceI seq1 = new Sequence("EMBL|A12345", "ABCDEF");
+    assertFalse(AlignmentUtils.hasCrossRef(seq1, null));
+    assertFalse(AlignmentUtils.hasCrossRef(null, seq1));
+    SequenceI seq2 = new Sequence("UNIPROT|V20192", "ABCDEF");
+    assertFalse(AlignmentUtils.hasCrossRef(seq1, seq2));
+  
+    // different ref
+    seq1.addDBRef(new DBRefEntry("UNIPROT", "1", "v20193"));
+    assertFalse(AlignmentUtils.hasCrossRef(seq1, seq2));
+  
+    // case-insensitive; version number is ignored
+    seq1.addDBRef(new DBRefEntry("UNIPROT", "1", "v20192"));
+    assertTrue(AlignmentUtils.hasCrossRef(seq1, seq2));
+  
+    // right case!
+    seq1.addDBRef(new DBRefEntry("UNIPROT", "1", "V20192"));
+    assertTrue(AlignmentUtils.hasCrossRef(seq1, seq2));
+    // test is one-way only
+    assertFalse(AlignmentUtils.hasCrossRef(seq2, seq1));
+  }
+
+  /**
+   * Tests for the method that checks if either sequence cross-references the
+   * other
+   */
+  @Test
+  public void testHaveCrossRef()
+  {
+    assertFalse(AlignmentUtils.hasCrossRef(null, null));
+    SequenceI seq1 = new Sequence("EMBL|A12345", "ABCDEF");
+    assertFalse(AlignmentUtils.haveCrossRef(seq1, null));
+    assertFalse(AlignmentUtils.haveCrossRef(null, seq1));
+    SequenceI seq2 = new Sequence("UNIPROT|V20192", "ABCDEF");
+    assertFalse(AlignmentUtils.haveCrossRef(seq1, seq2));
+  
+    seq1.addDBRef(new DBRefEntry("UNIPROT", "1", "V20192"));
+    assertTrue(AlignmentUtils.haveCrossRef(seq1, seq2));
+    // next is true for haveCrossRef, false for hasCrossRef
+    assertTrue(AlignmentUtils.haveCrossRef(seq2, seq1));
+  
+    // now the other way round
+    seq1.setDBRef(null);
+    seq2.addDBRef(new DBRefEntry("EMBL", "1", "A12345"));
+    assertTrue(AlignmentUtils.haveCrossRef(seq1, seq2));
+    assertTrue(AlignmentUtils.haveCrossRef(seq2, seq1));
+  
+    // now both ways
+    seq1.addDBRef(new DBRefEntry("UNIPROT", "1", "V20192"));
+    assertTrue(AlignmentUtils.haveCrossRef(seq1, seq2));
+    assertTrue(AlignmentUtils.haveCrossRef(seq2, seq1));
+  }
 }
diff --git a/test/jalview/analysis/CrossRefTest.java b/test/jalview/analysis/CrossRefTest.java
deleted file mode 100644 (file)
index 2ae4afc..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-package jalview.analysis;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import jalview.datamodel.DBRefEntry;
-import jalview.datamodel.Sequence;
-import jalview.datamodel.SequenceI;
-
-import org.junit.Test;
-
-public class CrossRefTest
-{
-
-  /**
-   * Tests for the method that checks if one sequence cross-references another
-   */
-  @Test
-  public void testHasCrossRef()
-  {
-    assertFalse(CrossRef.hasCrossRef(null, null));
-    SequenceI seq1 = new Sequence("EMBL|A12345", "ABCDEF");
-    assertFalse(CrossRef.hasCrossRef(seq1, null));
-    assertFalse(CrossRef.hasCrossRef(null, seq1));
-    SequenceI seq2 = new Sequence("UNIPROT|V20192", "ABCDEF");
-    assertFalse(CrossRef.hasCrossRef(seq1, seq2));
-
-    // different ref
-    seq1.addDBRef(new DBRefEntry("UNIPROT", "1", "v20193"));
-    assertFalse(CrossRef.hasCrossRef(seq1, seq2));
-
-    // case-insensitive; version number is ignored
-    seq1.addDBRef(new DBRefEntry("UNIPROT", "1", "v20192"));
-    assertTrue(CrossRef.hasCrossRef(seq1, seq2));
-
-    // right case!
-    seq1.addDBRef(new DBRefEntry("UNIPROT", "1", "V20192"));
-    assertTrue(CrossRef.hasCrossRef(seq1, seq2));
-    // test is one-way only
-    assertFalse(CrossRef.hasCrossRef(seq2, seq1));
-  }
-
-  /**
-   * Tests for the method that checks if either sequence cross-references the
-   * other
-   */
-  @Test
-  public void testHaveCrossRef()
-  {
-    assertFalse(CrossRef.hasCrossRef(null, null));
-    SequenceI seq1 = new Sequence("EMBL|A12345", "ABCDEF");
-    assertFalse(CrossRef.haveCrossRef(seq1, null));
-    assertFalse(CrossRef.haveCrossRef(null, seq1));
-    SequenceI seq2 = new Sequence("UNIPROT|V20192", "ABCDEF");
-    assertFalse(CrossRef.haveCrossRef(seq1, seq2));
-
-    seq1.addDBRef(new DBRefEntry("UNIPROT", "1", "V20192"));
-    assertTrue(CrossRef.haveCrossRef(seq1, seq2));
-    // next is true for haveCrossRef, false for hasCrossRef
-    assertTrue(CrossRef.haveCrossRef(seq2, seq1));
-
-    // now the other way round
-    seq1.setDBRef(null);
-    seq2.addDBRef(new DBRefEntry("EMBL", "1", "A12345"));
-    assertTrue(CrossRef.haveCrossRef(seq1, seq2));
-    assertTrue(CrossRef.haveCrossRef(seq2, seq1));
-
-    // now both ways
-    seq1.addDBRef(new DBRefEntry("UNIPROT", "1", "V20192"));
-    assertTrue(CrossRef.haveCrossRef(seq1, seq2));
-    assertTrue(CrossRef.haveCrossRef(seq2, seq1));
-  }
-}