@Override public void close(){ if(this.bigWigReader != null){ this.bigWigReader.close(); } }
@Override public void dispose() { super.dispose(); if (reader != null) { reader.close(); } }
@Override public void close(){ if(this.tabixReader != null){ this.tabixReader.close(); } if(this.bigBedReader != null){ System.err.println("TERE"); this.bigBedReader.close(); } }
private static String initRegionFromBigBed(String bigBedFile) throws IOException{ BBFileReader reader= new BBFileReader(bigBedFile); if(! reader.isBigBedFile()){ System.err.println("File " + bigBedFile + " is not bigBed."); throw new RuntimeException(); } String region= reader.getChromosomeNames().get(0); // Just get chrom to start with for(String chrom : reader.getChromosomeNames()){ BigBedIterator iter = reader.getBigBedIterator(chrom, 0, chrom, Integer.MAX_VALUE, false); if(iter.hasNext()){ BedFeature x= (BedFeature) iter.next(); region= x.getChromosome() + ":" + (x.getStartBase() + 1); reader.close(); return region; } } reader.close(); return region; }
private static String initRegionFromBigWig(String bigWigFile) throws IOException{ BBFileReader reader= new BBFileReader(bigWigFile); if(! reader.isBigWigFile()){ System.err.println("File " + bigWigFile + " is not bigWig."); throw new RuntimeException(); } String region= reader.getChromosomeNames().get(0); // Just get chrom to start with for(String chrom : reader.getChromosomeNames()){ BigWigIterator iter = reader.getBigWigIterator(chrom, 0, chrom, Integer.MAX_VALUE, false); if(iter.hasNext()){ WigItem x = iter.next(); region= x.getChromosome() + ":" + (x.getStartBase() + 1); reader.close(); return region; } } reader.close(); return region; }
@Test public void canReadBigWigFromRemote() throws IOException{ // String urlStr= "http://hgdownload.cse.ucsc.edu/goldenPath/hg19/encodeDCC/wgEncodeHaibTfbs/wgEncodeHaibTfbsA549Atf3V0422111Etoh02RawRep1.bigWig"; String urlStr= "http://hgdownload.cse.ucsc.edu/goldenPath/hg19/encodeDCC/wgEncodeHaibTfbs/wgEncodeHaibTfbsA549Cebpbsc150V0422111RawRep1.bigWig"; BBFileReader reader=new BBFileReader(urlStr); System.out.println(reader.getChromosomeNames()); BigWigIterator iter = reader.getBigWigIterator("chr1", 1000000, "chr1", 2000000, true); while(iter.hasNext()){ System.out.println(iter.next().getStartBase()); } System.out.println("NEW"); iter = reader.getBigWigIterator("chr10", 1000000, "chr10", 2000000, true); while(iter.hasNext()){ System.out.println(iter.next().getStartBase()); } reader.close(); }