2009-04-12 10:25:17 +08:00
|
|
|
// our package
|
|
|
|
|
package org.broadinstitute.sting.utils;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// the imports for unit testing.
|
|
|
|
|
|
2010-11-02 05:31:44 +08:00
|
|
|
|
|
|
|
|
import org.testng.Assert;
|
|
|
|
|
import org.testng.annotations.BeforeClass;
|
|
|
|
|
import org.testng.annotations.Test;
|
2009-04-15 03:14:53 +08:00
|
|
|
import org.broadinstitute.sting.BaseTest;
|
2009-04-12 10:25:17 +08:00
|
|
|
|
|
|
|
|
import java.io.File;
|
2009-07-09 02:49:08 +08:00
|
|
|
import java.io.FileNotFoundException;
|
|
|
|
|
|
|
|
|
|
import net.sf.picard.reference.ReferenceSequenceFile;
|
2010-07-01 12:40:31 +08:00
|
|
|
import net.sf.picard.reference.IndexedFastaSequenceFile;
|
2009-04-12 10:25:17 +08:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Basic unit test for GenomeLoc
|
|
|
|
|
*/
|
2010-04-08 14:14:15 +08:00
|
|
|
public class GenomeLocUnitTest extends BaseTest {
|
2009-07-09 02:49:08 +08:00
|
|
|
private static ReferenceSequenceFile seq;
|
2009-04-12 10:25:17 +08:00
|
|
|
|
|
|
|
|
@BeforeClass
|
2010-11-02 05:31:44 +08:00
|
|
|
public void init() throws FileNotFoundException {
|
2009-04-12 10:25:17 +08:00
|
|
|
// sequence
|
2010-11-02 05:31:44 +08:00
|
|
|
GenomeLocParserTestUtils.clearSequenceDictionary();
|
2010-08-05 01:59:37 +08:00
|
|
|
seq = new IndexedFastaSequenceFile(new File(hg18Reference));
|
2009-06-22 22:39:41 +08:00
|
|
|
GenomeLocParser.setupRefContigOrdering(seq);
|
2009-04-12 10:25:17 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Tests that we got a string parameter in correctly
|
|
|
|
|
*/
|
|
|
|
|
@Test
|
|
|
|
|
public void testIsBetween() {
|
2009-04-15 03:14:53 +08:00
|
|
|
logger.warn("Executing testIsBetween");
|
2009-04-30 21:54:51 +08:00
|
|
|
|
2009-06-22 22:39:41 +08:00
|
|
|
GenomeLoc locMiddle = GenomeLocParser.createGenomeLoc("chr1", 3, 3);
|
2009-04-12 10:25:17 +08:00
|
|
|
|
2009-06-22 22:39:41 +08:00
|
|
|
GenomeLoc locLeft = GenomeLocParser.createGenomeLoc("chr1", 1, 1);
|
|
|
|
|
GenomeLoc locRight = GenomeLocParser.createGenomeLoc("chr1", 5, 5);
|
2009-04-12 10:25:17 +08:00
|
|
|
|
|
|
|
|
Assert.assertTrue(locMiddle.isBetween(locLeft, locRight));
|
|
|
|
|
Assert.assertFalse(locLeft.isBetween(locMiddle, locRight));
|
|
|
|
|
Assert.assertFalse(locRight.isBetween(locLeft, locMiddle));
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
@Test
|
|
|
|
|
public void testContigIndex() {
|
2009-04-15 03:14:53 +08:00
|
|
|
logger.warn("Executing testContigIndex");
|
2009-06-22 22:39:41 +08:00
|
|
|
GenomeLoc locOne = GenomeLocParser.createGenomeLoc("chr1",1,1);
|
2010-11-02 05:31:44 +08:00
|
|
|
Assert.assertEquals(1, locOne.getContigIndex());
|
|
|
|
|
Assert.assertEquals("chr1", locOne.getContig());
|
2009-04-12 10:25:17 +08:00
|
|
|
|
2009-06-22 22:39:41 +08:00
|
|
|
GenomeLoc locX = GenomeLocParser.createGenomeLoc("chrX",1,1);
|
2010-11-02 05:31:44 +08:00
|
|
|
Assert.assertEquals(23, locX.getContigIndex());
|
|
|
|
|
Assert.assertEquals("chrX", locX.getContig());
|
2009-04-12 10:25:17 +08:00
|
|
|
|
2009-06-22 22:39:41 +08:00
|
|
|
GenomeLoc locNumber = GenomeLocParser.createGenomeLoc(1,1,1);
|
2010-11-02 05:31:44 +08:00
|
|
|
Assert.assertEquals(1, locNumber.getContigIndex());
|
|
|
|
|
Assert.assertEquals("chr1", locNumber.getContig());
|
|
|
|
|
Assert.assertEquals(0, locOne.compareTo(locNumber));
|
2009-04-12 10:25:17 +08:00
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testCompareTo() {
|
2009-04-15 03:14:53 +08:00
|
|
|
logger.warn("Executing testCompareTo");
|
2009-06-22 22:39:41 +08:00
|
|
|
GenomeLoc twoOne = GenomeLocParser.createGenomeLoc("chr2", 1);
|
|
|
|
|
GenomeLoc twoFive = GenomeLocParser.createGenomeLoc("chr2", 5);
|
|
|
|
|
GenomeLoc twoOtherFive = GenomeLocParser.createGenomeLoc("chr2", 5);
|
2010-11-02 05:31:44 +08:00
|
|
|
Assert.assertEquals(twoFive.compareTo(twoOtherFive), 0);
|
2009-04-12 10:25:17 +08:00
|
|
|
|
2010-11-02 05:31:44 +08:00
|
|
|
Assert.assertEquals(twoOne.compareTo(twoFive), -1);
|
|
|
|
|
Assert.assertEquals(twoFive.compareTo(twoOne), 1);
|
2009-04-12 10:25:17 +08:00
|
|
|
|
2009-06-22 22:39:41 +08:00
|
|
|
GenomeLoc oneOne = GenomeLocParser.createGenomeLoc("chr1", 5);
|
2010-11-02 05:31:44 +08:00
|
|
|
Assert.assertEquals(oneOne.compareTo(twoOne), -1);
|
|
|
|
|
Assert.assertEquals(twoOne.compareTo(oneOne), 1);
|
2009-04-12 10:25:17 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-11-02 05:31:44 +08:00
|
|
|
}
|