Class BAMRecordCodec

    • Method Detail

      • setOutputStream

        public void setOutputStream​(OutputStream os,
                                    String filename)
        Sets the output stream that records will be written to.
      • setInputStream

        public void setInputStream​(InputStream is,
                                   String filename)
        Sets the input stream that records will be read from.
      • encode

        public void encode​(SAMRecord alignment)
        Write object to OutputStream. Reference and mate reference indices must be resolvable, which either means that these have been set into the SAMRecord directly, or the SAMRecord must have a header assigned into it so that reference names can be resolved into indices.
        Specified by:
        encode in interface SortingCollection.Codec<SAMRecord>
        Parameters:
        alignment - Record to be written.
      • makeSentinelCigar

        public static Cigar makeSentinelCigar​(Cigar cigar)
        Create a "Sentinel" cigar that will be placed in BAM file when the actual cigar has more than 0xffff operator, which are not supported by the bam format. The actual cigar will be encoded and placed in the CG attribute.
        Parameters:
        cigar - actual cigar to create sentinel cigar for
        Returns:
        sentinel cigar xSyN with readLength (x) and referenceLength (y) matching the input cigar.
      • decode

        public SAMRecord decode()
        Read the next record from the input stream and convert into a java object.
        Specified by:
        decode in interface SortingCollection.Codec<SAMRecord>
        Returns:
        null if no more records. Should throw exception if EOF is encountered in the middle of a record.