X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fanalysis%2Fscoremodels%2FFeatureScoreModelTest.java;fp=test%2Fjalview%2Fanalysis%2Fscoremodels%2FFeatureScoreModelTest.java;h=0000000000000000000000000000000000000000;hb=f063821ed0be9c1581af74643a1aa5798731af65;hp=66eb5a51241dfa1c1143a94fabce71820d869d5b;hpb=fd18e2c73cd015d4e38ad91da0e5d7532ff0ef42;p=jalview.git diff --git a/test/jalview/analysis/scoremodels/FeatureScoreModelTest.java b/test/jalview/analysis/scoremodels/FeatureScoreModelTest.java deleted file mode 100644 index 66eb5a5..0000000 --- a/test/jalview/analysis/scoremodels/FeatureScoreModelTest.java +++ /dev/null @@ -1,193 +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 . - * The Jalview Authors are detailed in the 'AUTHORS' file. - */ -package jalview.analysis.scoremodels; - -import jalview.datamodel.AlignmentI; -import jalview.datamodel.SequenceFeature; -import jalview.datamodel.SequenceI; -import jalview.gui.AlignFrame; -import jalview.gui.JvOptionPane; -import jalview.io.DataSourceType; -import jalview.io.FileLoader; - -import java.util.Arrays; - -import org.testng.Assert; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.Test; - -public class FeatureScoreModelTest -{ - - @BeforeClass(alwaysRun = true) - public void setUpJvOptionPane() - { - JvOptionPane.setInteractiveMode(false); - JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION); - } - - public static String alntestFile = "FER1_MESCR/72-76 DVYIL\nFER1_SPIOL/71-75 DVYIL\nFER3_RAPSA/21-25 DVYVL\nFER1_MAIZE/73-77 DVYIL\n"; - - int[] sf1 = new int[] { 74, 74, 73, 73, 23, 23, -1, -1 }; - - int[] sf2 = new int[] { -1, -1, 74, 75, -1, -1, 76, 77 }; - - int[] sf3 = new int[] { -1, -1, -1, -1, -1, -1, 76, 77 }; - - public AlignFrame getTestAlignmentFrame() - { - AlignFrame alf = new FileLoader(false).LoadFileWaitTillLoaded( - alntestFile, DataSourceType.PASTE); - AlignmentI al = alf.getViewport().getAlignment(); - Assert.assertEquals(al.getHeight(), 4); - Assert.assertEquals(al.getWidth(), 5); - for (int i = 0; i < 4; i++) - { - SequenceI ds = al.getSequenceAt(i).getDatasetSequence(); - if (sf1[i * 2] > 0) - { - ds.addSequenceFeature(new SequenceFeature("sf1", "sf1", "sf1", - sf1[i * 2], sf1[i * 2 + 1], "sf1")); - } - if (sf2[i * 2] > 0) - { - ds.addSequenceFeature(new SequenceFeature("sf2", "sf2", "sf2", - sf2[i * 2], sf2[i * 2 + 1], "sf2")); - } - if (sf3[i * 2] > 0) - { - ds.addSequenceFeature(new SequenceFeature("sf3", "sf3", "sf3", - sf3[i * 2], sf3[i * 2 + 1], "sf3")); - } - } - alf.setShowSeqFeatures(true); - alf.getFeatureRenderer().setVisible("sf1"); - alf.getFeatureRenderer().setVisible("sf2"); - alf.getFeatureRenderer().setVisible("sf3"); - alf.getFeatureRenderer().findAllFeatures(true); - Assert.assertEquals(alf.getFeatureRenderer().getDisplayedFeatureTypes() - .size(), 3, "Number of feature types"); - Assert.assertTrue(alf.getCurrentView().areFeaturesDisplayed()); - return alf; - } - - @Test(groups = { "Functional" }) - public void testFeatureScoreModel() throws Exception - { - AlignFrame alf = getTestAlignmentFrame(); - FeatureScoreModel fsm = new FeatureScoreModel(); - Assert.assertTrue(fsm.configureFromAlignmentView(alf.getCurrentView() - .getAlignPanel())); - alf.selectAllSequenceMenuItem_actionPerformed(null); - float[][] dm = fsm.findDistances(alf.getViewport().getAlignmentView( - true)); - Assert.assertTrue(dm[0][2] == 0f, - "FER1_MESCR (0) should be identical with RAPSA (2)"); - Assert.assertTrue(dm[0][1] > dm[0][2], - "FER1_MESCR (0) should be further from SPIOL (1) than it is from RAPSA (2)"); - } - - @Test(groups = { "Functional" }) - public void testFeatureScoreModel_hiddenFirstColumn() throws Exception - { - AlignFrame alf = getTestAlignmentFrame(); - // hiding first two columns shouldn't affect the tree - alf.getViewport().hideColumns(0, 1); - FeatureScoreModel fsm = new FeatureScoreModel(); - Assert.assertTrue(fsm.configureFromAlignmentView(alf.getCurrentView() - .getAlignPanel())); - alf.selectAllSequenceMenuItem_actionPerformed(null); - float[][] dm = fsm.findDistances(alf.getViewport().getAlignmentView( - true)); - Assert.assertTrue(dm[0][2] == 0f, - "FER1_MESCR (0) should be identical with RAPSA (2)"); - Assert.assertTrue(dm[0][1] > dm[0][2], - "FER1_MESCR (0) should be further from SPIOL (1) than it is from RAPSA (2)"); - } - - @Test(groups = { "Functional" }) - public void testFeatureScoreModel_HiddenColumns() throws Exception - { - AlignFrame alf = getTestAlignmentFrame(); - // hide columns and check tree changes - alf.getViewport().hideColumns(3, 4); - alf.getViewport().hideColumns(0, 1); - FeatureScoreModel fsm = new FeatureScoreModel(); - Assert.assertTrue(fsm.configureFromAlignmentView(alf.getCurrentView() - .getAlignPanel())); - alf.selectAllSequenceMenuItem_actionPerformed(null); - float[][] dm = fsm.findDistances(alf.getViewport().getAlignmentView( - true)); - Assert.assertTrue( - dm[0][2] == 0f, - "After hiding last two columns FER1_MESCR (0) should still be identical with RAPSA (2)"); - Assert.assertTrue( - dm[0][1] == 0f, - "After hiding last two columns FER1_MESCR (0) should now also be identical with SPIOL (1)"); - for (int s = 0; s < 3; s++) - { - Assert.assertTrue(dm[s][3] > 0f, "After hiding last two columns " - + alf.getViewport().getAlignment().getSequenceAt(s).getName() - + "(" + s + ") should still be distinct from FER1_MAIZE (3)"); - } - } - - /** - * Check findFeatureAt doesn't return contact features except at contact - * points TODO:move to under the FeatureRendererModel test suite - */ - @Test(groups = { "Functional" }) - public void testFindFeatureAt_PointFeature() throws Exception - { - String alignment = "a CCCCCCGGGGGGCCCCCC\n" + "b CCCCCCGGGGGGCCCCCC\n" - + "c CCCCCCGGGGGGCCCCCC\n"; - AlignFrame af = new jalview.io.FileLoader(false) - .LoadFileWaitTillLoaded(alignment, DataSourceType.PASTE); - SequenceI aseq = af.getViewport().getAlignment().getSequenceAt(0); - SequenceFeature sf = null; - sf = new SequenceFeature("disulphide bond", "", 2, 5, Float.NaN, ""); - aseq.addSequenceFeature(sf); - Assert.assertTrue(sf.isContactFeature()); - af.refreshFeatureUI(true); - af.getFeatureRenderer().setAllVisible(Arrays.asList("disulphide bond")); - Assert.assertEquals(af.getFeatureRenderer().getDisplayedFeatureTypes() - .size(), 1, "Should be just one feature type displayed"); - // step through and check for pointwise feature presence/absence - Assert.assertEquals(af.getFeatureRenderer().findFeaturesAtRes(aseq, 1) - .size(), 0); - // step through and check for pointwise feature presence/absence - Assert.assertEquals(af.getFeatureRenderer().findFeaturesAtRes(aseq, 2) - .size(), 1); - // step through and check for pointwise feature presence/absence - Assert.assertEquals(af.getFeatureRenderer().findFeaturesAtRes(aseq, 3) - .size(), 0); - // step through and check for pointwise feature presence/absence - Assert.assertEquals(af.getFeatureRenderer().findFeaturesAtRes(aseq, 4) - .size(), 0); - // step through and check for pointwise feature presence/absence - Assert.assertEquals(af.getFeatureRenderer().findFeaturesAtRes(aseq, 5) - .size(), 1); - // step through and check for pointwise feature presence/absence - Assert.assertEquals(af.getFeatureRenderer().findFeaturesAtRes(aseq, 6) - .size(), 0); - } - -}