private static void dumpTileData(TDFReader reader, String chrName, TDFTile tile, PrintStream ps) { int nTracks = reader.getTrackNames().length; int nBins = tile.getSize(); if (nBins > 0) { for (int b = 0; b < nBins; b++) { ps.print(chrName); ps.print("\t" + tile.getStartPosition(b)); ps.print("\t" + tile.getEndPosition(b)); for (int t = 0; t < nTracks; t++) { ps.print("\t" + tile.getValue(t, b)); } ps.println(); } } }
System.out.print(tile.getStartPosition(b)); for (int t = 0; t < nTracks; t++) { System.out.print("\t" + tile.getValue(t, b));
float datum = t.getValue(0, i); LOG.debug("Tile " + i + " from " + datumStart + " to " + datumEnd + "=" + datum); while (nextPos < datumEnd && nextPos <= rangeEnd) {
private List<LocusScore> getWGRawScores() { List<LocusScore> scores = new ArrayList(10000); for (String chr : genome.getAllChromosomeNames()) { Chromosome c = genome.getChromosome(chr); String dsName = "/" + chr + "/raw"; TDFDataset rawDataset = reader.getDataset(dsName); if (rawDataset != null) { List<TDFTile> rawTiles = rawDataset.getTiles(0, c.getLength()); if (rawTiles.size() > 0) { for (TDFTile rawTile : rawTiles) { // Tile of raw data if (rawTile != null && rawTile.getSize() > 0) { for (int i = 0; i < rawTile.getSize(); i++) { int s = genome.getGenomeCoordinate(chr, rawTile.getStartPosition(i)); int e = genome.getGenomeCoordinate(chr, Math.max(s, rawTile.getEndPosition(i) - 1)); float v = rawTile.getValue(trackNumber, i); if (!Float.isNaN(v)) { v *= normalizationFactor; } scores.add(new BasicScore(s, e, v)); } } } } } } return scores; }
float v = tile.getValue(trackNumber, i); if (!Float.isNaN(v)) { v *= normalizationFactor;
float tileValue= tile.getValue(0, b); int idx= Utils.getIndexOfclosestValue(tileStartPos+1, genomeToScreenMapping); // Where should this position be mapped on screen? screenWiggleLocusInfoList.get(idx).increment(tileValue);
break; float v = rawTile.getValue(trackNumber, i); if (!Float.isNaN(v)) { v *= normalizationFactor;
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(); }
assertEquals(start + i * span, dsTile.getStartPosition(i), 1.0e-6); for (int j = 0; j < 10; j++) { assertEquals(data[i][j], dsTile.getValue(i, j), 1.0e-6);