Class: GeneValidator::Hsp

Inherits:
Object
  • Object
show all
Defined in:
lib/genevalidator/hsp.rb

Overview

A class that initialises the BLAST tabular attributes

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeHsp

Returns a new instance of Hsp.



25
26
27
28
# File 'lib/genevalidator/hsp.rb', line 25

def initialize
  @query_alignment = nil
  @hit_alignment   = nil
end

Instance Attribute Details

#align_lenObject

Returns the value of attribute align_len.



23
24
25
# File 'lib/genevalidator/hsp.rb', line 23

def align_len
  @align_len
end

#bit_scoreObject

positive (mis)matches with +, mismatches and gaps are with space



16
17
18
# File 'lib/genevalidator/hsp.rb', line 16

def bit_score
  @bit_score
end

#gapsObject

Returns the value of attribute gaps.



22
23
24
# File 'lib/genevalidator/hsp.rb', line 22

def gaps
  @gaps
end

#hit_alignmentObject

Returns the value of attribute hit_alignment.



11
12
13
# File 'lib/genevalidator/hsp.rb', line 11

def hit_alignment
  @hit_alignment
end

#hit_fromObject

ref. from the unaligned hit sequence



6
7
8
# File 'lib/genevalidator/hsp.rb', line 6

def hit_from
  @hit_from
end

#hit_toObject

Returns the value of attribute hit_to.



7
8
9
# File 'lib/genevalidator/hsp.rb', line 7

def hit_to
  @hit_to
end

#hsp_evalueObject

Returns the value of attribute hsp_evalue.



18
19
20
# File 'lib/genevalidator/hsp.rb', line 18

def hsp_evalue
  @hsp_evalue
end

#hsp_scoreObject

Returns the value of attribute hsp_score.



17
18
19
# File 'lib/genevalidator/hsp.rb', line 17

def hsp_score
  @hsp_score
end

#identityObject

number of conserved residues



19
20
21
# File 'lib/genevalidator/hsp.rb', line 19

def identity
  @identity
end

#match_query_fromObject

ref. from the unaligned query sequence



8
9
10
# File 'lib/genevalidator/hsp.rb', line 8

def match_query_from
  @match_query_from
end

#match_query_toObject

Returns the value of attribute match_query_to.



9
10
11
# File 'lib/genevalidator/hsp.rb', line 9

def match_query_to
  @match_query_to
end

#middlesObject

conserved residues are with letters,



13
14
15
# File 'lib/genevalidator/hsp.rb', line 13

def middles
  @middles
end

#pidentityObject

percentage of identical matches



20
21
22
# File 'lib/genevalidator/hsp.rb', line 20

def pidentity
  @pidentity
end

#positiveObject

positive score for the (mis)match



21
22
23
# File 'lib/genevalidator/hsp.rb', line 21

def positive
  @positive
end

#query_alignmentObject

Returns the value of attribute query_alignment.



12
13
14
# File 'lib/genevalidator/hsp.rb', line 12

def query_alignment
  @query_alignment
end

#query_reading_frameObject

Returns the value of attribute query_reading_frame.



10
11
12
# File 'lib/genevalidator/hsp.rb', line 10

def query_reading_frame
  @query_reading_frame
end

Instance Method Details

#init_tabular_attribute(hash) ⇒ Object

Initializes the corresponding attribute of the hsp with respect to the column name of the tabular blast output Params: column: String with column name. value: Value of the column



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/genevalidator/hsp.rb', line 36

def init_tabular_attribute(hash)
  @match_query_from    = hash['qstart'].to_i if hash['qstart']
  @match_query_to      = hash['qend'].to_i if hash['qend']
  @query_reading_frame = hash['qframe'].to_i if hash['qframe']
  @hit_from            = hash['sstart'].to_i if hash['sstart']
  @hit_to              = hash['send'].to_i if hash['send']
  @query_alignment     = hash['qseq'] if hash['qseq']
  @hit_alignment       = hash['sseq'] if hash['sseq']
  @align_len           = hash['length'].to_i if hash['length']
  @pidentity           = hash['pident'].to_f if hash['pident']
  @identity            = hash['nident'].to_f if hash['nident']
  @hsp_evalue          = hash['evalue'].to_f if hash['evalue']
  if hash['qseq']
    query_seq_type = BlastUtils.guess_sequence_type(@query_alignment)
    fail SequenceTypeError if query_seq_type != :protein
  end
  if hash['sseq']
    hit_seq_type = BlastUtils.guess_sequence_type(@hit_alignment)
    fail SequenceTypeError if hit_seq_type != :protein
  end
end