Bio.IO.BAM.BAMFormatter.WriteSequenceAlignment C# (CSharp) Method

WriteSequenceAlignment() private method

Writes sequence alignment to specified stream.
private WriteSequenceAlignment ( ISequenceAlignment sequenceAlignment, Stream writer, Bio.IO.BAM.BAMIndexStorage indexStorage ) : void
sequenceAlignment ISequenceAlignment Sequence alignment object
writer Stream Stream to write.
indexStorage Bio.IO.BAM.BAMIndexStorage BAMIndex file.
return void
        private void WriteSequenceAlignment(ISequenceAlignment sequenceAlignment, Stream writer, BAMIndexStorage indexStorage)
        {
            // validate sequenceAlignment.
            SequenceAlignmentMap sequenceAlignmentMap = ValidateAlignment(sequenceAlignment);

            // write bam struct to temp file.
            using (var fstemp = PlatformManager.Services.CreateTempStream())
            {
                WriteUncompressed(sequenceAlignmentMap, fstemp, CreateSortedBAMFile);

                fstemp.Seek(0, SeekOrigin.Begin);

                // Compress and write to the specified stream.
                CompressBAMFile(fstemp, writer);
            }

            // if index file need to be created.
            if (indexStorage != null)
            {
                writer.Seek(0, SeekOrigin.Begin);
                CreateBAMIndexFile(writer, indexStorage);
            }
        }