+ assertEquals(6, seq.getDBRefs().size()); // 2*Uniprot, PDB, PDBsum, 2*EMBL
+ assertEquals(seq.getSequenceAsString(),
+ seq.createDatasetSequence().getSequenceAsString());
+ assertEquals(2, seq.getPrimaryDBRefs().size());
+ List<DBRefEntry> res = DBRefUtils.searchRefs(seq.getPrimaryDBRefs(),
+ "A9CKP4");
+ assertEquals(1, res.size());
+ assertTrue(res.get(0).isCanonical());
+ res = DBRefUtils.searchRefsForSource(seq.getDBRefs(),
+ DBRefSource.UNIPROT);
+ assertEquals(2, res.size());
+ /*
+ * NB this test fragile - relies on ordering being preserved
+ */
+ assertTrue(res.get(0).isCanonical());
+ assertFalse(res.get(1).isCanonical());
+
+ // check version is preserved for EMBLCDS
+ res = DBRefUtils.searchRefs(seq.getDBRefs(), "AAK85932");
+ assertEquals(1, res.size());
+ // Ideally we would expect AAK85932.1 -> AAK85932
+ // assertTrue("1".equals(res.get(0).getVersion()));
+ // but it also passes through DBrefUtils.ensurePrimaries which adds
+ // (promoted) to the version string
+ // FIXME: Jim needs to specify what (promoted) means !! - or perhaps we just
+ // ignore it !
+ assertEquals("1 (promoted)", (res.get(0).getVersion()));