X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fstructure%2FMapping.java;h=85aea4000c0354d1c8ef2f0b4b32ff323be4026d;hb=483e7163b1fb8d4bcb9393014816c944befce328;hp=b0144fc54c4d4b88f620abe073fdb96e819e5e7e;hpb=840cd48c5f411f50152d0b19460440ea05f7fd23;p=jalview.git diff --git a/test/jalview/structure/Mapping.java b/test/jalview/structure/Mapping.java index b0144fc..85aea40 100644 --- a/test/jalview/structure/Mapping.java +++ b/test/jalview/structure/Mapping.java @@ -1,24 +1,54 @@ +/* + * 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.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.testng.AssertJUnit.assertEquals; +import static org.testng.AssertJUnit.assertTrue; + import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.Annotation; import jalview.datamodel.Sequence; import jalview.datamodel.SequenceI; import jalview.gui.AlignFrame; +import jalview.gui.JvOptionPane; +import jalview.io.DataSourceType; +import jalview.io.FileFormat; import jalview.io.FileLoader; -import jalview.io.FormatAdapter; - -import org.junit.Assert; -import org.junit.Test; +import jalview.io.StructureFile; -import MCview.PDBfile; +import org.testng.Assert; +import org.testng.AssertJUnit; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Test; public class Mapping { + @BeforeClass(alwaysRun = true) + public void setUpJvOptionPane() + { + JvOptionPane.setInteractiveMode(false); + JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION); + } + /* * more test data * @@ -26,10 +56,10 @@ public class Mapping * 115 in PDB Res Numbering secondary structure numbers in jmol seem to be in * msd numbering, not pdb res numbering. */ - @Test + @Test(groups = { "Functional" }, enabled = false) public void pdbEntryPositionMap() throws Exception { - fail("This test intentionally left to fail"); + Assert.fail("This test intentionally left to fail"); for (int offset = 0; offset < 20; offset += 6) { // check we put the secondary structure in the right position @@ -42,16 +72,13 @@ public class Mapping // original numbers taken from // http://www.ebi.ac.uk/pdbe-srv/view/entry/1qcf/secondary.html // these are in numbering relative to the subsequence above - int coils[] = - { 266, 275, 278, 287, 289, 298, 302, 316 }, helices[] = new int[] - { 303, 315 }, sheets[] = new int[] - { 267, 268, 269, 270 }; + int coils[] = { 266, 275, 278, 287, 289, 298, 302, 316 }, helices[] = new int[] + { 303, 315 }, sheets[] = new int[] { 267, 268, 269, 270 }; StructureSelectionManager ssm = new jalview.structure.StructureSelectionManager(); - PDBfile pmap = ssm.setMapping(true, new SequenceI[] - { uprot }, new String[] - { "A" }, "test/jalview/ext/jmol/1QCF.pdb", - jalview.io.FormatAdapter.FILE); + StructureFile pmap = ssm.setMapping(true, new SequenceI[] { uprot }, + new String[] { "A" }, "test/jalview/ext/jmol/1QCF.pdb", + DataSourceType.FILE); assertTrue(pmap != null); SequenceI protseq = pmap.getSeqsAsArray()[0]; AlignmentAnnotation pstra = protseq @@ -108,10 +135,10 @@ public class Mapping } } - @Test + @Test(groups = { "Functional" }, enabled = false) public void testPDBentryMapping() throws Exception { - fail("This test intentionally left to fail"); + Assert.fail("This test intentionally left to fail"); Sequence sq = new Sequence( "1GAQ A subseq 126 to 219", "EIVKGVCSNFLCDLQPGDNVQITGPVGKEMLMPKDPNATIIMLATGTGIAPFRSFLWKMFFEKHDDYKFNGLGWLFLGVPTSSSLLYKEEFGKM"); @@ -120,9 +147,9 @@ public class Mapping StructureSelectionManager ssm = new jalview.structure.StructureSelectionManager(); // Associate the 1GAQ pdb file with the subsequence 'imported' from another // source - PDBfile pde = ssm.setMapping(true, new SequenceI[] - { sq }, new String[] - { "A" }, inFile = "examples/1gaq.txt", jalview.io.FormatAdapter.FILE); + StructureFile pde = ssm.setMapping(true, new SequenceI[] { sq }, + new String[] + { "A" }, inFile = "examples/1gaq.txt", DataSourceType.FILE); assertTrue("PDB File couldn't be found", pde != null); StructureMapping[] mp = ssm.getMapping(inFile); assertTrue("No mappings made.", mp != null && mp.length > 0); @@ -193,8 +220,7 @@ public class Mapping Annotation a = transfer.annotations[tanpos], b = alan.annotations[p]; assertEquals("Non-equivalent annotation element at " + p + "(" + rseqpos + ")" + " expected at " + fpos + " (alIndex " - + tanpos + ")", - a == null ? a : a.toString(), + + tanpos + ")", a == null ? a : a.toString(), b == null ? b : b.toString()); System.out.print("(" + a + "|" + b + ")"); } @@ -209,22 +235,21 @@ public class Mapping * transform * */ - @Test + @Test(groups = { "Functional" }) public void mapFer1From3W5V() throws Exception { AlignFrame seqf = new FileLoader(false) .LoadFileWaitTillLoaded( ">FER1_MAIZE/1-150 Ferredoxin-1, chloroplast precursor\nMATVLGSPRAPAFFFSSSSLRAAPAPTAVALPAAKVGIMGRSASSRRRLRAQATYNVKLITPEGEVELQVPD\nDVYILDQAEEDGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSYLDDGQIADGWVLTCHAYPTSDVVIETHKE\nEELTGA", - FormatAdapter.PASTE, "FASTA"); + DataSourceType.PASTE, FileFormat.Fasta); SequenceI newseq = seqf.getViewport().getAlignment().getSequenceAt(0); StructureSelectionManager ssm = new jalview.structure.StructureSelectionManager(); - PDBfile pmap = ssm.setMapping(true, new SequenceI[] - { newseq }, new String[] - { null }, "examples/3W5V.pdb", - jalview.io.FormatAdapter.FILE); + StructureFile pmap = ssm.setMapping(true, new SequenceI[] { newseq }, + new String[] { null }, "examples/3W5V.pdb", + DataSourceType.FILE); if (pmap == null) { - Assert.fail("Couldn't make a mapping for 3W5V to FER1_MAIZE"); + AssertJUnit.fail("Couldn't make a mapping for 3W5V to FER1_MAIZE"); } } @@ -232,12 +257,13 @@ public class Mapping * compare reference annotation for imported pdb sequence to identical * seuqence with transferred annotation from mapped pdb file */ - @Test + @Test(groups = { "Functional" }) public void compareTransferredToRefPDBAnnot() throws Exception { + StructureImportSettings.setShowSeqFeatures(true); AlignFrame ref = new FileLoader(false) .LoadFileWaitTillLoaded("test/jalview/ext/jmol/1QCF.pdb", - jalview.io.FormatAdapter.FILE); + DataSourceType.FILE); SequenceI refseq = ref.getViewport().getAlignment().getSequenceAt(0); SequenceI newseq = new Sequence(refseq.getName() + "Copy", refseq.getSequenceAsString()); @@ -245,14 +271,17 @@ public class Mapping newseq.setStart(refseq.getStart() + 25); newseq.setEnd(refseq.getLength() + 25 + refseq.getStart()); StructureSelectionManager ssm = new jalview.structure.StructureSelectionManager(); - PDBfile pmap = ssm.setMapping(true, new SequenceI[] - { newseq }, new String[] - { null }, "test/jalview/ext/jmol/1QCF.pdb", - jalview.io.FormatAdapter.FILE); + ssm.setProcessSecondaryStructure(true); + ssm.setAddTempFacAnnot(true); + StructureFile pmap = ssm.setMapping(true, new SequenceI[] { newseq }, + new String[] { null }, "test/jalview/ext/jmol/1QCF.pdb", + DataSourceType.FILE); assertTrue(pmap != null); assertEquals("Original and copied sequence of different lengths.", refseq.getLength(), newseq.getLength()); - assertTrue(refseq.getAnnotation().length > 0 + assertTrue(refseq.getAnnotation() != null + && refseq.getAnnotation().length > 0); + assertTrue(newseq.getAnnotation() != null && newseq.getAnnotation().length > 0); for (AlignmentAnnotation oannot : refseq.getAnnotation()) {