class Bio::Sam::File

Class providing access to SAM files

Public Class Methods

new(filename) click to toggle source

Creates an object for access to SAM file

# File lib/bio-sambamba/samfile.rb, line 11
def initialize(filename)
  @filename = filename
  check_file_existence filename
end

Public Instance Methods

alignments() click to toggle source

Returns an AlignmentIterator object for iterating over all alignments in the file

# File lib/bio-sambamba/samfile.rb, line 22
def alignments
  cmdline = ['sambamba', 'view', '--format', 'msgpack', '-S', @filename],
  Bio::Bam::AlignmentIterator.new(cmdline, reference_sequences)
end
header() click to toggle source

SAM header

# File lib/bio-sambamba/samfile.rb, line 17
def header
  @header ||= Bio::Bam::SamHeader.new(@filename, ['-S'])
end
reference_sequences() click to toggle source
# File lib/bio-sambamba/samfile.rb, line 27
def reference_sequences
  @reference_sequences ||= Oj.load(Bio::Command.query_command ['sambamba', 'view', '-I', '-S', @filename])
end

Private Instance Methods

reference_sequence_names() click to toggle source
# File lib/bio-sambamba/samfile.rb, line 32
def reference_sequence_names
  @reference_sequence_names ||= reference_sequences.map {|ref| ref['name']}
end