public RPTreeChildNodeItem(int startChromID, int startBase, int endChromID, int endBase, RPTreeNodeProxy childNodeProxy) { super(new RPChromosomeRegion(startChromID, startBase, endChromID, endBase)); this.childNodeProxy = childNodeProxy; }
public int compareRegions(RPChromosomeRegion chromosomeRegion) { // test leaf item bounds for hit int value = chromosomeBounds.compareRegions(chromosomeRegion); return value; }
public int compareRegions(int testRegionStartChromID, int testRegionStartBase, int testRegionEndChromID, int testRegionEndBase) { // test if this region is contained by (i.e. subset of) testRegion region if (containedIn(testRegionStartChromID, testRegionStartBase, testRegionEndChromID, testRegionEndBase)) return 0; // test if testRegion region is disjoint from above or below else if (disjointBelow(testRegionStartChromID, testRegionStartBase)) return -2; else if (disjointAbove(testRegionEndChromID, testRegionEndBase)) return 2; // Otherwise this region must intersect else if (this.intersectsBelow(testRegionStartChromID, testRegionStartBase)) return -1; else if (this.intersectsAbove(testRegionEndChromID, testRegionEndBase)) return 1; // unexpected condition is unknown return 3; }
public void print() { log.debug("Child node item :\n"); log.debug(" StartChromID = " + chromosomeBounds.getStartChromID() + "\n"); log.debug(" StartBase = " + chromosomeBounds.getStartBase() + "\n"); log.debug(" EndChromID = " + chromosomeBounds.getEndChromID() + "\n"); log.debug(" EndBase = " + chromosomeBounds.getEndBase() + "\n"); } }
if (startChromID >= bounds.getStartChromID() && startChromID <= bounds.getEndChromID() || endChromID >= bounds.getStartChromID() && endChromID <= bounds.getEndChromID()) { region = new RPChromosomeRegion(bounds); // seed extreme region else region = region.getExtremes(bounds); // update seed extreme region if (startChromID >= bounds.getStartChromID() && startChromID <= bounds.getEndChromID() || endChromID >= bounds.getStartChromID() && endChromID <= bounds.getEndChromID()) {
private boolean getDataBlock(int leafItemIndex) { // check for valid data block if (leafItemIndex >= leafHitList.size()) return false; // Perform a block read for indexed leaf item leafHitItem = leafHitList.get(leafItemIndex); // get the chromosome names associated with the hit region ID's int startChromID = leafHitItem.getChromosomeBounds().getStartChromID(); int endChromID = leafHitItem.getChromosomeBounds().getEndChromID(); chromosomeMap = chromIDTree.getChromosomeIDMap(startChromID, endChromID); boolean isLowToHigh = chromDataTree.isIsLowToHigh(); int uncompressBufSize = chromDataTree.getUncompressBuffSize(); // decompress leaf item data block for feature extraction wigDataBlock = new BigWigDataBlock(fis, leafHitItem, chromosomeMap, isLowToHigh, uncompressBufSize); // get section Wig item list and set next index to first item wigItemList = wigDataBlock.getWigData(selectionRegion, isContained); wigItemIndex = 0; // data block items available for iterator if (wigItemList.size() > 0) return true; else return false; }
RPChromosomeRegion itemRegion = new RPChromosomeRegion( leafHitItem.getChromosomeBounds()); int leafHitValue = itemRegion.compareRegions(selectionRegion); itemRegion = new RPChromosomeRegion(chromID, chromStart, chromID, chromEnd); itemHitValue = itemRegion.compareRegions(selectionRegion);
public void insertItem(RPTreeNodeItem item) { RPTreeNodeItem newItem = item; // Quick implementation: assumes all keys are inserted in rank order // todo: or compare key and insert at rank location items.add(newItem); // Update node bounds or start node chromosome bounds with first entry if (chromosomeBounds == null) { chromosomeBounds = new RPChromosomeRegion(newItem.getChromosomeBounds()); } else { chromosomeBounds = chromosomeBounds.getExtremes(newItem.getChromosomeBounds()); } }
public void print() { log.debug("Child node item :\n"); log.debug(" StartChromID = " + chromosomeBounds.getStartChromID() + "\n"); log.debug(" StartBase = " + chromosomeBounds.getStartBase() + "\n"); log.debug(" EndChromID = " + chromosomeBounds.getEndChromID() + "\n"); log.debug(" EndBase = " + chromosomeBounds.getEndBase() + "\n"); // child node specific entries childNode.printItems(); }
if (startChromID >= bounds.getStartChromID() && startChromID <= bounds.getEndChromID() || endChromID >= bounds.getStartChromID() && endChromID <= bounds.getEndChromID()) { region = new RPChromosomeRegion(bounds); // seed extreme region else region = region.getExtremes(bounds); // update seed extreme region if (startChromID >= bounds.getStartChromID() && startChromID <= bounds.getEndChromID() || endChromID >= bounds.getStartChromID() && endChromID <= bounds.getEndChromID()) {
private boolean getDataBlock(int leafItemIndex) { // check for valid data block if (leafItemIndex >= leafHitList.size()) return false; // Perform a block read for indexed leaf item leafHitItem = leafHitList.get(leafItemIndex); // get the chromosome names associated with the hit region ID's int startChromID = leafHitItem.getChromosomeBounds().getStartChromID(); int endChromID = leafHitItem.getChromosomeBounds().getEndChromID(); chromosomeMap = chromIDTree.getChromosomeIDMap(startChromID, endChromID); boolean isLowToHigh = chromDataTree.isIsLowToHigh(); int uncompressBufSize = chromDataTree.getUncompressBuffSize(); // decompress leaf item data block for feature extraction wigDataBlock = new BigWigDataBlock(fis, leafHitItem, chromosomeMap, isLowToHigh, uncompressBufSize); // get section Wig item list and set next index to first item wigItemList = wigDataBlock.getWigData(selectionRegion, isContained); wigItemIndex = 0; // data block items available for iterator if (wigItemList.size() > 0) return true; else return false; }
RPChromosomeRegion itemRegion = new RPChromosomeRegion( leafHitItem.getChromosomeBounds()); int leafHitValue = itemRegion.compareRegions(selectionRegion); itemRegion = new RPChromosomeRegion(chromID, chromStart, chromID, chromEnd); itemHitValue = itemRegion.compareRegions(selectionRegion);
public boolean insertItem(RPTreeNodeItem item) { RPTreeChildNodeItem newItem = (RPTreeChildNodeItem) item; // Quick implementation: assumes all keys are inserted in rank order // todo: or compare key and insert at rank location childItems.add(newItem); // Update node bounds or start node chromosome bounds with first entry if (chromosomeBounds == null) chromosomeBounds = new RPChromosomeRegion(newItem.getChromosomeBounds()); else chromosomeBounds = chromosomeBounds.getExtremes(newItem.getChromosomeBounds()); // success return true; }
public void print() { log.debug("Child node item :\n"); log.debug(" StartChromID = " + chromosomeBounds.getStartChromID() + "\n"); log.debug(" StartBase = " + chromosomeBounds.getStartBase() + "\n"); log.debug(" EndChromID = " + chromosomeBounds.getEndChromID() + "\n"); log.debug(" EndBase = " + chromosomeBounds.getEndBase() + "\n"); // child node specific entries childNode.printItems(); }
public int compareRegions(RPChromosomeRegion testRegion) { // test if this region is contained by (i.e. subset of) testRegion region if (this.containedIn(testRegion)) return 0; // test if testRegion region is disjoint from above or below else if (this.disjointBelow(testRegion)) return -2; else if (this.disjointAbove(testRegion)) return 2; // Otherwise this region must intersect else if (this.intersectsBelow(testRegion)) return -1; else if (this.intersectsAbove(testRegion)) return 1; // unexpected condition is unknown return 3; }
if (startChromID >= bounds.getStartChromID() && startChromID <= bounds.getEndChromID() || endChromID >= bounds.getStartChromID() && endChromID <= bounds.getEndChromID()) { region = new RPChromosomeRegion(bounds); // seed extreme region else region = region.getExtremes(bounds); // update seed extreme region if (startChromID >= bounds.getStartChromID() && startChromID <= bounds.getEndChromID() || endChromID >= bounds.getStartChromID() && endChromID <= bounds.getEndChromID()) {
private boolean getDataBlock(int leafItemIndex) { // check for valid data block if (leafItemIndex >= leafHitList.size()) return false; // Perform a block read for indexed leaf item leafHitItem = leafHitList.get(leafItemIndex); // get the chromosome names associated with the hit region ID's int startChromID = leafHitItem.getChromosomeBounds().getStartChromID(); int endChromID = leafHitItem.getChromosomeBounds().getEndChromID(); chromosomeMap = chromIDTree.getChromosomeIDMap(startChromID, endChromID); boolean isLowToHigh = chromDataTree.isIsLowToHigh(); int uncompressBufSize = chromDataTree.getUncompressBuffSize(); // decompress leaf item data block for feature extraction wigDataBlock = new BigWigDataBlock(fis, leafHitItem, chromosomeMap, isLowToHigh, uncompressBufSize); // get section Wig item list and set next index to first item wigItemList = wigDataBlock.getWigData(selectionRegion, isContained); wigItemIndex = 0; // data block items available for iterator if (wigItemList.size() > 0) return true; else return false; }
RPChromosomeRegion itemRegion = new RPChromosomeRegion(leafHitItem.getChromosomeBounds()); int leafHitValue = itemRegion.compareRegions(selectionRegion); zoomDataList.add(zoomRecord); } else { // test for hit itemRegion = new RPChromosomeRegion(chromID, chromStart, chromID, chromEnd); itemHitValue = itemRegion.compareRegions(selectionRegion);
public RPTreeChildNodeItem(int startChromID, int startBase, int endChromID, int endBase, RPTreeNode childNode) { super(new RPChromosomeRegion(startChromID, startBase, endChromID, endBase)); this.childNode = childNode; }
public boolean insertItem(RPTreeNodeItem item) { RPTreeChildNodeItem newItem = (RPTreeChildNodeItem) item; // Quick implementation: assumes all keys are inserted in rank order // todo: or compare key and insert at rank location childItems.add(newItem); // Update node bounds or start node chromosome bounds with first entry if (chromosomeBounds == null) chromosomeBounds = new RPChromosomeRegion(newItem.getChromosomeBounds()); else chromosomeBounds = chromosomeBounds.getExtremes(newItem.getChromosomeBounds()); // success return true; }