X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fws%2Fjabaws%2FRNAStructExportImport.java;h=58bcb44d34f9361bd29d2852ef99ce8572ba5cb8;hb=838e4f91d4a53dd315640dbc9ff6ef7a815ee576;hp=e74ebe7082adc6d27b532b855653e9e62f07fbb4;hpb=c4ec878c9cb59fc40a88ed8ecdf5fda46f3de111;p=jalview.git diff --git a/test/jalview/ws/jabaws/RNAStructExportImport.java b/test/jalview/ws/jabaws/RNAStructExportImport.java index e74ebe7..58bcb44 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 2.9.0b1) + * Copyright (C) 2015 The Jalview Authors * * This file is part of Jalview. * @@ -20,42 +20,39 @@ */ package jalview.ws.jabaws; -import static org.junit.Assert.*; +import static org.testng.AssertJUnit.assertNotNull; +import static org.testng.AssertJUnit.assertTrue; -import java.awt.Component; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Vector; - -import javax.swing.JMenu; -import javax.swing.JMenuItem; - -import jalview.api.AlignCalcManagerI; import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.AlignmentI; -import jalview.datamodel.Annotation; import jalview.gui.Jalview2XML; import jalview.io.AnnotationFile; import jalview.io.FormatAdapter; import jalview.io.StockholmFileTest; -import jalview.ws.jws2.AADisorderClient; import jalview.ws.jws2.Jws2Discoverer; import jalview.ws.jws2.RNAalifoldClient; import jalview.ws.jws2.SequenceAnnotationWSClient; -import jalview.ws.jws2.dm.JabaOption; import jalview.ws.jws2.jabaws2.Jws2Instance; import jalview.ws.params.AutoCalcSetting; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; +import java.awt.Component; +import java.util.ArrayList; +import java.util.List; + +import javax.swing.JMenu; +import javax.swing.JMenuItem; + +import org.testng.Assert; +import org.testng.annotations.AfterClass; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Test; import compbio.metadata.WrongParameterException; + public class RNAStructExportImport { - public static String testseqs = "examples/unfolded_RF00031.aln"; + public static String testseqs = "examples/RF00031_folded.stk"; public static Jws2Discoverer disc; @@ -65,7 +62,7 @@ public class RNAStructExportImport public static jalview.gui.AlignFrame af = null; - @BeforeClass + @BeforeClass(alwaysRun = true) public static void setUpBeforeClass() throws Exception { @@ -84,7 +81,9 @@ public class RNAStructExportImport System.out.println("State of rnaalifoldws: " + rnaalifoldws); if (rnaalifoldws == null) - System.exit(0); + { + Assert.fail("no web service"); + } jalview.io.FileLoader fl = new jalview.io.FileLoader(false); @@ -92,6 +91,22 @@ public class RNAStructExportImport 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 @@ -104,7 +119,41 @@ public class RNAStructExportImport } } - @Test + @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(groups = { "Functional" }) public void testRNAStructExport() { @@ -137,9 +186,8 @@ public class RNAStructExportImport String aligfileout = new FormatAdapter().formatSequences("PFAM", al.getSequencesArray()); - String anfileout = new AnnotationFile().printAnnotations( - al.getAlignmentAnnotation(), al.getGroups(), - al.getProperties()); + String anfileout = new AnnotationFile() + .printAnnotationsForAlignment(al); assertTrue( "Test " + testname @@ -165,18 +213,18 @@ 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(); @@ -190,7 +238,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);