private String getAttributesFromTDF(String attr){ String path= this.getWorkFilename(); try{ ResourceLocator resourceLocator= new ResourceLocator(path); TDFReader reader= new TDFReader(resourceLocator); TDFGroup rootGroup= reader.getGroup("/"); return rootGroup.getAttribute(attr); } catch(Exception e){ return null; } }
public static void tdfToBedgraph(String tdfFile, String bedGraphFile) throws FileNotFoundException { TDFReader reader = null; PrintStream ps = null; try { reader = TDFReader.getReader(tdfFile); ps = new PrintStream(new BufferedOutputStream(new FileOutputStream(bedGraphFile))); String trackLine = reader.getTrackLine(); if (trackLine != null && trackLine.length() > 0) { ps.println(trackLine); } for (String dsName : reader.getDatasetNames()) { String[] tokens = dsName.split("/"); String chrName = tokens[1]; if (!chrName.equals(Globals.CHR_ALL) && dsName.contains("raw")) { TDFDataset ds = reader.getDataset(dsName); for (int i = 0; i < ds.nTiles; i++) { TDFTile tile = ds.getTile(i); if (tile != null) { dumpTileData(reader, chrName, tile, ps); } } } } } finally { if (reader != null) reader.close(); if (ps != null) ps.close(); } }
private void intChrMap() { // If we have a genome, build a reverse-lookup table for queries if (genome != null) { Set<String> chrNames = reader.getChromosomeNames(); for (String chr : chrNames) { String igvChr = genome.getCanonicalChrName(chr); if (igvChr != null && !igvChr.equals(chr)) { chrNameMap.put(igvChr, chr); } } } }
public static void dumpRootAttributes(String ibfFile) { TDFReader reader = TDFReader.getReader(ibfFile); System.out.println("Track line = " + reader.getTrackLine()); TDFGroup group = reader.getGroup("/"); for (Map.Entry<String, String> entries : group.attributes.entrySet()) { System.out.println(entries.getKey() + " = " + entries.getValue()); } System.out.println(reader.getTrackLine()); }
public static void dumpTile(String ibfFile, String dsName, int tileNumber) { TDFReader reader = TDFReader.getReader(ibfFile); TDFDataset ds = reader.getDataset(dsName); TDFTile tile = reader.readTile(ds, tileNumber); if (tile == null) { System.out.println("Null tile: " + dsName + " [" + tileNumber + "]"); } else { dumpTileData(reader, "", tile, System.out); } }
public static void dumpSummary(String ibfFile) { TDFReader reader = TDFReader.getReader(ibfFile); System.out.println("Version: " + reader.getVersion()); System.out.println("Window Functions"); for (WindowFunction wf : reader.getWindowFunctions()) { System.out.println("\t" + wf.toString()); String[] trackNames = reader.getTrackNames(); for (String trackName : trackNames) { System.out.println(trackName); for (String dsName : reader.getDatasetNames()) { System.out.println(dsName); TDFDataset ds = reader.getDataset(dsName); TDFTile tile = reader.readTile(ds, i); if (tile != null) { System.out.print(" " + i); for (String name : reader.getGroupNames()) { System.out.println(name); TDFGroup group = reader.getGroup(name);
TDFReader reader = TDFReader.getReader(ibfFile); for (String dsName : reader.getDatasetNames()) { TDFDataset ds = reader.getDataset(dsName); TDFTile tile = reader.readTile(ds, tileNumber); if (tile == null) { int nTracks = reader.getTrackNames().length; if(nTracks > 1){ throw new RuntimeException("More than one track found in tdf file " + ibfFile); reader.close(); return screenWiggleLocusInfoList;
@Test public void testReader() throws Exception { String url = "http://data.broadinstitute.org/igvdata/encode/hg18/broadHistone/SignalK562H3k4me3.tdf"; TDFReader reader = new TDFReader(new ResourceLocator(url)); int version = reader.getVersion(); assertEquals(3, version); assertTrue(reader.compressed); String [] trackNames = reader.getTrackNames(); int nTracks = trackNames.length; assertEquals(1, nTracks); String trackName = trackNames[0]; assertEquals(trackName, "SignalK562H3k4me3.wig.gz"); Set<String> chrNames = reader.getChromosomeNames(); int nChromosomes = chrNames.size(); assertEquals(24, nChromosomes); String datasetName = "/chr1/z0/mean"; TDFDataset dataset = reader.getDataset(datasetName); assertEquals(datasetName, dataset.getName()); TDFTile tile = reader.readTile(dataset, 0); assertNotNull(tile); } }
public void loadTDFFile(ResourceLocator locator, List<Track> newTracks, Genome genome) { TDFReader reader = TDFReader.getReader(locator); TrackType type = reader.getTrackType(); String trackLine = reader.getTrackLine(); if (trackLine != null && trackLine.length() > 0) { props = new TrackProperties(); boolean multiTrack = reader.getTrackNames().length > 1; for (String heading : reader.getTrackNames()) {
public static void dumpDatasets(String ibfFile) { TDFReader reader = TDFReader.getReader(ibfFile); System.out.println("DATASETS"); for (String dsName : reader.getDatasetNames()) { System.out.println(dsName); TDFDataset ds = reader.getDataset(dsName); System.out.println("Attributes"); for (Map.Entry<String, String> entry : ds.attributes.entrySet()) { System.out.println("\t" + entry.getKey() + " = " + entry.getValue()); } System.out.println(); System.out.println("Tile Positions"); for (int i = 0; i < ds.nTiles; i++) { System.out.print("\t" + ds.tilePositions[i]); } System.out.println(); } }
public static void dumpRange(String ibfFile, String dsName, int startLocation, int endLocation) { TDFReader reader = TDFReader.getReader(ibfFile); TDFDataset ds = reader.getDataset(dsName); TDFTile tile = reader.readTile(ds, tileNumber); if (tile == null) { System.out.println("Null tile: " + dsName + " [" + tileNumber + "]"); } else { int nTracks = reader.getTrackNames().length; int nBins = tile.getSize(); if (nBins > 0) {
writer.closeFile(); TDFReader reader = TDFReader.getReader(testFile.getAbsolutePath()); TDFDataset ds = reader.getDataset(dsName); TDFTile dsTile = reader.readTile(ds, 0); reader.close();
/** * Test of createGroup method, of class IBFWriter. */ @Test public void testCreateGroup() { File testFile = new File("test1.tdf"); testFile.deleteOnExit(); String groupName = "/chr1"; TDFWriter writer = new TDFWriter(testFile, "hg18", type, trackLine, trackNames, wfs, false); TDFGroup group = writer.createGroup(groupName); group.setAttribute("attKey", "attValue"); group.setAttribute("attKey2", "attValue2"); writer.closeFile(); TDFReader reader = TDFReader.getReader(testFile.getAbsolutePath()); group = reader.getGroup(groupName); assertEquals(groupName, group.getName()); assertEquals(2, group.attributes.size()); assertEquals("attValue", group.attributes.get("attKey")); assertEquals("attValue2", group.attributes.get("attKey2")); reader.close(); }
private float getCount(String filename, String chr, int zoom, int pos, Genome genome) { TDFReader reader = TDFReader.getReader(filename); TDFDataset ds = reader.getDataset(chr, zoom, WindowFunction.mean); TDFDataSource dataSource = new TDFDataSource(reader, 0, "test", genome); List<LocusScore> scores = dataSource.getSummaryScoresForRange(chr, pos - 1, pos + 1, zoom); return scores.get(0).getScore(); }
this.trackName = trackName; this.reader = reader; this.availableFunctions = reader.getWindowFunctions(); TDFGroup rootGroup = reader.getGroup("/"); try { maxPrecomputedZoom = Integer.parseInt(rootGroup.getAttribute("maxZoom")); Set<String> chrNames = reader.getChromosomeNames(); for (String chr : chrNames) { String igvChr = genome.getChromosomeAlias(chr);
/** * IGV-1417 and/or IGV-1421 - error reading a version 1 file (error thrown in header) */ @Test public void test_IGV1417() { String tdfFile = "http://data.broadinstitute.org/igvdata/annotations/hg18/conservation/pi.ewig.tdf"; TDFReader reader = TDFReader.getReader(tdfFile); assertEquals(1, reader.getVersion()); }
public TDFDataset getDataset(String chr, int zoom, WindowFunction windowFunction) { // Version 1 only had mean String wf = getVersion() < 2 ? "" : "/" + windowFunction.toString(); String dsName = "/" + chr + "/z" + zoom + wf; TDFDataset ds = getDataset(dsName); return ds; }
public TDFDataSource(URI uri) throws IOException { tdf = TDFReader.getReader(uri); this.uri = uri; }
Collection<String> dsNames = tdf.getDatasetNames(); for (String dsName: dsNames) { if (zoom <= maxZoom) { LOG.info("Using zoomed dataset " + zoom); result = tdf.getDataset(ref, zoom, WindowFunction.mean); if (result == null) { result = tdf.getDataset("chr" + ref, zoom, WindowFunction.mean); result = tdf.getDataset(rawUnhomogenised);