class Bio::ClustalW
Bio::ClustalW
is a CLUSTAL W execution wrapper class. Its object is also called an alignment factory. CLUSTAL W is a very popular software for multiple sequence alignment.
Attributes
Returns last command-line strings executed by this factory. Note that filenames described in the command-line may already be removed because they are temporary files. Returns an array.
Last output to the stdout.
Last exit status
options
Returns last raw alignment result (String or nil).
Returns last alignment guild-tree (file.dnd).
name of the program (usually ‘clustalw’ in UNIX)
Returns last alignment result. Returns a Bio::ClustalW::Report
object.
Public Class Methods
Creates a new CLUSTAL W execution wrapper object (alignment factory).
# File lib/bio/appl/clustalw.rb 41 def initialize(program = 'clustalw', opt = []) 42 @program = program 43 @options = opt 44 @command = nil 45 @output = nil 46 @report = nil 47 @data_stdout = nil 48 @exit_status = nil 49 @output_dnd = nil 50 end
Public Instance Methods
+ errorlog
is deprecated (no replacement) and returns empty string.
# File lib/bio/appl/clustalw.rb 196 def errorlog 197 warn "errorlog is deprecated (no replacement) and returns empty string." 198 '' 199 end
This method will be deprecated.
Returns last messages of CLUSTAL W execution.
# File lib/bio/appl/clustalw.rb 73 def log 74 #warn 'Bio::ClustalW#log will be deprecated.' 75 @data_stdout 76 end
option is deprecated. Instead, please use options.
# File lib/bio/appl/clustalw.rb 59 def option 60 warn "Bio::ClustalW#option is deprecated. Please use options." 61 options 62 end
Executes the program(clustalw). If seqs
is not nil, perform alignment for seqs. If seqs
is nil, simply executes CLUSTAL W.
Compatibility note: When seqs is nil, returns true if the program exits normally, and returns false if the program exits abnormally.
# File lib/bio/appl/clustalw.rb 108 def query(seqs) 109 if seqs then 110 query_align(seqs) 111 else 112 exec_local(@options) 113 @exit_status.exitstatus == 0 ? true : false 114 end 115 end
Note that this method will be renamed to query_alignment.
Performs alignment for seqs
. seqs
should be Bio::Alignment
or Array of sequences or nil.
Compatibility Note: Nucleic or amino is not determined by this method.
# File lib/bio/appl/clustalw.rb 123 def query_align(seqs) 124 unless seqs.is_a?(Bio::Alignment) 125 seqs = Bio::Alignment.new(seqs) 126 end 127 query_string(seqs.output_fasta(:width => 70, 128 :avoid_same_name => true)) 129 end
Performs alignment for seqs
. seqs
should be Bio::Alignment
or Array of sequences or nil.
# File lib/bio/appl/clustalw.rb 133 def query_alignment(seqs) 134 query_align(seqs) 135 end
Performs alignment of sequences in the file named path
.
Compatibility Note: 2nd argument (seqtype) is deprecated and ignored.
# File lib/bio/appl/clustalw.rb 159 def query_by_filename(path, *arg) 160 if arg.size > 0 then 161 warn '2nd argument of Bio::ClustalW#query_by_filename is ignored' 162 end 163 164 tf_out = Tempfile.open('clustalout') 165 tf_out.close(false) 166 tf_dnd = Tempfile.open('clustaldnd') 167 tf_dnd.close(false) 168 169 opt = [ "-align", 170 "-infile=#{path}", 171 "-outfile=#{tf_out.path}", 172 "-newtree=#{tf_dnd.path}", 173 "-outorder=input" 174 ] 175 #opt << "-type=#{seqtype}" if seqtype 176 opt.concat(@options) 177 exec_local(opt) 178 tf_out.open 179 @output = tf_out.read 180 tf_out.close(true) 181 tf_dnd.open 182 @output_dnd = tf_dnd.read 183 tf_dnd.close(true) 184 @report = Report.new(@output) 185 @report 186 end
Performs alignment for str
. str
should be a string that can be recognized by CLUSTAL W.
Compatibility Note: 2nd argument is deprecated and ignored.
# File lib/bio/appl/clustalw.rb 141 def query_string(str, *arg) 142 if arg.size > 0 then 143 warn '2nd argument of Bio::ClustalW#query_string is ignored' 144 end 145 begin 146 tf_in = Tempfile.open('align') 147 tf_in.print str 148 ensure 149 tf_in.close(false) 150 end 151 r = query_by_filename(tf_in.path) 152 tf_in.close(true) 153 r 154 end
Clear the internal data and status, except program and options.
# File lib/bio/appl/clustalw.rb 92 def reset 93 @command = nil 94 @output = nil 95 @report = nil 96 @exit_status = nil 97 @data_stdout = nil 98 @output_dnd = nil 99 end