Class: Bioroebe::ShowCodonUsage
Overview
Constant Summary
CommandlineApplication::OLD_VERBOSE_VALUE
ColoursForBase::ARRAY_HTML_COLOURS_IN_USE
Constants inherited
from Base
Base::NAMESPACE
Class Method Summary
collapse
-
.[](i = ARGV) ⇒ Object
# === Bioroebe::ShowCodonUsage[] ========================================================================= #.
Instance Method Summary
collapse
#all_aminoacids?, #append_what_into, #at_home?, #be_silent, #be_verbose?, #cat, #ccliner, #change_directory, #cliner, #codon_table_dataset?, #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, #opne, #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, #set_be_verbose, #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
#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
#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_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?, #file_readlines, #infer_the_namespace, #is_on_roebe?, #is_palindrome?, #main_encoding?, #mkdir, #move_file, #mv, #namespace?, #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
Constructor Details
#initialize(i = nil, run_already = true) ⇒ ShowCodonUsage
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
# File 'lib/bioroebe/codons/show_codon_usage.rb', line 31
def initialize(
i = nil,
run_already = true
)
reset
set_input(i)
if block_given?
yielded = yield
case yielded
when :be_quiet
do_not_be_verbose
end
end
run if run_already
end
|
Class Method Details
.[](i = ARGV) ⇒ Object
#
Bioroebe::ShowCodonUsage[]
#
180
181
182
|
# File 'lib/bioroebe/codons/show_codon_usage.rb', line 180
def self.[](i = ARGV)
new(i)
end
|
Instance Method Details
#codon_to_aminoacid(i) ⇒ Object
155
156
157
|
# File 'lib/bioroebe/codons/show_codon_usage.rb', line 155
def codon_to_aminoacid(i)
::Bioroebe.codon_to_aminoacid(i)
end
|
#hash? ⇒ Boolean
Also known as:
result?
#
hash?
This hash will keep the codon-usage.
It may look like this:
{"GTA"=>6,
"TAC"=>5,
"ACG"=>4,
"CGT"=>4,
So it is already sorted properly.
#
173
174
175
|
# File 'lib/bioroebe/codons/show_codon_usage.rb', line 173
def hash?
@hash
end
|
69
70
71
|
# File 'lib/bioroebe/codons/show_codon_usage.rb', line 69
def input?
@input
end
|
76
77
78
79
80
81
82
83
|
# File 'lib/bioroebe/codons/show_codon_usage.rb', line 76
def (i = @input)
if i and File.file?(i)
@input = File.read(i).strip.delete("\n")
end
end
|
#report_the_top_five_codons(from_this_dataset) ⇒ Object
#
report_the_top_five_codons
#
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
|
# File 'lib/bioroebe/codons/show_codon_usage.rb', line 134
def report_the_top_five_codons(from_this_dataset)
e
erev 'The '+mediumpurple('top five codons')+
rev+' in use, sorted by frequency, are:'
e
top_five = from_this_dataset.sort_by {|key, values| values }.reverse[0..4]
top_five.each {|name_of_codon, how_many_of_them|
_ = name_of_codon.upcase
this_codon = codon_to_aminoacid(_)
colourized_this_codon = turquoise(this_codon)
e rev+' - '+
teal(_)+
rev+
': '+simp(how_many_of_them.to_s.rjust(2))+
rev+' ('+colourized_this_codon+rev+')'
}; e
end
|
#reset ⇒ Object
53
54
55
|
# File 'lib/bioroebe/codons/show_codon_usage.rb', line 53
def reset
super()
end
|
#run ⇒ Object
88
89
90
91
92
93
94
95
96
97
98
99
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
128
129
|
# File 'lib/bioroebe/codons/show_codon_usage.rb', line 88
def run
codon_usage = Hash.new(0)
if string?.empty?
e rev+'Not found any string. Please "'+simp('assign')+rev+'" one first.'
else
string = string?
_ = string.dup
_ = _.scan(/..?.?/) _.each { |this_codon|
codon_usage[this_codon] += 1
}
codon_usage = codon_usage.sort_by {|key, value|
value
}.reverse
codon_usage = Hash[*codon_usage.flatten]
type = 'DNA'
if string.include? 'U'
type = 'RNA'
end
if be_verbose?
erev 'The codon usage of this '+simp(type)+rev+
' string ('+sfancy(string.size.to_s)+rev+
' nucleotides) is as follows:'
e
print ' '; pp codon_usage report_the_top_five_codons(codon_usage)
end
@hash = codon_usage
end
end
|
60
61
62
63
64
|
# File 'lib/bioroebe/codons/show_codon_usage.rb', line 60
def set_input(i = '')
i = i.first if i.is_a? Array
i = i.to_s.dup
@input = i
end
|