Class: Bioroebe::RNALfoldWrapper

Inherits:
CommandlineApplication show all
Defined in:
lib/bioroebe/viennarna/rnafold_wrapper.rb

Overview

Bioroebe::RNALfoldWrapper

Constant Summary collapse

START_VALUE =
#

START_VALUE

This is the start value for L.

#
150
UP_TO =
#

UP_TO

#
500

Constants inherited from CommandlineApplication

CommandlineApplication::OLD_VERBOSE_VALUE

Constants included from ColoursForBase

ColoursForBase::ARRAY_HTML_COLOURS_IN_USE

Constants inherited from Base

Base::NAMESPACE

Instance Method Summary collapse

Methods inherited from CommandlineApplication

#all_aminoacids?, #append_what_into, #at_home?, #be_silent, #be_verbose?, #cat, #ccliner, #change_directory, #cliner, #codon_table_dataset?, #codon_to_aminoacid, #codons_for?, #colourize_this_dna_sequence, #complement, #cp, #disable_warnings, #download_dir?, #editor?, #enable_warnings, #ensure_that_the_base_directories_exist, #esystem, #extract, #is_this_a_start_codon?, #is_this_a_stop_codon?, #leading_five_prime, #load_bioroebe_yaml_file, #log_directory?, #one_letter_to_long_name, #one_to_three, #only_numbers?, #open_in_browser, #opnerev, #opnn, #pad_with_double_quotes, #pad_with_single_quotes, #partner_nucleotide, #remove_numbers, #remove_trailing_ansii_escape_code, #return_all_possible_start_codons, #return_array_of_one_letter_aminoacids, #return_cheerful_person, #return_chunked_display, #return_ubiquitin_sequence, #runmode?, #set_be_verbose, #set_runmode, #start_codon?, #stop_codons?, #strict_filter_away_invalid_aminoacids, #taxonomy_download_directory?, #three_to_one, #to_rna, #trailing_three_prime, #use_opn?, #verbose_truth, #was_or_were, #without_extname, #write_what_into

Methods included from BaseModule

#absolute_path, #default_file_read, #file_readlines

Methods included from CommandlineArguments

#commandline_arguments?, #commandline_arguments_that_are_files?, #e, #first?, #first_non_hyphen_argument?, #remove_hyphens_from_the_commandline_arguments, #return_commandline_arguments_as_string, #return_commandline_arguments_that_are_not_files, #return_entries_without_two_leading_hyphens, #select_commandline_arguments, #select_entries_starting_with_two_hyphens, #set_commandline_arguments

Methods included from ColoursForBase

#colourize_this_aminoacid_sequence_for_the_commandline, #colourize_this_nucleotide_sequence, #disable_colours, #ecomment, #efancy, #egold, #enable_colours, #eorange, #eparse, #erev, #red, #remove_trailing_escape_part, #return_colour_for_nucleotides, #rev, #sdir, #set_will_we_use_colours, #sfancy, #sfile, #simp, #swarn, #use_colours?, #use_colours_within_the_bioroebe_namespace?

Methods inherited from Base

#append_what_into, #can_base_pair?, #convert_global_env, #delete_file, #directory_to_the_codon_tables?, #is_on_roebe?, #is_palindrome?, #main_encoding?, #mkdir, #move_file, #mv, #no_file_exists_at, #no_newlines, #project_yaml_directory?, #rds, #register_sigint, #return_pwd, #return_the_first_line_of_this_file, #word_wrap, #write_what_into

Methods included from InternalHashModule

#internal_hash?, #reset_the_internal_hash

Methods included from InferTheNamespaceModule

#infer_the_namespace, #namespace?

Constructor Details

#initialize(commandline_arguments = ARGV, run_already = true) ⇒ RNALfoldWrapper

#

initialize

#


33
34
35
36
37
38
39
40
41
42
# File 'lib/bioroebe/viennarna/rnafold_wrapper.rb', line 33

def initialize(
    commandline_arguments = ARGV,
    run_already           = true
  )
  reset
  set_commandline_arguments(
    commandline_arguments
  )
  run if run_already
end

Instance Method Details

#array_cmds?Boolean Also known as: main_array?

#

array_cmds?

#

Returns:

  • (Boolean)


115
116
117
# File 'lib/bioroebe/viennarna/rnafold_wrapper.rb', line 115

def array_cmds?
  @array_cmds
end

#determine_log_filenameObject

#

determine_log_filename

This method should return the log filename.

#


