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