class Bio::TargetP::Report
A parser and container class for TargetP report.¶ ↑
Constants
- DELIMITER
Delimiter
- RS
Delimiter
Attributes
Returns 'included' or 'not included'. If the value is 'included', #prediction contains a valid value.
Returns a Hash of cutoff values.
Returns “PLANT'' or “NON-PLANT'' networks.
Returns a Hash of the prediction results.
{“Name”=>“MGI_2141503”, “Loc.”=>“_”, “RC”=>3, “SP”=>0.271,
"other"=>0.844, "mTP"=>0.161, "cTP"=>0.031, "Length"=>640}
Keys: Name, Len, SP, mTP, other, Loc, RC Optional key for PLANT networks: cTP Optional key in Cleavage site: TPlen
Use 'Length' and 'Loc.' instead of 'Len' and 'Loc' respectively for the version 1.0 report.
Returns a Hash of the prediction results.
{“Name”=>“MGI_2141503”, “Loc.”=>“_”, “RC”=>3, “SP”=>0.271,
"other"=>0.844, "mTP"=>0.161, "cTP"=>0.031, "Length"=>640}
Keys: Name, Len, SP, mTP, other, Loc, RC Optional key for PLANT networks: cTP Optional key in Cleavage site: TPlen
Use 'Length' and 'Loc.' instead of 'Len' and 'Loc' respectively for the version 1.0 report.
Returns the query sequences.
Returns the program version.
Public Class Methods
Sets output report.
# File lib/bio/appl/targetp/report.rb, line 63 def initialize(str) @version = nil @query_sequences = nil @cleavage_site_prediction = nil @networks = nil @prediction = {} @cutoff = {} parse_entry(str) end
Public Instance Methods
Returns the predicted localization signal:
-
S (Signal peptide)
-
M (mTP)
-
C (cTP)
-
*
-
_
# File lib/bio/appl/targetp/report.rb, line 97 def loc if @prediction['Loc'] @prediction['Loc'] # version 1.0 else @prediction['Loc.'] # version 1.1 end end
Returns the name of query sequence.
# File lib/bio/appl/targetp/report.rb, line 76 def name @prediction['Name'] end
Returns length of query sequence.
# File lib/bio/appl/targetp/report.rb, line 82 def query_len if @prediction['Len'] @prediction['Len'] else @prediction['Length'] end end
Returns RC.
# File lib/bio/appl/targetp/report.rb, line 106 def rc @prediction['RC'] end
Private Instance Methods
# File lib/bio/appl/targetp/report.rb, line 113 def parse_entry(str) labels = [] cutoff = [] values = [] str.split("\n").each {|line| case line when /targetp v(\d+.\d+)/,/T A R G E T P\s+(\d+.\d+)/ @version = $1 when /Number of (query|input) sequences:\s+(\d+)/ @query_sequences = $1.to_i when /Cleavage site predictions (\w.+)\./ @cleavage_site_prediction = $1 when /Using (\w+.+) networks/ @networks = $1 when /Name +Len/ labels = line.sub(/^\#\s*/,'').split(/\s+/) when /cutoff/ cutoff = line.split(/\s+/) cutoff.shift labels[2, 4].each_with_index {|loc, i| next if loc =~ /Loc/ @cutoff[loc] = cutoff[i].to_f } when /-----$/ when /^ +$/, '' else values = line.sub(/^\s*/,'').split(/\s+/) values.each_with_index {|val, i| label = labels[i] case label when 'RC', /Len/ val = val.to_i when 'SP','mTP','cTP','other' val = val.to_f end @prediction[label] = val } end } end