Merge branch 'develop' into features/JAL-2295setChimeraAttributes
authorgmungoc <g.m.carstairs@dundee.ac.uk>
Fri, 11 Nov 2016 14:02:39 +0000 (14:02 +0000)
committergmungoc <g.m.carstairs@dundee.ac.uk>
Fri, 11 Nov 2016 14:02:39 +0000 (14:02 +0000)
help/html/features/featuresFormat.html
help/html/features/search.html
src/MCview/PDBChain.java
src/jalview/analysis/AlignSeq.java
src/jalview/schemes/ResidueProperties.java
src/jalview/util/Comparison.java
src/jalview/ws/sifts/SiftsClient.java
test/jalview/bin/CommandLineOperations.java
test/jalview/schemes/ResiduePropertiesTest.java
test/jalview/util/ComparisonTest.java

index ec1e093..fd6b99f 100755 (executable)
     a colour the feature).</p>
 
   <p>
-    If your sequence annotation is already available in GFF Format (see
-    <a href="http://gmod.org/wiki/GFF2">gmod.org/wiki/GFF2</a>), then
-    you can leave it as is, after first adding a line containing only
+    If your sequence annotation is already available in <a href="http://gmod.org/wiki/GFF2">GFF2</a> (http://gmod.org/wiki/GFF2) or
+    <a href="https://github.com/The-Sequence-Ontology/Specifications/blob/master/gff3.md">GFF3</a> 
+    (http://github.com/The-Sequence-Ontology/Specifications/blob/master/gff3.md) format, 
+    then you can leave it as is, after first adding a line containing only
     'GFF' after any Jalview feature colour definitions (<em>this
-      mixed format capability was added in Jalview 2.6</em>). Alternately,
+    mixed format capability was added in Jalview 2.6</em>). Alternately,
     you can use Jalview's own sequence feature annotation format, which
     additionally allows HTML and URLs to be directly attached to each
     piece of annotation.
index 9766782..796d623 100755 (executable)
@@ -73,7 +73,7 @@ td {
     the match. For example, a simple query like &quot;ACDED&quot; would
     match all occurences of that string, but &quot;ACD+ED&quot; matches
     both 'ACDDED' and 'ACDDDDDDDDED'. More usefully, the query
-    &quot;[ILGVMA]{;5,}&quot; would find stretches of small, hydrophobic
+    &quot;[GVATC]{;5,}&quot; would find stretches of small, hydrophobic
     amino acids of at least five residues in length.</p>
   <p>
     The table below describes some of the regular expression syntax:<br>
index 6bc79dc..3c0a1f2 100755 (executable)
@@ -149,7 +149,7 @@ public class PDBChain
         pdbpos++;
       }
 
-      boolean sameResidue = Comparison.compareChars(as.astr1.charAt(i),
+      boolean sameResidue = Comparison.isSameResidue(as.astr1.charAt(i),
               as.astr2.charAt(i), false);
       if (sameResidue)
       {
index f7e8f2e..86bf721 100755 (executable)
@@ -620,7 +620,7 @@ public class AlignSeq
       {
         if ((i + (j * len)) < astr1.length())
         {
-          boolean sameChar = Comparison.compareChars(
+          boolean sameChar = Comparison.isSameResidue(
                   astr1.charAt(i + (j * len)), astr2.charAt(i + (j * len)),
                   false);
           if (sameChar
index f855fde..4d46279 100755 (executable)
@@ -935,7 +935,7 @@ public class ResidueProperties
     hydrophobic.put("D", ZERO);
     hydrophobic.put("N", ZERO);
     hydrophobic.put("S", ZERO);
-    hydrophobic.put("T", ZERO);
+    hydrophobic.put("T", ONE);
     hydrophobic.put("P", ZERO);
   }
 
index 5269d4f..1326647 100644 (file)
@@ -417,8 +417,8 @@ public class Comparison
   }
 
   /**
-   * Compares two chars either case sensitively or case insensitively depending
-   * on the caseSensitive flag
+   * Compares two residues either case sensitively or case insensitively
+   * depending on the caseSensitive flag
    * 
    * @param c1
    *          first char
@@ -428,18 +428,12 @@ public class Comparison
    *          if true comparison will be case sensitive otherwise its not
    * @return
    */
-  public static boolean compareChars(char c1, char c2, boolean caseSensitive)
+  public static boolean isSameResidue(char c1, char c2,
+          boolean caseSensitive)
   {
-    boolean sameCase = (Character.isUpperCase(c1) && Character
-            .isUpperCase(c2))
-            || (Character.isLowerCase(c1) && Character.isLowerCase(c2));
-    if (sameCase)
+    if (caseSensitive)
     {
-      return c1 == c2;
-    }
-    else if (caseSensitive)
-    {
-      return false;
+      return (c1 == c2);
     }
     else
     {
index 5bd0b89..56b80fb 100644 (file)
@@ -1019,7 +1019,7 @@ public class SiftsClient implements SiftsClientI
         {
           if ((i + (j * len)) < seqRes.length())
           {
-            boolean sameChar = Comparison.compareChars(
+            boolean sameChar = Comparison.isSameResidue(
                     seqRes.charAt(i + (j * len)),
                     strRes.charAt(i + (j * len)), false);
             if (sameChar
index b85536e..c79a043 100644 (file)
@@ -34,6 +34,15 @@ import org.testng.annotations.Test;
 
 public class CommandLineOperations
 {
+  private static final int TEST_TIMEOUT = 4500; // Note longer timeout needed on
+                                                // full test run than on
+                                                // individual tests
+
+  private static final int SETUP_TIMEOUT = 9000;
+
+  private static final int MINFILESIZE_SMALL = 2096;
+
+  private static final int MINFILESIZE_BIG = 4096;
 
   private ArrayList<String> successfulCMDs = new ArrayList<String>();
 
@@ -60,6 +69,7 @@ public class CommandLineOperations
       this.process = process;
     }
 
+    @Override
     public void run()
     {
       try
@@ -142,7 +152,7 @@ public class CommandLineOperations
     String cmds = "nodisplay -open examples/uniref50.fa -sortbytree -props FILE -colour zappo "
             + "-jabaws http://www.compbio.dundee.ac.uk/jabaws -nosortbytree -dasserver nickname=www.test.com "
             + "-features examples/testdata/plantfdx.features -annotations examples/testdata/plantfdx.annotations -tree examples/testdata/uniref50_test_tree";
-    Worker worker = jalviewDesktopRunner(true, cmds, 9000);
+    Worker worker = jalviewDesktopRunner(true, cmds, SETUP_TIMEOUT);
     String ln = null;
     while ((ln = worker.getOutputReader().readLine()) != null)
     {
@@ -155,7 +165,7 @@ public class CommandLineOperations
   public void setUpForCommandLineInputOperations() throws IOException
   {
     String cmds = "-open examples/uniref50.fa -noquestionnaire -nousagestats";
-    Worker worker = jalviewDesktopRunner(false, cmds, 9000);
+    Worker worker = jalviewDesktopRunner(false, cmds, SETUP_TIMEOUT);
     String ln = null;
     int count = 0;
     while ((ln = worker.getErrorReader().readLine()) != null)
@@ -204,7 +214,8 @@ public class CommandLineOperations
       worker.process.destroy();
       Assert.fail("Jalview did not exit after "
               + type
-              + " generation (try running test again to verify - timeout at 9000ms). ["
+              + " generation (try running test again to verify - timeout at "
+              + SETUP_TIMEOUT + "ms). ["
               + harg + "]");
     }
     new File(fileName).delete();
@@ -252,36 +263,36 @@ public class CommandLineOperations
   {
     return new Object[][] {
         { "nodisplay -open examples/uniref50.fa", " -eps",
-            "test_uniref50_out.eps", true, 4096, 4000 },
+            "test_uniref50_out.eps", true, MINFILESIZE_BIG, TEST_TIMEOUT },
         { "nodisplay -open examples/uniref50.fa", " -eps",
-            "test_uniref50_out.eps", false, 4096, 4000 },
+            "test_uniref50_out.eps", false, MINFILESIZE_BIG, TEST_TIMEOUT },
         { "nogui -open examples/uniref50.fa", " -eps",
-            "test_uniref50_out.eps", true, 4096, 4000 },
+            "test_uniref50_out.eps", true, MINFILESIZE_BIG, TEST_TIMEOUT },
         { "nogui -open examples/uniref50.fa", " -eps",
-            "test_uniref50_out.eps", false, 4096, 4000 },
+            "test_uniref50_out.eps", false, MINFILESIZE_BIG, TEST_TIMEOUT },
         { "headless -open examples/uniref50.fa", " -eps",
-            "test_uniref50_out.eps", true, 4096, 4000 },
+            "test_uniref50_out.eps", true, MINFILESIZE_BIG, TEST_TIMEOUT },
         { "headless -open examples/uniref50.fa", " -svg",
-            "test_uniref50_out.svg", false, 4096, 3000 },
+            "test_uniref50_out.svg", false, MINFILESIZE_BIG, TEST_TIMEOUT },
         { "headless -open examples/uniref50.fa", " -png",
-            "test_uniref50_out.png", true, 4096, 3000 },
+            "test_uniref50_out.png", true, MINFILESIZE_BIG, TEST_TIMEOUT },
         { "headless -open examples/uniref50.fa", " -html",
-            "test_uniref50_out.html", true, 4096, 3000 },
+            "test_uniref50_out.html", true, MINFILESIZE_BIG, TEST_TIMEOUT },
         { "headless -open examples/uniref50.fa", " -fasta",
-            "test_uniref50_out.mfa", true, 2096, 3000 },
+            "test_uniref50_out.mfa", true, MINFILESIZE_SMALL, TEST_TIMEOUT },
         { "headless -open examples/uniref50.fa", " -clustal",
-            "test_uniref50_out.aln", true, 2096, 3000 },
+            "test_uniref50_out.aln", true, MINFILESIZE_SMALL, TEST_TIMEOUT },
         { "headless -open examples/uniref50.fa", " -msf",
-            "test_uniref50_out.msf", true, 2096, 3000 },
+            "test_uniref50_out.msf", true, MINFILESIZE_SMALL, TEST_TIMEOUT },
         { "headless -open examples/uniref50.fa", " -pileup",
-            "test_uniref50_out.aln", true, 2096, 3000 },
+            "test_uniref50_out.aln", true, MINFILESIZE_SMALL, TEST_TIMEOUT },
         { "headless -open examples/uniref50.fa", " -pir",
-            "test_uniref50_out.pir", true, 2096, 3000 },
+            "test_uniref50_out.pir", true, MINFILESIZE_SMALL, TEST_TIMEOUT },
         { "headless -open examples/uniref50.fa", " -pfam",
-            "test_uniref50_out.pfam", true, 2096, 3000 },
+            "test_uniref50_out.pfam", true, MINFILESIZE_SMALL, TEST_TIMEOUT },
         { "headless -open examples/uniref50.fa", " -blc",
-            "test_uniref50_out.blc", true, 2096, 3000 },
+            "test_uniref50_out.blc", true, MINFILESIZE_SMALL, TEST_TIMEOUT },
         { "headless -open examples/uniref50.fa", " -jalview",
-            "test_uniref50_out.jvp", true, 2096, 3000 }, };
+            "test_uniref50_out.jvp", true, MINFILESIZE_SMALL, TEST_TIMEOUT }, };
   }
 }
