Class: Bioroebe::ShowFastaStatistics
- Inherits:
-
CommandlineApplication
- Object
- Base
- CommandlineApplication
- Bioroebe::ShowFastaStatistics
- Defined in:
- lib/bioroebe/fasta_and_fastq/show_fasta_statistics.rb
Overview
Bioroebe::ShowFastaStatistics
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 = '') ⇒ Object
# === Bioroebe::ShowFastaStatistics[] ========================================================================= #.
Instance Method Summary collapse
-
#add_these_entries_to_the_fasta_files(i) ⇒ Object
# === add_these_entries_to_the_fasta_files.
-
#determine_all_local_fasta_files ⇒ Object
# === determine_all_local_fasta_files ========================================================================= #.
-
#initialize(commandline_arguments = nil, run_already = true) ⇒ ShowFastaStatistics
constructor
# === initialize ========================================================================= #.
-
#menu(i = commandline_arguments? ) ⇒ Object
# === menu (menu tag) ========================================================================= #.
-
#reset ⇒ Object
# === reset (reset tag) ========================================================================= #.
-
#run ⇒ Object
# === run (run tag) ========================================================================= #.
-
#show_help ⇒ Object
# === show_help (help tag) ========================================================================= #.
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) ⇒ ShowFastaStatistics
#
initialize
#
26 27 28 29 30 31 32 33 34 35 |
# File 'lib/bioroebe/fasta_and_fastq/show_fasta_statistics.rb', line 26 def initialize( commandline_arguments = nil, run_already = true ) reset set_commandline_arguments( commandline_arguments ) run if run_already end |
Class Method Details
.[](i = '') ⇒ Object
#
Bioroebe::ShowFastaStatistics[]
#
171 172 173 |
# File 'lib/bioroebe/fasta_and_fastq/show_fasta_statistics.rb', line 171 def self.[](i = '') new(i) end |
Instance Method Details
#add_these_entries_to_the_fasta_files(i) ⇒ Object
#
add_these_entries_to_the_fasta_files
This method can be used to append to our Array keeping track of the FASTA files.
#
118 119 120 121 |
# File 'lib/bioroebe/fasta_and_fastq/show_fasta_statistics.rb', line 118 def add_these_entries_to_the_fasta_files(i) @array_fasta_files << i @array_fasta_files.flatten! end |
#determine_all_local_fasta_files ⇒ Object
#
determine_all_local_fasta_files
#
54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/bioroebe/fasta_and_fastq/show_fasta_statistics.rb', line 54 def determine_all_local_fasta_files # ======================================================================= # # === @array_fasta_files # # We will populate the Array next. First we will try via .fa files, # but if this is empty, we will try via .fasta as well. # ======================================================================= # @array_fasta_files = Dir['*.fa'] if @array_fasta_files.empty? @array_fasta_files = Dir['*.fasta'] end end |
#menu(i = commandline_arguments? ) ⇒ Object
#
menu (menu tag)
#
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
# File 'lib/bioroebe/fasta_and_fastq/show_fasta_statistics.rb', line 70 def ( i = commandline_arguments? ) if i.is_a? Array i.each {|entry| (entry) } else case i # case tag # ===================================================================== # # === --help # ===================================================================== # when /help/ show_help exit # ===================================================================== # # === show_fasta_statistics --start-with # # This entry point allows us to restrict to only certain .fa # filenames. # # Usage example on the commandline: # # show_fasta_statistics --start-with=ncrna # show_fasta_statistics --fasta-stats=ncrna # # ===================================================================== # when /^-?-?start(_|-)?with=(.+)$/i, # $2 /^-?-?fasta(-|_)?stats=(.+)$/i starts_with = $2.to_s.dup @array_fasta_files.select! {|line| line.start_with? starts_with } else if File.directory? i _ = Dir[rds(i+'/**.fa')] _ << Dir[rds(i+'/**.fasta')] _.flatten! add_these_entries_to_the_fasta_files(_) end end end end |
#reset ⇒ Object
#
reset (reset tag)
#
40 41 42 43 44 45 46 47 48 49 |
# File 'lib/bioroebe/fasta_and_fastq/show_fasta_statistics.rb', line 40 def reset super() determine_all_local_fasta_files # ======================================================================= # # === @pad_filename_to # # This variable keeps track how much we should pad things. # ======================================================================= # @pad_filename_to = 35 end |
#run ⇒ Object
#
run (run tag)
#
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 |
# File 'lib/bioroebe/fasta_and_fastq/show_fasta_statistics.rb', line 136 def run regex_to_use = /(\d+)/ sorted = @array_fasta_files.sort_by {|line| line =~ regex_to_use match = $1.to_s.dup.to_i if match == 0 match = 999 # This is just so that we sort entries such as "foo.MT.fa" last. end match } sorted.each_with_index {|this_file, index| index += 1 show_this_filename = this_file.sub(/\.fa$/,'') padded_index = index.to_s.rjust(4) # ===================================================================== # # Next colourize the index a little bit. # ===================================================================== # result = lightgreen(padded_index)+' '+ sfile( show_this_filename.ljust(@pad_filename_to) # Pad the name of the file. ) if File.exist? this_file n_entries = ' '+File.readlines(this_file).select {|line| line.start_with? '>' }.size.to_s.rjust(5) colourized_n_entries = seagreen("#{n_entries.to_s} different entries") result << colourized_n_entries end e result } end |
#show_help ⇒ Object
#
show_help (help tag)
#
126 127 128 129 130 131 |
# File 'lib/bioroebe/fasta_and_fastq/show_fasta_statistics.rb', line 126 def show_help e e ' --start-with= # consider only these file names '\ 'that start with that substring' e end |