From 27646d2165ec8ef75444519faf0199f2601a7b2a Mon Sep 17 00:00:00 2001 From: Jim Procter Date: Wed, 1 May 2024 15:58:21 +0100 Subject: [PATCH] JAL-4407 failing test checking for secondary structure is added when calling the associate pdb file routine --- test/jalview/gui/AssociatePDBFileTest.java | 142 ++++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 test/jalview/gui/AssociatePDBFileTest.java diff --git a/test/jalview/gui/AssociatePDBFileTest.java b/test/jalview/gui/AssociatePDBFileTest.java new file mode 100644 index 0000000..0e6791b --- /dev/null +++ b/test/jalview/gui/AssociatePDBFileTest.java @@ -0,0 +1,142 @@ +/* + * 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 . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ +package jalview.gui; + + +import java.awt.Color; +import java.io.File; +import java.util.Iterator; + +import org.junit.Assert; +import org.testng.annotations.AfterMethod; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; + +import jalview.analysis.AlignmentAnnotationUtils; +import jalview.api.FeatureColourI; +import jalview.bin.Cache; +import jalview.bin.Jalview; +import jalview.datamodel.Alignment; +import jalview.datamodel.AlignmentI; +import jalview.datamodel.HiddenColumns; +import jalview.datamodel.PDBEntry; +import jalview.datamodel.Sequence; +import jalview.datamodel.SequenceFeature; +import jalview.datamodel.SequenceGroup; +import jalview.datamodel.SequenceI; +import jalview.io.DataSourceType; +import jalview.io.FileLoader; +import jalview.project.Jalview2xmlTests; +import jalview.renderer.ResidueShaderI; +import jalview.schemes.BuriedColourScheme; +import jalview.schemes.FeatureColour; +import jalview.schemes.HelixColourScheme; +import jalview.schemes.JalviewColourScheme; +import jalview.schemes.StrandColourScheme; +import jalview.schemes.TurnColourScheme; +import jalview.util.MessageManager; + +public class AssociatePDBFileTest +{ + AlignFrame af; + + @BeforeClass(alwaysRun = true) + public static void setUpBeforeClass() throws Exception + { + setUpJvOptionPane(); + /* + * use read-only test properties file + */ + Cache.loadProperties("test/jalview/io/testProps.jvprops"); + Jalview.main(new String[] { "--nonews" }); + } + + @AfterMethod(alwaysRun = true) + public void tearDown() + { + if (Desktop.instance != null) + Desktop.instance.closeAll_actionPerformed(null); + } + + /** + * configure (read-only) properties for test to ensure Consensus is computed + * for colour Above PID testing + */ + @BeforeMethod(alwaysRun = true) + public void setUp() + { + Cache.loadProperties("test/jalview/io/testProps.jvprops"); + Cache.applicationProperties.setProperty("SHOW_IDENTITY", + Boolean.TRUE.toString()); + af = new FileLoader().LoadFileWaitTillLoaded(">1GAQ|A/19-314\n" + + "ESKKQEEGVVTNLYKPKEPYVGRCLLNTKITGDDAPGETWHMVFSTEGKIPYREGQSIGVIADGVDKNGKPH\n" + + "KVRLYSIASSAIGDFGDSKTVSLCVKRLIYTNDAGEIVKGVCSNFLCDLQPGDNVQITGPVGKEMLMPKDPN\n" + + "ATIIMLATGTGIAPFRSFLWKMFFEKHDDYKFNGLGWLFLGVPTSSSLLYKEEFGKMKERAPENFRVDYAVS\n" + + "REQTNAAGERMYIQTRMAEYKEELWELLKKDNTYVYMCGLKGMEKGIDDIMVSLAEKDGIDWFDYKKQLKRG\n" + + "DQWNVEVY\n" + + ">1GAQ|B/1-98\n" + + "ATYNVKLITPEGEVELQVPDDVYILDQAEEDGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSYLDDGQIADG\n" + + "WVLTCHAYPTSDVVIETHKEEELTGA\n" + + ">1GAQ|C/19-314\n" + + "ESKKQEEGVVTNLYKPKEPYVGRCLLNTKITGDDAPGETWHMVFSTEGKIPYREGQSIGVIADGVDKNGKPH\n" + + "KVRLYSIASSAIGDFGDSKTVSLCVKRLIYTNDAGEIVKGVCSNFLCDLQPGDNVQITGPVGKEMLMPKDPN\n" + + "ATIIMLATGTGIAPFRSFLWKMFFEKHDDYKFNGLGWLFLGVPTSSSLLYKEEFGKMKERAPENFRVDYAVS\n" + + "REQTNAAGERMYIQTRMAEYKEELWELLKKDNTYVYMCGLKGMEKGIDDIMVSLAEKDGIDWFDYKKQLKRG\n" + + "DQWNVEVY\n" + , + DataSourceType.PASTE); + + /* + * wait for Consensus thread to complete + */ + do + { + try + { + Thread.sleep(50); + } catch (InterruptedException x) + { + } + } while (af.getViewport().getCalcManager().isWorking()); + } + + public static void setUpJvOptionPane() + { + JvOptionPane.setInteractiveMode(false); + JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION); + } + + @Test(groups = "Functional") + public void testAssociatePDBFile() + { + String assoc_file="examples/1gaq.txt"; + for (SequenceI toassoc:af.getViewport().getAlignment().getSequences()) + { + PDBEntry pe = new AssociatePdbFileWithSeq() + .associatePdbWithSeq(assoc_file, + DataSourceType.FILE, toassoc, false, + Desktop.instance); + Assert.assertNotNull(pe); + Assert.assertNotEquals(toassoc.getDatasetSequence().getAnnotation().length,0); + } + } +} -- 1.7.10.2