+ pdbId = ((PDBEntry) al.getSequenceAt(0).getDatasetSequence().getPDBId()
+ .get(0)).getId();
+ }
+
+ @Test
+ public void checkNoDuplicates()
+ {
+ // not strictly a requirement, but strange things may happen if multiple
+ // instances of the same annotation are placed in the alignment annotation
+ // vector
+ assertNotNull(al.getAlignmentAnnotation());
+ // verify that all sequence annotation is doubly referenced
+ AlignmentAnnotation[] avec = al.getAlignmentAnnotation();
+ for (int p = 0; p < avec.length; p++)
+ {
+ for (int q = p + 1; q < avec.length; q++)
+ {
+ assertNotEquals(
+ "Found a duplicate annotation row " + avec[p].label,
+ avec[p], avec[q]);
+ }
+ }
+ }
+
+ @Test
+ public void checkPDBannotationSource()
+ {
+
+ for (SequenceI asq : al.getSequences())
+ {
+ for (AlignmentAnnotation aa : asq.getAnnotation())
+ {
+
+ System.out.println("CalcId: " + aa.getCalcId());
+ assertTrue(MCview.PDBfile.isCalcIdForFile(aa, pdbId));
+ }
+ }
+ }
+
+ /**
+ * 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());