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 java.util.Vector;
* 1GAQ has been reduced to alpha carbons only
* 1QCF is the full PDB file including headers, HETATM etc
*/
- // String[] testFile = new String[] { "./examples/1GAQ.txt",
- // "./test/jalview/ext/jmol/1QCF.pdb" }; // ,
- String[] testFile = new String[] { "./examples/testdata/1qcf.cif" }; // ,
+ String[] testFile = new String[] { "./examples/1GAQ.txt",
+ "./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" +
{
FileLoader fl = new jalview.io.FileLoader(false);
AlignFrame af = fl
- .LoadFileWaitTillLoaded(f, AppletFormatAdapter.FILE);
+ .LoadFileWaitTillLoaded(f, DataSourceType.FILE);
validateSecStrRows(af.getViewport().getAlignment());
}
}
@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(pdbStr,
- jalview.io.AppletFormatAdapter.FILE);
+ DataSourceType.FILE);
+ JmolParser jtest = new JmolParser(false, false, false, pdbStr,
+ jalview.io.DataSourceType.FILE);
+ Vector<SequenceI> 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,
+ DataSourceType.FILE);
+ JmolParser jtest = new JmolParser(false, false, false, pdbStr,
+ jalview.io.DataSourceType.FILE);
Vector<SequenceI> seqs = jtest.getSeqs(), mcseqs = mctest.getSeqs();
assertTrue(
@Test(groups = { "Functional" })
public void testParse_missingResidues() throws Exception
{
- PDBfile mctest = new PDBfile(false, false, false, pdbWithChainBreak,
- AppletFormatAdapter.PASTE);
- JmolParser jtest = new JmolParser(pdbWithChainBreak,
- jalview.io.AppletFormatAdapter.PASTE);
+ 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);
Vector<SequenceI> seqs = jtest.getSeqs();
Vector<SequenceI> mcseqs = mctest.getSeqs();
public void testParse_alternativeResidues() throws Exception
{
PDBfile mctest = new PDBfile(false, false, false, pdbWithAltLoc,
- AppletFormatAdapter.PASTE);
- JmolParser jtest = new JmolParser(pdbWithAltLoc,
- jalview.io.AppletFormatAdapter.PASTE);
+ DataSourceType.PASTE);
+ boolean annotFromStructure = false;
+ boolean localSecondaryStruct = false;
+ boolean serviceSecondaryStruct = false;
+ JmolParser jtest = new JmolParser(annotFromStructure,
+ localSecondaryStruct, serviceSecondaryStruct, pdbWithAltLoc,
+ jalview.io.DataSourceType.PASTE);
Vector<SequenceI> seqs = jtest.getSeqs();
Vector<SequenceI> mcseqs = mctest.getSeqs();