JAL-1673 additional test (and trim of PDB resnum value)
authorgmungoc <g.m.carstairs@dundee.ac.uk>
Fri, 20 Feb 2015 17:22:19 +0000 (17:22 +0000)
committergmungoc <g.m.carstairs@dundee.ac.uk>
Fri, 20 Feb 2015 17:22:19 +0000 (17:22 +0000)
src/MCview/Atom.java
test/jalview/io/AnnotatedPDBFileInputTest.java

index 9254fd8..fdca7c2 100755 (executable)
@@ -20,7 +20,7 @@
  */
 package MCview;
 
-import java.awt.*;
+import java.awt.Color;
 
 public class Atom
 {
@@ -77,16 +77,16 @@ public class Atom
     chain = str.substring(21, 22);
 
     resNumber = Integer.parseInt(str.substring(22, 26).trim());
-    resNumIns = str.substring(22, 27);
+    resNumIns = str.substring(22, 27).trim();
     insCode = str.substring(26, 27).charAt(0);
-    this.x = (float) (new Float(str.substring(30, 38).trim()).floatValue());
-    this.y = (float) (new Float(str.substring(38, 46).trim()).floatValue());
-    this.z = (float) (new Float(str.substring(47, 55).trim()).floatValue());
+    this.x = (new Float(str.substring(30, 38).trim()).floatValue());
+    this.y = (new Float(str.substring(38, 46).trim()).floatValue());
+    this.z = (new Float(str.substring(47, 55).trim()).floatValue());
     // optional entries - see JAL-730
     String tm = str.substring(54, 60).trim();
     if (tm.length() > 0)
     {
-      occupancy = (float) (new Float(tm)).floatValue();
+      occupancy = (new Float(tm)).floatValue();
     }
     else
     {
@@ -96,7 +96,7 @@ public class Atom
     tm = str.substring(60, 66).trim();
     if (tm.length() > 0)
     {
-      tfactor = (float) (new Float(tm).floatValue());
+      tfactor = (new Float(tm).floatValue());
     }
     else
     {
index 30b6d55..29d5549 100644 (file)
@@ -7,8 +7,12 @@ import static org.junit.Assert.assertTrue;
 import jalview.datamodel.AlignmentAnnotation;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.PDBEntry;
+import jalview.datamodel.SequenceFeature;
 import jalview.datamodel.SequenceI;
 import jalview.gui.AlignFrame;
+import jalview.gui.Desktop;
+import jalview.structure.StructureMapping;
+import jalview.structure.StructureSelectionManager;
 
 import java.io.File;
 import java.util.Vector;
@@ -73,6 +77,48 @@ public class AnnotatedPDBFileInputTest
     }
   }
 
+  /**
+   * Check sequence features have been added
+   */
+  @Test
+  public void checkPDBSequenceFeatures()
+  {
+    StructureSelectionManager ssm = StructureSelectionManager
+            .getStructureSelectionManager(Desktop.instance);
+    StructureMapping[] mappings = ssm.getMapping("1gaq");
+    // suspect we really want to make assertions on sequence features
+    // in these mappings' sequencess
+    /*
+     * 1GAQ/A
+     */
+    SequenceFeature[] sf = al.getSequenceAt(0).getSequenceFeatures();
+    assertEquals(296, sf.length);
+    assertEquals("RESNUM", sf[0].getType());
+    assertEquals("GLU:19 1gaqA", sf[0].getDescription());
+    assertEquals("RESNUM", sf[295].getType());
+    assertEquals("TYR:314 1gaqA", sf[295].getDescription());
+
+    /*
+     * 1GAQ/B
+     */
+    sf = al.getSequenceAt(1).getSequenceFeatures();
+    assertEquals(98, sf.length);
+    assertEquals("RESNUM", sf[0].getType());
+    assertEquals("ALA:1 1gaqB", sf[0].getDescription());
+    assertEquals("RESNUM", sf[97].getType());
+    assertEquals("ALA:98 1gaqB", sf[97].getDescription());
+
+    /*
+     * 1GAQ/C
+     */
+    sf = al.getSequenceAt(2).getSequenceFeatures();
+    assertEquals(296, sf.length);
+    assertEquals("RESNUM", sf[0].getType());
+    assertEquals("GLU:19 1gaqC", sf[0].getDescription());
+    assertEquals("RESNUM", sf[295].getType());
+    assertEquals("TYR:314 1gaqC", sf[295].getDescription());
+  }
+
   @Test
   public void checkAnnotationWiring()
   {