Beispiel #1
0
 def testBoundaryX(self):
     BoundaryCheck.set_chrom('X')
     b = BoundaryCheck()
     self.assertEqual(23, BoundaryCheck.chrom)
     self.assertEqual('X', BoundaryCheck.chrom_name)
     self.assertTrue(b.TestBoundary('x', 100, "rs100"))
     self.assertTrue(b.TestBoundary('X', 1000, "rs1000"))
     self.assertTrue(b.TestBoundary(23, 1000, "rs1000"))
     self.assertFalse(b.TestBoundary('Y', 100, "rs100"))
Beispiel #2
0
 def testBoundaryInitBP(self):
     BoundaryCheck.chrom = 1
     b = BoundaryCheck(bp=[10000, 500000])
     self.assertFalse(b.NoExclusions())
     self.assertTrue(b.valid)
     self.assertEqual(False, b.TestBoundary(1, 500, ""))
     self.assertEqual(True, b.TestBoundary(1, 10000, ""))
     self.assertEqual(True, b.TestBoundary(1, 500000, ""))
     self.assertEqual(True, b.TestBoundary(1, 250000, ""))
     self.assertEqual(False, b.TestBoundary(2, 250000, ""))
     self.assertEqual(False, b.TestBoundary(10, 10000, ""))
Beispiel #3
0
 def testBoundaryInitMB(self):
     BoundaryCheck.chrom = 10
     b = BoundaryCheck(mb=[1,3])
     self.assertTrue(b.valid)
     self.assertFalse(b.NoExclusions())
     self.assertTrue(b.TestBoundary(10, 1000000, ""))
     self.assertTrue(b.TestBoundary(10, 1200000, ""))
     self.assertTrue(b.TestBoundary(10, 3000000, ""))
     self.assertFalse(b.TestBoundary(10, 3000001, ""))
     self.assertFalse(b.TestBoundary(10, 999999, ""))
     self.assertFalse(b.TestBoundary(1, 1000500, ""))
Beispiel #4
0
 def testBoundaryChr10(self):
     BoundaryCheck.set_chrom('chr10')
     b = BoundaryCheck(mb=[1,3])
     self.assertTrue(b.valid)
     self.assertFalse(b.NoExclusions())
     self.assertTrue(b.TestBoundary(10, 1000000, ""))
     self.assertTrue(b.TestBoundary(10, 1200000, ""))
     self.assertTrue(b.TestBoundary(10, 3000000, ""))
     self.assertFalse(b.TestBoundary(10, 3000001, ""))
     self.assertFalse(b.TestBoundary(10, 999999, ""))
     self.assertFalse(b.TestBoundary(1, 1000500, ""))
Beispiel #5
0
 def testBoundaryInitKB(self):
     BoundaryCheck.chrom = 5
     b = BoundaryCheck(kb=[20, 50])
     self.assertFalse(b.NoExclusions())
     self.assertEqual(True, b.valid)
     self.assertEqual(False, b.TestBoundary(5, 15000, ""))
     self.assertEqual(True, b.TestBoundary(5, 20000, ""))
     self.assertEqual(True, b.TestBoundary(5, 30000, ""))
     self.assertEqual(True, b.TestBoundary(5, 50000, ""))
     self.assertEqual(False, b.TestBoundary(5, 50001, ""))
     self.assertEqual(False, b.TestBoundary(1, 25000, ""))
     self.assertEqual(False, b.TestBoundary(10, 20000, ""))
Beispiel #6
0
    def testDefaultBoundaryInitialization(self):

        # By default, it will identify as invalid, since it didn't find any boundaries
        # This is just for simplifying command line parsing
        BoundaryCheck.chrom = -1
        b = BoundaryCheck()
        self.assertEqual(False, b.valid)

        # At this point, this should any valid chromosome/position combination
        self.assertTrue(b.TestBoundary(1, 100, ""))
        self.assertTrue(True, b.TestBoundary(10, 1000000, ""))
        self.assertTrue(True, b.TestBoundary(25, 10000, ""))

        # We should test that our short circuit functionality works
        self.assertTrue(b.NoExclusions())
Beispiel #7
0
 def testBoundaryInitBPWithExclusions(self):
     BoundaryCheck.chrom = 1
     b = BoundaryCheck(bp=[10000, 500000])
     b.LoadExclusions(["rs12345", "rs234567", "rs345678"])
     self.assertFalse(b.NoExclusions())
     self.assertTrue(b.valid)
     self.assertFalse(b.TestBoundary(1, 500, ""))
     self.assertTrue(b.TestBoundary(1, 10000, ""))
     self.assertFalse(b.TestBoundary(1, 10010, "rs12345"))
     self.assertTrue(b.TestBoundary(1, 24000, "rs9876"))
     self.assertFalse(b.TestBoundary(1, 25000, "rs234567"))
     self.assertTrue(b.TestBoundary(1, 250000, ""))
     self.assertTrue(b.TestBoundary(1, 500000, ""))
     self.assertFalse(b.TestBoundary(2, 250000, ""))
     self.assertFalse(b.TestBoundary(10, 10000, ""))
Beispiel #8
0
 def testBoundaryInitBPWithInclusions(self):
     BoundaryCheck.chrom = 1
     b = BoundaryCheck(bp=[10000, 500000])
     b.LoadSNPs(["rs12345", "rs23456"])
     self.assertFalse(b.NoExclusions())
     self.assertTrue(b.valid)
     self.assertEqual(False, b.TestBoundary(1, 500, ""))
     self.assertEqual(True, b.TestBoundary(1, 10000, ""))
     self.assertEqual(True, b.TestBoundary(1, 500000, ""))
     self.assertEqual(True, b.TestBoundary(1, 250000, ""))
     self.assertEqual(False, b.TestBoundary(2, 250000, ""))
     self.assertEqual(False, b.TestBoundary(10, 10000, ""))
     self.assertTrue(b.TestBoundary(1, 1000000, "rs12345"))
     self.assertTrue(b.TestBoundary(1, 1200000, "rs23456"))
     self.assertFalse(b.TestBoundary(1, 1200011, "rs345678"))
Beispiel #9
0
 def testBoundaryExceedPos(self):
     BoundaryCheck.chrom = 10
     b = BoundaryCheck(mb=[1,3])
     self.assertTrue(b.valid)
     self.assertFalse(b.NoExclusions())
     self.assertFalse(b.TestBoundary(10, 100, ""))
     self.assertFalse(b.beyond_upper_bound)
     self.assertTrue(b.TestBoundary(10, 1000000, ""))
     self.assertFalse(b.beyond_upper_bound)
     self.assertTrue(b.TestBoundary(10, 1200000, ""))
     self.assertFalse(b.beyond_upper_bound)
     self.assertTrue(b.TestBoundary(10, 3000000, ""))
     self.assertFalse(b.beyond_upper_bound)
     self.assertFalse(b.TestBoundary(10, 3000001, ""))
     self.assertTrue(b.beyond_upper_bound)
     self.assertFalse(b.TestBoundary(10, 999999, ""))
     self.assertFalse(b.beyond_upper_bound)