index 41d7448..be6a10c 100644 (file)
@@ -1570,7 +1570,7 @@ public class ResiduePropertiesTest
     checkProperty("polar", "YWHRKTSNDEQ-*X");
     checkProperty("positive", "HKR-*");
     checkProperty("proline", "P-*");
-    checkProperty("hydrophobic", "MILVFYWHKCGAC-*X");
+    checkProperty("hydrophobic", "MILVFYWHKTGAC-*X");
   }
 
   /**
index bce34d4..b71c270 100644 (file)
@@ -190,14 +190,14 @@ public class ComparisonTest
   }
 
   @Test(groups = { "Functional" })
-  public void compareCharsTest()
+  public void testIsSameResidue()
   {
-    assertTrue(Comparison.compareChars('a', 'a', false));
-    assertTrue(Comparison.compareChars('a', 'a', true));
-    assertTrue(Comparison.compareChars('A', 'a', false));
-    assertTrue(Comparison.compareChars('a', 'A', false));
+    assertTrue(Comparison.isSameResidue('a', 'a', false));
+    assertTrue(Comparison.isSameResidue('a', 'a', true));
+    assertTrue(Comparison.isSameResidue('A', 'a', false));
+    assertTrue(Comparison.isSameResidue('a', 'A', false));
 
-    assertFalse(Comparison.compareChars('a', 'A', true));
-    assertFalse(Comparison.compareChars('A', 'a', true));
+    assertFalse(Comparison.isSameResidue('a', 'A', true));
+    assertFalse(Comparison.isSameResidue('A', 'a', true));
   }
 }