public TDFDataSource(URI uri) throws IOException { tdf = TDFReader.getReader(uri); this.uri = uri; }
public static TDFReader getReader(String path) { return getReader(new ResourceLocator(path)); }
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 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 dumpIndex(String tdfFile) { TDFReader reader = TDFReader.getReader(tdfFile); reader.dumpIndex(); reader.close();; }
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 dumpAllTiles(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); for (int i = 0; i < ds.nTiles; i++) { TDFTile tile = ds.getTile(i); if (tile != null) { System.out.println("Tile: " + i); dumpTileData(reader, "", tile, System.out); } } } }
public EWigTrack(ResourceLocator locator, Genome genome) { super(locator); TDFReader reader = TDFReader.getReader(locator.getPath()); tdfSource = new TDFDataSource(reader, 4, "Pi", genome); setDataRange(new DataRange(0, 0, 10)); baseSources = new HashMap(); for (int i = 0; i < 4; i++) { TDFDataSource src = new TDFDataSource(reader, i, Character.toString(nucleotides[i]), genome); baseSources.put(nucleotides[i], src); } }
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 tstCountBamList(String listArg) throws Exception { String outputFile = TestUtils.TMP_OUTPUT_DIR + "file_"; String[] opts = new String[]{"--strands=read", "--strands=first", ""}; for (int ind = 0; ind < opts.length; ind++) { String opt = opts[ind]; String fullout = outputFile + ind + ".tdf"; String input = "count " + opt + " " + listArg + " " + fullout + " " + hg18id; String[] args = input.split("\\s+"); igvTools.run(args); TDFReader reader = TDFReader.getReader(fullout); assertTrue(reader.getDatasetNames().size() > 0); } }
private void loadEwigIBFFile(ResourceLocator locator, List<Track> newTracks, Genome genome) { TDFReader reader = TDFReader.getReader(locator.getPath()); TrackProperties props = null; String trackLine = reader.getTrackLine(); if (trackLine != null && trackLine.length() > 0) { props = new TrackProperties(); ParsingUtils.parseTrackLine(trackLine, props); } EWigTrack track = new EWigTrack(locator, genome); if (props != null) { track.setProperties(props); } track.setName(locator.getTrackName()); newTracks.add(track); }
public static void dumpRange(String ibfFile, String dsName, int startLocation, int endLocation) { TDFReader reader = TDFReader.getReader(ibfFile); TDFDataset ds = reader.getDataset(dsName);
public void actionPerformed(ActionEvent e) { final IGVPreferences prefs = PreferencesManager.getPreferences(); File initDirectory = prefs.getLastTrackDirectory(); File file = FileDialogUtils.chooseFile("Select coverage file", initDirectory, FileDialog.LOAD); if (file != null) { prefs.setLastTrackDirectory(file.getParentFile()); String path = file.getAbsolutePath(); if (path.endsWith(".tdf") || path.endsWith(".tdf")) { TDFReader reader = TDFReader.getReader(file.getAbsolutePath()); TDFDataSource ds = new TDFDataSource(reader, 0, getName() + " coverage", genome); setDataSource(ds); IGV.getInstance().revalidateTrackPanels(); } else if (path.endsWith(".counts")) { CoverageDataSource ds = new GobyCountArchiveDataSource(file); setDataSource(ds); IGV.getInstance().revalidateTrackPanels(); } else { MessageUtils.showMessage("Coverage data must be in .tdf format"); } } } });
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(); }
/** * 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()); }
@Test public void test_v3() { String tdfFile = "http://data.broadinstitute.org/igvdata/test/tdf/NA12878.pilot2.454.bam.tdf"; TDFReader reader = TDFReader.getReader(tdfFile); assertEquals(3, reader.getVersion()); }
private void testTile(String inputFile, int start, int end) throws IOException { String file1 = TestUtils.TMP_OUTPUT_DIR + "file1.tdf"; String file2 = TestUtils.TMP_OUTPUT_DIR + "file2.tdf"; //todo Compare 2 outputs more meaningfully String[] args = {"toTDF", "-z", "1", "--windowFunctions", "min", inputFile, file1, hg18id}; igvTools.run(args); FeatureDB.clearFeatures(); Runtime.getRuntime().gc(); args = new String[]{"toTDF", "-z", "1", "--windowFunctions", "max", inputFile, file2, hg18id}; igvTools.run(args); String dsName = "/chr1/raw"; TDFDataset ds1 = TDFReader.getReader(file1).getDataset(dsName); TDFDataset ds2 = TDFReader.getReader(file2).getDataset(dsName); TDFTile t1 = ds1.getTiles(start, end).get(0); TDFTile t2 = ds2.getTiles(start, end).get(0); int nPts = t1.getSize(); assertEquals(nPts, t2.getSize()); for (int i = 0; i < nPts; i++) { assertTrue(t1.getStartPosition(i) < t1.getEndPosition(i)); assertEquals(t1.getStartPosition(i), t2.getStartPosition(i)); assertTrue(t1.getValue(0, i) <= t2.getValue(0, i)); if (i < nPts - 1) { assertTrue(t1.getStartPosition(i) < t1.getStartPosition(i + 1)); } } (new File(file1)).delete(); (new File(file2)).delete(); }
/** * 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(); }
/** * Test of createDataset method, of class IBFWriter. */ @Test public void testCreateFile() { File testFile = new File("test2.tdf"); testFile.deleteOnExit(); TDFWriter writer = new TDFWriter(testFile, "hg18", type, trackLine, trackNames, wfs, false); writer.closeFile(); TDFReader reader = TDFReader.getReader(testFile.getAbsolutePath()); String[] tn = reader.getTrackNames(); assertEquals(trackNames.length, tn.length); for (int i = 0; i < tn.length; i++) { assertEquals(trackNames[i], tn[i]); } assertEquals(type, reader.getTrackType()); assertEquals(trackLine, reader.getTrackLine()); reader.close(); }
writer.closeFile(); TDFReader reader = TDFReader.getReader(testFile.getAbsolutePath());