Sha256: 2407924f001767c6a543375845e4afc01b23a74c9cc3dd634c41e3df29e1f9db
Contents?: true
Size: 949 Bytes
Versions: 21
Compression:
Stored size: 949 Bytes
Contents
module SequenceServer # Define BLAST::HSP and BLAST::HSP::*. module BLAST # Structure to hold data for each HSP. HSP = Struct.new(:hit, :number, :bit_score, :score, :evalue, :qstart, :qend, :sstart, :send, :qframe, :sframe, :identity, :positives, :gaps, :length, :qcovhsp, :qseq, :sseq, :midline) do INTEGER_ARGS = [1, 3].concat((5..15).to_a).freeze FLOAT_ARGS = [2, 4].freeze def initialize(*args) INTEGER_ARGS.each do |i| args[i] = args[i].to_i end FLOAT_ARGS.each do |i| args[i] = args[i].to_f end super end def to_json(*args) %i[number bit_score score evalue qstart qend sstart send qframe sframe identity positives gaps length qcovhsp qseq sseq midline].inject({}) { |h, k| h[k] = self[k] h }.to_json(*args) end end end end
Version data entries
21 entries across 21 versions & 1 rubygems