Class | Bio::PSORT::PSORT1::Report
In: | lib/bio/appl/psort/report.rb
Parent: | Object

# Bio::PSORT::PSORT1::Report

Parser class for PSORT1 output report.

## Example

### Methods

default_parser new parser

### Attributes

entry_id | [RW] |
final_result | [RW] |
origin | [RW] |
raw | [RW] |
reasoning | [RW] |
result_info | [RW] |
sequence | [RW] |
title | [RW] |

### Public Class methods

default_parser(output_report)

Returns aBio::PSORT::PSORT1::Report.

[Source]

        # File lib/bio/appl/psort/report.rb, line 36
    36:         def self.default_parser(output_report)
    37:           rpt = self.new
    38:           rpt.raw = output_report
    39:           query_info = output_report.scan(/^Query Information\n\n(.+?)\n\n/m)[0][0].split(/\n/)
    40:           result_info = output_report.scan(/^Result Information\n\n(.+?)\n\n\*/m)[0][0]
    41:           step1 = output_report.scan(/^\*\*\* Reasoning Step: 1\n\n(.+?)\n\n/m)[0][0]
    42:           step2 = output_report.scan(/^\*\*\* Reasoning Step: 2\n\n(.+?)\n\n/m)[0][0]
    43:           final_result = output_report.scan(/\n\n----- Final Results -----\n\n(.+?)\n\n\n/m)[0][0]
    44:
    45:           rpt.entry_id = query_info[2].scan(/^>(\S+) */).to_s
    46:           rpt.origin   = query_info[0].scan(/ORIGIN (\w+)/).to_s
    47:           rpt.sequence = Bio::Sequence::AA.new(query_info[3..query_info.size].to_s)
    48:           # rpt.reasoning
    49:
    50:           rpt.final_result = final_result.split(/\n/).map {|x|
    51:             x = x.strip.split(/---/).map {|y| y.strip }
    52:             { 'prediction' => x[0],
    53:               'certainty'  => x[1].scan(/Certainty= (\d\.\d{3})/).to_s,
    54:               'comment'    => x[1].scan(/\((\w+)\)/).to_s
    55:             }
    56:           }
    57:           return rpt
    58:         end

new(entry_id = '', origin = '', title = '', sequence = '', result_info = '', reasoning = {}, final_result = [])

Constructs aBio::PSORT::PSORT1::Report object.

[Source]

        # File lib/bio/appl/psort/report.rb, line 72
    72:         def initialize(entry_id = '', origin = '', title = '', sequence = '',
    73:                        result_info = '', reasoning = {}, final_result = [])
    74:           @entry_id = entry_id
    75:           @origin = origin
    76:           @title = title
    77:           @sequence = sequence
    78:           @result_info = result_info
    79:           @reasoning = reasoning
    80:           @final_result = final_result
    81:           @raw = ''
    82:         end

parser(output_report)

Returns aBio::PSORT::PSORT1::Report.

[Source]

        # File lib/bio/appl/psort/report.rb, line 31
    31:         def self.parser(output_report)
    32:           self.default_parser(output_report)
    33:         end

[Validate]