Class: Bioroebe::CalculateThePositionSpecificScoringMatrix

Inherits:
CommandlineApplication show all
Defined in:
lib/bioroebe/calculate/calculate_the_position_specific_scoring_matrix.rb

Constant Summary collapse

DEFAULT_HASH =
#

DEFAULT_HASH

This is simply a default hash to test the class.

#
{}
ARRAY_TEST_THESE_STRINGS =
#

ARRAY_TEST_THESE_STRINGS

#
%w(
  GCTG
  GAGA
  CTTG
  AATG
)
ARRAY_TEST_THESE_STRINGS2 =
#

ARRAY_TEST_THESE_STRINGS2

#
%w(
  AAA
  CCC
  GGG
  TTT
)

Constants inherited from CommandlineApplication

Bioroebe::CommandlineApplication::OLD_VERBOSE_VALUE

Constants included from ColoursForBase

Bioroebe::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(optional_commandline_arguments = ARGV, run_already = true) ⇒ CalculateThePositionSpecificScoringMatrix

#

initialize

#


68
69
70
71
72
73
74
75
76
77
# File 'lib/bioroebe/calculate/calculate_the_position_specific_scoring_matrix.rb', line 68

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

Instance Method Details

#

menu (menu tag)

#


102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# File 'lib/bioroebe/calculate/calculate_the_position_specific_scoring_matrix.rb', line 102

def menu(
    i = commandline_arguments?
  )
  if i.is_a? Array
    i.each {|entry| menu(entry) }
  else
    case i # case tag
    # ===================================================================== #
    # === strings=
    # ===================================================================== #
    when /^-?-?strings=(.+)$/
      set_test_these_strings($1.to_s.dup)
    end
  end
end

#resetObject

#

reset

#


82
83
84
85
# File 'lib/bioroebe/calculate/calculate_the_position_specific_scoring_matrix.rb', line 82

def reset
  super()
  set_test_these_strings # Should be an Array.
end

#runObject

#

run

#


121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
# File 'lib/bioroebe/calculate/calculate_the_position_specific_scoring_matrix.rb', line 121

def run
  menu
  # ======================================================================= #
  # In the following Array, we will have the string at the first
  # position and the value at the second.
  # ======================================================================= #
  array_maximum_possible_score = []
  index = 0
  @test_these_strings.each {|this_string|
    index = 0
    e sfancy(this_string)
    chars = this_string.chars
    array_values = []
    chars.each {|this_character|
      array_values << DEFAULT_HASH[this_character][index]
      index += 1
    }
    new_value = array_values.inject(:*)
    new_value = new_value.round(3)
    # ===================================================================== #
    # Put it into the Array, if it is the new max-value.
    # ===================================================================== #
    if array_maximum_possible_score.empty?
      array_maximum_possible_score = [ this_string, new_value ]
    else
      if new_value > array_maximum_possible_score[1]
        array_maximum_possible_score = [ this_string, new_value ]
      end
    end
    e "  #{simp(new_value.to_s)}"
  }
  # ======================================================================= #
  # Next report the highest score.
  # ======================================================================= #
  e
  e 'The highest score is for the string '+
     steelblue(array_maximum_possible_score[0])+
     ', with a value of '+
     lightblue(array_maximum_possible_score[1])+
     '.'
  e
end

#set_test_these_strings(i = ARRAY_TEST_THESE_STRINGS2) ⇒ Object

#

set_test_these_strings

This method can be used to test various strings.

#


92
93
94
95
96
97
# File 'lib/bioroebe/calculate/calculate_the_position_specific_scoring_matrix.rb', line 92

def set_test_these_strings(
    i = ARRAY_TEST_THESE_STRINGS2
  )
  i = [i] unless i.is_a? Array
  @test_these_strings = i
end