Class: Bioroebe::DotAlignment
- Inherits:
-
CommandlineApplication
- Object
- Base
- CommandlineApplication
- Bioroebe::DotAlignment
- Defined in:
- lib/bioroebe/utility_scripts/dot_alignment/dot_alignment.rb
Overview
Bioroebe::DotAlignment
Constant Summary
Constants inherited from CommandlineApplication
CommandlineApplication::OLD_VERBOSE_VALUE
Constants included from ColoursForBase
ColoursForBase::ARRAY_HTML_COLOURS_IN_USE
Constants inherited from Base
Class Method Summary collapse
-
.[](i = ARGV) ⇒ Object
# === Bioroebe::DotAlignment[] ========================================================================= #.
Instance Method Summary collapse
-
#determine_the_two_sequences_that_are_to_be_compared(sequence1 = commandline_arguments?[0], sequence2 = commandline_arguments?[1]) ⇒ Object
# === determine_the_two_sequences_that_are_to_be_compared ========================================================================= #.
-
#do_compare_the_two_sequences(sequence1 = @sequence1, sequence2 = @sequence2) ⇒ Object
# === do_compare_the_two_sequences ========================================================================= #.
-
#initialize(i = nil, run_already = true) ⇒ DotAlignment
constructor
# === initialize ========================================================================= #.
-
#report(sequence1 = seq1?, , sequence2 = seq2? ) ⇒ Object
# === report (report tag).
-
#reset ⇒ Object
# === reset (reset tag) ========================================================================= #.
-
#reset_result ⇒ Object
# === reset_result ========================================================================= #.
-
#run ⇒ Object
# === run (run tag) ========================================================================= #.
-
#seq1? ⇒ Boolean
(also: #seq1)
# === seq1? ========================================================================= #.
-
#seq2? ⇒ Boolean
(also: #seq2)
# === seq2? ========================================================================= #.
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(i = nil, run_already = true) ⇒ DotAlignment
#
initialize
#
27 28 29 30 31 32 33 34 |
# File 'lib/bioroebe/utility_scripts/dot_alignment/dot_alignment.rb', line 27 def initialize( i = nil, run_already = true ) reset set_commandline_arguments(i) run if run_already end |
Class Method Details
.[](i = ARGV) ⇒ Object
#
Bioroebe::DotAlignment[]
#
159 160 161 |
# File 'lib/bioroebe/utility_scripts/dot_alignment/dot_alignment.rb', line 159 def self.[](i = ARGV) new(i) end |
Instance Method Details
#determine_the_two_sequences_that_are_to_be_compared(sequence1 = commandline_arguments?[0], sequence2 = commandline_arguments?[1]) ⇒ Object
#
determine_the_two_sequences_that_are_to_be_compared
#
100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
# File 'lib/bioroebe/utility_scripts/dot_alignment/dot_alignment.rb', line 100 def determine_the_two_sequences_that_are_to_be_compared( sequence1 = commandline_arguments?[0], sequence2 = commandline_arguments?[1] ) @sequence1 = sequence1.to_s.strip @sequence2 = sequence2.to_s.strip # ======================================================================= # # We must check if the first argument is actually a file. # ======================================================================= # if File.file? @sequence1 # ===================================================================== # # In this case we read in the dataset of said file. # ===================================================================== # @dataset = File.readlines(@sequence1).map {|entry| entry.to_s.strip }.reject {|line| line.strip.empty? } # ===================================================================== # # Next, we do batch-comparisons. # ===================================================================== # @dataset.each_cons(2) {|a, b| reset_result do_compare_the_two_sequences(a, b) report(a, b) e # And a newline for "cleanness". } @may_we_continue = false end end |
#do_compare_the_two_sequences(sequence1 = @sequence1, sequence2 = @sequence2) ⇒ Object
#
do_compare_the_two_sequences
#
132 133 134 135 136 137 138 139 140 141 142 143 |
# File 'lib/bioroebe/utility_scripts/dot_alignment/dot_alignment.rb', line 132 def do_compare_the_two_sequences( sequence1 = @sequence1, sequence2 = @sequence2 ) sequence1.chars.each_with_index {|char, index| if char == sequence2[index] @result << '*' else @result << ' ' end } end |
#report(sequence1 = seq1?, , sequence2 = seq2? ) ⇒ Object
#
report (report tag)
Note that this class will report the length of the two sequences as well.
#
85 86 87 88 89 90 91 92 93 94 95 |
# File 'lib/bioroebe/utility_scripts/dot_alignment/dot_alignment.rb', line 85 def report( sequence1 = seq1?, sequence2 = seq2? ) erev @left_padding_to_use+ steelblue(sequence1)+royalblue(" # #{sequence1.size.to_s}") erev @left_padding_to_use+ steelblue(sequence2)+royalblue(" # #{sequence2.size.to_s}") erev @left_padding_to_use+ sfancy(@result) end |
#reset ⇒ Object
#
reset (reset tag)
#
39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/bioroebe/utility_scripts/dot_alignment/dot_alignment.rb', line 39 def reset super() infer_the_namespace # ======================================================================= # # === @may_we_continue # ======================================================================= # @may_we_continue = true reset_result # ======================================================================= # # === @left_padding_to_use # ======================================================================= # @left_padding_to_use = ' ' end |
#reset_result ⇒ Object
#
reset_result
#
56 57 58 59 60 61 62 63 |
# File 'lib/bioroebe/utility_scripts/dot_alignment/dot_alignment.rb', line 56 def reset_result # ======================================================================= # # === @result # # This will be the result-string that is shown to the user. # ======================================================================= # @result = ''.dup end |
#run ⇒ Object
#
run (run tag)
#
148 149 150 151 152 153 154 |
# File 'lib/bioroebe/utility_scripts/dot_alignment/dot_alignment.rb', line 148 def run determine_the_two_sequences_that_are_to_be_compared if @may_we_continue do_compare_the_two_sequences report end end |
#seq1? ⇒ Boolean Also known as: seq1
#
seq1?
#
68 69 70 |
# File 'lib/bioroebe/utility_scripts/dot_alignment/dot_alignment.rb', line 68 def seq1? @sequence1 end |
#seq2? ⇒ Boolean Also known as: seq2
#
seq2?
#
75 76 77 |
# File 'lib/bioroebe/utility_scripts/dot_alignment/dot_alignment.rb', line 75 def seq2? @sequence2 end |