class FileParser

Public Class Methods

available?() click to toggle source

PARSER DEPENDANT METHODS

# File lib/anncrsnp/file_parser.rb, line 25
def self.available?
        return FALSE
end
format() click to toggle source
# File lib/anncrsnp/file_parser.rb, line 29
def self.format
        return 'master'
end
get_descendants() click to toggle source
# File lib/anncrsnp/file_parser.rb, line 4
def self.get_descendants
        return ObjectSpace.each_object(Class).select { |klass| klass < self }
end
load() click to toggle source
# File lib/anncrsnp/file_parser.rb, line 8
def self.load
        path_parsers = File.join(File.dirname(__FILE__), 'file_parsers')
        Dir.glob(path_parsers+'/*').each do |parser|
                require parser
        end
        get_descendants.each do |descendant|
                @@parsers[descendant.format] = descendant if descendant.available?
        end
end
new(folder, chunk_size) click to toggle source
# File lib/anncrsnp/file_parser.rb, line 33
def initialize(folder, chunk_size)
        @folder = folder
        @chunk_size = chunk_size
        @chrom = nil
        @coords = []
        @packs = 0
end
select(format) click to toggle source
# File lib/anncrsnp/file_parser.rb, line 18
def self.select(format)
        return @@parsers[format]
end

Public Instance Methods

parse(line) click to toggle source
# File lib/anncrsnp/file_parser.rb, line 41
def parse(line)

end
write_compressed_data() click to toggle source
# File lib/anncrsnp/file_parser.rb, line 45
    def write_compressed_data
            p = @packs * @chunk_size
            gz_path = File.join(@folder, "#{@chrom}_#{p}.gz")
    Zlib::GzipWriter.open(gz_path) do |writer|
      Yajl::Encoder.encode(@coords, writer)
    end
    @packs += 1
end