/** * Writes a string to the buffer as ASCII bytes * * @param value string to write to buffer * @param writeLength prefix the string with the length as a 32-bit int * @param appendNull add a null byte to the end of the string */ public void writeString(final String value, final boolean writeLength, final boolean appendNull) { if (writeLength) { int lengthToWrite = value.length(); if (appendNull) lengthToWrite++; writeInt(lengthToWrite); } //Actually writes the string to a buffer writeString(value); if (appendNull) writeBytes(NULL_BYTE); }
/** * Writes a string to the buffer as ASCII bytes * * @param value string to write to buffer * @param writeLength prefix the string with the length as a 32-bit int * @param appendNull add a null byte to the end of the string */ public void writeString(final String value, final boolean writeLength, final boolean appendNull) { if (writeLength) { int lengthToWrite = value.length(); if (appendNull) lengthToWrite++; writeInt(lengthToWrite); } //Actually writes the string to a buffer writeString(value); if (appendNull) writeBytes(NULL_BYTE); }
/** * Writes a string to the buffer as ASCII bytes * * @param value string to write to buffer * @param writeLength prefix the string with the length as a 32-bit int * @param appendNull add a null byte to the end of the string */ public void writeString(final String value, final boolean writeLength, final boolean appendNull) { if (writeLength) { int lengthToWrite = value.length(); if (appendNull) lengthToWrite++; writeInt(lengthToWrite); } //Actually writes the string to a buffer writeString(value); if (appendNull) writeBytes(NULL_BYTE); }
private void writeHeader(final SAMFileHeader header) { binaryCodec.writeBytes("BAM\001".getBytes(Charset.forName("UTF8"))); final Writer sw = new StringWriter(); new SAMTextHeaderCodec().encode(sw, header); binaryCodec.writeString(sw.toString(), true, false); final SAMSequenceDictionary dict = header.getSequenceDictionary(); binaryCodec.writeInt(dict.size()); for (final SAMSequenceRecord rec : dict.getSequences()) { binaryCodec.writeString(rec.getSequenceName(), true, true); binaryCodec.writeInt (rec.getSequenceLength()); } } }
private void writeHeader(final SAMFileHeader header) { binaryCodec.writeBytes("BAM\001".getBytes(Charset.forName("UTF8"))); final Writer sw = new StringWriter(); new SAMTextHeaderCodec().encode(sw, header); binaryCodec.writeString(sw.toString(), true, false); final SAMSequenceDictionary dict = header.getSequenceDictionary(); binaryCodec.writeInt(dict.size()); for (final SAMSequenceRecord rec : dict.getSequences()) { binaryCodec.writeString(rec.getSequenceName(), true, true); binaryCodec.writeInt (rec.getSequenceLength()); } } }
private void writeHeader(final SAMFileHeader header) { binaryCodec.writeBytes("BAM\001".getBytes(Charset.forName("UTF8"))); final Writer sw = new StringWriter(); new SAMTextHeaderCodec().encode(sw, header); binaryCodec.writeString(sw.toString(), true, false); final SAMSequenceDictionary dict = header.getSequenceDictionary(); binaryCodec.writeInt(dict.size()); for (final SAMSequenceRecord rec : dict.getSequences()) { binaryCodec.writeString(rec.getSequenceName(), true, true); binaryCodec.writeInt (rec.getSequenceLength()); } } }
static void writeHeader(final BinaryCodec outputBinaryCodec, final SAMFileHeader samFileHeader, final String headerText) { outputBinaryCodec.writeBytes("BAM\1".getBytes()); // calculate and write the length of the SAM file header text and the // header text outputBinaryCodec.writeString(headerText, true, false); // write the sequences binarily. This is redundant with the text header outputBinaryCodec.writeInt(samFileHeader.getSequenceDictionary().size()); for (final SAMSequenceRecord sequenceRecord : samFileHeader.getSequenceDictionary().getSequences()) { outputBinaryCodec.writeString(sequenceRecord.getSequenceName(), true, true); outputBinaryCodec.writeInt(sequenceRecord.getSequenceLength()); } }
codec.writeString(readName, true, true);
codec.writeString(readName, true, true);
/** * Writes a header to a BAM file. samFileHeader and headerText are redundant - one can be used to regenerate the other but in * some instances we already have both so this allows us to save some cycles */ protected static void writeHeader(final BinaryCodec outputBinaryCodec, final SAMFileHeader samFileHeader, final String headerText) { outputBinaryCodec.writeBytes(BAMFileConstants.BAM_MAGIC); // calculate and write the length of the SAM file header text and the header text outputBinaryCodec.writeString(headerText, true, false); // write the sequences binarily. This is redundant with the text header outputBinaryCodec.writeInt(samFileHeader.getSequenceDictionary().size()); for (final SAMSequenceRecord sequenceRecord: samFileHeader.getSequenceDictionary().getSequences()) { outputBinaryCodec.writeString(sequenceRecord.getSequenceName(), true, true); outputBinaryCodec.writeInt(sequenceRecord.getSequenceLength()); } }
/** * Writes a header to a BAM file. samFileHeader and headerText are redundant - one can be used to regenerate the other but in * some instances we already have both so this allows us to save some cycles */ protected static void writeHeader(final BinaryCodec outputBinaryCodec, final SAMFileHeader samFileHeader, final String headerText) { outputBinaryCodec.writeBytes(BAMFileConstants.BAM_MAGIC); // calculate and write the length of the SAM file header text and the header text outputBinaryCodec.writeString(headerText, true, false); // write the sequences binarily. This is redundant with the text header outputBinaryCodec.writeInt(samFileHeader.getSequenceDictionary().size()); for (final SAMSequenceRecord sequenceRecord: samFileHeader.getSequenceDictionary().getSequences()) { outputBinaryCodec.writeString(sequenceRecord.getSequenceName(), true, true); outputBinaryCodec.writeInt(sequenceRecord.getSequenceLength()); } }
/** * Writes a header to a BAM file. samFileHeader and headerText are redundant - one can be used to regenerate the other but in * some instances we already have both so this allows us to save some cycles */ protected static void writeHeader(final BinaryCodec outputBinaryCodec, final SAMFileHeader samFileHeader, final String headerText) { outputBinaryCodec.writeBytes(BAMFileConstants.BAM_MAGIC); // calculate and write the length of the SAM file header text and the header text outputBinaryCodec.writeString(headerText, true, false); // write the sequences binarily. This is redundant with the text header outputBinaryCodec.writeInt(samFileHeader.getSequenceDictionary().size()); for (final SAMSequenceRecord sequenceRecord: samFileHeader.getSequenceDictionary().getSequences()) { outputBinaryCodec.writeString(sequenceRecord.getSequenceName(), true, true); outputBinaryCodec.writeInt(sequenceRecord.getSequenceLength()); } }
binaryCodec.writeString((String)value, false, true); break; case 'A':
binaryCodec.writeString((String)value, false, true); break; case 'A':
@Test public void testReadAndWriteString() throws IOException { final String value = "Test String to Write"; //Writing to file final File outputFile = File.createTempFile(TEST_BASENAME, ".bin"); outputFile.deleteOnExit(); final OutputStream stream = new FileOutputStream(outputFile); final BinaryCodec codec = new BinaryCodec(stream); codec.writeString(value, true, false); codec.close(); //Reading from file final InputStream instream = new FileInputStream(outputFile); final BinaryCodec readCodec = new BinaryCodec(instream); final int stringLength = readCodec.readInt(); Assert.assertEquals(value.length(), stringLength); final String s = readCodec.readString(stringLength); Assert.assertEquals(value, s); readCodec.close(); }
binaryCodec.writeString((String)value, false, true); break; case 'A':
@Test public void testReadAndWriteMutlitpleData() throws IOException{ final float fValue = 42.5F; final String sValue = "TestString"; final File outputFile = File.createTempFile(TEST_BASENAME, ".bin"); outputFile.deleteOnExit(); final OutputStream stream = new FileOutputStream(outputFile); final BinaryCodec codec = new BinaryCodec(stream); codec.writeFloat(fValue); codec.writeString(sValue, true, false); codec.close(); //Reading from file final InputStream instream = new FileInputStream(outputFile); final BinaryCodec readCodec = new BinaryCodec(instream); Assert.assertEquals(fValue, readCodec.readFloat()); final int stringLength = readCodec.readInt(); Assert.assertEquals(sValue, readCodec.readString(stringLength)); readCodec.close(); }
"; quals length: " + alignment.getBaseQualities().length); this.binaryCodec.writeString(alignment.getReadName(), false, true); final int[] binaryCigar = BinaryCigarCodec.encode(alignment.getCigar()); for (final int cigarElement : binaryCigar) {
"; quals length: " + alignment.getBaseQualities().length); this.binaryCodec.writeString(alignment.getReadName(), false, true); final int[] binaryCigar = BinaryCigarCodec.encode(alignment.getCigar()); for (final int cigarElement : binaryCigar) {
"; quals length: " + alignment.getBaseQualities().length); this.binaryCodec.writeString(alignment.getReadName(), false, true); final int[] binaryCigar = BinaryCigarCodec.encode(cigarToWrite); for (final int cigarElement : binaryCigar) {