Class: Bio::PTS1

Inherits:
Object show all
Defined in:
lib/bio/appl/pts1.rb

Overview

Bio::PTS1 - A web service client class for PTS1 predictor.

Peroxisomal targeting signal type 1 (PTS1) predictor

Bio::PTS1 class is a client of the PTS1 predictor.

Examples

require 'bio'
sp = Bio::SPTR.new(Bio::Fetch.query("sp", "p53_human"))
faa = sp.seq.to_fasta(sp.entry_id)
pts1 = Bio::PTS1.new
report = pts1.exec_remote(faa)
report.output     #=> "<HTML>\n<HEAD><TITLE>PTS1 Prediction Server ..."
report.prediction #=> "Not targeted"
report.cterm      #=> "KLMFKTEGPDSD"
report.score      #=> "-79.881"
report.fp         #=> "67.79%"
report.sppta      #=> "-1.110"
report.spptna     #=> "-41.937"
report.profile    #=> "-36.834"

References

  • The PTS1 predictor mendel.imp.ac.at/pts1/

  • Neuberger G, Maurer-Stroh S, Eisenhaber B, Hartig A, Eisenhaber F. Motif refinement of the peroxisomal targeting signal 1 and evaluation of taxon-specific differences. J Mol Biol. 2003 May 2;328(3):567-79. PMID: 12706717

  • Neuberger G, Maurer-Stroh S, Eisenhaber B, Hartig A, Eisenhaber F. Prediction of peroxisomal targeting signal 1 containing proteins from amino acid sequence. J Mol Biol. 2003 May 2;328(3):581-92. PMID: 12706718

Defined Under Namespace

Classes: Report

Constant Summary

FUNCTION =

Organism specific parameter value: function names.

{
  'METAZOA-specific' => 1,
  'FUNGI-specific'   => 2,
  'GENERAL'          => 3,
}

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(func = 'METAZOA-specific') ⇒ PTS1

Constructs Bio::PTS1 web service client.

Examples

serv_default_metazoa_specific = Bio::PTS1.new
serv_general_function = Bio::PTS1.new('GENERAL')
serv_fungi_specific = Bio::PTS1.new(2)    # See Bio::PTS1::FUNCTION.


92
93
94
95
96
# File 'lib/bio/appl/pts1.rb', line 92

def initialize(func = 'METAZOA-specific')
  @uri = "http://mendel.imp.ac.at/jspcgi/cgi-bin/pts1/pts1.cgi"
  @output = nil
  @function = function(func)
end

Instance Attribute Details

#outputObject (readonly)

Output report.



66
67
68
# File 'lib/bio/appl/pts1.rb', line 66

def output
  @output
end

Class Method Details

.new_with_fungi_functionObject



74
75
76
# File 'lib/bio/appl/pts1.rb', line 74

def self.new_with_fungi_function
  self.new('FUNGI-specific')
end

.new_with_general_functionObject



79
80
81
# File 'lib/bio/appl/pts1.rb', line 79

def self.new_with_general_function
  self.new('GENERAL')
end

.new_with_metazoa_functionObject



69
70
71
# File 'lib/bio/appl/pts1.rb', line 69

def self.new_with_metazoa_function
  self.new('METAZOA-specific')
end

Instance Method Details

#exec(query) ⇒ Object

Executes the query request and returns result output in Bio::PTS1::Report. The query argument is available both aSting in fasta format text and aBio::FastaFormat.

Examples

require 'bio'
pts1 = Bio::PTS1.new
pts1.exec(">title\nKLMFKTEGPDSD")

pts1.exec(Bio::FastaFormat.new(">title\nKLMFKTEGPDSD"))


141
142
143
144
145
146
147
148
149
150
151
152
# File 'lib/bio/appl/pts1.rb', line 141

def exec(query)
  seq = set_sequence_in_fastaformat(query)
  
  @form_data = {'function' => @function.values.join(''),
                'sequence' => seq.seq,
                'name'     => seq.definition }

  result = Bio::Command.post_form(@uri, @form_data)
  @output = Report.new(result.body)
  
  return @output
end

#function(func = nil) ⇒ Object

Sets and shows the function parameter.

Organism specific parameter: function names (Bio::PTS1::FUNTION.keys).

Examples

# sets function name parameter.
serv = Bio::PTS1.new
serv.function('METAZOA-specific')

# shows function name parameter.
serv.function #=> "METAZOA-specific"


113
114
115
116
117
118
119
120
121
122
123
124
125
126
# File 'lib/bio/appl/pts1.rb', line 113

def function(func = nil)
  return @function.keys.join('') if func == nil

  if FUNCTION.values.include?(func)
    @function = Hash[*FUNCTION.find {|x| x[1] == func}]
  elsif FUNCTION[func]
    @function = {func => FUNCTION[func]} 
  else
    raise ArgumentError, 
          "Invalid argument: #{func}", 
          "Available function names: #{FUNCTION.keys.inspect}"
  end
  @function
end