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

Version Path
sequenceserver-3.1.3 lib/sequenceserver/blast/hsp.rb
sequenceserver-3.1.2 lib/sequenceserver/blast/hsp.rb
sequenceserver-3.1.1 lib/sequenceserver/blast/hsp.rb
sequenceserver-3.1.0 lib/sequenceserver/blast/hsp.rb
sequenceserver-3.0.1 lib/sequenceserver/blast/hsp.rb
sequenceserver-3.0 lib/sequenceserver/blast/hsp.rb
sequenceserver-2.2.0 lib/sequenceserver/blast/hsp.rb
sequenceserver-2.1.0 lib/sequenceserver/blast/hsp.rb
sequenceserver-2.0.0 lib/sequenceserver/blast/hsp.rb
sequenceserver-2.0.0.rc8 lib/sequenceserver/blast/hsp.rb
sequenceserver-2.0.0.rc7 lib/sequenceserver/blast/hsp.rb
sequenceserver-2.0.0.rc6 lib/sequenceserver/blast/hsp.rb
sequenceserver-2.0.0.rc5 lib/sequenceserver/blast/hsp.rb
sequenceserver-2.0.0.rc4 lib/sequenceserver/blast/hsp.rb
sequenceserver-2.0.0.rc3 lib/sequenceserver/blast/hsp.rb
sequenceserver-2.0.0.rc2 lib/sequenceserver/blast/hsp.rb
sequenceserver-2.0.0.rc1 lib/sequenceserver/blast/hsp.rb
sequenceserver-2.0.0.beta4 lib/sequenceserver/blast/hsp.rb
sequenceserver-2.0.0.beta3 lib/sequenceserver/blast/hsp.rb
sequenceserver-2.0.0.beta1 lib/sequenceserver/blast/hsp.rb