X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fstructure%2FStructureSelectionManagerTest.java;h=e9fa336e16683a320d026a0517630016e52b5ca7;hb=4a43369c96bc932961492509c4008972d4d566e5;hp=e4cc3367534c1fe0373d0d1ff15730055ad6fcf7;hpb=90336678e0ea5403d2803942eb3dd7f8f4436a14;p=jalview.git diff --git a/test/jalview/structure/StructureSelectionManagerTest.java b/test/jalview/structure/StructureSelectionManagerTest.java index e4cc336..e9fa336 100644 --- a/test/jalview/structure/StructureSelectionManagerTest.java +++ b/test/jalview/structure/StructureSelectionManagerTest.java @@ -1,9 +1,33 @@ +/* + * 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.structure; import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertTrue; import jalview.datamodel.AlignedCodonFrame; +import jalview.datamodel.Sequence; +import jalview.datamodel.SequenceFeature; +import jalview.datamodel.SequenceI; +import jalview.io.FormatAdapter; import java.util.HashSet; import java.util.Set; @@ -11,17 +35,19 @@ import java.util.Set; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; +import MCview.PDBfile; + public class StructureSelectionManagerTest { private StructureSelectionManager ssm; - @BeforeMethod(alwaysRun = true) + @BeforeMethod(alwaysRun = true) public void setUp() { ssm = new StructureSelectionManager(); } - @Test(groups ={ "Functional" }) + @Test(groups = { "Functional" }) public void testRegisterMapping() { AlignedCodonFrame acf1 = new AlignedCodonFrame(); @@ -45,7 +71,7 @@ public class StructureSelectionManagerTest assertTrue(ssm.seqmappings.contains(acf2)); } - @Test(groups ={ "Functional" }) + @Test(groups = { "Functional" }) public void testRegisterMappings() { AlignedCodonFrame acf1 = new AlignedCodonFrame(); @@ -72,4 +98,45 @@ public class StructureSelectionManagerTest assertTrue(ssm.seqmappings.contains(acf2)); assertTrue(ssm.seqmappings.contains(acf3)); } + + /** + * Verify that RESNUM sequence features are present after creating a PDB + * mapping + */ + @Test(groups = { "Functional" }) + public void testSetMapping_seqFeatures() + { + SequenceI seq = new Sequence( + "1GAQ|B", + "ATYNVKLITPEGEVELQVPDDVYILDQAEEDGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSYLDDGQIADGWVLTCHAYPTSDVVIETHKEEELTGA"); + StructureSelectionManager sm = new StructureSelectionManager(); + sm.setProcessSecondaryStructure(true); + sm.setAddTempFacAnnot(true); + PDBfile pmap = sm.setMapping(true, new SequenceI[] { seq }, + new String[] { null }, "examples/1gaq.txt", FormatAdapter.FILE); + assertTrue(pmap != null); + + assertEquals(3, pmap.getSeqs().size()); + assertEquals("1GAQ|A", pmap.getSeqs().get(0).getName()); + assertEquals("1GAQ|B", pmap.getSeqs().get(1).getName()); + assertEquals("1GAQ|C", pmap.getSeqs().get(2).getName()); + + /* + * Verify a RESNUM sequence feature in the PDBfile sequence + */ + SequenceFeature sf = pmap.getSeqs().get(0).getSequenceFeatures()[0]; + assertEquals("RESNUM", sf.getType()); + assertEquals("1gaq", sf.getFeatureGroup()); + assertEquals("GLU: 19 1gaqA", sf.getDescription()); + + /* + * Verify a RESNUM sequence feature in the StructureSelectionManager mapped + * sequence + */ + StructureMapping map = sm.getMapping("examples/1gaq.txt")[0]; + sf = map.sequence.getSequenceFeatures()[0]; + assertEquals("RESNUM", sf.getType()); + assertEquals("1gaq", sf.getFeatureGroup()); + assertEquals("ALA: 1 1gaqB", sf.getDescription()); + } }