JAL-3438 spotless for 2.11.2.0
[jalview.git] / test / jalview / structures / models / AAStructureBindingModelTest.java
index 16452a5..1a2cb84 100644 (file)
@@ -52,10 +52,12 @@ import jalview.gui.JvOptionPane;
 import jalview.gui.StructureViewer.ViewerType;
 import jalview.io.DataSourceType;
 import jalview.io.FileFormats;
+import jalview.io.FileLoader;
 import jalview.schemes.JalviewColourScheme;
 import jalview.structure.AtomSpec;
 import jalview.structure.AtomSpecModel;
 import jalview.structure.StructureCommandI;
+import jalview.structure.StructureCommandsI.AtomSpecType;
 import jalview.structure.StructureMapping;
 import jalview.structure.StructureSelectionManager;
 import junit.extensions.PA;
@@ -125,7 +127,7 @@ public class AAStructureBindingModelTest
 
   // TODO: JAL-2227 - import mmCIF PISA assembly & identify master/copy chains
 
-  @Test(groups= {"Functional"})
+  @Test(groups = { "Functional" })
   public void testImportPDBPreservesChainMappings() throws IOException
   {
     AlignmentI importedAl = new jalview.io.FormatAdapter().readFile(
@@ -134,38 +136,38 @@ public class AAStructureBindingModelTest
     // ideally, we would match on the actual data for the 'File' handle for
     // pasted files,
     // see JAL-623 - pasting is still not correctly handled...
-    PDBEntry importedPDB = new PDBEntry("3A6S", "", Type.PDB,
-            "Paste");
+    PDBEntry importedPDB = new PDBEntry("3A6S", "", Type.PDB, "Paste");
     AAStructureBindingModel binder = new AAStructureBindingModel(
             new StructureSelectionManager(), new PDBEntry[]
             { importedPDB },
             new SequenceI[][]
             { importedAl.getSequencesArray() }, null)
     {
-      
+
       @Override
       public void updateColours(Object source)
       {
       }
-      
+
       @Override
       public void releaseReferences(Object svl)
       {
       }
-      
+
       @Override
       public String[] getStructureFiles()
       {
         return null;
       }
-      
+
       @Override
       public void highlightAtoms(List<AtomSpec> atoms)
       {
       }
-      
+
       @Override
-      public SequenceRenderer getSequenceRenderer(AlignmentViewPanel alignment)
+      public SequenceRenderer getSequenceRenderer(
+              AlignmentViewPanel alignment)
       {
         return null;
       }
@@ -196,6 +198,7 @@ public class AAStructureBindingModelTest
     assertEquals(chains[0][0], "A");
     assertEquals(chains[0][1], "B");
   }
+
   AAStructureBindingModel testee;
 
   AlignmentI al = null;
@@ -233,7 +236,7 @@ public class AAStructureBindingModelTest
     ssm.setMapping(new SequenceI[] { seq3 }, null, PDB_3,
             DataSourceType.PASTE, null);
 
-    testee = newBindingModel(pdbFiles, seqs, ssm);
+    testee = newBindingModel(pdbFiles, seqs, ssm, null);
   }
 
   /**
@@ -242,10 +245,11 @@ public class AAStructureBindingModelTest
    * @param pdbFiles
    * @param seqs
    * @param ssm
+   * @param alignPanel
    */
   protected AAStructureBindingModel newBindingModel(PDBEntry[] pdbFiles,
-          SequenceI[][] seqs,
-          StructureSelectionManager ssm)
+          SequenceI[][] seqs, StructureSelectionManager ssm,
+          AlignmentViewPanel avp)
   {
     AAStructureBindingModel model = new AAStructureBindingModel(ssm,
             pdbFiles, seqs, null)
@@ -253,7 +257,12 @@ public class AAStructureBindingModelTest
       @Override
       public String[] getStructureFiles()
       {
-        return new String[] { "INLINE1YCS", "INLINE3A6S", "INLINE1OOT" };
+        String[] files = new String[getPdbCount()];
+        for (int i = 0; i < this.getPdbCount(); i++)
+        {
+          files[i] = getPdbEntry(i).getFile();
+        }
+        return files;
       }
 
       @Override
@@ -272,10 +281,10 @@ public class AAStructureBindingModelTest
       }
 
       @Override
