X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fws%2FPDBSequenceFetcherTest.java;h=b560f01e11a712f1d511e8e358188d9e2f3d4373;hb=bee12714a66f2586e674ca2470efb6d8de79df58;hp=e54d5b976c68da5bb4db65ed22ce9d84f8d8309f;hpb=ab22918ab8fc67d30dad1fb1ae0f37e51f49df95;p=jalview.git diff --git a/test/jalview/ws/PDBSequenceFetcherTest.java b/test/jalview/ws/PDBSequenceFetcherTest.java index e54d5b9..b560f01 100644 --- a/test/jalview/ws/PDBSequenceFetcherTest.java +++ b/test/jalview/ws/PDBSequenceFetcherTest.java @@ -37,7 +37,7 @@ public class PDBSequenceFetcherTest SequenceFetcher sf; - @BeforeMethod + @BeforeMethod(alwaysRun = true) public void setUp() throws Exception { // ensure 'add annotation from structure' is selected @@ -49,8 +49,15 @@ public class PDBSequenceFetcherTest sf = new SequenceFetcher(false); } - @Test(groups = - { "Functional" }, enabled = false) + /** + * Test that RNA structure can be added by a call to the RNAML service. + * + * Note this test depends on http://arn-ibmc.in2p3.fr/api/compute/2d which is + * not always reliable. + * + * @throws Exception + */ + @Test(groups = { "Network" }, enabled = true) public void testRnaSeqRetrieve() throws Exception { List sps = sf.getSourceProxy("PDB"); @@ -61,8 +68,46 @@ public class PDBSequenceFetcherTest { assertTrue("No annotation transfered to sequence.", sq.getAnnotation().length > 0); - assertTrue("No PDBEntry on sequence.", sq.getPDBId().size() > 0); - assertTrue("No RNA annotation on sequence.", sq.getRNA() != null); + assertTrue("No PDBEntry on sequence.", + sq.getAllPDBEntries().size() > 0); + assertTrue( + "No RNA annotation on sequence, possibly http://arn-ibmc.in2p3.fr/api/compute/2d not available?", + sq.getRNA() != null); + } + } + + @Test(groups = { "Network" }, enabled = true) + public void testPdbSeqRetrieve() throws Exception + { + Cache.applicationProperties.setProperty("STRUCT_FROM_PDB", + Boolean.TRUE.toString()); + testRetrieveProteinSeqFromPDB(); + } + + @Test(groups = { "Network" }, enabled = true) + public void testmmCifSeqRetrieve() throws Exception + { + Cache.applicationProperties.setProperty("STRUCT_FROM_PDB", + Boolean.FALSE.toString()); + testRetrieveProteinSeqFromPDB(); + } + + private void testRetrieveProteinSeqFromPDB() throws Exception + { + List sps = sf.getSourceProxy("PDB"); + AlignmentI response = sps.get(0).getSequenceRecords("1QIP"); + assertTrue(response != null); + assertTrue(response.getHeight() == 4); + for (SequenceI sq : response.getSequences()) + { + assertTrue("No annotation transfered to sequence.", + sq.getAnnotation().length > 0); + assertTrue("No PDBEntry on sequence.", + sq.getAllPDBEntries().size() > 0); + org.testng.Assert + .assertEquals(sq.getEnd() - sq.getStart() + 1, + sq.getLength(), + "Sequence start/end doesn't match number of residues in sequence"); } }