@Test public static void testGetMinShift() { Assert.assertEquals(csi.getMinShift(), 14); Assert.assertEquals(ucsi.getMinShift(), 12); } @Test
@Override public BinList getBinsOverlapping(int referenceIndex, int startPos, int endPos) { final BitSet regionBins = GenomicIndexUtil.regionToBins(startPos, endPos, getMinShift(), getBinDepth()); if (regionBins == null) { return null; } return new BinList(referenceIndex,regionBins); }
/** * The maximum possible bin number for this reference sequence. * This is based on the maximum coordinate position of the reference * which is based on the size of the reference */ private int getMaxBinNumberForReference(final int reference) { try { final int sequenceLength = getBamDictionary().getSequence(reference).getSequenceLength(); return getFirstBinInLevelForCSI(getBinDepth() - 1) + (sequenceLength >> getMinShift()); } catch (final Exception e) { return getMaxBins(); } }
@Override public BAMFileSpan getSpanOverlapping(int referenceIndex, int startPos, int endPos) { final BAMIndexContent queryResults = query(referenceIndex, startPos, endPos); int initialBinNumber = getFirstBinInLevelForCSI(getBinDepth() - 1) + (startPos - 1 >> getMinShift()); long minimumOffset = 0L; Bin targetBin;
final BitSet regionBins = GenomicIndexUtil.regionToBins(startPos, endPos, getMinShift(), getBinDepth()); if (regionBins == null) { return null;