-      public SequenceRenderer getSequenceRenderer(
-              AlignmentViewPanel alignment)
+      public SequenceRenderer getSequenceRenderer(AlignmentViewPanel avp)
       {
-        return null;
+        return avp == null ? null
+                : new jalview.gui.SequenceRenderer(avp.getAlignViewport());
       }
 
       @Override
@@ -322,10 +331,12 @@ public class AAStructureBindingModelTest
     /*
      * create a data bean to hold data per structure file
      */
-    AAStructureBindingModel.SuperposeData[] structs = new AAStructureBindingModel.SuperposeData[testee.getStructureFiles().length];
+    AAStructureBindingModel.SuperposeData[] structs = new AAStructureBindingModel.SuperposeData[testee
+            .getStructureFiles().length];
     for (int i = 0; i < structs.length; i++)
     {
-      structs[i] = new AAStructureBindingModel.SuperposeData(al.getWidth(), "0");
+      structs[i] = new AAStructureBindingModel.SuperposeData(al.getWidth(),
+              "0");
     }
     /*
      * initialise BitSet of 'superposable columns' to true (would be false for
@@ -337,8 +348,8 @@ public class AAStructureBindingModelTest
       matched.set(i);
     }
 
-    int refStructure = testee
-            .findSuperposableResidues(al, matched, structs);
+    int refStructure = testee.findSuperposableResidues(al, matched,
+            structs);
 
     assertEquals(refStructure, 0);
 
@@ -370,10 +381,12 @@ public class AAStructureBindingModelTest
   @Test(groups = { "Functional" })
   public void testFindSuperposableResidues_hiddenColumn()
   {
-    AAStructureBindingModel.SuperposeData[] structs = new AAStructureBindingModel.SuperposeData[al.getHeight()];
+    AAStructureBindingModel.SuperposeData[] structs = new AAStructureBindingModel.SuperposeData[al
+            .getHeight()];
     for (int i = 0; i < structs.length; i++)
     {
-      structs[i] = new AAStructureBindingModel.SuperposeData(al.getWidth(), "0");
+      structs[i] = new AAStructureBindingModel.SuperposeData(al.getWidth(),
+              "0");
     }
     /*
      * initialise BitSet of 'superposable columns' to true (would be false for
@@ -388,8 +401,8 @@ public class AAStructureBindingModelTest
     // treat column 5 of the alignment as hidden
     matched.clear(4);
 
-    int refStructure = testee
-            .findSuperposableResidues(al, matched, structs);
+    int refStructure = testee.findSuperposableResidues(al, matched,
+            structs);
 
     assertEquals(refStructure, 0);
 
@@ -409,10 +422,10 @@ public class AAStructureBindingModelTest
      * load these sequences, coloured by Strand propensity,
      * with columns 2-4 hidden
      */
-    SequenceI seq1 = new Sequence("seq1", "MHRSQSSSGG");
-    SequenceI seq2 = new Sequence("seq2", "MVRSNGGSSS");
-    AlignmentI al = new Alignment(new SequenceI[] { seq1, seq2 });
-    AlignFrame af = new AlignFrame(al, 800, 500);
+    String fasta = ">seq1\nMHRSQSSSGG\n>seq2\nMVRSNGGSSS";
+    AlignFrame af = new FileLoader().LoadFileWaitTillLoaded(fasta,
+            DataSourceType.PASTE);
+    AlignmentI al = af.getViewport().getAlignment();
     af.changeColour_actionPerformed(JalviewColourScheme.Strand.toString());
     ColumnSelection cs = new ColumnSelection();
     cs.addElement(2);
@@ -420,15 +433,14 @@ public class AAStructureBindingModelTest
     cs.addElement(4);
     af.getViewport().setColumnSelection(cs);
     af.hideSelColumns_actionPerformed(null);
-    SequenceRenderer sr = new jalview.gui.SequenceRenderer(
-            af.getViewport());
+    SequenceI seq1 = al.getSequenceAt(0);
+    SequenceI seq2 = al.getSequenceAt(1);
     SequenceI[][] seqs = new SequenceI[][] { { seq1 }, { seq2 } };
