+ pdbId = al.getSequenceAt(0).getDatasetSequence().getAllPDBEntries()
+ .get(0).getId();
+ StructureImportSettings.setDefaultStructureFileFormat("PDB");
+ StructureImportSettings
+ .setDefaultPDBFileParser(StructureParser.JALVIEW_PARSER);
+ }
+
+ @Test(groups = { "Functional" })
+ 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++)
+ {
+ assertTrue("Found a duplicate annotation row "
+ + avec[p].label, avec[p] != avec[q]);
+ }
+ }
+ }
+
+ @Test(groups = { "Functional" })
+ 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(groups = { "Functional" })
+ public void checkPDBSequenceFeatures()
+ {
+ /*
+ * 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());