Class: Bioroebe::ParseTaxonomy

Inherits:
CommandlineApplication show all
Defined in:
lib/bioroebe/utility_scripts/parse_taxonomy.rb

Overview

Bioroebe::ParseTaxonomy

Constant Summary collapse

DEFAULT_URL =
#

DEFAULT_URL

The URL is like this:

https://www.ncbi.nlm.nih.gov/Taxonomy/Browser/wwwtax.cgi?mode=Info&id=261991&lvl=3&p=protein&lin=f&keep=1&srchmode=1&unlock
#
'https://www.ncbi.nlm.nih.gov/Taxonomy/Browser/'\
'wwwtax.cgi?mode=Info&id=261991&lvl=3&p=protein&lin=f&keep=1&srchmode=1&unlock'

Constants inherited from CommandlineApplication

CommandlineApplication::OLD_VERBOSE_VALUE

Constants included from ColoursForBase

ColoursForBase::ARRAY_HTML_COLOURS_IN_USE

Constants inherited from Base

Base::NAMESPACE

Instance Attribute Summary collapse

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, #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

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_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(url = nil, run_already = true) ⇒ ParseTaxonomy

#

initialize

The first argument should be the URL to a specific species/organism.

#

50
51
52
53
54
55
56
57
# File 'lib/bioroebe/utility_scripts/parse_taxonomy.rb', line 50

def initialize(
    url         = nil,
    run_already = true
  )
  reset
  set_url(url)
  run if run_already
end

Instance Attribute Details

#titleObject

Returns the value of attribute title.


43
44
45
# File 'lib/bioroebe/utility_scripts/parse_taxonomy.rb', line 43

def title
  @title
end

Instance Method Details

#id=(i) ⇒ Object

#

id=

#

80
81
82
# File 'lib/bioroebe/utility_scripts/parse_taxonomy.rb', line 80

def id=(i)
  @id = i
end

#id?Boolean Also known as: id

#

id?

#

Returns:

  • (Boolean)

73
74
75
# File 'lib/bioroebe/utility_scripts/parse_taxonomy.rb', line 73

def id?
  @id
end

#read_in_url(i = @url) ⇒ Object

#

read_in_url

#

113
114
115
116
117
# File 'lib/bioroebe/utility_scripts/parse_taxonomy.rb', line 113

def read_in_url(i = @url)
  require 'open-uri'
  e "Reading in from #{sfancy(i.to_s)} now." if @be_verbose
  @dataset = URI.open(i).read
end

#resetObject

#

reset (reset tag)

#

62
63
64
65
66
67
68
# File 'lib/bioroebe/utility_scripts/parse_taxonomy.rb', line 62

def reset
  super()
  # ======================================================================= #
  # === @be_verbose
  # ======================================================================= #
  @be_verbose = false
end

#runObject

#

run (run tag)

#

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/utility_scripts/parse_taxonomy.rb', line 132

def run
  read_in_url
  print rev
  cliner
  show_title
  _ = steelblue('Taxonomy ID: ').dup
  # ======================================================================= #
  # This is set like in this way:
  #
  #   Taxonomy ID: 261991<small>
  #
  # ======================================================================= #
  @id = @dataset.scan(/Taxonomy ID: (\d{1,6})\<small\>/).flatten
  @id = @id.first if @id.is_a? Array
  if @id
    _ << royalblue(@id)
  end
  e _
  blast_name = @dataset.scan(/<strong\>(.+)\<\/strong\>\<br\>Rank/).flatten
  blast_name = blast_name.first if blast_name.is_a? Array
  # ======================================================================= #
  # This may look like:
  #
  #   NCBI BLAST name: <strong>viruses</strong><br>Rank: <strong>no rank</strong><br>Genetic code: <a href="/Taxonomy/taxonomyhome.html/index.cgi?chapter=cgencodes#SG1">Translation table 1 (Standard)</a><br>Host: human|vertebrates<br>Other names:<br><table width="100%"><tr><td><fieldset><legend>heterotypic synonym</legend>
  #
  # ======================================================================= #
  e steelblue('Inherited blast name: ')+
    royalblue(blast_name.to_s)
  print rev
  cliner
end

#set_url(i = DEFAULT_URL) ⇒ Object

#

set_url

#

87
88
89
90
91
92
93
94
95
96
97
98
99
# File 'lib/bioroebe/utility_scripts/parse_taxonomy.rb', line 87

def set_url(i = DEFAULT_URL)
  i = i.first if i.is_a? Array
  i = DEFAULT_URL if i.nil?
  i = i.to_s.dup if i
  case i # case tag
  # ======================================================================= #
  # === parse_taxonomy --help
  # ======================================================================= #
  when /^-?-?help$/i
    show_help
  end
  @url = i
end

#show_helpObject

#

show_help

#

104
105
106
107
108
# File 'lib/bioroebe/utility_scripts/parse_taxonomy.rb', line 104

def show_help
  e 'This class can read in Taxonomy Data.'
  e "For instance from #{sfancy(DEFAULT_URL)}"
  exit
end

#show_titleObject

#

show_title

Show the title that we did find.

#

124
125
126
127
# File 'lib/bioroebe/utility_scripts/parse_taxonomy.rb', line 124

def show_title
  @title = @dataset.scan(/\<title\>(.+)\<\/title\>/)[0][0]
  e steelblue('Title: ')+royalblue(@title)
end