Module: Bioroebe::Taxonomy::Shared

Includes:
Constants, Colours::E
Included in:
Bioroebe::Taxonomy, CheckAvailable, Interactive, IsDNA, ParseFasta
Defined in:
lib/bioroebe/taxonomy/shared.rb

Overview

Bioroebe::Taxonomy::Shared

Constant Summary

Constants included from Constants

Constants::AA_DIR, Constants::ARRAY_PROJECT_FILES, Constants::Archaea_Taxonomy_ID, Constants::BASE, Constants::BASE_URL, Constants::BE_VERBOSE, Constants::Bacteria_Taxonomy_ID, Constants::CITATIONS, Constants::CURATED_DIR, Constants::DATA_DIR, Constants::DELNODES, Constants::DIVISION, Constants::Eukaryota_Taxonomy_ID, Constants::FILE_USE_THIS_DATABASE, Constants::GEM_DIR, Constants::GENCODE, Constants::INCOMING_DIR, Constants::INFO_DIR, Constants::LAST_INTERACTIVE_COMMAND, Constants::LOCALOME_DIR, Constants::LOCAL_MIRROR, Constants::MERGED, Constants::MODULE_PATH, Constants::NAMES, Constants::NAMES_SQL, Constants::NCBI_BASE, Constants::NODES, Constants::NODES_SQL, Constants::NT_DIR, Constants::POSTGRESQL_QUERY_SIZE, Constants::POSTGRE_LOGIN_COMMAND, Constants::PROJECT_DOC_DIR, Constants::SEQUENCES_DIR, Constants::SHARED_HOME, Constants::TAXONOMY_BROWSER, Constants::TEMP_DIR, Constants::TEST_DIR, Constants::TMP_DIR, Constants::URL1

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Constants

#info_dir?, #work_directory?

Class Method Details

.be_quietObject

#

Taxonomy::Shared.be_quiet

#


155
156
157
# File 'lib/bioroebe/taxonomy/shared.rb', line 155

def self.be_quiet
  @be_verbose = false
end

.be_verbose?Boolean

#

Taxonomy::Shared.be_verbose?

Whether we will be verbose or whether we will be silent.

#

Returns:

  • (Boolean)


148
149
150
# File 'lib/bioroebe/taxonomy/shared.rb', line 148

def self.be_verbose?
  @be_verbose
end

Instance Method Details

#be_verbose?Boolean

#

be_verbose?

#

Returns:

  • (Boolean)


162
163
164
# File 'lib/bioroebe/taxonomy/shared.rb', line 162

def be_verbose?
  Taxonomy::Shared.be_verbose?
end

#cd(i = File.expand_path('~'), be_verbose = false) ⇒ Object

#

cd (cd tag, change dir tag)

This method allows for some special shortcuts, such as aa.

#


200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
# File 'lib/bioroebe/taxonomy/shared.rb', line 200

def cd(
    i = File.expand_path('~'),
    be_verbose = false
  )
  be_verbose = true if be_verbose == :be_verbose
  i = File.expand_path('~') if i.nil?
  i = i.to_s
  case i # case tag
  # ======================================================================= #
  # === --help
  # ======================================================================= #
  when '?',
       /^-?-?HELP$/i
    e 'You can cd to these special dirs:'
    e
    e '  '+TEMP_DIR
    e '  '+INFO_DIR
    e '  '+NT_DIR
    e '  '+LOCALOME_DIR
    e
    return
  # ======================================================================= #
  # === home
  # ======================================================================= #
  when /^HOME$/i
    i = TEMP_DIR
  # ======================================================================= #
  # === robert
  # ======================================================================= #
  when 'robert',
       '1',
       'tmp'
    i = TEMP_DIR
  # ======================================================================= #
  # === aa
  # ======================================================================= #
  when 'aa',
       'fasta'
    i = AA_DIR
  # ======================================================================= #
  # === info
  # ======================================================================= #
  when 'info','i'
    i = INFO_DIR
  # ======================================================================= #
  # === nt
  # ======================================================================= #
  when 'nt',
       'dna',
       'rna'
    i = NT_DIR
  # ======================================================================= #
  # === localome
  # ======================================================================= #
  when 'local',
       'localome',
       /^local/,'loc'
    i = LOCALOME_DIR
  end unless File.exist?(i)
  if Dir.exist? i
    if be_verbose
      e "We will now change directory to #{sdir(i)}."
    end
    Dir.chdir(i)
  else
    e "We can not change directory into #{sdir(i)}#{rev} "\
      "as this directory does not exist."
  end
