public TDFWriter(File f, String genomeId, TrackType trackType, String trackLine, String[] trackNames, Collection<WindowFunction> windowFunctions, boolean compressed) throws IOException { if (f.getName().endsWith(".tdf")) { this.file = f; } else { this.file = new File(f.getAbsolutePath() + ".tdf"); } this.compressed = compressed; fos = new BufferedOutputStream(new FileOutputStream(file)); writeHeader(genomeId, trackType, trackLine, trackNames, windowFunctions); TDFGroup rootGroup = new TDFGroup("/"); groupCache.put(rootGroup.getName(), rootGroup); }
groupCache.put(rootGroup.getName(), rootGroup);
private void writeGroups() throws IOException { for (TDFGroup group : groupCache.values()) { long position = bytesWritten; BufferedByteWriter buffer = new BufferedByteWriter(); group.write(buffer); write(buffer.getBytes()); int nBytes = (int) (bytesWritten - position); groupIndex.put(group.getName(), new IndexEntry(position, nBytes)); } }
private void writeGroups() throws IOException { for (TDFGroup group : groupCache.values()) { long position = bytesWritten; BufferedByteWriter buffer = new BufferedByteWriter(); group.write(buffer); write(buffer.getBytes()); int nBytes = (int) (bytesWritten - position); groupIndex.put(group.getName(), new IndexEntry(position, nBytes)); } }
/** * 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(); }