Class: Bio::Sim4
- Inherits:
-
Object
- Object
- Bio::Sim4
- Defined in:
- lib/bio/appl/sim4.rb,
lib/bio/appl/sim4/report.rb
Overview
The sim4 execution wrapper class.
Defined Under Namespace
Classes: Report
Instance Attribute Summary collapse
-
#command ⇒ Object
readonly
last command-line strings executed by the object.
-
#database ⇒ Object
default file name of database(‘seq2’).
-
#options ⇒ Object
options.
-
#output ⇒ Object
readonly
last result text (String).
-
#program ⇒ Object
readonly
name of the program (usually ‘sim4’ in UNIX).
-
#report ⇒ Object
readonly
last result.
Instance Method Summary collapse
-
#exec_local(filename1, filename2 = nil) ⇒ Object
(also: #exec)
Executes the sim4 program.
-
#initialize(program = 'sim4', database = nil, opt = []) ⇒ Sim4
constructor
Creates a new sim4 execution wrapper object.
-
#log ⇒ Object
log is deprecated (no replacement) and returns empty string.
-
#option ⇒ Object
option is deprecated.
-
#query(seq1) ⇒ Object
Executes the sim4 program.
-
#query_pairwise(seq1, seq2) ⇒ Object
Executes the sim4 program.
Constructor Details
#initialize(program = 'sim4', database = nil, opt = []) ⇒ Sim4
Creates a new sim4 execution wrapper object.
program-
Program name. Usually ‘sim4’ in UNIX.
database-
Default file name of database(‘seq2’).
option-
Options (array of strings).
32 33 34 35 36 37 38 39 |
# File 'lib/bio/appl/sim4.rb', line 32 def initialize(program = 'sim4', database = nil, opt = []) @program = program @options = opt @database = database #seq2 @command = nil @output = nil @report = nil end |
Instance Attribute Details
#command ⇒ Object (readonly)
last command-line strings executed by the object
57 58 59 |
# File 'lib/bio/appl/sim4.rb', line 57 def command @command end |
#database ⇒ Object
default file name of database(‘seq2’)
42 43 44 |
# File 'lib/bio/appl/sim4.rb', line 42 def database @database end |
#options ⇒ Object
options
48 49 50 |
# File 'lib/bio/appl/sim4.rb', line 48 def @options end |
#output ⇒ Object (readonly)
last result text (String)
71 72 73 |
# File 'lib/bio/appl/sim4.rb', line 71 def output @output end |
#program ⇒ Object (readonly)
name of the program (usually ‘sim4’ in UNIX)
45 46 47 |
# File 'lib/bio/appl/sim4.rb', line 45 def program @program end |
#report ⇒ Object (readonly)
last result. Returns a Bio::Sim4::Report object.
74 75 76 |
# File 'lib/bio/appl/sim4.rb', line 74 def report @report end |
Instance Method Details
#exec_local(filename1, filename2 = nil) ⇒ Object Also known as: exec
Executes the sim4 program. Perform mRNA-genome alignment between sequences in given files. filename1 and filename2 should be file name strings. If filename2 is not specified, using self.database.
109 110 111 112 113 114 115 116 117 118 119 |
# File 'lib/bio/appl/sim4.rb', line 109 def exec_local(filename1, filename2 = nil) @command = [ @program, filename1, (filename2 or @database), *@options ] @output = nil @report = nil Bio::Command.call_command(@command) do |io| io.close_write @output = io.read @report = Bio::Sim4::Report.new(@output) end @report end |
#log ⇒ Object
log is deprecated (no replacement) and returns empty string.
65 66 67 68 |
# File 'lib/bio/appl/sim4.rb', line 65 def log warn "log is deprecated (no replacement) and returns empty string." '' end |
#option ⇒ Object
option is deprecated. Instead, please use options.
51 52 53 54 |
# File 'lib/bio/appl/sim4.rb', line 51 def option warn "option is deprecated. Please use options." end |
#query(seq1) ⇒ Object
Executes the sim4 program. seq1 shall be a Bio::Sequence object. Returns a Bio::Sim4::Report object.
79 80 81 82 83 84 85 86 |
# File 'lib/bio/appl/sim4.rb', line 79 def query(seq1) tf = Tempfile.open('sim4') tf.print seq1.to_fasta('seq1', 70) tf.close(false) r = exec_local(tf.path) tf.close(true) r end |
#query_pairwise(seq1, seq2) ⇒ Object
Executes the sim4 program. Perform mRNA-genome alignment between given sequences. seq1 and seq2 should be Bio::Sequence objects. Returns a Bio::Sim4::Report object.
92 93 94 95 96 97 98 99 100 101 102 103 |
# File 'lib/bio/appl/sim4.rb', line 92 def query_pairwise(seq1, seq2) tf = Tempfile.open('sim4') tf.print seq1.to_fasta('seq1', 70) tf.close(false) tf2 = Tempfile.open('seq2') tf2.print seq1.to_fasta('seq2', 70) tf2.close(false) r = exec_local(tf.path, tf2.path) tf.close(true) tf2.close(true) r end |