-    String[] files = new String[] { "seq1.pdb", "seq2.pdb" };
     PDBEntry[] pdbFiles = new PDBEntry[2];
     pdbFiles[0] = new PDBEntry("PDB1", "A", Type.PDB, "seq1.pdb");
     pdbFiles[1] = new PDBEntry("PDB2", "B", Type.PDB, "seq2.pdb");
     StructureSelectionManager ssm = new StructureSelectionManager();
-  
+
     /*
      * map residues 1-10 to residues 21-30 (atoms 105-150) in structures
      */
@@ -444,16 +456,17 @@ public class AAStructureBindingModelTest
             "B", map, null);
     ssm.addStructureMapping(sm2);
 
-    AAStructureBindingModel binding = newBindingModel(pdbFiles, seqs, ssm);
+    AAStructureBindingModel binding = newBindingModel(pdbFiles, seqs, ssm,
+            af.alignPanel);
 
     /*
      * method under test builds a map of structures residues by colour
      * verify the map holds what it should
      */
-    Map<Object, AtomSpecModel> colours = binding.buildColoursMap(ssm, files,
-            seqs, sr, af.alignPanel);
+    Map<Object, AtomSpecModel> colours = binding.buildColoursMap(ssm, seqs,
+            af.alignPanel);
     ChimeraCommands helper = new ChimeraCommands();
-    
+
     /*
      * M colour is #82827d (see strand.html help page)
      * sequence residue 1 mapped to structure residue 21
@@ -461,7 +474,8 @@ public class AAStructureBindingModelTest
     Color mColor = new Color(0x82827d);
     AtomSpecModel atomSpec = colours.get(mColor);
     assertNotNull(atomSpec);
-    assertEquals(helper.getAtomSpec(atomSpec, false), "#0:21.A|#1:21.B");
+    assertEquals(helper.getAtomSpec(atomSpec, AtomSpecType.RESIDUE_ONLY),
+            "#0:21.A|#1:21.B");
 
     /*
      * H colour is #60609f, seq1.2 mapped to structure 0 residue 22
@@ -469,7 +483,8 @@ public class AAStructureBindingModelTest
     Color hColor = new Color(0x60609f);
     atomSpec = colours.get(hColor);
     assertNotNull(atomSpec);
-    assertEquals(helper.getAtomSpec(atomSpec, false), "#0:22.A");
+    assertEquals(helper.getAtomSpec(atomSpec, AtomSpecType.RESIDUE_ONLY),
+            "#0:22.A");
 
     /*
      * V colour is #ffff00, seq2.2 mapped to structure 1 residue 22
@@ -477,7 +492,8 @@ public class AAStructureBindingModelTest
     Color vColor = new Color(0xffff00);
     atomSpec = colours.get(vColor);
     assertNotNull(atomSpec);
-    assertEquals(helper.getAtomSpec(atomSpec, false), "#1:22.B");
+    assertEquals(helper.getAtomSpec(atomSpec, AtomSpecType.RESIDUE_ONLY),
+            "#1:22.B");
 
     /*
      * hidden columns are Gray (128, 128, 128)
@@ -486,7 +502,8 @@ public class AAStructureBindingModelTest
     Color gray = new Color(128, 128, 128);
     atomSpec = colours.get(gray);
     assertNotNull(atomSpec);
-    assertEquals(helper.getAtomSpec(atomSpec, false), "#0:23-25.A|#1:23-25.B");
+    assertEquals(helper.getAtomSpec(atomSpec, AtomSpecType.RESIDUE_ONLY),
+            "#0:23-25.A|#1:23-25.B");
 
     /*
      * S and G are both coloured #4949b6, structure residues 26-30
@@ -494,7 +511,7 @@ public class AAStructureBindingModelTest
     Color sgColour = new Color(0x4949b6);
     atomSpec = colours.get(sgColour);
     assertNotNull(atomSpec);
-    assertEquals(helper.getAtomSpec(atomSpec, false),
+    assertEquals(helper.getAtomSpec(atomSpec, AtomSpecType.RESIDUE_ONLY),
             "#0:26-30.A|#1:26-30.B");
   }
 }
\ No newline at end of file