@Test (expectedExceptions = SAMException.class) public static void testGetParentBinFail() { csi.getParentBinNumber(37449); }
@Test public static void testGetParentBinOK() { Assert.assertEquals(csi.getParentBinNumber(4681), 585); Assert.assertEquals(csi.getParentBinNumber(4688), 585); Assert.assertEquals(csi.getParentBinNumber(4689), 586); Assert.assertEquals(csi.getParentBinNumber(585), 73); Assert.assertEquals(csi.getParentBinNumber(592), 73); Assert.assertEquals(csi.getParentBinNumber(593), 74); Assert.assertEquals(csi.getParentBinNumber(0), 0); }
public int getParentBinNumber(Bin bin) { if (bin == null) { throw new SAMException("Tried to get parent bin for null bin."); } return getParentBinNumber(bin.getBinNumber()); }
@Test public static void testGetParentBinNumber() { Assert.assertEquals(csi.getParentBinNumber(bin1), 0); Assert.assertEquals(csi.getParentBinNumber(bin2), 0); Assert.assertEquals(csi.getParentBinNumber(bin3), 0); Assert.assertEquals(csi.getParentBinNumber(bin4), 0); Assert.assertEquals(csi.getParentBinNumber(bin5), 1); Assert.assertEquals(csi.getParentBinNumber(bin6), 73); Assert.assertEquals(csi.getParentBinNumber(bin7), 9); Assert.assertEquals(csi.getParentBinNumber(bin8), 586); Assert.assertEquals(ucsi.getParentBinNumber(bin1), 0); Assert.assertEquals(ucsi.getParentBinNumber(bin2), 0); Assert.assertEquals(ucsi.getParentBinNumber(bin3), 0); Assert.assertEquals(ucsi.getParentBinNumber(bin4), 0); Assert.assertEquals(ucsi.getParentBinNumber(bin5), 1); Assert.assertEquals(ucsi.getParentBinNumber(bin6), 73); Assert.assertEquals(ucsi.getParentBinNumber(bin7), 9); Assert.assertEquals(ucsi.getParentBinNumber(bin8), 586); Assert.assertEquals(ucsi.getParentBinNumber(bin9), 16981); Assert.assertEquals(ucsi.getParentBinNumber(16981), 2122); Assert.assertEquals(ucsi.getParentBinNumber(2122), 265); Assert.assertEquals(ucsi.getParentBinNumber(265), 33); Assert.assertEquals(ucsi.getParentBinNumber(33), 4); }
@Test public static void testRegionToBins() { BitSet bs1 = GenomicIndexUtil.regionToBins((1<<12)*98403 + 4094, (1<<12)*98404 + 1, 12, 7 ); Assert.assertTrue(bs1.get(bin9.getBinNumber()-1)); //135852 Assert.assertTrue(bs1.get(bin9.getBinNumber())); //135853 Assert.assertTrue(bs1.get(ucsi.getParentBinNumber(bin9.getBinNumber()))); //16981 BitSet bs2 = GenomicIndexUtil.regionToBins(939520000, 939529000, 12, 7 ); Assert.assertTrue(bs2.get(0)); Assert.assertTrue(bs2.get(7)); Assert.assertTrue(bs2.get(8)); Assert.assertTrue(bs2.get(64)); Assert.assertTrue(bs2.get(65)); Assert.assertTrue(bs2.get(520)); Assert.assertTrue(bs2.get(521)); Assert.assertTrue(bs2.get(4168)); Assert.assertTrue(bs2.get(4169)); Assert.assertTrue(bs2.get(33352)); Assert.assertTrue(bs2.get(33353)); Assert.assertTrue(bs2.get(266823)); Assert.assertTrue(bs2.get(266824)); Assert.assertTrue(bs2.get(266825)); Assert.assertTrue(bs2.get(266826)); }
break; firstBinNumber = (getParentBinNumber(initialBinNumber)<<3) + 1; if (initialBinNumber > firstBinNumber) { initialBinNumber--; } else { initialBinNumber = getParentBinNumber(initialBinNumber);