Class: BlastResult

Inherits:
Object
  • Object
show all
Defined in:
lib/scbi_blast/blast_result.rb

Overview

Extracts results from blast table’s file and uses it to create instances of “BlastQuery” and “BlastHit”

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(input) ⇒ BlastResult

Parser initialization



34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/scbi_blast/blast_result.rb', line 34

def initialize(input)

  @querys = []

  # if input.is_a?(Array)
  #   lines=input
  # else
  #   fich = File.open(input,'r')
  #   lines = fich.readlines
  #   fich.close
  # end
end

Instance Attribute Details

#querysObject

Returns the value of attribute querys.



31
32
33
# File 'lib/scbi_blast/blast_result.rb', line 31

def querys
  @querys
end

Instance Method Details

#compare?(results) ⇒ Boolean

Returns:

  • (Boolean)


79
80
81
82
83
84
85
86
87
# File 'lib/scbi_blast/blast_result.rb', line 79

def compare?(results)
  res = true
  
  @querys.each_with_index  do |q,i|
    res &&= q.compare?(results.querys[i])
  end
  
  return res
end

#empty?Boolean

check if there are querys

Returns:

  • (Boolean)


70
71
72
# File 'lib/scbi_blast/blast_result.rb', line 70

def empty?
  return @querys.empty?
end

#find_query(querys, name_q) ⇒ Object

find query by name



58
59
60
61
62
63
64
65
66
67
# File 'lib/scbi_blast/blast_result.rb', line 58

def find_query(querys,name_q)
  #  newq = querys.find{|q| ( q.find{|h| (h.subject_id)})}
  new_q=nil

  if !querys.empty?
    new_q=querys.find{|q| (q.query_id==name_q)}
  end

  return new_q
end

#inspectObject

inspect results



49
50
51
52
53
54
55
# File 'lib/scbi_blast/blast_result.rb', line 49

def inspect
  res = "Blast results:\n"
  res+= '-'*20
  res+= "\nQuerys: #{@querys.count}\n"
  @querys.each{|q| res+=q.inspect+"\n"}
  return res
end

#sizeObject

get query count



75
76
77
# File 'lib/scbi_blast/blast_result.rb', line 75

def size
  @querys.size
end