| Class | Bio::EMBOSS |
| In: |
lib/bio/appl/emboss.rb
|
| Parent: | Object |
You must have the EMBOSS suite installed locally. You can download from the project website (see References below).
| io | [R] | Pipe for the command |
| result | [R] | Result of the executed command |
Combines the initialization and execution for the emboss entret command.
puts Bio::EMBOSS.entret('embl:xlrhodop')
is equivalent to:
object = Bio::EMBOSS.new('entret embl:xlrhodop')
puts object.exec
Arguments:
| Returns: | String |
# File lib/bio/appl/emboss.rb, line 109
109: def self.entret(arg)
110: str = self.retrieve('entret', arg)
111: end
WARNING: Bio::EMBOSS.new will be changed in the future because Bio::EMBOSS.new(cmd_line) is inconvenient and potential security hole. Using Bio::EMBOSS.run(program, options…) is strongly recommended.
Initializes a new Bio::EMBOSS object. This provides a holder that can subsequently be executed (see Bio::EMBOSS.exec). The object does not hold any actual data when initialized.
e = Bio::EMBOSS.new('seqret embl:xlrhodop')
For e to actually hold data, it has to be executed:
puts e.exec
For an overview of commands that can be used with this method, see the emboss website.
Arguments:
| Returns: | Bio::EMBOSS object |
# File lib/bio/appl/emboss.rb, line 132
132: def initialize(cmd_line)
133: warn 'Bio::EMBOSS.new(cmd_line) is inconvenient and potential security hole. Using Bio::EMBOSS.run(program, options...) is strongly recommended.'
134: @cmd_line = cmd_line + ' -stdout -auto'
135: end
Runs an emboss program and get the result as string. Note that "-auto -stdout" are automatically added to the options.
Example 1:
result = Bio::EMBOSS.run('seqret', 'embl:xlrhodop')
Example 2:
result = Bio::EMBOSS.run('water',
'-asequence', 'swissprot:slpi_human',
'-bsequence', 'swissprot:slpi_mouse')
Example 3:
options = %w( -asequence swissprot:slpi_human
-bsequence swissprot:slpi_mouse )
result = Bio::EMBOSS.run('needle', *options)
For an overview of commands that can be used with this method, see the emboss website.
Arguments:
| Returns: | String |
# File lib/bio/appl/emboss.rb, line 187
187: def self.run(program, *options)
188: cmd = [ program, *options ]
189: cmd.push '-auto'
190: cmd.push '-stdout'
191: return Bio::Command.query_command(cmd)
192: end
Combines the initialization and execution for the emboss seqret command.
puts Bio::EMBOSS.seqret('embl:xlrhodop')
is equivalent to:
object = Bio::EMBOSS.new('seqret embl:xlrhodop')
puts object.exec
Arguments:
| Returns: | String |
# File lib/bio/appl/emboss.rb, line 93
93: def self.seqret(arg)
94: str = self.retrieve('seqret', arg)
95: end
A Bio::EMBOSS object has to be executed before it can return any result.
obj_A = Bio::EMBOSS.new('transeq -sbegin 110 -send 1171 embl:xlrhodop')
puts obj_A.result #=> nil
obj_A.exec
puts obj_A.result #=> a FASTA-formatted sequence
obj_B = Bio::EMBOSS.new('showfeat embl:xlrhodop')
obj_B.exec
puts obj_B.result
# File lib/bio/appl/emboss.rb, line 146
146: def exec
147: begin
148: @io = IO.popen(@cmd_line, "w+")
149: @result = @io.read
150: return @result
151: ensure
152: @io.close
153: end
154: end