public ArrayList<RPChromosomeRegion> getAllChromosomeRegions() { // Search the R+ tree to extract the chromosome regions RPTreeNode thisNode = rootNode; ArrayList<RPChromosomeRegion> regionList = new ArrayList<RPChromosomeRegion>(); findAllChromosomeRegions(thisNode, regionList); return regionList; }
public RPChromosomeRegion getChromosomeRegion(int startChromID, int endChromID) { RPChromosomeRegion region; // Search the R+ tree to extract the chromosome region. RPTreeNode thisNode = rootNode; RPChromosomeRegion seedRegion = null; // null until a chromosome match region = findChromosomeRegion(thisNode, startChromID, endChromID, seedRegion); return region; }
public ArrayList<RPTreeLeafNodeItem> getChromosomeDataHits(RPChromosomeRegion selectionRegion, boolean contained) { ArrayList<RPTreeLeafNodeItem> leafHitItems = new ArrayList<RPTreeLeafNodeItem>(); // check for valid selection region - return empty collection if null if (selectionRegion == null) return leafHitItems; // limit the hit list size /* if(maxLeafHits > 0) mMaxLeafHits = maxLeafHits; else mMaxLeafHits = mRPTreeHeader.getBlockSize(); */ findChromosomeRegionItems(rootNode, selectionRegion, leafHitItems); return leafHitItems; }
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 bedDataBlock = new BigBedDataBlock(fis, leafHitItem, chromosomeMap, isLowToHigh, uncompressBufSize); // get data block Bed feature list and set next index to first item bedFeatureList = bedDataBlock.getBedData(selectionRegion, contained); bedFeatureIndex = 0; // data block items available for iterator if(bedFeatureList.size() > 0) return true; else return false; }
public RPChromosomeRegion getChromosomeBounds() { RPChromosomeRegion chromosomeBounds = chromosomeDataTree.getChromosomeBounds(); return chromosomeBounds; }
public RPTreeNode getChildNode() { if (childNode instanceof RPTreeNodeProxy) { RPTreeNodeProxy proxy = (RPTreeNodeProxy) childNode; childNode = RPTree.readRPTreeNode(proxy.fis, proxy.fileOffset, proxy.isLowToHigh, true); } return childNode; }
this.contained = contained; List<RPTreeLeafNodeItem> leafNodeItems = chromDataTree.getChromosomeDataHits(selectionRegion, contained); features = new ArrayList<BedFeature>(512 * leafNodeItems.size()); for (RPTreeLeafNodeItem item : leafNodeItems) {
RPTree zoomRPTree = new RPTree(fis, zoomIndexOffset, isLowToHigh, uncompressBufSize, true);
public ArrayList<RPChromosomeRegion> getChromosomeRegions() { ArrayList<RPChromosomeRegion> regionList = chromosomeDataTree.getAllChromosomeRegions(); return regionList; }
private boolean getDataBlock(int leafItemIndex) { // check for valid data block if (leafHitList == null || 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 = zoomDataTree.isIsLowToHigh(); int uncompressBufSize = zoomDataTree.getUncompressBuffSize(); // decompress leaf item data block for feature extraction zoomDataBlock = new ZoomDataBlock(zoomLevel, fis, leafHitItem, chromosomeMap, isLowToHigh, uncompressBufSize); // get data block zoom data record list and set next index to first item zoomRecordList = zoomDataBlock.getZoomData(selectionRegion, isContained); zoomRecordIndex = 0; // data block items available for iterator if (zoomRecordList.size() > 0) return true; else return false; }
public RPChromosomeRegion getChromosomeBounds() { RPChromosomeRegion chromosomeBounds = chromosomeDataTree.getChromosomeBounds(); return chromosomeBounds; }
public RPTreeNode getChildNode() { if (childNode == null) { RPTreeNodeProxy proxy = childNodeProxy; childNode = RPTree.readRPTreeNode(proxy.fis, proxy.fileOffset, proxy.isLowToHigh, true); } return childNode; }
private int getHitList(RPChromosomeRegion hitRegion, boolean contained) { // hit list for hit region; subject to mMaxLeafHits limitation leafHitList = zoomDataTree.getChromosomeDataHits(hitRegion, contained); // check if any leaf items were selected int nHits = leafHitList.size(); if (nHits == 0) return 0; // no data hits found else leafItemIndex = 0; // reset hit item index to start of list // find hit bounds int startChromID = leafHitList.get(0).getChromosomeBounds().getStartChromID(); int startBase = leafHitList.get(0).getChromosomeBounds().getStartBase(); int endChromID = leafHitList.get(nHits - 1).getChromosomeBounds().getEndChromID(); int endBase = leafHitList.get(nHits - 1).getChromosomeBounds().getEndBase(); // save hit region definition; not currently used but useful for debug this.hitRegion = new RPChromosomeRegion(startChromID, startBase, endChromID, endBase); return nHits; }
RPTree zoomRPTree = new RPTree(fis, zoomIndexOffset, isLowToHigh, uncompressBufSize, true);
public ArrayList<RPChromosomeRegion> getChromosomeRegions() { ArrayList<RPChromosomeRegion> regionList = chromosomeDataTree.getAllChromosomeRegions(); return regionList; }
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; }
public RPChromosomeRegion getZoomLevelBounds(int zoomLevel) { RPChromosomeRegion chromosomeBounds = zoomLevels.getZoomLevelRPTree(zoomLevel).getChromosomeBounds(); return chromosomeBounds; }
public RPTreeNode getChildNode() { if (childNode instanceof RPTreeNodeProxy) { RPTreeNodeProxy proxy = (RPTreeNodeProxy) childNode; childNode = RPTree.readRPTreeNode(proxy.fis, proxy.fileOffset, proxy.isLowToHigh, true); } return childNode; }
private int getHitList(RPChromosomeRegion hitRegion, boolean contained) { // hit list for hit region; subject to mMaxLeafHits limitation leafHitList = chromDataTree.getChromosomeDataHits(hitRegion, contained); // check if any leaf items were selected int nHits = leafHitList.size(); if (nHits == 0) return 0; else leafItemIndex = 0; // reset hit item index to start of list // find hit bounds from first and last hit items int startChromID = leafHitList.get(0).getChromosomeBounds().getStartChromID(); int startBase = leafHitList.get(0).getChromosomeBounds().getStartBase(); int endChromID = leafHitList.get(nHits - 1).getChromosomeBounds().getEndChromID(); int endBase = leafHitList.get(nHits - 1).getChromosomeBounds().getEndBase(); // save hit region; not currently used but useful for debug this.hitRegion = new RPChromosomeRegion(startChromID, startBase, endChromID, endBase); return nHits; }
public ArrayList<RPChromosomeRegion> getAllChromosomeRegions() { // Search the R+ tree to extract the chromosome regions RPTreeNode thisNode = rootNode; ArrayList<RPChromosomeRegion> regionList = new ArrayList<RPChromosomeRegion>(); findAllChromosomeRegions(thisNode, regionList); return regionList; }