X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fext%2Fjmol%2FJmolParserTest.java;h=2ea0b8001fc9d892e839789e923234eb88febcba;hb=82a6c8e2e25b7534168b68b2c89b9cf195f815a5;hp=a68f7c85f31bf8231c545fc5272a9ef958d9e67e;hpb=8a693367d8a0f6113d21248993ca4e0355b32659;p=jalview.git diff --git a/test/jalview/ext/jmol/JmolParserTest.java b/test/jalview/ext/jmol/JmolParserTest.java index a68f7c8..2ea0b80 100644 --- a/test/jalview/ext/jmol/JmolParserTest.java +++ b/test/jalview/ext/jmol/JmolParserTest.java @@ -30,6 +30,8 @@ import jalview.datamodel.SequenceI; import jalview.gui.AlignFrame; import jalview.io.AppletFormatAdapter; import jalview.io.FileLoader; +import jalview.structure.StructureImportSettings; +import jalview.structure.StructureImportSettings.StructureParser; import java.util.Vector; @@ -50,11 +52,12 @@ public class JmolParserTest * 1QCF is the full PDB file including headers, HETATM etc */ String[] testFile = new String[] { "./examples/1GAQ.txt", - "./test/jalview/ext/jmol/1xyz.pdb" }; + "./test/jalview/ext/jmol/1xyz.pdb", + "./test/jalview/ext/jmol/1qcf.pdb" }; //@formatter:off // a modified and very cut-down extract of 4UJ4 - String pdbWithChainBreak = + String pastePDBDataWithChainBreak = "HEADER TRANSPORT PROTEIN 08-APR-15 4UJ4\n" + // chain B has missing residues; these should all go in the same sequence: "ATOM 1909 CA VAL B 358 21.329 -19.739 -67.740 1.00201.05 C\n" + @@ -87,6 +90,9 @@ public class JmolParserTest Boolean.TRUE.toString()); Cache.applicationProperties.setProperty("ADD_SS_ANN", Boolean.TRUE.toString()); + StructureImportSettings.setDefaultStructureFileFormat("PDB"); + StructureImportSettings + .setDefaultPDBFileParser(StructureParser.JALVIEW_PARSER); } @Test(groups = { "Functional" }) @@ -104,6 +110,31 @@ 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, + AppletFormatAdapter.FILE); + JmolParser jtest = new JmolParser(false, false, false, pdbStr, + jalview.io.AppletFormatAdapter.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); + } + } + StructureImportSettings.setProcessHETATMs(true); for (String pdbStr : testFile) { PDBfile mctest = new PDBfile(false, false, false, pdbStr, @@ -172,14 +203,15 @@ public class JmolParserTest @Test(groups = { "Functional" }) public void testParse_missingResidues() throws Exception { - PDBfile mctest = new PDBfile(false, false, false, pdbWithChainBreak, + PDBfile mctest = new PDBfile(false, false, false, + pastePDBDataWithChainBreak, AppletFormatAdapter.PASTE); boolean annotFromStructure = false; boolean localSecondaryStruct = false; boolean serviceSecondaryStruct = false; JmolParser jtest = new JmolParser(annotFromStructure, localSecondaryStruct, serviceSecondaryStruct, - pdbWithChainBreak, + pastePDBDataWithChainBreak, jalview.io.AppletFormatAdapter.PASTE); Vector seqs = jtest.getSeqs(); Vector mcseqs = mctest.getSeqs();