X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fws%2Fdbsources%2FUniprotTest.java;h=c603a110559167360c087a8fb875f154bec4e37c;hb=42df19afce43090aea47fe782195f11236801be7;hp=ed3ac772598ce214ad884abdb29ed586ecc7a3d5;hpb=f225620636ce3b7ec768b4bed98ba000f09efc2a;p=jalview.git diff --git a/test/jalview/ws/dbsources/UniprotTest.java b/test/jalview/ws/dbsources/UniprotTest.java index ed3ac77..c603a11 100644 --- a/test/jalview/ws/dbsources/UniprotTest.java +++ b/test/jalview/ws/dbsources/UniprotTest.java @@ -21,20 +21,33 @@ package jalview.ws.dbsources; import static org.testng.AssertJUnit.assertEquals; +import static org.testng.AssertJUnit.assertFalse; +import static org.testng.AssertJUnit.assertNotNull; import static org.testng.AssertJUnit.assertNull; import jalview.datamodel.PDBEntry; -import jalview.datamodel.SequenceFeature; -import jalview.datamodel.UniprotEntry; +import jalview.datamodel.SequenceI; +import jalview.datamodel.xdb.uniprot.UniprotEntry; +import jalview.datamodel.xdb.uniprot.UniprotFeature; +import jalview.gui.JvOptionPane; import java.io.Reader; import java.io.StringReader; import java.util.Vector; +import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; public class UniprotTest { + + @BeforeClass(alwaysRun = true) + public void setUpJvOptionPane() + { + JvOptionPane.setInteractiveMode(false); + JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION); + } + // adapted from http://www.uniprot.org/uniprot/A9CKP4.xml private static final String UNIPROT_XML = "" + "" @@ -46,9 +59,13 @@ public class UniprotTest + "Mitogen-activated protein kinase 13Henry" + "" + "" + + "" + "" + "" + "" + + "ML" + + "ML" + + "M" + "MHAPL VSKDL" + ""; @@ -83,13 +100,12 @@ public class UniprotTest /* * Check sequence features */ - Vector features = entry.getFeature(); - assertEquals(3, features.size()); - SequenceFeature sf = features.get(0); + Vector features = entry.getFeature(); + assertEquals(6, features.size()); + UniprotFeature sf = features.get(0); assertEquals("signal peptide", sf.getType()); assertNull(sf.getDescription()); assertNull(sf.getStatus()); - assertEquals(1, sf.getPosition()); assertEquals(1, sf.getBegin()); assertEquals(18, sf.getEnd()); sf = features.get(1); @@ -105,23 +121,60 @@ public class UniprotTest assertEquals(21, sf.getBegin()); assertEquals(247, sf.getEnd()); + sf = features.get(3); + assertEquals("sequence variant", sf.getType()); + assertEquals("Variation: 'L' Original: 'M'", sf.getDescription()); + assertEquals(41, sf.getPosition()); + assertEquals(41, sf.getBegin()); + assertEquals(41, sf.getEnd()); + + sf = features.get(4); + assertEquals("sequence variant", sf.getType()); + assertEquals("Pathogenic Variation: 'L' Original: 'M'", + sf.getDescription()); + assertEquals(41, sf.getPosition()); + assertEquals(41, sf.getBegin()); + assertEquals(41, sf.getEnd()); + + sf = features.get(5); + assertEquals("sequence variant", sf.getType()); + assertEquals("Pathogenic Original: 'M'", sf.getDescription()); + assertEquals(41, sf.getPosition()); + assertEquals(41, sf.getBegin()); + assertEquals(41, sf.getEnd()); /* * Check cross-references */ Vector xrefs = entry.getDbReference(); - assertEquals(2, xrefs.size()); + assertEquals(3, xrefs.size()); PDBEntry xref = xrefs.get(0); assertEquals("2FSQ", xref.getId()); assertEquals("PDB", xref.getType()); - assertEquals(2, xref.getProperty().size()); - assertEquals("X-ray", xref.getProperty().get("method")); - assertEquals("1.40", xref.getProperty().get("resolution")); + assertEquals("X-ray", xref.getProperty("method")); + assertEquals("1.40", xref.getProperty("resolution")); xref = xrefs.get(1); assertEquals("2FSR", xref.getId()); assertEquals("PDBsum", xref.getType()); - assertNull(xref.getProperty()); + assertFalse(xref.getProperties().hasMoreElements()); + + xref = xrefs.get(2); + assertEquals("AE007869", xref.getId()); + assertEquals("EMBL", xref.getType()); + assertEquals("AAK85932.1", xref.getProperty("protein sequence ID")); + assertEquals("Genomic_DNA", xref.getProperty("molecule type")); + } + + @Test(groups = { "Functional" }) + public void testGetUniprotSequence() + { + UniprotEntry entry = new Uniprot().getUniprotEntries( + new StringReader(UNIPROT_XML)).get(0); + SequenceI seq = new Uniprot().uniprotEntryToSequenceI(entry); + assertNotNull(seq); + assertEquals(6, seq.getDBRefs().length); // 2*Uniprot, PDB, PDBsum, 2*EMBL + } /** @@ -134,10 +187,11 @@ public class UniprotTest new StringReader(UNIPROT_XML)).get(0); /* - * name formatted as source | accession ids | names + * name formatted with Uniprot Entry name */ - String expectedName = "UniProt/Swiss-Prot|A9CKP4|A9CKP5|A9CKP4_AGRT5|A9CKP4_AGRT6"; - assertEquals(expectedName, Uniprot.getUniprotEntryId(entry)); + String expectedName = "A9CKP4_AGRT5|A9CKP4_AGRT6"; + assertEquals(expectedName, + Uniprot.getUniprotEntryId(entry)); } /** @@ -148,7 +202,7 @@ public class UniprotTest { UniprotEntry entry = new Uniprot().getUniprotEntries( new StringReader(UNIPROT_XML)).get(0); - + /* * recommended names concatenated with space separator */