141
142
143
144
145
146
147
148
# File 'lib/bioroebe/viennarna/rnafold_wrapper.rb', line 141

def determine_log_filename
  _ = @target_directory.dup
  if use_zscore?
    _ << "_zscore_value_of_#{zscore_value?}"
  end
  _ << '.log'
  _
end
#

menu

#


96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# File 'lib/bioroebe/viennarna/rnafold_wrapper.rb', line 96

def menu(
    i = commandline_arguments?
  )
  if i.is_a? Array
    i.each {|entry| menu(entry) }
  else
    case i # case tag
    # ===================================================================== #
    # === rnafoldwrapper --run
    # ===================================================================== #
    when /^-?-?run$/
      @also_run_these_commands = true
    end
  end
end

#report_where_the_commands_will_be_stored_and_store_themObject

#

report_where_the_commands_will_be_stored_and_store_them

#


129
130
131
132
133
134
# File 'lib/bioroebe/viennarna/rnafold_wrapper.rb', line 129

def report_where_the_commands_will_be_stored_and_store_them
  _ = determine_log_filename
  opnerev "These commands will be stored in the file `#{sfile(_)}`."
  what = main_array?.join(N)
  write_what_into(what, _)
end

#resetObject

#

reset

#


47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# File 'lib/bioroebe/viennarna/rnafold_wrapper.rb', line 47

def reset
  super()
  infer_the_namespace
  # ======================================================================= #
  # === @target_directory
  #
  # Specify which directory is to be used. This can be toggled between
  # the two major names, e. g. 'cdna/' or 'ncrna/'.
  # ======================================================================= #
  @target_directory = 'cdna'
  @target_directory = 'ncrna'
  # ======================================================================= #
  # === @use_zscore
  # ======================================================================= #
  @use_zscore = true
  # ======================================================================= #
  # === @use_this_zscore_value
  # ======================================================================= #
  @use_this_zscore_value = -2.5 # This is the default value.
  # ======================================================================= #
  # === @use_this_chromosome_number
  #
  # Which chromosome number to use, e. g. 8 or 15 in my case.
  # ======================================================================= #
  @use_this_chromosome_number = 15 # 8
  # ======================================================================= #
  # === @array_cmds
  # ======================================================================= #
  @array_cmds = []
  # ======================================================================= #
  # === @also_run_these_commands
  #
  # If the next variable is set to true then we will also run these
  # commands, after having shown them first. By default this is not
  # the case.
  # ======================================================================= #
  @also_run_these_commands = false
end

#runObject

#

run

#


153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
# File 'lib/bioroebe/viennarna/rnafold_wrapper.rb', line 153

def run
  menu
  # ======================================================================= #
  # Increment from 150 to 500 normally.
  # The line should be e. g.:
  #   RNALfold -L 200 < cdna/cdna.8.fa > cdna/cdna.8.fa.200.lfold
  # ======================================================================= #
  START_VALUE.step(UP_TO, 50) {|index|
    cmd_to_run = "RNALfold ".dup
    if @use_zscore
      cmd_to_run << "--zscore=#{@use_this_zscore_value} "
    end
    cmd_to_run << "-L #{index} < "\
                  "#{@target_directory}/#{@target_directory}.#{@use_this_chromosome_number}.fa "\
                  "> "
    name_of_the_output_file = "#{@target_directory}/#{@target_directory}.#{@use_this_chromosome_number}.fa.".dup
    if use_zscore?
      name_of_the_output_file << "zscore_value_of_#{@use_this_zscore_value}___"
    end
    name_of_the_output_file << "L-value-used-was___#{index}.lfold"
    cmd_to_run << name_of_the_output_file
    e cmd_to_run
    @array_cmds << cmd_to_run
  }
  report_where_the_commands_will_be_stored_and_store_them
  if @also_run_these_commands
    opnerev 'These commands will also be run next.'
    @array_cmds.each {|entry| esystem entry }
  end
end

#use_this_zscore_value?Boolean Also known as: zscore_value?

#

use_this_zscore_value?

#

Returns:

  • (Boolean)


89
90
91
# File 'lib/bioroebe/viennarna/rnafold_wrapper.rb', line 89

def use_this_zscore_value?
  @use_this_zscore_value
end

#use_zscore?Boolean

#

use_zscore?

#

Returns:

  • (Boolean)


122
123
124
# File 'lib/bioroebe/viennarna/rnafold_wrapper.rb', line 122

def use_zscore?
  @use_zscore
end