X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fws%2Fjabaws%2FRNAStructExportImport.java;h=7bb6bddc78163e70fc4235b4ba2733493d4c4b09;hb=37de9310bec3501cbc6381e0c3dcb282fcaad812;hp=5eeff504e02cfb1f5997eb1c224f7316232b5eda;hpb=c0aaf84826ff25d510846bd1099e10809c4df711;p=jalview.git diff --git a/test/jalview/ws/jabaws/RNAStructExportImport.java b/test/jalview/ws/jabaws/RNAStructExportImport.java index 5eeff50..7bb6bdd 100644 --- a/test/jalview/ws/jabaws/RNAStructExportImport.java +++ b/test/jalview/ws/jabaws/RNAStructExportImport.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2) - * Copyright (C) 2014 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. * @@ -20,12 +20,15 @@ */ package jalview.ws.jabaws; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.testng.AssertJUnit.assertNotNull; +import static org.testng.AssertJUnit.assertTrue; + +import jalview.bin.Cache; +import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.AlignmentI; import jalview.gui.Jalview2XML; import jalview.io.AnnotationFile; +import jalview.io.FileLoader; import jalview.io.FormatAdapter; import jalview.io.StockholmFileTest; import jalview.ws.jws2.Jws2Discoverer; @@ -35,21 +38,26 @@ import jalview.ws.jws2.jabaws2.Jws2Instance; import jalview.ws.params.AutoCalcSetting; import java.awt.Component; +import java.io.File; import java.util.ArrayList; import java.util.List; import javax.swing.JMenu; import javax.swing.JMenuItem; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; +import org.testng.Assert; +import org.testng.annotations.AfterClass; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Test; +import compbio.metadata.Argument; import compbio.metadata.WrongParameterException; public class RNAStructExportImport { - public static String testseqs = "examples/unfolded_RF00031.aln"; + private static final String JAR_FILE_NAME = "testRnalifold_param.jar"; + + public static String testseqs = "examples/RF00031_folded.stk"; public static Jws2Discoverer disc; @@ -59,11 +67,11 @@ public class RNAStructExportImport public static jalview.gui.AlignFrame af = null; - @BeforeClass + @BeforeClass(alwaysRun = true) public static void setUpBeforeClass() throws Exception { - - jalview.bin.Cache.initLogger(); + Cache.loadProperties("test/jalview/io/testProps.jvprops"); + Cache.initLogger(); disc = JalviewJabawsTestUtils.getJabawsDiscoverer(false); for (Jws2Instance svc : disc.getServices()) @@ -79,28 +87,82 @@ public class RNAStructExportImport if (rnaalifoldws == null) { - System.exit(0); + Assert.fail("no web service"); } - jalview.io.FileLoader fl = new jalview.io.FileLoader(false); + FileLoader fl = new FileLoader(false); - af = fl.LoadFileWaitTillLoaded(testseqs, jalview.io.FormatAdapter.FILE); + af = fl.LoadFileWaitTillLoaded(testseqs, FormatAdapter.FILE); assertNotNull("Couldn't load test data ('" + testseqs + "')", af); + // remove any existing annotation + List aal = new ArrayList(); + for (AlignmentAnnotation rna : af.getViewport().getAlignment() + .getAlignmentAnnotation()) + { + if (rna.isRNA()) + { + aal.add(rna); + } + } + for (AlignmentAnnotation rna : aal) + { + af.getViewport().getAlignment().deleteAnnotation(rna); + } + af.getViewport().alignmentChanged(af.alignPanel); // why is af.alignPanel + // public? } - @AfterClass + @AfterClass(alwaysRun = true) public static void tearDownAfterClass() throws Exception { if (af != null) { af.setVisible(false); af.dispose(); + File f = new File(JAR_FILE_NAME); + if (f.exists()) + { + f.delete(); + } + } + } + + @Test(groups = { "Functional" }) + public void testRNAAliFoldValidStructure() + { + + alifoldClient = new RNAalifoldClient(rnaalifoldws, af, null, null); + + af.getViewport().getCalcManager().startWorker(alifoldClient); + + do + { + try + { + Thread.sleep(50); + } catch (InterruptedException x) + { + } + } while (af.getViewport().getCalcManager().isWorking()); + + AlignmentI orig_alig = af.getViewport().getAlignment(); + for (AlignmentAnnotation aa : orig_alig.getAlignmentAnnotation()) + { + if (alifoldClient.involves(aa)) + { + if (aa.isRNA()) + { + assertTrue( + "Did not create valid structure from RNAALiFold prediction", + aa.isValidStruc()); + } + } } } - @Test + @Test(groups = { "Functional" }) public void testRNAStructExport() { @@ -116,7 +178,6 @@ public class RNAStructExportImport } catch (InterruptedException x) { } - ; } while (af.getViewport().getCalcManager().isWorking()); AlignmentI orig_alig = af.getViewport().getAlignment(); @@ -135,11 +196,11 @@ public class RNAStructExportImport String anfileout = new AnnotationFile() .printAnnotationsForAlignment(al); - assertTrue( + assertNotNull( "Test " + testname + "\nAlignment annotation file was not regenerated. Null string", - anfileout != null); + anfileout); assertTrue( "Test " + testname @@ -160,23 +221,23 @@ public class RNAStructExportImport FormatAdapter.PASTE)); // test for consistency in io - StockholmFileTest.testAlignmentEquivalence(al, al_new); + StockholmFileTest.testAlignmentEquivalence(al, al_new, false); return; } catch (Exception e) { e.printStackTrace(); } - fail("Test " + Assert.fail("Test " + testname + "\nCouldn't complete Annotation file roundtrip input/output/input test."); } - @Test + @Test(groups = { "Functional" }) public void testRnaalifoldSettingsRecovery() { - List opts = new ArrayList(); - for (compbio.metadata.Argument rg : (List) rnaalifoldws - .getRunnerConfig().getArguments()) + List opts = new ArrayList(); + for (Argument rg : (List) rnaalifoldws.getRunnerConfig() + .getArguments()) { if (rg.getDescription().contains("emperature")) { @@ -185,7 +246,7 @@ public class RNAStructExportImport rg.setValue("292"); } catch (WrongParameterException q) { - fail("Couldn't set the temperature parameter " + Assert.fail("Couldn't set the temperature parameter " + q.getStackTrace()); } opts.add(rg); @@ -215,10 +276,10 @@ public class RNAStructExportImport // write out parameters jalview.gui.AlignFrame nalf = null; assertTrue("Couldn't write out the Jar file", - new Jalview2XML(false).saveAlignment(af, - "testRnalifold_param.jar", "trial parameter writeout")); + new Jalview2XML(false).saveAlignment(af, JAR_FILE_NAME, + "trial parameter writeout")); assertTrue("Couldn't read back the Jar file", (nalf = new Jalview2XML( - false).loadJalviewAlign("testRnalifold_param.jar")) != null); + false).loadJalviewAlign(JAR_FILE_NAME)) != null); if (nalf != null) { AutoCalcSetting acs = af.getViewport().getCalcIdSettingsFor(