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,127 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # require 'bioroebe/shell/startup.rb'
6
- # =========================================================================== #
7
- module Bioroebe
8
-
9
- class Shell < ::Bioroebe::CommandlineApplication
10
-
11
- # ========================================================================= #
12
- # === ensure_that_the_bioshell_log_directory_exists
13
- # ========================================================================= #
14
- def ensure_that_the_bioshell_log_directory_exists
15
- # ======================================================================= #
16
- # We must check whether we really wish to create directories on startup
17
- # or not.
18
- # ======================================================================= #
19
- if @internal_hash and
20
- @internal_hash.has_key?(:create_directories_on_startup_of_the_shell) and
21
- @internal_hash[:create_directories_on_startup_of_the_shell]
22
- _ = bioshell_log_dir?
23
- unless File.directory? _
24
- unless @internal_hash[:silent_startup]
25
- erev "Next creating the directory #{sdir(_)}#{rev}."
26
- end
27
- mkdir(_)
28
- end
29
- # ===================================================================== #
30
- # Determine the path of the .yml file.
31
- # ===================================================================== #
32
- yaml_file = ::Bioroebe.project_yaml_directory?+
33
- 'create_these_directories_on_startup/'\
34
- 'create_these_directories_on_startup.yml'
35
- if File.exist? yaml_file
36
- YAML.load_file(yaml_file).each {|entry|
37
- # ================================================================= #
38
- # Create all specified subdirectories next.
39
- # ================================================================= #
40
- _ = "#{log_dir?}#{entry}/"
41
- unless File.directory? _
42
- unless @internal_hash[:silent_startup]
43
- erev "Next creating the directory #{sdir(rds(_))}#{rev}."
44
- end
45
- mkdir(_)
46
- end
47
- }
48
- end
49
- end
50
- end
51
-
52
- # ========================================================================= #
53
- # === perform_startup_actions (startup tag)
54
- #
55
- # Currently, the only startup-action we perform is to add
56
- # to the statistics.yml file.
57
- #
58
- # We must check whether we have proper permissions though.
59
- # ========================================================================= #
60
- def perform_startup_actions
61
- # ======================================================================= #
62
- # Initialize the default stop codons, if they are empty.
63
- # ======================================================================= #
64
- if ::Bioroebe.stop_codons?.empty?
65
- ::Bioroebe.initialize_default_stop_codons
66
- end
67
- _ = Bioroebe.file_statistics? # Assign a shorter handle to it.
68
- _ = bioshell_log_dir?+File.basename(_)
69
- # ======================================================================= #
70
- # We must check here if we can write into the base directory.
71
- # ======================================================================= #
72
- base_directory = File.dirname(_)
73
- if File.writable?(base_directory)
74
- if File.exist? _ # If it exists, add one to it.
75
- what = YAML.load_file(_)
76
- what[:n_times] = what[:n_times]+1
77
- write_what_into(YAML.dump(what), _)
78
- else # else the file does not yet exist, so we create it.
79
- hash = { n_times: 1 }
80
- write_what_into(YAML.dump(hash), _)
81
- if may_we_show_the_startup_information?
82
- show_startup_information
83
- end
84
- end
85
- else
86
- e "Can not write into the directory `#{sdir(base_directory)}`."
87
- end
88
- ensure_that_the_bioshell_log_directory_exists
89
- consider_analysing_the_local_dataset_on_startup
90
- check_for_local_vectors # Also check for local vectors, such as pBR322 datasets stored in fasta files.
91
- considering_changing_the_title_of_the_kde_konsole_tab
92
- if is_on_roebe?
93
- if dna_sequence?.nil? or
94
- dna_sequence?.empty?
95
- # =================================================================== #
96
- # On my home system, we use a sequence of 150 by default.
97
- # =================================================================== #
98
- set_dna_sequence(150, :be_quiet)
99
- end
100
- end
101
- end
102
-
103
- # ========================================================================= #
104
- # === do_a_silent_startup
105
- #
106
- # Use this method when you want to perform a silent startup.
107
- # ========================================================================= #
108
- def do_a_silent_startup
109
- @internal_hash[:silent_startup] = true
110
- end; alias do_silent_startup do_a_silent_startup # === do_silent_startup
111
-
112
- require 'bioroebe/utility_scripts/analyse_local_dataset.rb'
113
- # ========================================================================= #
114
- # === consider_analysing_the_local_dataset_on_startup
115
- #
116
- # This method will analyse the local dataset (should it exist), and
117
- # then display some information to the user about it.
118
- # ========================================================================= #
119
- def consider_analysing_the_local_dataset_on_startup
120
- if @internal_hash and
121
- @internal_hash.has_key?(:analyse_the_local_dataset_on_startup) and
122
- @internal_hash[:analyse_the_local_dataset_on_startup]
123
- Bioroebe::AnalyseLocalDataset.new
124
- end
125
- end
126
-
127
- end; end
@@ -1,14 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # This file will contain code that is specific to Taxonomy-related aspects,
6
- # in particular browsing these from the NCBI taxonomy base.
7
- # =========================================================================== #
8
- # require 'bioroebe/shell/taxonomy.rb'
9
- # =========================================================================== #
10
- module Bioroebe
11
-
12
- class Shell < ::Bioroebe::CommandlineApplication
13
-
14
- end; end
@@ -1,23 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # require 'bioroebe/shell/tk.rb'
6
- # =========================================================================== #
7
- require 'bioroebe/base/commandline_application/commandline_application.rb'
8
-
9
- module Bioroebe
10
-
11
- class Shell < ::Bioroebe::CommandlineApplication
12
-
13
- # ========================================================================= #
14
- # === start_three_to_one
15
- #
16
- # Mostly an ad-hoc way to load up a specific ruby-tk widget.
17
- # ========================================================================= #
18
- def tk_start_three_to_one
19
- require 'bioroebe/gui/tk/three_to_one/three_to_one.rb'
20
- Bioroebe::GUI::Tk::ThreeToOne.new(ARGV)
21
- end
22
-
23
- end; end
@@ -1,88 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # require 'bioroebe/shell/user_input.rb'
6
- # =========================================================================== #
7
- require 'bioroebe/shell/readline/readline.rb'
8
-
9
- module Bioroebe
10
-
11
- class Shell < ::Bioroebe::CommandlineApplication
12
-
13
- # ========================================================================= #
14
- # === user_input?
15
- # ========================================================================= #
16
- def user_input?
17
- @internal_hash[:user_input]
18
- end
19
-
20
- # ========================================================================= #
21
- # === read_user_input (input tag)
22
- #
23
- # This method is used to fetch/read user input. The user input
24
- # will be kept in an instance variable (called @internal_hash[:user_input],
25
- # which is actually a Hash).
26
- # ========================================================================= #
27
- def read_user_input
28
- if readline_is_available?
29
- # ===================================================================== #
30
- # This clause is the case for the Readline module.
31
- # ===================================================================== #
32
- user_input = Readline.readline(
33
- # =================================================================== #
34
- # The second argument enables or disables history support.
35
- # =================================================================== #
36
- obtain_current_prompt_while_honouring_colours.to_s, true
37
- )
38
- # ===================================================================== #
39
- # === Disallow empty lines to taint the Readline-History
40
- #
41
- # Ignore empty lines - or rather, remove them after they were input.
42
- # ===================================================================== #
43
- if user_input =~ /^\s*$/
44
- Readline::HISTORY.pop
45
- # ===================================================================== #
46
- # If we did input the same command as before, on the previous
47
- # run, then we will not record this into the readline-history
48
- # session.
49
- # ===================================================================== #
50
- elsif last_inputted_command? == user_input
51
- Readline::HISTORY.pop
52
- end
53
- else
54
- # ===================================================================== #
55
- # This entry point reads in user-input without depending on Readline.
56
- # ===================================================================== #
57
- print obtain_current_prompt_while_honouring_colours
58
- user_input = $stdin.gets.chomp
59
- end
60
- user_input.strip! # We do not need or want trailing or leading whitespace.
61
- unless user_input.strip.empty?
62
- # ===================================================================== #
63
- # First, let's get rid of input including '#' - these are assumed
64
- # to be comments and are simply ignored.
65
- # ===================================================================== #
66
- if user_input.include?('#') and (user_input.size > 1)
67
- user_input = user_input[0 .. (user_input.index('#')-1)]
68
- user_input.rstrip!
69
- end
70
- # ===================================================================== #
71
- # Next sanitize the situation where the user input consists of only
72
- # nucleotides, such as ATCG and so forth.
73
- # ===================================================================== #
74
- if user_input.include?(' ') and only_nucleotides?(user_input.delete(' '))
75
- user_input.delete!(' ') # We chop off ' ' tokens, if we only input a nucleotide sequence.
76
- end
77
- # ===================================================================== #
78
- # === Enable multiline input separated via ; next
79
- # ===================================================================== #
80
- if user_input.include? ';'
81
- user_input = user_input.split(';')
82
- end
83
- @internal_hash[:user_input] = user_input
84
- return user_input # Not strictly necessary, but we return anyway.
85
- end
86
- end; alias get_user_input read_user_input # === get_user_input
87
-
88
- end; end
@@ -1,45 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # require 'bioroebe/shell/xorg.rb'
6
- # =========================================================================== #
7
- module Bioroebe
8
-
9
- class Shell < ::Bioroebe::CommandlineApplication
10
-
11
- begin
12
- require 'xorg_buffer/module'
13
- rescue LoadError; end
14
-
15
- # ========================================================================= #
16
- # === toggle_xorg_buffer
17
- # ========================================================================= #
18
- def toggle_xorg_buffer
19
- @config.additionally_set_xorg_buffer = !@config.additionally_set_xorg_buffer
20
- @config.save
21
- end
22
-
23
- # ========================================================================= #
24
- # === feedback_whether_we_will_also_set_the_xorg_buffer
25
- # ========================================================================= #
26
- def feedback_whether_we_will_also_set_the_xorg_buffer
27
- erev "Will we also set the Xorg buffer? "\
28
- "#{sfancy(vt(@config.additionally_set_xorg_buffer.to_s))}"
29
- end
30
-
31
- # ========================================================================= #
32
- # === set_xclip (xclip tag, xorg tag, buffer tag)
33
- #
34
- # Use this method to assign to the Linux Xorg Buffer.
35
- #
36
- # By default we will assign the DNA nucleotide sequence to be
37
- # the new buffer.
38
- # ========================================================================= #
39
- def set_xclip(
40
- i = dna_string?
41
- )
42
- XorgBuffer.set_xorg_buffer(i)
43
- end
44
-
45
- end; end