Sha256: 6a9761f5e6c8e4743caa45824553752ad87c004f389204add0cc72e1d6cc12f7

Contents?: true

Size: 821 Bytes

Versions: 1

Compression:

Stored size: 821 Bytes

Contents

module BioVcf

  class VcfNucleotides 
    def initialize list
      @list = list
    end
  
    def [] idx
      idx = ["A","C","G","T"].index(idx) if idx.kind_of?(String)
      return 0 if idx == nil
      @list[idx].to_i
    end
  end

  class VcfGenotypeField
    def initialize s, format, header
      @values = s.split(/:/)
      @format = format
      @header = header
    end

    def bcount
      VcfNucleotides.new(@values[@format['BCOUNT']].split(','))
    end

    def bq
      VcfNucleotides.new(@values[@format['BQ']].split(','))
    end

    def amq
      VcfNucleotides.new(@values[@format['AMQ']].split(','))
    end


    def method_missing(m, *args, &block)  
      v = @values[@format[m.to_s.upcase]]
      v = v.to_i if v =~ /^\d+$/
      v = v.to_f if v =~ /^\d+\.\d+$/
      v
    end  

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
bio-vcf-0.0.1 lib/bio-vcf/vcfgenotypefield.rb