Class: Bioroebe::Trypsin
- Inherits:
-
Digestion
- Object
- Base
- CommandlineApplication
- Digestion
- Bioroebe::Trypsin
- Defined in:
- lib/bioroebe/cleave_and_digest/trypsin.rb
Overview
Bioroebe::Trypsin
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::Trypsin[] ========================================================================= #.
Instance Method Summary collapse
-
#display_the_result_similar_to_pp_output ⇒ Object
# === display_the_result_similar_to_pp_output ========================================================================= #.
-
#initialize(commandline_arguments = nil, run_already = true, &block) ⇒ Trypsin
constructor
# === initialize ========================================================================= #.
-
#perform_the_digestion(array_cut_at_these_aminoacids = @array_cut_at_these_aminoacids) ⇒ Object
# === perform_the_digestion.
-
#report ⇒ Object
# === report (report tag) ========================================================================= #.
-
#reset ⇒ Object
# === reset (reset tag) ========================================================================= #.
-
#result? ⇒ Boolean
# === result? ========================================================================= #.
-
#run ⇒ Object
# === run (run tag) ========================================================================= #.
-
#show_sorted_peptide_fragments(i = ) ⇒ Object
# === show_sorted_peptide_fragments ========================================================================= #.
Methods inherited from Digestion
#consider_reading_from_a_file_if_given_as_input_argument_to_this_class, #mediumturquoise_1_to_10, #return_1_to_10, #sequence?, #set_first, #show_the_weight_of_these_aminoacids?
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 = nil, run_already = true, &block) ⇒ Trypsin
#
initialize
#
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/bioroebe/cleave_and_digest/trypsin.rb', line 33 def initialize( commandline_arguments = nil, run_already = true, &block ) reset set_commandline_arguments( commandline_arguments ) # ======================================================================= # # === Handle blocks given to this method next # ======================================================================= # if block_given? yielded = yield case yielded # ===================================================================== # # === :be_quiet # ===================================================================== # when :be_quiet set_be_quiet end end run if run_already end |
Class Method Details
.[](i = ARGV) ⇒ Object
#
Bioroebe::Trypsin[]
#
224 225 226 |
# File 'lib/bioroebe/cleave_and_digest/trypsin.rb', line 224 def self.[](i = ARGV) new(i) end |
Instance Method Details
#display_the_result_similar_to_pp_output ⇒ Object
#
display_the_result_similar_to_pp_output
#
118 119 120 121 122 123 124 125 126 |
# File 'lib/bioroebe/cleave_and_digest/trypsin.rb', line 118 def display_the_result_similar_to_pp_output print '[' @result.each_with_index {|entry, index| print entry print ', ' unless index == (@result.size - 1) } print ']' e end |
#perform_the_digestion(array_cut_at_these_aminoacids = @array_cut_at_these_aminoacids) ⇒ Object
#
perform_the_digestion
This method will perform the digestion.
#
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
# File 'lib/bioroebe/cleave_and_digest/trypsin.rb', line 85 def perform_the_digestion( array_cut_at_these_aminoacids = @array_cut_at_these_aminoacids ) # ======================================================================= # # Trypsin splits at K and R, so we split on that. # ======================================================================= # _ = first?.dup.split(//) positions = [] array_cut_at_these_aminoacids.each {|entry| positions << _.each_index.select {|inner_entry| _[inner_entry] == entry } } positions.flatten! positions.sort! # ======================================================================= # # Because ruby arrays begin at 0, whereas peptides are counted from # 1, we have to add +1 to each member. # ======================================================================= # positions.map! {|entry| entry + 1 } @result = positions end |
#report ⇒ Object
#
report (report tag)
#
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 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 |
# File 'lib/bioroebe/cleave_and_digest/trypsin.rb', line 131 def report @internal_hash[:array_peptide_fragments].clear if @result.empty? erev 'No cut-sequence was found for Trypsin. (Make sure to '\ 'input an aminoacid sequence.)' else the_sequence = first? old_position = 0 if be_verbose? display_the_result_similar_to_pp_output erev 'The following peptide fragments would be obtained '\ 'if this were to be cut via Trypsin:' e erev ''.ljust(36)+the_sequence e ''.ljust(36)+ colourize_this_aminoacid_sequence_for_the_commandline( the_sequence ) e ''.ljust(36)+ mediumturquoise_1_to_10+ mediumturquoise_1_to_10+ mediumturquoise_1_to_10+ mediumturquoise_1_to_10+ mediumturquoise_1_to_10 end @result.each {|this_position| this_subsequence = the_sequence[old_position .. (this_position - 1)] old_position = this_position if be_verbose? erev ' after the aminoacid-position '+ sfancy(this_position.to_s.rjust(3))+ rev+ ': '+ steelblue( this_subsequence )+crimson('↓')+ rev end # =================================================================== # # === Show the weight of these aminoacids, if instructed to do so # =================================================================== # weight_of_this_peptide_fragment = Bioroebe.weight_of_this_aminoacid?( this_subsequence.split(//) ).round(5) @internal_hash[:array_peptide_fragments] << [ this_subsequence, weight_of_this_peptide_fragment ] if show_the_weight_of_these_aminoacids? and be_verbose? erev ''.ljust(36)+'Weight of this peptide fragment: '+ olivedrab(weight_of_this_peptide_fragment.to_s) end } if be_verbose? e unless @internal_hash[:array_peptide_fragments].empty? show_sorted_peptide_fragments(@internal_hash[:array_peptide_fragments]) end end end end |
#reset ⇒ Object
#
reset (reset tag)
#
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/bioroebe/cleave_and_digest/trypsin.rb', line 61 def reset super() set_be_verbose # ======================================================================= # # === @array_cut_at_these_aminoacids # # This variable ensures that trypsine cuts after lysines (K) and # arginines (R). # ======================================================================= # @array_cut_at_these_aminoacids = %w( K R ) # ======================================================================= # # === :array_peptide_fragments # # This class will store the peptide fragments into this unsorted # Array. # ======================================================================= # @internal_hash[:array_peptide_fragments] = [] end |
#result? ⇒ Boolean
#
result?
#
111 112 113 |
# File 'lib/bioroebe/cleave_and_digest/trypsin.rb', line 111 def result? @result end |
#run ⇒ Object
#
run (run tag)
#
215 216 217 218 219 |
# File 'lib/bioroebe/cleave_and_digest/trypsin.rb', line 215 def run consider_reading_from_a_file_if_given_as_input_argument_to_this_class perform_the_digestion report end |
#show_sorted_peptide_fragments(i = ) ⇒ Object
#
show_sorted_peptide_fragments
#
195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 |
# File 'lib/bioroebe/cleave_and_digest/trypsin.rb', line 195 def show_sorted_peptide_fragments( i = @internal_hash[:array_peptide_fragments] ) sorted = i.sort_by {|fragment, weight| weight}.reverse erev 'Next, the '+steelblue('five heaviest fragments')+ rev+' will be shown:' e # ======================================================================= # # Only the top 5 heaviest fragments will be shown: # ======================================================================= # sorted[0 .. 4].each {|fragment, weight| weight = '%.5f' % weight.to_f erev weight.to_s.rjust(20)+' '+ steelblue(fragment) } end |