Class: GeneValidator::ORFValidationOutput
- Inherits:
-
ValidationReport
- Object
- ValidationReport
- GeneValidator::ORFValidationOutput
- Defined in:
- lib/genevalidator/validation_open_reading_frame.rb
Overview
Class that stores the validation output information
Instance Attribute Summary collapse
-
#coverage ⇒ Object
readonly
Returns the value of attribute coverage.
-
#mainORFFrame ⇒ Object
readonly
Returns the value of attribute mainORFFrame.
-
#orfs ⇒ Object
readonly
Returns the value of attribute orfs.
-
#result ⇒ Object
readonly
Returns the value of attribute result.
-
#threshold ⇒ Object
readonly
Returns the value of attribute threshold.
Attributes inherited from ValidationReport
#approach, #conclusion, #description, #errors, #expected, #explanation, #header, #message, #plot_files, #run_time, #short_header, #validation_result
Instance Method Summary collapse
- #conclude ⇒ Object
-
#initialize(short_header, header, description, orfs, coverage, longest_orf_frame, threshold = 80, expected = :yes) ⇒ ORFValidationOutput
constructor
A new instance of ORFValidationOutput.
- #print ⇒ Object
- #validation ⇒ Object
Methods inherited from ValidationReport
Constructor Details
#initialize(short_header, header, description, orfs, coverage, longest_orf_frame, threshold = 80, expected = :yes) ⇒ ORFValidationOutput
Returns a new instance of ORFValidationOutput.
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/genevalidator/validation_open_reading_frame.rb', line 18 def initialize(short_header, header, description, orfs, coverage, longest_orf_frame, threshold = 80, expected = :yes) @short_header = short_header @header = header @description = description @orfs = orfs @coverage = coverage @threshold = threshold @expected = expected @result = validation @plot_files = [] @mainORFFrame = longest_orf_frame @approach = 'We expect the query sequence to encode a single gene,' \ ' thus it should contain one main Open Reading Frame' \ ' (ORF) that occupies most of the query sequence.' \ ' This validation does not require any BLAST hits.' @explanation = " The longest ORF is in frame #{@mainORFFrame}, where" \ " it occupies #{@coverage.round}% of the query" \ ' sequence.' @conclusion = conclude end |
Instance Attribute Details
#coverage ⇒ Object (readonly)
Returns the value of attribute coverage.
13 14 15 |
# File 'lib/genevalidator/validation_open_reading_frame.rb', line 13 def coverage @coverage end |
#mainORFFrame ⇒ Object (readonly)
Returns the value of attribute mainORFFrame.
15 16 17 |
# File 'lib/genevalidator/validation_open_reading_frame.rb', line 15 def mainORFFrame @mainORFFrame end |
#orfs ⇒ Object (readonly)
Returns the value of attribute orfs.
12 13 14 |
# File 'lib/genevalidator/validation_open_reading_frame.rb', line 12 def orfs @orfs end |
#result ⇒ Object (readonly)
Returns the value of attribute result.
16 17 18 |
# File 'lib/genevalidator/validation_open_reading_frame.rb', line 16 def result @result end |
#threshold ⇒ Object (readonly)
Returns the value of attribute threshold.
14 15 16 |
# File 'lib/genevalidator/validation_open_reading_frame.rb', line 14 def threshold @threshold end |
Instance Method Details
#conclude ⇒ Object
41 42 43 44 45 46 47 48 49 |
# File 'lib/genevalidator/validation_open_reading_frame.rb', line 41 def conclude if @result == :yes 'There is no evidence to believe that there is any problem with the' \ ' ORF of the query sequence.' else 'This only represents a portion of the query sequence. In some cases' \ ' this indicates that a frame shift exists in the query sequence.' end end |
#print ⇒ Object
51 52 53 54 55 56 57 |
# File 'lib/genevalidator/validation_open_reading_frame.rb', line 51 def print @orfs.map { |elem| elem[1].length }.reduce(:+) orf_list = '' @orfs.map { |elem| orf_list << "#{elem[0]}:#{elem[1]}," } "#{@coverage.round}% (frame #{@mainORFFrame})" end |
#validation ⇒ Object
59 60 61 |
# File 'lib/genevalidator/validation_open_reading_frame.rb', line 59 def validation @coverage > @threshold ? :yes : :no end |