Class: SequenceServer::BLAST::Query

Inherits:
Struct
  • Object
show all
Defined in:
lib/sequenceserver/blast/query.rb

Overview

Capture results per query of a BLAST search.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ Query

Returns a new instance of Query.



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/sequenceserver/blast/query.rb', line 10

def initialize(*args)
  args[1] = args[1].to_i
  if args[2] == 'No definition line' ||
     args[2] == 'unnamed protein product'
    args[2] = "Query_#{args[1]}"
  end
  args[3] = args[3].to_i
  @id, *rest = args[2].split
  @title = rest.join(' ')
  super
end

Instance Attribute Details

#defObject

Returns the value of attribute def

Returns:

  • (Object)

    the current value of def



9
10
11
# File 'lib/sequenceserver/blast/query.rb', line 9

def def
  @def
end

#hitsObject

Returns the value of attribute hits

Returns:

  • (Object)

    the current value of hits



9
10
11
# File 'lib/sequenceserver/blast/query.rb', line 9

def hits
  @hits
end

#idObject (readonly)

Returns the value of attribute id.



22
23
24
# File 'lib/sequenceserver/blast/query.rb', line 22

def id
  @id
end

#lengthObject

Returns the value of attribute length

Returns:

  • (Object)

    the current value of length



9
10
11
# File 'lib/sequenceserver/blast/query.rb', line 9

def length
  @length
end

#numberObject

Returns the value of attribute number

Returns:

  • (Object)

    the current value of number



9
10
11
# File 'lib/sequenceserver/blast/query.rb', line 9

def number
  @number
end

#reportObject

Returns the value of attribute report

Returns:

  • (Object)

    the current value of report



9
10
11
# File 'lib/sequenceserver/blast/query.rb', line 9

def report
  @report
end

#titleObject (readonly)

Returns the value of attribute title.



22
23
24
# File 'lib/sequenceserver/blast/query.rb', line 22

def title
  @title
end

Instance Method Details

#to_json(*args) ⇒ Object



24
25
26
27
28
29
# File 'lib/sequenceserver/blast/query.rb', line 24

def to_json(*args)
  %i[number id title length hits].inject({}) do |h, k|
    h[k] = send(k)
    h
  end.to_json(*args)
end