@outfile = outfile
@options = options
@command = []
+
+ @command << "--rev" if @options[:comp]
end
# Method that calls Uclusts sorting for sorting a FASTA file
def ublast
# uclust --ublast query_seqs.fasta --db database.fasta --blast6out filename --evalue E
- @options[:e_val] = 10 if @options[:e_val].is_nil?
- @command << "uclust --ublast #{@infile} --db #{@options[:database]} --uc #{@outfile} --evalue #{@options[:e_val]}"
+ @options[:e_val] = 10 unless @options[:e_val]
+ @command << "uclust --ublast #{@infile} --db #{@options[:database]} --blast6out #{@outfile} --evalue #{@options[:e_val]}"
execute
end
File.open(@outfile, mode="r") do |ios|
ios.each_line do |line|
if line !~ /^#/
- fields = line.split("\t")
+ fields = line.chomp.split("\t")
record[:REC_TYPE] = "UCLUST"
record[:TYPE] = fields[0]
casts << {:long=>'no_sort', :short=>'n', :type=>'flag', :mandatory=>false, :default=>nil, :allowed=>nil, :disallowed=>nil}
casts << {:long=>'method', :short=>'m', :type=>'string', :mandatory=>true, :default=>"uclust", :allowed=>ok_methods, :disallowed=>nil}
casts << {:long=>'database', :short=>'d', :type=>'file!', :mandatory=>false, :default=>nil, :allowed=>nil, :disallowed=>nil}
+casts << {:long=>'comp', :short=>'c', :type=>'flag', :mandatory=>false, :default=>nil, :allowed=>nil, :disallowed=>nil}
casts << {:long=>'identity', :short=>'i', :type=>'float', :mandatory=>true, :default=>0.9, :allowed=>nil, :disallowed=>nil}
casts << {:long=>'e_val', :short=>'e', :type=>'float', :mandatory=>false, :default=>nil, :allowed=>nil, :disallowed=>nil}