Sha256: 4e984ac24da321ac7b6684fd6a0d9b6242b2db40ad469c487db361d844cf0dc9
Contents?: true
Size: 1017 Bytes
Versions: 1
Compression:
Stored size: 1017 Bytes
Contents
module BioVcf module VcfHeaderParser def VcfHeaderParser.get_column_names(lines) lines.each do | line | if line =~ /^#[^#]/ # the first line that starts with a single hash names = line.split names[0].sub!(/^#/,'') return names end end nil end end class VcfHeader attr_reader :lines def initialize @lines = [] end def add line @lines << line.strip end def version @version ||= lines[0].scan(/##fileformat=VCFv(\d+\.\d+)/)[0][0] end def column_names @column_names ||= VcfHeaderParser::get_column_names(@lines) end def columns @column ||= column_names.size end def samples @samples ||= column_names[9..-1] end def sample_index return @sample_index if @sample_index index = {} samples.each_with_index { |k,i| index[k] = i+9 ; index[k.downcase] = i+9 } @sample_index = index index end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
bio-vcf-0.0.3 | lib/bio-vcf/vcfheader.rb |