end

#edit_login_file(optional_number = '') ⇒ Object

#

edit_login_file

For this we deliberately use the vim editor.

#


171
172
173
174
175
# File 'lib/bioroebe/taxonomy/shared.rb', line 171

def (
    optional_number = ''
  )
  esystem "vim #{}#{optional_number.to_s}"
end

#eliminate_tabulator(i) ⇒ Object Also known as: sanitize_content

#

eliminate_tabulator

As of now, this method will remove “t” input and ‘|’.

#


78
79
80
# File 'lib/bioroebe/taxonomy/shared.rb', line 78

def eliminate_tabulator(i)
  i.gsub(/#{TABULATOR}\|/, '')
end

#ensure_that_download_dir_exists(i = ::Bioroebe.taxonomy_download_directory?) ⇒ Object

#

ensure_that_download_dir_exists

#


283
284
285
286
287
# File 'lib/bioroebe/taxonomy/shared.rb', line 283

def ensure_that_download_dir_exists(
    i = ::Bioroebe.taxonomy_download_directory?
  )
  mkdir(i) unless File.directory? i
end

#ensure_that_temp_dir_existsObject

#

ensure_that_temp_dir_exists

#


139
140
141
# File 'lib/bioroebe/taxonomy/shared.rb', line 139

def ensure_that_temp_dir_exists
  Taxonomy.ensure_that_temp_dir_exists
end

#mkdir(i) ⇒ Object

#

mkdir (mkdir tag)

Simple wrapper over creating a directory. We use the Array format.

#


191
192
193
# File 'lib/bioroebe/taxonomy/shared.rb', line 191

def mkdir(i)
  ::Bioroebe.mkdir(i)
end

#readlines(i = :names) ⇒ Object

#

readlines

The readlines-wrapper uses File.foreach to iterate over the content.

Typically we can find these files at:

/root/taxonomy/names.dmp
#


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
130
131
132
133
134
# File 'lib/bioroebe/taxonomy/shared.rb', line 101

def readlines(
    i = :names
  )
  i = i.to_sym # Keep it as a symbol.
  case i
  # ======================================================================= #
  # === :nodes
  # ======================================================================= #
  when :nodes
    if File.exist? NODES
      return File.foreach(NODES)
    else
      e 'Warning - the file at '+sfile(NODES)+' does not exist.'
      return []
    end
  # ======================================================================= #
  # === :names
  # ======================================================================= #
  when :names
    if File.exist? NAMES
      return File.foreach(NAMES)
    else
      e 'Warning - the file at '+sfile(NODES)+' does not exist.'
      return []
    end
  else
    i = i.to_s
    if File.exist? i
      return File.foreach(i)
    else
      e 'Do not know what to do with input: '+sfancy(i)
    end
  end
end

#set_pgpasswordObject Also known as: set_password

#

set_pgpassword (password tag)

Set the password for Postgresql here.

#


275
276
277
# File 'lib/bioroebe/taxonomy/shared.rb', line 275

def set_pgpassword
  ::Bioroebe.set_pgpassword
end

#show_passwordObject

#

show_password

This shows the password.

#


50
51
52
53
54
55
# File 'lib/bioroebe/taxonomy/shared.rb', line 50

def show_password
  e 'The current password for the Postgresql login is:'
  e
  e "  #{sfancy(POSTGRE_PASSWORD)}"
  e
end

#show_time_nowObject Also known as: show_current_time

#

show_time_now

This will show the current time.

#


182
183
184
# File 'lib/bioroebe/taxonomy/shared.rb', line 182

def show_time_now
  ::Bioroebe.show_time_now
end

#split_at(i) ⇒ Object

#

split_at

#


85
86
87
88
89
# File 'lib/bioroebe/taxonomy/shared.rb', line 85

def split_at(i)
  return i.split(MAIN_DELIMITER).map(&:chomp).map() {|entry|
    eliminate_tabulator(entry)
  }
end

#split_at_tabulator(i) ⇒ Object

#

split_at_tabulator

#


69
70
71
# File 'lib/bioroebe/taxonomy/shared.rb', line 69

def split_at_tabulator(i)
  i.split(FIELD_TERMINATOR) if i.is_a? String
end

#tokenize(i) ⇒ Object

#

tokenize

We will split at the given input. Input is expected to be a string.

#


62
63
64
# File 'lib/bioroebe/taxonomy/shared.rb', line 62

def tokenize(i)
  i.split(TOKEN).map(&:strip)
end