Class: Bioroebe::ParseTaxonomy

Inherits:
CommandlineApplication show all
Defined in:
lib/bioroebe/utility_scripts/parse_taxonomy/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, #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(url = nil, run_already = true) ⇒ ParseTaxonomy

#

initialize

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

#


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

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

Instance Attribute Details

#title=(value) ⇒ Object (writeonly)

Sets the attribute title

Parameters:

  • value

    the value to set the attribute title to.



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

def title=(value)
  @title = value
end

Instance Method Details

#id=(i) ⇒ Object

#

id=

#


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

def id=(i)
  @id = i
end

#id?Boolean Also known as: id

#

id?

#

Returns:

  • (Boolean)


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

def id?
  @id
end

#read_in_url(i = @url) ⇒ Object

#

read_in_url

#


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

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)

#


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

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

#runObject

#

run (run tag)

#


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
# File 'lib/bioroebe/utility_scripts/parse_taxonomy/parse_taxonomy.rb', line 140

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

#


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

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

#


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

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.

#


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

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

#title?Boolean Also known as: title

#

title?

#

Returns:

  • (Boolean)


133
134
135
# File 'lib/bioroebe/utility_scripts/parse_taxonomy/parse_taxonomy.rb', line 133

def title?
  @title
end