class Mpileup

Public Class Methods

new(file_path) click to toggle source
# File lib/full_lengther_next/mapping.rb, line 4
def initialize(file_path)
        @mpileup_file = ScbiZcatFile.new(file_path)
        @last_line = nil
end

Public Instance Methods

close() click to toggle source
# File lib/full_lengther_next/mapping.rb, line 51
def close
        @mpileup_file.close
end
initialize_contig(contig_length) click to toggle source
# File lib/full_lengther_next/mapping.rb, line 45
def initialize_contig(contig_length)
        coverages = Array.new(contig_length, 0) 
        coverages[@last_line[1].to_i-1] = @last_line[2].to_i
        return coverages
end
read_contig(contig_name, contig_length) click to toggle source
# File lib/full_lengther_next/mapping.rb, line 9
def read_contig(contig_name, contig_length)
        coverages = []
        if !@last_line.nil?
                if @last_line[0] != contig_name
                        return nil
                else
                        coverages = initialize_contig(contig_length)
                end
        else
                line = @mpileup_file.readline
                if line.nil?
                        @last_line = nil
                        return nil
                else
                        @last_line = line.chomp.split("\t")
                        if @last_line[0] != contig_name
                                return nil
                        else
                                coverages = initialize_contig(contig_length)
                        end
                end
        end
        
        while !@mpileup_file.eof
                fields = @mpileup_file.readline.chomp.split("\t")
                contig = fields[0]
                if contig == contig_name
                        coverages[fields[1].to_i-1] = fields[2].to_i
                else
                        @last_line = fields
                        break
                end
        end
        return coverages
end