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 jalview.io.FormatAdapter;
import java.io.IOException;
import java.util.ArrayList;
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,
+ assertSame(MappingType.PeptideToGenome,
ExonerateHelper
.getMappingType("exonerate:protein2genome:local"));
- assertSame(MappingType.PeptideToNucleotide,
+ assertSame(MappingType.PeptideToGenome,
ExonerateHelper.getMappingType("exonerate:protein2dna:local"));
// dna-to-dna:
- assertSame(MappingType.NucleotideToNucleotide,
+ assertSame(MappingType.GenomeToCdna,
ExonerateHelper.getMappingType("coding2coding"));
- assertSame(MappingType.NucleotideToNucleotide,
+ assertSame(MappingType.GenomeToCdna,
ExonerateHelper.getMappingType("coding2genome"));
- assertSame(MappingType.NucleotideToNucleotide,
+ assertSame(MappingType.GenomeToCdna,
ExonerateHelper.getMappingType("cdna2genome"));
- assertSame(MappingType.NucleotideToNucleotide,
+ assertSame(MappingType.GenomeToCdna,
ExonerateHelper.getMappingType("genome2genome"));
assertNull(ExonerateHelper.getMappingType("affine:local"));
}
{
FileLoader loader = new FileLoader(false);
AlignFrame af = loader.LoadFileWaitTillLoaded(
- "examples/testdata/exonerateseqs.fa", FormatAdapter.FILE);
-
+ "examples/testdata/exonerateseqs.fa",
+ DataSourceType.FILE);
+
af.loadJalviewDataFile("examples/testdata/exonerateoutput.gff",
- FormatAdapter.FILE, null, null);
-
+ 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);