bioroebe 0.10.80 → 0.11.12

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of bioroebe might be problematic. Click here for more details.

Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +507 -310
  3. data/bioroebe.gemspec +3 -3
  4. data/doc/README.gen +506 -309
  5. data/doc/todo/bioroebe_todo.md +29 -40
  6. data/lib/bioroebe/aminoacids/display_aminoacid_table.rb +1 -0
  7. data/lib/bioroebe/base/colours_for_base/colours_for_base.rb +18 -8
  8. data/lib/bioroebe/base/commandline_application/commandline_arguments.rb +13 -11
  9. data/lib/bioroebe/base/commandline_application/misc.rb +18 -8
  10. data/lib/bioroebe/base/prototype/misc.rb +1 -1
  11. data/lib/bioroebe/codons/show_codon_tables.rb +6 -2
  12. data/lib/bioroebe/constants/aminoacids_and_proteins.rb +1 -0
  13. data/lib/bioroebe/constants/files_and_directories.rb +8 -1
  14. data/lib/bioroebe/count/count_amount_of_nucleotides.rb +3 -0
  15. data/lib/bioroebe/gui/gtk3/protein_to_DNA/protein_to_DNA.rb +18 -18
  16. data/lib/bioroebe/gui/shared_code/protein_to_DNA/protein_to_DNA_module.rb +14 -14
  17. data/lib/bioroebe/parsers/genbank_parser.rb +353 -24
  18. data/lib/bioroebe/python/README.md +1 -0
  19. data/lib/bioroebe/python/__pycache__/mymodule.cpython-39.pyc +0 -0
  20. data/lib/bioroebe/python/gui/gtk3/widget1.py +22 -0
  21. data/lib/bioroebe/python/mymodule.py +8 -0
  22. data/lib/bioroebe/python/protein_to_dna.py +30 -0
  23. data/lib/bioroebe/python/shell/shell.py +19 -0
  24. data/lib/bioroebe/python/to_rna.py +14 -0
  25. data/lib/bioroebe/python/toplevel_methods/to_camelcase.py +11 -0
  26. data/lib/bioroebe/sequence/nucleotide_module/nucleotide_module.rb +28 -25
  27. data/lib/bioroebe/sequence/sequence.rb +54 -2
  28. data/lib/bioroebe/shell/menu.rb +3336 -3304
  29. data/lib/bioroebe/shell/readline/readline.rb +1 -1
  30. data/lib/bioroebe/shell/shell.rb +11233 -28
  31. data/lib/bioroebe/siRNA/siRNA.rb +81 -1
  32. data/lib/bioroebe/string_matching/find_longest_substring.rb +3 -2
  33. data/lib/bioroebe/toplevel_methods/aminoacids_and_proteins.rb +31 -24
  34. data/lib/bioroebe/toplevel_methods/nucleotides.rb +22 -5
  35. data/lib/bioroebe/toplevel_methods/open_in_browser.rb +2 -0
  36. data/lib/bioroebe/toplevel_methods/to_camelcase.rb +5 -0
  37. data/lib/bioroebe/version/version.rb +2 -2
  38. data/lib/bioroebe/yaml/configuration/browser.yml +1 -1
  39. data/lib/bioroebe/yaml/restriction_enzymes/restriction_enzymes.yml +3 -3
  40. metadata +17 -36
  41. data/doc/setup.rb +0 -1655
  42. data/lib/bioroebe/genbank/genbank_parser.rb +0 -291
  43. data/lib/bioroebe/shell/add.rb +0 -108
  44. data/lib/bioroebe/shell/assign.rb +0 -360
  45. data/lib/bioroebe/shell/chop_and_cut.rb +0 -281
  46. data/lib/bioroebe/shell/constants.rb +0 -166
  47. data/lib/bioroebe/shell/download.rb +0 -335
  48. data/lib/bioroebe/shell/enable_and_disable.rb +0 -158
  49. data/lib/bioroebe/shell/enzymes.rb +0 -310
  50. data/lib/bioroebe/shell/fasta.rb +0 -345
  51. data/lib/bioroebe/shell/gtk.rb +0 -76
  52. data/lib/bioroebe/shell/history.rb +0 -132
  53. data/lib/bioroebe/shell/initialize.rb +0 -217
  54. data/lib/bioroebe/shell/loop.rb +0 -74
  55. data/lib/bioroebe/shell/misc.rb +0 -4341
  56. data/lib/bioroebe/shell/prompt.rb +0 -107
  57. data/lib/bioroebe/shell/random.rb +0 -289
  58. data/lib/bioroebe/shell/reset.rb +0 -335
  59. data/lib/bioroebe/shell/scan_and_parse.rb +0 -135
  60. data/lib/bioroebe/shell/search.rb +0 -337
  61. data/lib/bioroebe/shell/sequences.rb +0 -200
  62. data/lib/bioroebe/shell/show_report_and_display.rb +0 -2901
  63. data/lib/bioroebe/shell/startup.rb +0 -127
  64. data/lib/bioroebe/shell/taxonomy.rb +0 -14
  65. data/lib/bioroebe/shell/tk.rb +0 -23
  66. data/lib/bioroebe/shell/user_input.rb +0 -88
  67. data/lib/bioroebe/shell/xorg.rb +0 -45
