X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fext%2Frbvi%2Fchimera%2FJalviewChimeraView.java;h=8786ca5dd084f8bbff827daa4f1da0d883a3e854;hb=3412b273e964fb1a9d22564b04a5f0c827ec2461;hp=858806b0dcb509f815db9d62eb920df47074283d;hpb=c4ec878c9cb59fc40a88ed8ecdf5fda46f3de111;p=jalview.git diff --git a/test/jalview/ext/rbvi/chimera/JalviewChimeraView.java b/test/jalview/ext/rbvi/chimera/JalviewChimeraView.java index 858806b..8786ca5 100644 --- a/test/jalview/ext/rbvi/chimera/JalviewChimeraView.java +++ b/test/jalview/ext/rbvi/chimera/JalviewChimeraView.java @@ -1,17 +1,16 @@ package jalview.ext.rbvi.chimera; -import static org.junit.Assert.assertTrue; -import jalview.datamodel.PDBEntry; +import static org.testng.AssertJUnit.assertTrue; +import org.testng.annotations.AfterClass; +import org.testng.annotations.Test; +import org.testng.annotations.BeforeClass; +import jalview.api.structures.JalviewStructureDisplayI; import jalview.datamodel.SequenceI; import jalview.gui.AlignFrame; import jalview.gui.StructureViewer; import jalview.gui.StructureViewer.ViewerType; import jalview.io.FormatAdapter; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - public class JalviewChimeraView { @@ -31,52 +30,100 @@ public class JalviewChimeraView @AfterClass public static void tearDownAfterClass() throws Exception { + try + { jalview.gui.Desktop.instance.closeAll_actionPerformed(null); + } catch (Exception e) + { + // ignore NullPointerException thrown by JMol + } } - @Test - public void testSingleSeqView() + public void testSingleSeqViewJMol() { String inFile = "examples/1gaq.txt"; AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded( inFile, FormatAdapter.FILE); assertTrue("Didn't read input file " + inFile, af != null); - for (SequenceI sq:af.getViewport().getAlignment().getSequences()) + for (SequenceI sq : af.getViewport().getAlignment().getSequences()) { - SequenceI dsq=sq.getDatasetSequence(); - while (dsq.getDatasetSequence()!=null) + SequenceI dsq = sq.getDatasetSequence(); + while (dsq.getDatasetSequence() != null) { - dsq=dsq.getDatasetSequence(); + dsq = dsq.getDatasetSequence(); } - if (dsq.getPDBId()!=null && dsq.getPDBId().size()>0) { - for (int q=0;q 0) + { + for (int q = 0; q < dsq.getPDBId().size(); q++) { - new StructureViewer(af.getViewport() - .getStructureSelectionManager()).viewStructures( - ViewerType.JMOL, - af.getCurrentView().getAlignPanel(), - new PDBEntry[] { (PDBEntry)dsq.getPDBId().elementAt(q) }, - new SequenceI[][] { new SequenceI[] { sq } }); + final StructureViewer structureViewer = new StructureViewer(af + .getViewport().getStructureSelectionManager()); + structureViewer.setViewerType(ViewerType.JMOL); + JalviewStructureDisplayI jmolViewer = structureViewer + .viewStructures(dsq.getPDBId().elementAt(q), + new SequenceI[] + { sq }, af.getCurrentView().getAlignPanel()); + /* + * Wait for viewer thread to start + */ + try + { + Thread.sleep(1000); + } catch (InterruptedException e) + { + } + + jmolViewer.closeViewer(true); + // todo: break here means only once through this loop? + break; + } + break; + } + } + } - new StructureViewer(af.getViewport() - .getStructureSelectionManager()).viewStructures( - ViewerType.CHIMERA, - af.getCurrentView().getAlignPanel(), - new PDBEntry[] { (PDBEntry)dsq.getPDBId().elementAt(q) }, - new SequenceI[][] { new SequenceI[] { sq } }); + @Test + public void testSingleSeqViewChimera() + { + String inFile = "examples/1gaq.txt"; + AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded( + inFile, FormatAdapter.FILE); + assertTrue("Didn't read input file " + inFile, af != null); + for (SequenceI sq : af.getViewport().getAlignment().getSequences()) + { + SequenceI dsq = sq.getDatasetSequence(); + while (dsq.getDatasetSequence() != null) + { + dsq = dsq.getDatasetSequence(); + } + if (dsq.getPDBId() != null && dsq.getPDBId().size() > 0) + { + for (int q = 0; q < dsq.getPDBId().size(); q++) + { + final StructureViewer structureViewer = new StructureViewer(af + .getViewport().getStructureSelectionManager()); + structureViewer.setViewerType(ViewerType.CHIMERA); + JalviewStructureDisplayI chimeraViewer = structureViewer + .viewStructures(dsq.getPDBId().elementAt(q), + new SequenceI[] + { sq }, af.getCurrentView().getAlignPanel()); + /* + * Wait for viewer thread to start + */ + try + { + Thread.sleep(1000); + } catch (InterruptedException e) + { + } + chimeraViewer.closeViewer(true); // todo: break here means only once through this loop? break; } break; } - } - // try { - // why? -// Thread.sleep(200000); -// } catch (InterruptedException q) -// { - // } + } } }