X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fws%2FPDBSequenceFetcherTest.java;h=95863e7fabfb84138ba8a51a84d1377f099749e1;hb=b4ebd059827a953d3d54b14ff08eefc99825be5d;hp=a672ee4edf525630d4b4f2cfbea56cb4e0afaa4d;hpb=838e4f91d4a53dd315640dbc9ff6ef7a815ee576;p=jalview.git diff --git a/test/jalview/ws/PDBSequenceFetcherTest.java b/test/jalview/ws/PDBSequenceFetcherTest.java index a672ee4..95863e7 100644 --- a/test/jalview/ws/PDBSequenceFetcherTest.java +++ b/test/jalview/ws/PDBSequenceFetcherTest.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1) - * Copyright (C) 2015 The Jalview Authors + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * @@ -25,21 +25,33 @@ import static org.testng.AssertJUnit.assertTrue; import jalview.bin.Cache; import jalview.datamodel.AlignmentI; import jalview.datamodel.SequenceI; +import jalview.gui.JvOptionPane; +import jalview.structure.StructureImportSettings; +import jalview.structure.StructureImportSettings.StructureParser; import jalview.ws.seqfetcher.DbSourceProxy; import java.util.List; +import org.testng.annotations.BeforeClass; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; public class PDBSequenceFetcherTest { + @BeforeClass(alwaysRun = true) + public void setUpJvOptionPane() + { + JvOptionPane.setInteractiveMode(false); + JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION); + } + SequenceFetcher sf; @BeforeMethod(alwaysRun = true) public void setUp() throws Exception { + Cache.loadProperties("test/jalview/io/testProps.jvprops"); // ensure 'add annotation from structure' is selected Cache.applicationProperties.setProperty("STRUCT_FROM_PDB", Boolean.TRUE.toString()); @@ -60,6 +72,7 @@ public class PDBSequenceFetcherTest @Test(groups = { "Network" }, enabled = true) public void testRnaSeqRetrieve() throws Exception { + Cache.applicationProperties.setProperty("PDB_DOWNLOAD_FORMAT", "PDB"); List sps = sf.getSourceProxy("PDB"); AlignmentI response = sps.get(0).getSequenceRecords("2GIS"); assertTrue(response != null); @@ -76,4 +89,40 @@ public class PDBSequenceFetcherTest } } + @Test(groups = { "Network" }, enabled = true) + public void testPdbSeqRetrieve() throws Exception + { + StructureImportSettings.setDefaultStructureFileFormat("PDB"); + StructureImportSettings + .setDefaultPDBFileParser(StructureParser.JALVIEW_PARSER); + + testRetrieveProteinSeqFromPDB(); + } + + @Test(groups = { "Network" }, enabled = true) + public void testmmCifSeqRetrieve() throws Exception + { + StructureImportSettings.setDefaultStructureFileFormat("mmCIF"); + 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"); + } + } + }