@@ -1,166 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # require 'bioroebe/shell/constants.rb'
6
- # =========================================================================== #
7
- module Bioroebe # === Bioroebe::Shell
8
-
9
- class Shell < ::Bioroebe::CommandlineApplication
10
-
11
- # ========================================================================= #
12
- # Right now we will only add the chemistry_paradise gem, if it is available.
13
- # ========================================================================= #
14
- array_failsave_requires = %w(
15
- chemistry_paradise
16
- )
17
- array_failsave_requires.each {|project|
18
- begin
19
- require project
20
- rescue LoadError; end # Silent rescue.
21
- }
22
-
23
- # ========================================================================= #
24
- # === NAMESPACE
25
- # ========================================================================= #
26
- NAMESPACE = inspect
27
-
28
- # ========================================================================= #
29
- # === TRUNCATE_AT_N_ELEMENTS
30
- #
31
- # If we display nucleotide strings, then by default, these may be very
32
- # long. So the following constant will act as a threshold.
33
- # ========================================================================= #
34
- TRUNCATE_AT_N_ELEMENTS = 2000
35
-
36
- # ========================================================================= #
37
- # === VALID_WAYS_TO_EXIT
38
- #
39
- # All ways to exit will be recorded here.
40
- #
41
- # If you need to use more ways, simply append to this Array.
42
- #
43
- # This constant may have to be moved into the bio-shell part eventually.
44
- # ========================================================================= #
45
- VALID_WAYS_TO_EXIT = %w(
46
- quit q exit qq :q qt
47
- bye
48
- rda
49
- r2
50
- tq
51
- sq
52
- exit_program
53
- exitprogram
54
- )
55
-
56
- # ========================================================================= #
57
- # === DEFAULT_PADDING
58
- # ========================================================================= #
59
- DEFAULT_PADDING = ' ' # This is left-padding.
60
-
61
- # ========================================================================= #
62
- # === MAIN_EDITOR
63
- #
64
- # Which editor to use.
65
- # ========================================================================= #
66
- if ENV['IS_ROEBE']
67
- MAIN_EDITOR = 'bluefish'
68
- else # else assume that we may be on windows.
69
- MAIN_EDITOR = 'notepad++.exe'
70
- end; MY_EDITOR = MAIN_EDITOR # === MY_EDITOR
71
-
72
- # ========================================================================= #
73
- # === HOME_DIRECTORY_OF_USER_X
74
- #
75
- # Hardcoded path - only useful on my home setup, though.
76
- # ========================================================================= #
77
- HOME_DIRECTORY_OF_USER_X = '/home/x/'
78
-
79
- # ========================================================================= #
80
- # === RUBY_SRC
81
- #
82
- # Hardcoded. This is only useful on my home system.
83
- # ========================================================================= #
84
- if ENV['RSRC']
85
- RUBY_SRC = "#{ENV['RSRC']}/"
86
- else
87
- RUBY_SRC = "#{HOME_DIRECTORY_OF_USER_X}programming/ruby/src/"
88
- end
89
-
90
- # ========================================================================= #
91
- # === RUBY_BIOROEBE
92
- #
93
- # This allows a user to designate another home directory.
94
- # ========================================================================= #
95
- if ENV['RUBY_BIOROEBE']
96
- BIOROEBE = ENV['RUBY_BIOROEBE'].to_s
97
- else
98
- BIOROEBE = ENV['HOME']
99
- end
100
-
101
- # ========================================================================= #
102
- # === BIOSHELL_SAVE_FILE
103
- #
104
- # Designate the default location for the save-file, a markdown file.
105
- # ========================================================================= #
106
- if Dir.exist? ::Bioroebe.log_dir?
107
- BIOSHELL_SAVE_FILE = "#{::Bioroebe.log_dir?}shell_file.md"
108
- else
109
- BIOSHELL_SAVE_FILE = '/home/Temp/bioroebe/shell_file.md'
110
- end
111
-
112
- # ========================================================================= #
113
- # === HOME_DIR
114
- #
115
- # This probably is not used a lot anymore these days.
116
- # ========================================================================= #
117
- if RUBY_SRC # This is valid at home.
118
- HOME_DIR = "#{ENV['RSRC']}/bioroebe/lib/bioroebe/"
119
- else
120
- begin
121
- home_dir = File.expand_path('~')
122
- rescue Exception
123
- home_dir = '/root/'
124
- end
125
- HOME_DIR = home_dir+'.gem/gems/bioroebe-'+
126
- Bioroebe.version?.to_s+'/lib/bioroebe/'
127
- end
128
-
129
- require 'bioroebe/project/project.rb'
130
- # ========================================================================= #
131
- # === FILE_USE_SILENT_STARTUP
132
- # ========================================================================= #
133
- FILE_USE_SILENT_STARTUP =
134
- "#{::Bioroebe.project_base_directory?}shell/configuration/use_silent_startup.yml"
135
-
136
- # ========================================================================= #
137
- # === SHALL_WE_DEBUG
138
- # ========================================================================= #
139
- SHALL_WE_DEBUG = false
140
-
141
- _ = ::Bioroebe.project_yaml_directory?+
142
- 'default_dna_input.yml' # cat $RUBY_BIO/YAML/default_dna_input.yml
143
- # ========================================================================= #
144
- # === DEFAULT_DNA_INPUT_YAML_FILE
145
- # ========================================================================= #
146
- DEFAULT_DNA_INPUT_YAML_FILE = YAML.load_file(_) if File.exist? _
147
-
148
- require 'bioroebe/toplevel_methods/log_directory.rb' # ← Required for: Bioroebe.store_here?
149
- # ========================================================================= #
150
- # === store_here?
151
- #
152
- # Where to store output generated by BioRoebe. Should point to a
153
- # locally existing directory.
154
- # ========================================================================= #
155
- def store_here?
156
- ::Bioroebe.store_here?
157
- end
158
-
159
- # ========================================================================= #
160
- # === show_log_dir
161
- # ========================================================================= #
162
- def show_log_dir
163
- e ::Bioroebe.log_dir?
164
- end
165
-
166
- end; end
@@ -1,335 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # require 'bioroebe/shell/download.rb'
6
- # =========================================================================== #
7
- require 'bioroebe/base/commandline_application/commandline_application.rb'
8
-
9
- module Bioroebe
10
-
11
- class Shell < ::Bioroebe::CommandlineApplication
12
-
13
- require 'bioroebe/toplevel_methods/map_ncbi_entry_to_eutils_id.rb'
14
-
15
- # ========================================================================= #
16
- # === wget (wget tag)
17
- #
18
- # Simply use wget to download remote files.
19
- # ========================================================================= #
20
- def wget(i)
21
- if i.is_a? Array
22
- i.each {|entry| wget(entry) }
23
- else
24
- unless i.start_with? 'wget '
25
- i = "wget #{i}"
26
- end
27
- esystem i
28
- end
29
- end
30
-
31
- # ========================================================================= #
32
- # === download (download tag)
33
- #
34
- # General download handler. Some sequences will be changed, such
35
- # as lambda (for the phage called lambda), to the corresponding
36
- # entry at NCBI.
37
- # ========================================================================= #
38
- def download(i)
39
- if i.is_a? Array
40
- i.each {|entry| download(entry) }
41
- else
42
- case i.to_s
43
- # ===================================================================== #
44
- # === The lambda phage sequence
45
- #
46
- # Download the lambda-sequence, via:
47
- #
48
- # download lambda
49
- #
50
- # ===================================================================== #
51
- when 'lambda',
52
- /^-?-?lambda(_|-)?genome$/i
53
- i = ::Bioroebe.map_ncbi_entry_to_eutils_id('NC_001416.1.fasta')+
54
- '.fasta'
55
- # ===================================================================== #
56
- # === Download the cytochrome c sequence (of humans)
57
- #
58
- # This should be equivalent to:
59
- #
60
- # https://www.ncbi.nlm.nih.gov/protein/XP_011521207.1?report=fasta
61
- #
62
- # ===================================================================== #
63
- when /cytochrome_c_protein_sequence/
64
- return Bioroebe::Ncbi.efetch_by_url('NP_061820.1')
65
- # ===================================================================== #
66
- # === P1
67
- # ===================================================================== #
68
- when 'P1'
69
- i = ::Bioroebe.map_ncbi_entry_to_eutils_id('NC_005856.1.fasta')+
70
- '.fasta'
71
- # ===================================================================== #
72
- # === P2
73
- #
74
- # The P2 phage, from E. coli, a temperate phage.
75
- # ===================================================================== #
76
- when 'P2'
77
- i = ::Bioroebe.map_ncbi_entry_to_eutils_id('NC_041848.1.fasta')+
78
- '.fasta'
79
- # ===================================================================== #
80
- # === T12
81
- #
82
- # This is the Streptococcus phage T12.
83
- # ===================================================================== #
84
- when 'T12'
85
- i = ::Bioroebe.map_ncbi_entry_to_eutils_id('NC_028700.1.fasta')+
86
- '.fasta'
87
- # ===================================================================== #
88
- # === T2
89
- #
90
- # This is the phage T2.
91
- # ===================================================================== #
92
- when 'T2'
93
- i = ::Bioroebe.map_ncbi_entry_to_eutils_id('AP018813.1.fasta')+
94
- '.fasta'
95
- # ===================================================================== #
96
- # === T4
97
- #
98
- # This is the phage T4.
99
- # ===================================================================== #
100
- when 'T4'
101
- i = ::Bioroebe.map_ncbi_entry_to_eutils_id('NC_000866.4.fasta')+
102
- '.fasta'
103
- # ===================================================================== #
104
- # === T6
105
- #
106
- # This is the phage T6.
107
- # ===================================================================== #
108
- when 'T6'
109
- i = ::Bioroebe.map_ncbi_entry_to_eutils_id('MH550421.1.fasta')+
110
- '.fasta'
111
- # ===================================================================== #
112
- # === rhinovirus
113
- # ===================================================================== #
114
- when /^-?-?rhinovirus/i
115
- i = ::Bioroebe.map_ncbi_entry_to_eutils_id('NC_038311')+
116
- '.fasta'
117
- # ===================================================================== #
118
- # === Handle .pdb files here
119
- # ===================================================================== #
120
- when /\.pdb$/
121
- cd :download_directory
122
- wget i
123
- register_this_download(i)
124
- parse_this_pdb_file(File.basename(i))
125
- end
126
- # ===================================================================== #
127
- # === Handle Fasta files next
128
- # ===================================================================== #
129
- if i.end_with? '.fa' or i.end_with? '.fasta'
130
- i = i.dup if i.frozen?
131
- unless File.exist? i
132
- _ = Bioroebe::Ncbi.efetch_by_url(
133
- i.delete_suffix('.fasta')
134
- )
135
- if File.exist? _
136
- erev "The file is now available at `#{sfile(_)}`."
137
- end
138
- else
139
- # ================================================================= #
140
- # The above download_fasta() makes use of NCBI. We need to rewrite
141
- # this eventually. For now, we will do another, simpler approach
142
- # here.
143
- # ================================================================= #
144
- what = URI.open(i).read
145
- into = log_dir?+File.basename(i)
146
- erev "Storing into `#{sfile(into)}#{rev}`."
147
- write_what_into(what, into)
148
- return into # This will also return the local path.
149
- end
150
- else
151
- # erev 'Unsure what to do with '+sfancy(i)
152
- esystem "wget #{i}"
153
- end
154
- end
155
- end
156
-
157
- require 'bioroebe/fasta_and_fastq/download_fasta.rb'
158
- # ========================================================================= #
159
- # === download_fasta
160
- #
161
- # Use this to download a fasta sequence.
162
- # ========================================================================= #
163
- def download_fasta(i = nil)
164
- if i.is_a? Array
165
- i.each {|entry|
166
- download_fasta(entry)
167
- }
168
- else
169
- # ===================================================================== #
170
- # Delegate to a special class here.
171
- # ===================================================================== #
172
- stored_here = ::Bioroebe.download_fasta(i) # bl $BIOROEBE/download_fasta.rb
173
- if stored_here
174
- if File.exist? stored_here
175
- assign_sequence(stored_here)
176
- end
177
- return stored_here
178
- else
179
- e crimson('No result could be found for ')+sfancy(i)+rev
180
- end
181
- end
182
- end
183
-
184
- # ========================================================================= #
185
- # === register_this_download
186
- #
187
- # Simply register all downloads - we may use this information at some
188
- # later point.
189
- #
190
- # The entries here typically are HTTP or HTTPS-URLs.
191
- # ========================================================================= #
192
- def register_this_download(i)
193
- @internal_hash[:array_all_downloads] << i
194
- end
195
-
196
- # ========================================================================= #
197
- # === set_download_directory
198
- # ========================================================================= #
199
- def set_download_directory(
200
- i = ::Bioroebe.log_dir?
201
- )
202
- i = i.to_s
203
- erev "Setting the download directory to #{simp(i)}#{rev} next:"
204
- ::Bioroebe.set_log_dir(i)
205
- end
206
-
207
- # ========================================================================= #
208
- # === download_this_pdb_file
209
- #
210
- # Use this method to download a .pdb file.
211
- #
212
- # There seem to be at least two major methods how to use the PDB
213
- # database:
214
- #
215
- # (1) http://www.rcsb.org/pdb/files/3O30.pdb
216
- # (2) http://www.rcsb.org/pdb/explore.do?structureId=1QRI
217
- #
218
- # The files/ URI seems to redirect you directly to the .pdb
219
- # file in question, so I think it is the preferred way.
220
- # However had, the explore.do query gives additional
221
- # information.
222
- #
223
- # Other useful URLs are:
224
- #
225
- # http://www.rcsb.org/pdb/explore.do?structureId=1ZAA
226
- # http://dx.doi.org/10.2210/pdb1gi5/pdb
227
- #
228
- # Usage example:
229
- #
230
- # download_this_pdb_file http://www.rcsb.org/pdb/files/3O30.pdb
231
- #
232
- # ========================================================================= #
233
- def download_this_pdb_file(
234
- i = '3O30'
235
- )
236
- i = ['3O30'] if i.nil? # If nil, use a default value.
237
- if i.is_a? Array
238
- i = ['3O30'] if i.empty?
239
- i.each {|entry| download_this_pdb_file(entry) }
240
- else
241
- i = i.to_s.dup
242
- unless i.end_with? '.pdb'
243
- i << '.pdb'
244
- end
245
- unless i.start_with? 'http://www.rcsb.org/pdb/files/'
246
- i[0,0] = 'https://www.rcsb.org/pdb/files/'
247
- end
248
- target_dir = download_dir?
249
- cd target_dir
250
- # ===================================================================== #
251
- # http://www.rcsb.org/pdb/files/3O30.pdb
252
- # ===================================================================== #
253
- download_this = "#{i.to_s}"
254
- erev "Checking for the availability of "\
255
- "#{olivedrab(download_this)}#{rev} next ..."
256
- if does_this_remote_file_exist?(download_this)
257
- erev 'Next downloading '+sfancy(download_this)+
258
- rev+' into '+sfancy(target_dir)+'.'
259
- esystem "wget #{download_this}" # We will just use wget for now.
260
- _ = ::Bioroebe.pdb_directory?
261
- if File.directory? _
262
- new_target = _+File.basename(download_this)
263
- erev 'Moving into '+sfancy(new_target)+rev+', where '\
264
- '.pdb files are kept by default.'
265
- mv(
266
- target_dir+File.basename(download_this),
267
- new_target
268
- )
269
- end
270
- register_this_download(download_this)
271
- else
272
- erev "The remote file at #{sfile(download_this)} does not exist."
273
- erev 'Hence, we can not download it.'
274
- end
275
- end
276
- end
277
-
278
- # ========================================================================= #
279
- # === does_this_remote_file_exist?
280
- #
281
- # This method determines, based on wget, whether a remote file
282
- # exists or whether it does not.
283
- # ========================================================================= #
284
- def does_this_remote_file_exist?(i)
285
- remote_file_exists = false
286
- # ======================================================================= #
287
- # Use wget --spider to check if the remote file exists.
288
- # ======================================================================= #
289
- _ = "wget --spider -v #{i} 2>&1"
290
- result = `#{_}`
291
- if result.include?('Remote file exists') or # Yes, the remote file exists.
292
- result =~ /File '.+' exists./
293
- remote_file_exists = true
294
- end
295
- if result.include? '/404'
296
- remote_file_exists = false
297
- end
298
- return remote_file_exists
299
- end
300
-
301
- # ========================================================================= #
302
- # === handle_pdb_files
303
- #
304
- # This method will either show more information about .pdb files or
305
- # it will simply attempt to download the .pdb file in question.
306
- # ========================================================================= #
307
- def handle_pdb_files(i)
308
- if i.nil? or i.empty?
309
- # In this case, we show some info.
310
- cliner
311
- erev '.pdb files are files in the "Protein Data Bank" format.'
312
- e
313
- erev 'It is a standard for files containing atomic coordinates.'
314
- e
315
- erev 'Each line in a .pdb file is called a "record".'
316
- e
317
- erev 'You can pass an ID (a number) and we will attempt to download '\
318
- 'that .pdb file.'
319
- e
320
- erev 'Example:'
321
- e
322
- erev ' pdb 333'
323
- e
324
- erev 'More information can be seen here:'
325
- e
326
- efancy ' https://www.cgl.ucsf.edu/chimera/docs/UsersGuide/tutorials/pdbintro.html'
327
- e
328
- print rev
329
- cliner
330
- else
331
- download_this_pdb_file(i)
332
- end
333
- end
334
-
335
- end; end
@@ -1,158 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # require 'bioroebe/shell/enable_and_disable.rb'
6
- # =========================================================================== #
7
- # Note that the method disable_colours() can be found in the file
8
- # colours.rb
9
- # =========================================================================== #
10
- require 'bioroebe/base/commandline_application/commandline_application.rb'
11
-
12
- module Bioroebe
13
-
14
- class Shell < ::Bioroebe::CommandlineApplication
15
-
16
- # ========================================================================= #
17
- # === enable (enable tag)
18
- #
19
- # Enable-functionality can be passed through this method here.
20
- #
21
- # Invocation example from within the bioshell:
22
- #
23
- # enable colours
24
- #
25
- # ========================================================================= #
26
- def enable(i)
27
- if i.is_a? Array
28
- i = i.join.strip
29
- end
30
- case i.to_s # case tag
31
- # ======================================================================= #
32
- # === enable cd_aliases
33
- #
34
- # This variant will be verbose.
35
- # ======================================================================= #
36
- when /^-?-?cd(-|_)?aliases$/
37
- erev 'class '+
38
- steelblue('Rcfiles::DirectoryAliases')+rev+' will be '\
39
- 'enabled next, allowing'
40
- erev 'you to navigate the local filesystem '\
41
- 'more easily so.'
42
- ::Bioroebe::Configuration.do_use_expand_cd_aliases
43
- # ======================================================================= #
44
- # === use colours
45
- # ======================================================================= #
46
- when /^colou?rs$/
47
- enable_colours
48
- # ======================================================================= #
49
- # === use xsel
50
- # ======================================================================= #
51
- when 'xsel'
52
- enable_xsel
53
- end
54
- end; alias use enable # === use (use tag)
55
-
56
- # ========================================================================= #
57
- # === enable_configuration
58
- # ========================================================================= #
59
- def enable_configuration
60
- config_dir = ::Bioroebe.project_yaml_directory?+
61
- '/configuration/'
62
- unless Object.const_defined?(:Roebe) and
63
- Roebe.const_defined?(:Configuration)
64
- begin
65
- require 'roebe/configuration/class/configuration.rb'
66
- rescue LoadError; end
67
- end
68
- if Object.const_defined?(:Roebe) and
69
- Roebe.const_defined?(:Configuration)
70
- # ===================================================================== #
71
- # === Initialize @config
72
- # ===================================================================== #
73
- @config = ::Roebe::Configuration.new(config_dir, :do_not_run_yet)
74
- @config.be_verbose if @config.respond_to? :be_verbose
75
- @config.run
76
- else
77
- @config = nil
78
- end
79
- end
80
-
81
- # ========================================================================= #
82
- # === disable (disable tag)
83
- # ========================================================================= #
84
- def disable(i)
85
- if i.is_a? Array
86
- i = i.join(' ').strip
87
- end
88
- case i.to_s # case tag
89
- # ======================================================================= #
90
- # === disable :cd_aliases
91
- # ======================================================================= #
92
- when /^-?-?cd(-|_)?aliases$/i
93
- erev 'We will no longer use class Rcfiles::DirectoryAliases'
94
- ::Bioroebe::Configuration.do_not_use_expand_cd_aliases
95
- # ======================================================================= #
96
- # === truncate
97
- # ======================================================================= #
98
- when /^truncate$/i
99
- disable_truncate
100
- # ======================================================================= #
101
- # === prompt
102
- # ======================================================================= #
103
- when 'prompt'
104
- set_prompt :empty # This means to use an empty prompt.
105
- # ======================================================================= #
106
- # === padding
107
- # ======================================================================= #
108
- when 'padding'
109
- set_padding 0, :be_verbose
110
- # ======================================================================= #
111
- # === disable colours
112
- # ======================================================================= #
113
- when 'colours',
114
- 'colors',
115
- /^col/
116
- disable_colours
117
- # ======================================================================= #
118
- # === disable xsel
119
- # ======================================================================= #
120
- when 'xsel'
121
- disable_xsel
122
- else
123
- erev "No such disable-action could be found (#{sfancy(i)}#{rev})"
124
- end
125
- end
126
-
127
- # ========================================================================= #
128
- # === disable_truncate
129
- # ========================================================================= #
130
- def disable_truncate
131
- do_not_truncate
132
- end
133
-
134
- # ========================================================================= #
135
- # === disable_xsel
136
- # ========================================================================= #
137
- def disable_xsel
138
- if use_xsel?
139
- e 'Now disabling xsel.'
140
- @internal_hash[:use_xsel] = false
141
- else
142
- e 'xsel is already disabled.'
143
- end
144
- end
145
-
146
- # ========================================================================= #
147
- # === enable_xsel
148
- # ========================================================================= #
149
- def enable_xsel
150
- if @internal_hash[:use_xsel]
151
- e 'xsel is already enabled.'
152
- else
153
- e 'Now enabling xsel.'
154
- @internal_hash[:use_xsel] = true
155
- end
156
- end
157
-
158
- end; end