+/*
+ * 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.io.gff;
import static org.testng.AssertJUnit.assertEquals;
import jalview.datamodel.SequenceDummy;
import jalview.datamodel.SequenceI;
import jalview.gui.AlignFrame;
+import jalview.gui.JvOptionPane;
import jalview.io.DataSourceType;
import jalview.io.FileLoader;
import java.util.List;
import java.util.Map;
+import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
public class ExonerateHelperTest
{
+
+ @BeforeClass(alwaysRun = true)
+ public void setUpJvOptionPane()
+ {
+ JvOptionPane.setInteractiveMode(false);
+ JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
+ }
+
@Test(groups = "Functional")
public void testGetMappingType()
{
// protein-to-dna:
- assertSame(MappingType.PeptideToNucleotide,
- ExonerateHelper
- .getMappingType("exonerate:protein2genome:local"));
+ assertSame(MappingType.PeptideToNucleotide, ExonerateHelper
+ .getMappingType("exonerate:protein2genome:local"));
assertSame(MappingType.PeptideToNucleotide,
ExonerateHelper.getMappingType("exonerate:protein2dna:local"));
assertSame(newseqs.get(0), mapping.getdnaSeqs()[0]);
assertEquals(1, mapping.getdnaToProt().length);
assertEquals(1, mapping.getdnaToProt()[0].getFromRanges().size());
- assertArrayEquals(new int[] { 400, 423 }, mapping.getdnaToProt()[0]
- .getFromRanges().get(0));
+ assertArrayEquals(new int[] { 400, 423 },
+ mapping.getdnaToProt()[0].getFromRanges().get(0));
assertEquals(1, mapping.getdnaToProt()[0].getToRanges().size());
- assertArrayEquals(new int[] { 3, 10 }, mapping.getdnaToProt()[0]
- .getToRanges().get(0));
+ assertArrayEquals(new int[] { 3, 10 },
+ mapping.getdnaToProt()[0].getToRanges().get(0));
}
/**
assertSame(newseqs.get(0), mapping.getdnaSeqs()[0]);
assertEquals(1, mapping.getdnaToProt().length);
assertEquals(1, mapping.getdnaToProt()[0].getFromRanges().size());
- assertArrayEquals(new int[] { 400, 377 }, mapping.getdnaToProt()[0]
- .getFromRanges().get(0));
+ assertArrayEquals(new int[] { 400, 377 },
+ mapping.getdnaToProt()[0].getFromRanges().get(0));
assertEquals(1, mapping.getdnaToProt()[0].getToRanges().size());
- assertArrayEquals(new int[] { 3, 10 }, mapping.getdnaToProt()[0]
- .getToRanges().get(0));
+ assertArrayEquals(new int[] { 3, 10 },
+ mapping.getdnaToProt()[0].getToRanges().get(0));
}
/**
assertEquals(1, mapping.getdnaSeqs().length);
assertEquals(1, mapping.getdnaToProt().length);
assertEquals(1, mapping.getdnaToProt()[0].getFromRanges().size());
- assertArrayEquals(new int[] { 400, 423 }, mapping.getdnaToProt()[0]
- .getFromRanges().get(0));
+ assertArrayEquals(new int[] { 400, 423 },
+ mapping.getdnaToProt()[0].getFromRanges().get(0));
assertEquals(1, mapping.getdnaToProt()[0].getToRanges().size());
- assertArrayEquals(new int[] { 3, 10 }, mapping.getdnaToProt()[0]
- .getToRanges().get(0));
+ assertArrayEquals(new int[] { 3, 10 },
+ mapping.getdnaToProt()[0].getToRanges().get(0));
}
/**
assertEquals(1, mapping.getdnaSeqs().length);
assertEquals(1, mapping.getdnaToProt().length);
assertEquals(1, mapping.getdnaToProt()[0].getFromRanges().size());
- assertArrayEquals(new int[] { 400, 377 }, mapping.getdnaToProt()[0]
- .getFromRanges().get(0));
+ assertArrayEquals(new int[] { 400, 377 },
+ mapping.getdnaToProt()[0].getFromRanges().get(0));
assertEquals(1, mapping.getdnaToProt()[0].getToRanges().size());
- assertArrayEquals(new int[] { 3, 10 }, mapping.getdnaToProt()[0]
- .getToRanges().get(0));
+ assertArrayEquals(new int[] { 3, 10 },
+ mapping.getdnaToProt()[0].getToRanges().get(0));
}
/**
{
FileLoader loader = new FileLoader(false);
AlignFrame af = loader.LoadFileWaitTillLoaded(
- "examples/testdata/exonerateseqs.fa",
- DataSourceType.FILE);
-
+ "examples/testdata/exonerateseqs.fa", DataSourceType.FILE);
+
af.loadJalviewDataFile("examples/testdata/exonerateoutput.gff",
DataSourceType.FILE, null, null);
-
+
/*
* verify one mapping to a dummy sequence, one to a real one
*/
- List<AlignedCodonFrame> mappings = af
- .getViewport().getAlignment().getDataset().getCodonFrames();
+ List<AlignedCodonFrame> mappings = af.getViewport().getAlignment()
+ .getDataset().getCodonFrames();
assertEquals(2, mappings.size());
Iterator<AlignedCodonFrame> iter = mappings.iterator();
-
+
// first mapping is to dummy sequence
AlignedCodonFrame mapping = iter.next();
Mapping[] mapList = mapping.getProtMappings();
// 143 in protein should map to codon [11270, 11269, 11268] in dna
int[] mappedRegion = mapList[0].getMap().locateInFrom(143, 143);
assertArrayEquals(new int[] { 11270, 11268 }, mappedRegion);
-
+
// second mapping is to a sequence in the alignment
mapping = iter.next();
mapList = mapping.getProtMappings();
.findName("DDB_G0280897");
assertSame(proteinSeq.getDatasetSequence(), mapList[0].getTo());
assertEquals(1, mapping.getdnaToProt().length);
-
+
// 143 in protein should map to codon [11270, 11269, 11268] in dna
mappedRegion = mapList[0].getMap().locateInFrom(143, 143);
assertArrayEquals(new int[] { 11270, 11268 }, mappedRegion);
-
+
// 182 in protein should map to codon [11153, 11152, 11151] in dna
mappedRegion = mapList[0].getMap().locateInFrom(182, 182);
assertArrayEquals(new int[] { 11153, 11151 }, mappedRegion);
-
+
// and the reverse mapping:
mappedRegion = mapList[0].getMap().locateInTo(11151, 11153);
assertArrayEquals(new int[] { 182, 182 }, mappedRegion);
-
+
// 11150 in dna should _not_ map to protein
mappedRegion = mapList[0].getMap().locateInTo(11150, 11150);
assertNull(mappedRegion);
-
+
// similarly 183 in protein should _not_ map to dna
mappedRegion = mapList[0].getMap().locateInFrom(183, 183);
assertNull(mappedRegion);