X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=test%2Fjalview%2Fext%2Fjmol%2FJmolParserTest.java;h=75b27c721404995d2c88a34fce2d84c874a204ec;hb=7d67fb613ec026dc9a265e351e7fab542e3f1d61;hp=2a5dda4fd6d1f0a2ff288ff03066a5bae532999f;hpb=ee198b3ca3687f18a2ee186f4e7c7330f4ea30f0;p=jalview.git diff --git a/test/jalview/ext/jmol/JmolParserTest.java b/test/jalview/ext/jmol/JmolParserTest.java index 2a5dda4..75b27c7 100644 --- a/test/jalview/ext/jmol/JmolParserTest.java +++ b/test/jalview/ext/jmol/JmolParserTest.java @@ -21,6 +21,7 @@ package jalview.ext.jmol; import static org.testng.AssertJUnit.assertEquals; +import static org.testng.AssertJUnit.assertNotNull; import static org.testng.AssertJUnit.assertTrue; import jalview.bin.Cache; @@ -28,10 +29,10 @@ import jalview.datamodel.Alignment; import jalview.datamodel.AlignmentI; import jalview.datamodel.SequenceI; import jalview.gui.AlignFrame; -import jalview.io.AppletFormatAdapter; import jalview.io.DataSourceType; import jalview.io.FileLoader; import jalview.structure.StructureImportSettings; +import jalview.structure.StructureImportSettings.StructureParser; import java.util.Vector; @@ -86,10 +87,16 @@ public class JmolParserTest @BeforeMethod(alwaysRun = true) public void setUp() { + Cache.loadProperties("test/jalview/io/testProps.jvprops"); Cache.applicationProperties.setProperty("STRUCT_FROM_PDB", Boolean.TRUE.toString()); + Cache.applicationProperties.setProperty("ADD_TEMPFACT_ANN", + Boolean.FALSE.toString()); Cache.applicationProperties.setProperty("ADD_SS_ANN", Boolean.TRUE.toString()); + StructureImportSettings.setDefaultStructureFileFormat("PDB"); + StructureImportSettings + .setDefaultPDBFileParser(StructureParser.JALVIEW_PARSER); } @Test(groups = { "Functional" }) @@ -98,8 +105,7 @@ public class JmolParserTest for (String f : testFile) { FileLoader fl = new jalview.io.FileLoader(false); - AlignFrame af = fl - .LoadFileWaitTillLoaded(f, DataSourceType.FILE); + AlignFrame af = fl.LoadFileWaitTillLoaded(f, DataSourceType.FILE); validateSecStrRows(af.getViewport().getAlignment()); } } @@ -107,13 +113,11 @@ public class JmolParserTest @Test(groups = { "Functional" }) public void testFileParser() throws Exception { - StructureImportSettings.setProcessHETATMs(false); for (String pdbStr : testFile) { PDBfile mctest = new PDBfile(false, false, false, pdbStr, DataSourceType.FILE); - JmolParser jtest = new JmolParser(false, false, false, pdbStr, - jalview.io.DataSourceType.FILE); + JmolParser jtest = new JmolParser(pdbStr, DataSourceType.FILE); Vector seqs = jtest.getSeqs(), mcseqs = mctest.getSeqs(); assertTrue( @@ -131,30 +135,7 @@ public class JmolParserTest validateSecStrRows(al); } } - StructureImportSettings.setProcessHETATMs(true); - for (String pdbStr : testFile) - { - PDBfile mctest = new PDBfile(false, false, false, pdbStr, - DataSourceType.FILE); - JmolParser jtest = new JmolParser(false, false, false, pdbStr, - jalview.io.DataSourceType.FILE); - Vector seqs = jtest.getSeqs(), mcseqs = mctest.getSeqs(); - assertTrue( - "No sequences extracted from testfile\n" - + (jtest.hasWarningMessage() ? jtest.getWarningMessage() - : "(No warnings raised)"), seqs != null - && seqs.size() > 0); - for (SequenceI sq : seqs) - { - assertEquals("JMol didn't process " + pdbStr - + " to the same sequence as MCView", - sq.getSequenceAsString(), mcseqs.remove(0) - .getSequenceAsString()); - AlignmentI al = new Alignment(new SequenceI[] { sq }); - validateSecStrRows(al); - } - } } private void validateSecStrRows(AlignmentI al) @@ -184,7 +165,8 @@ public class JmolParserTest private void checkFirstAAIsAssoc(SequenceI sq) { - assertTrue("No secondary structure assigned for protein sequence.", + assertTrue("No secondary structure assigned for protein sequence for " + + sq.getName(), sq.getAnnotation() != null && sq.getAnnotation().length >= 1 && sq.getAnnotation()[0].hasIcons); assertTrue( @@ -201,15 +183,8 @@ public class JmolParserTest public void testParse_missingResidues() throws Exception { PDBfile mctest = new PDBfile(false, false, false, - pastePDBDataWithChainBreak, - DataSourceType.PASTE); - boolean annotFromStructure = false; - boolean localSecondaryStruct = false; - boolean serviceSecondaryStruct = false; - JmolParser jtest = new JmolParser(annotFromStructure, - localSecondaryStruct, serviceSecondaryStruct, - pastePDBDataWithChainBreak, - jalview.io.DataSourceType.PASTE); + pastePDBDataWithChainBreak, DataSourceType.PASTE); + JmolParser jtest = new JmolParser(pastePDBDataWithChainBreak, DataSourceType.PASTE); Vector seqs = jtest.getSeqs(); Vector mcseqs = mctest.getSeqs(); @@ -231,15 +206,11 @@ public class JmolParserTest { PDBfile mctest = new PDBfile(false, false, false, pdbWithAltLoc, DataSourceType.PASTE); - boolean annotFromStructure = false; - boolean localSecondaryStruct = false; - boolean serviceSecondaryStruct = false; - JmolParser jtest = new JmolParser(annotFromStructure, - localSecondaryStruct, serviceSecondaryStruct, pdbWithAltLoc, - jalview.io.DataSourceType.PASTE); + JmolParser jtest = new JmolParser(pdbWithAltLoc, + DataSourceType.PASTE); Vector seqs = jtest.getSeqs(); Vector mcseqs = mctest.getSeqs(); - + assertEquals("Failed to find 1 sequence\n", 1, seqs.size()); assertEquals("Failed to find 1 sequence\n", 1, mcseqs.size()); assertEquals("ALC", seqs.get(0).getSequenceAsString()); @@ -276,4 +247,30 @@ public class JmolParserTest assertEquals('H', structCode[4]); assertEquals('E', structCode[5]); } + + @Test(groups = "Functional") + public void testLocalPDBId() throws Exception + { + JmolParser structureData; + /* + * reads a local structure + */ + structureData = new JmolParser("examples/testdata/localstruct.pdb", + DataSourceType.FILE); + assertNotNull(structureData); + /* + * local structure files should yield a false ID based on the filename + */ + assertNotNull(structureData.getId()); + assertEquals(structureData.getId(), "localstruct.pdb"); + assertNotNull(structureData.getSeqs()); + /* + * the ID is also the group for features derived from structure data + */ + assertNotNull(structureData.getSeqs().get(0).getSequenceFeatures()[0].featureGroup); + assertEquals( + structureData.getSeqs().get(0).getSequenceFeatures()[0].featureGroup, + "localstruct.pdb"); + + } }