Merge branch 'develop' into features/JAL-250_hideredundantseqs
[jalview.git] / test / jalview / ws / jabaws / JpredJabaStructExportImport.java
diff --git a/test/jalview/ws/jabaws/JpredJabaStructExportImport.java b/test/jalview/ws/jabaws/JpredJabaStructExportImport.java
deleted file mode 100644 (file)
index b8fe0a3..0000000
+++ /dev/null
@@ -1,325 +0,0 @@
-/*
- * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
- * Copyright (C) $$Year-Rel$$ The Jalview Authors
- * 
- * This file is part of Jalview.
- * 
- * Jalview is free software: you can redistribute it and/or
- * modify it under the terms of the GNU General Public License 
- * as published by the Free Software Foundation, either version 3
- * of the License, or (at your option) any later version.
- *  
- * Jalview is distributed in the hope that it will be useful, but 
- * WITHOUT ANY WARRANTY; without even the implied warranty 
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
- * PURPOSE.  See the GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
- * The Jalview Authors are detailed in the 'AUTHORS' file.
- */
-package jalview.ws.jabaws;
-
-import static org.testng.AssertJUnit.assertNotNull;
-import static org.testng.AssertJUnit.assertTrue;
-
-import jalview.bin.Cache;
-import jalview.datamodel.AlignmentI;
-import jalview.gui.Jalview2XML;
-import jalview.gui.JvOptionPane;
-import jalview.io.AnnotationFile;
-import jalview.io.DataSourceType;
-import jalview.io.FileFormat;
-import jalview.io.FormatAdapter;
-import jalview.io.StockholmFileTest;
-import jalview.ws.jws2.JPred301Client;
-import jalview.ws.jws2.JabaParamStore;
-import jalview.ws.jws2.Jws2Discoverer;
-import jalview.ws.jws2.SequenceAnnotationWSClient;
-import jalview.ws.jws2.jabaws2.Jws2Instance;
-import jalview.ws.params.AutoCalcSetting;
-
-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.Argument;
-import compbio.metadata.WrongParameterException;
-
-public class JpredJabaStructExportImport
-{
-
-  @BeforeClass(alwaysRun = true)
-  public void setUpJvOptionPane()
-  {
-    JvOptionPane.setInteractiveMode(false);
-    JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
-  }
-
-  public static String testseqs = "examples/uniref50.fa";
-
-  public static Jws2Discoverer disc;
-
-  public static Jws2Instance jpredws;
-
-  jalview.ws.jws2.JPred301Client jpredClient;
-
-  public static jalview.gui.AlignFrame af = null;
-
-  @BeforeClass(alwaysRun = true)
-  public static void setUpBeforeClass() throws Exception
-  {
-    Cache.loadProperties("test/jalview/io/testProps.jvprops");
-    Cache.initLogger();
-    disc = JalviewJabawsTestUtils.getJabawsDiscoverer(false);
-
-    for (Jws2Instance svc : disc.getServices())
-    {
-      if (svc.getServiceTypeURI().toLowerCase().contains("jpred"))
-      {
-        jpredws = svc;
-      }
-    }
-
-    System.out.println("State of jpredws: " + jpredws);
-    Assert.assertNotNull(jpredws, "jpredws is null!");
-    jalview.io.FileLoader fl = new jalview.io.FileLoader(false);
-    af = fl.LoadFileWaitTillLoaded(testseqs, jalview.io.DataSourceType.FILE);
-    assertNotNull("Couldn't load test data ('" + testseqs + "')", af);
-  }
-
-  @AfterClass(alwaysRun = true)
-  public static void tearDownAfterClass() throws Exception
-  {
-    if (af != null)
-    {
-      af.setVisible(false);
-      af.dispose();
-    }
-  }
-
-  @Test(groups = { "Functional" })
-  public void testJPredStructOneSeqOnly()
-  {
-    af.selectAllSequenceMenuItem_actionPerformed(null);
-    af.getViewport()
-            .getSelectionGroup()
-            .addOrRemove(
-                    af.getViewport().getSelectionGroup().getSequenceAt(0),
-                    false);
-    af.hideSelSequences_actionPerformed(null);
-    jpredClient = new JPred301Client(jpredws, af, null, null);
-
-    assertTrue(
-            "Didn't find any default args to check for. Buggy implementation of hardwired arguments in client.",
-            jpredClient.selectDefaultArgs().size() > 0);
-
-    boolean success = false;
-    af.getViewport().getCalcManager().startWorker(jpredClient);
-    do
-    {
-      try
-      {
-        Thread.sleep(500);
-        List<Argument> args = JabaParamStore.getJabafromJwsArgs(af
-                .getViewport()
-                .getCalcIdSettingsFor(jpredClient.getCalcId())
-                .getArgumentSet()), defargs = jpredClient
-                .selectDefaultArgs();
-        for (Argument rg : args)
-        {
-          for (Argument defg : defargs)
-          {
-            if (defg.equals(rg))
-            {
-              success = true;
-            }
-          }
-        }
-        if (!success)
-        {
-          jpredClient.cancelCurrentJob();
-          Assert.fail("Jpred Client didn't run with hardwired default parameters.");
-        }
-
-      } catch (InterruptedException x)
-      {
-      }
-      ;
-    } while (af.getViewport().getCalcManager().isWorking());
-
-  }
-
-  @Test(groups = { "Functional" })
-  public void testJPredStructExport()
-  {
-
-    jpredClient = new JPred301Client(jpredws, af, null, null);
-
-    af.getViewport().getCalcManager().startWorker(jpredClient);
-
-    do
-    {
-      try
-      {
-        Thread.sleep(50);
-      } catch (InterruptedException x)
-      {
-      }
-      ;
-    } while (af.getViewport().getCalcManager().isWorking());
-
-    AlignmentI orig_alig = af.getViewport().getAlignment();
-
-    testAnnotationFileIO("Testing JPredWS Annotation IO", orig_alig);
-
-  }
-
-  public static void testAnnotationFileIO(String testname, AlignmentI al)
-  {
-    try
-    {
-      // what format would be appropriate for RNAalifold annotations?
-      String aligfileout = FileFormat.Pfam.getAlignmentFile().print(
-              al.getSequencesArray(), true);
-
-      String anfileout = new AnnotationFile()
-              .printAnnotationsForAlignment(al);
-      assertTrue(
-              "Test "
-                      + testname
-                      + "\nAlignment annotation file was not regenerated. Null string",
-              anfileout != null);
-      assertTrue(
-              "Test "
-                      + testname
-                      + "\nAlignment annotation file was not regenerated. Empty string",
-              anfileout.length() > "JALVIEW_ANNOTATION".length());
-
-      System.out.println("Output annotation file:\n" + anfileout
-              + "\n<<EOF\n");
-
-      // again what format would be appropriate?
-      AlignmentI al_new = new FormatAdapter().readFile(aligfileout,
-              DataSourceType.PASTE, FileFormat.Fasta);
-      assertTrue(
-              "Test "
-                      + testname
-                      + "\nregenerated annotation file did not annotate alignment.",
-              new AnnotationFile().readAnnotationFile(al_new, anfileout,
-                      DataSourceType.PASTE));
-
-      // test for consistency in io
-      StockholmFileTest.testAlignmentEquivalence(al, al_new, false);
-      return;
-    } catch (Exception e)
-    {
-      e.printStackTrace();
-    }
-    Assert.fail("Test "
-            + testname
-            + "\nCouldn't complete Annotation file roundtrip input/output/input test.");
-  }
-
-  @Test(groups = { "Functional" })
-  public void testJpredwsSettingsRecovery()
-  {
-    Assert.fail("not implemnented");
-    List<compbio.metadata.Argument> opts = new ArrayList<compbio.metadata.Argument>();
-    for (compbio.metadata.Argument rg : (List<compbio.metadata.Argument>) jpredws
-            .getRunnerConfig().getArguments())
-    {
-      if (rg.getDescription().contains("emperature"))
-      {
-        try
-        {
-          rg.setValue("292");
-        } catch (WrongParameterException q)
-        {
-          Assert.fail("Couldn't set the temperature parameter "
-                  + q.getStackTrace());
-        }
-        opts.add(rg);
-      }
-      if (rg.getDescription().contains("max"))
-      {
-        opts.add(rg);
-      }
-    }
-    jpredClient = new JPred301Client(jpredws, af, null, opts);
-
-    af.getViewport().getCalcManager().startWorker(jpredClient);
-
-    do
-    {
-      try
-      {
-        Thread.sleep(50);
-      } catch (InterruptedException x)
-      {
-      }
-      ;
-    } while (af.getViewport().getCalcManager().isWorking());
-    AutoCalcSetting oldacs = af.getViewport().getCalcIdSettingsFor(
-            jpredClient.getCalcId());
-    String oldsettings = oldacs.getWsParamFile();
-    // write out parameters
-    jalview.gui.AlignFrame nalf = null;
-    assertTrue("Couldn't write out the Jar file",
-            new Jalview2XML(false).saveAlignment(af,
-                    "testJPredWS_param.jar", "trial parameter writeout"));
-    assertTrue("Couldn't read back the Jar file", (nalf = new Jalview2XML(
-            false).loadJalviewAlign("testJpredWS_param.jar")) != null);
-    if (nalf != null)
-    {
-      AutoCalcSetting acs = af.getViewport().getCalcIdSettingsFor(
-              jpredClient.getCalcId());
-      assertTrue("Calc ID settings not recovered from viewport stash",
-              acs.equals(oldacs));
-      assertTrue(
-              "Serialised Calc ID settings not identical to those recovered from viewport stash",
-              acs.getWsParamFile().equals(oldsettings));
-      JMenu nmenu = new JMenu();
-      new SequenceAnnotationWSClient()
-              .attachWSMenuEntry(nmenu, jpredws, af);
-      assertTrue("Couldn't get menu entry for service",
-              nmenu.getItemCount() > 0);
-      for (Component itm : nmenu.getMenuComponents())
-      {
-        if (itm instanceof JMenuItem)
-        {
-          JMenuItem i = (JMenuItem) itm;
-          if (i.getText().equals(
-                  jpredws.getAlignAnalysisUI().getAAconToggle()))
-          {
-            i.doClick();
-            break;
-          }
-        }
-      }
-      while (af.getViewport().isCalcInProgress())
-      {
-        try
-        {
-          Thread.sleep(200);
-        } catch (Exception x)
-        {
-        }
-        ;
-      }
-      AutoCalcSetting acs2 = af.getViewport().getCalcIdSettingsFor(
-              jpredClient.getCalcId());
-      assertTrue(
-              "Calc ID settings after recalculation has not been recovered.",
-              acs2.getWsParamFile().equals(oldsettings));
-    }
-  }
-}