bioroebe 0.10.80 → 0.11.32

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 (210) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3209 -2618
  3. data/bin/bioroebe +7 -1
  4. data/bioroebe.gemspec +3 -3
  5. data/doc/README.gen +3208 -2617
  6. data/doc/quality_control/commandline_applications.md +3 -3
  7. data/doc/todo/bioroebe_todo.md +2040 -2615
  8. data/lib/bioroebe/aminoacids/aminoacid_substitution.rb +1 -9
  9. data/lib/bioroebe/aminoacids/codon_percentage.rb +1 -9
  10. data/lib/bioroebe/aminoacids/deduce_aminoacid_sequence.rb +1 -9
  11. data/lib/bioroebe/aminoacids/display_aminoacid_table.rb +1 -0
  12. data/lib/bioroebe/aminoacids/show_hydrophobicity.rb +1 -6
  13. data/lib/bioroebe/base/colours_for_base/colours_for_base.rb +18 -8
  14. data/lib/bioroebe/base/commandline_application/commandline_arguments.rb +13 -11
  15. data/lib/bioroebe/base/commandline_application/misc.rb +26 -9
  16. data/lib/bioroebe/base/commandline_application/opn.rb +8 -8
  17. data/lib/bioroebe/base/commandline_application/reset.rb +3 -2
  18. data/lib/bioroebe/base/misc.rb +35 -0
  19. data/lib/bioroebe/base/prototype/misc.rb +11 -1
  20. data/lib/bioroebe/codon_tables/frequencies/parse_frequency_table.rb +2 -10
  21. data/lib/bioroebe/codons/possible_codons_for_this_aminoacid.rb +1 -9
  22. data/lib/bioroebe/codons/show_codon_tables.rb +6 -2
  23. data/lib/bioroebe/codons/show_codon_usage.rb +2 -1
  24. data/lib/bioroebe/constants/aminoacids_and_proteins.rb +1 -0
  25. data/lib/bioroebe/constants/database_constants.rb +1 -1
  26. data/lib/bioroebe/constants/files_and_directories.rb +31 -4
  27. data/lib/bioroebe/constants/misc.rb +20 -0
  28. data/lib/bioroebe/count/count_amount_of_nucleotides.rb +3 -0
  29. data/lib/bioroebe/crystal/README.md +2 -0
  30. data/lib/bioroebe/crystal/to_rna.cr +19 -0
  31. data/lib/bioroebe/data/README.md +11 -8
  32. data/lib/bioroebe/data/electron_microscopy/pos_example.pos +396 -0
  33. data/lib/bioroebe/data/electron_microscopy/test_particles.star +36 -0
  34. data/lib/bioroebe/electron_microscopy/coordinate_analyzer.rb +15 -18
  35. data/lib/bioroebe/{fasta_and_fastq/parse_fasta/run.rb → electron_microscopy/electron_microscopy_module.rb} +16 -8
  36. data/lib/bioroebe/electron_microscopy/fix_pos_file.rb +1 -9
  37. data/lib/bioroebe/electron_microscopy/flipy.rb +83 -0
  38. data/lib/bioroebe/electron_microscopy/parse_coordinates.rb +2 -10
  39. data/lib/bioroebe/electron_microscopy/read_file_xmd.rb +1 -9
  40. data/lib/bioroebe/electron_microscopy/simple_star_file_generator.rb +4 -9
  41. data/lib/bioroebe/fasta_and_fastq/autocorrect_the_name_of_this_fasta_file.rb +1 -9
  42. data/lib/bioroebe/fasta_and_fastq/compact_fasta_file/compact_fasta_file.rb +7 -9
  43. data/lib/bioroebe/fasta_and_fastq/fasta_defline/fasta_defline.rb +1 -5
  44. data/lib/bioroebe/fasta_and_fastq/fasta_to_yaml/fasta_to_yaml.rb +81 -0
  45. data/lib/bioroebe/fasta_and_fastq/parse_fasta/parse_fasta.rb +1460 -7
  46. data/lib/bioroebe/fasta_and_fastq/return_fasta_subsection_of_this_file.rb +11 -2
  47. data/lib/bioroebe/fasta_and_fastq/show_fasta_headers.rb +27 -12
  48. data/lib/bioroebe/fasta_and_fastq/simplify_fasta_header/simplify_fasta_header.rb +1 -5
  49. data/lib/bioroebe/fasta_and_fastq/split_this_fasta_file_into_chromosomes/constants.rb +0 -5
  50. data/lib/bioroebe/genome/README.md +4 -0
  51. data/lib/bioroebe/genome/genome.rb +67 -0
  52. data/lib/bioroebe/genomes/genome_pattern.rb +3 -9
  53. data/lib/bioroebe/gui/gtk +1 -0
  54. data/lib/bioroebe/gui/gtk3/controller/controller.rb +45 -27
  55. data/lib/bioroebe/gui/gtk3/dna_to_aminoacid_widget/dna_to_aminoacid_widget.rb +76 -50
  56. data/lib/bioroebe/gui/gtk3/fasta_table_widget/fasta_table_widget.rb +99 -21
  57. data/lib/bioroebe/gui/gtk3/hamming_distance/hamming_distance.rb +42 -28
  58. data/lib/bioroebe/gui/gtk3/nucleotide_analyser/nucleotide_analyser.rb +119 -71
  59. data/lib/bioroebe/gui/gtk3/protein_to_DNA/protein_to_DNA.rb +18 -18
  60. data/lib/bioroebe/gui/gtk3/random_sequence/random_sequence.rb +19 -11
  61. data/lib/bioroebe/gui/libui/three_to_one/three_to_one.rb +8 -6
  62. data/lib/bioroebe/gui/shared_code/protein_to_DNA/protein_to_DNA_module.rb +14 -14
  63. data/lib/bioroebe/gui/swing/three_to_one/ThreeToOne$1.class +0 -0
  64. data/lib/bioroebe/gui/swing/three_to_one/ThreeToOne$CloseListener.class +0 -0
  65. data/lib/bioroebe/gui/swing/three_to_one/ThreeToOne.class +0 -0
  66. data/lib/bioroebe/gui/swing/three_to_one/ThreeToOne.java +141 -0
  67. data/lib/bioroebe/java/README.md +4 -0
  68. data/lib/bioroebe/java/bioroebe/Sequence.java +25 -1
  69. data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/Base.class +0 -0
  70. data/lib/bioroebe/java/bioroebe/{Base.java → src/main/java/bioroebe/Base.java} +15 -2
  71. data/lib/bioroebe/java/bioroebe/{BisulfiteTreatment.class → src/main/java/bioroebe/BisulfiteTreatment.class} +0 -0
  72. data/lib/bioroebe/java/bioroebe/{BisulfiteTreatment.java → src/main/java/bioroebe/BisulfiteTreatment.java} +0 -0
  73. data/lib/bioroebe/java/bioroebe/{Codons.class → src/main/java/bioroebe/Codons.class} +0 -0
  74. data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/Codons.java +34 -0
  75. data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/Commandline.class +0 -0
  76. data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/Commandline.java +95 -0
  77. data/lib/bioroebe/java/bioroebe/{Esystem.class → src/main/java/bioroebe/Esystem.class} +0 -0
  78. data/lib/bioroebe/java/bioroebe/{Esystem.java → src/main/java/bioroebe/Esystem.java} +0 -0
  79. data/lib/bioroebe/java/bioroebe/{GenerateRandomDnaSequence.class → src/main/java/bioroebe/GenerateRandomDnaSequence.class} +0 -0
  80. data/lib/bioroebe/java/bioroebe/{GenerateRandomDnaSequence.java → src/main/java/bioroebe/GenerateRandomDnaSequence.java} +8 -2
  81. data/lib/bioroebe/java/bioroebe/{IsPalindrome.class → src/main/java/bioroebe/IsPalindrome.class} +0 -0
  82. data/lib/bioroebe/java/bioroebe/{IsPalindrome.java → src/main/java/bioroebe/IsPalindrome.java} +5 -1
  83. data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/PartnerNucleotide.class +0 -0
  84. data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/PartnerNucleotide.java +56 -0
  85. data/lib/bioroebe/java/bioroebe/{RemoveFile.class → src/main/java/bioroebe/RemoveFile.class} +0 -0
  86. data/lib/bioroebe/java/bioroebe/{RemoveFile.java → src/main/java/bioroebe/RemoveFile.java} +10 -4
  87. data/lib/bioroebe/java/bioroebe/{RemoveNumbers.class → src/main/java/bioroebe/RemoveNumbers.class} +0 -0
  88. data/lib/bioroebe/java/bioroebe/{RemoveNumbers.java → src/main/java/bioroebe/RemoveNumbers.java} +1 -0
  89. data/lib/bioroebe/java/bioroebe/{ToCamelcase.class → src/main/java/bioroebe/ToCamelcase.class} +0 -0
  90. data/lib/bioroebe/java/bioroebe/{ToCamelcase.java → src/main/java/bioroebe/ToCamelcase.java} +3 -3
  91. data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/ToRNA.class +0 -0
  92. data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/ToRNA.java +42 -0
  93. data/lib/bioroebe/java/bioroebe/toplevel_methods/BaseComposition.class +0 -0
  94. data/lib/bioroebe/java/bioroebe/toplevel_methods/BaseComposition.java +73 -0
  95. data/lib/bioroebe/misc/ruler.rb +1 -0
  96. data/lib/bioroebe/nucleotides/most_likely_nucleotide_sequence_for_this_aminoacid_sequence.rb +1 -9
  97. data/lib/bioroebe/nucleotides/show_nucleotide_sequence.rb +7 -7
  98. data/lib/bioroebe/parsers/genbank_parser.rb +347 -26
  99. data/lib/bioroebe/parsers/gff.rb +1 -9
  100. data/lib/bioroebe/patterns/scan_for_repeat.rb +1 -5
  101. data/lib/bioroebe/pdb/fetch_fasta_sequence_from_pdb.rb +1 -9
  102. data/lib/bioroebe/pdb/parse_mmCIF_file.rb +1 -9
  103. data/lib/bioroebe/pdb/parse_pdb_file.rb +1 -9
  104. data/lib/bioroebe/project/project.rb +1 -1
  105. data/lib/bioroebe/python/README.md +1 -0
  106. data/lib/bioroebe/python/__pycache__/mymodule.cpython-39.pyc +0 -0
  107. data/lib/bioroebe/python/gui/gtk3/all_in_one.css +4 -0
  108. data/lib/bioroebe/python/gui/gtk3/all_in_one.py +59 -0
  109. data/lib/bioroebe/python/gui/gtk3/widget1.py +20 -0
  110. data/lib/bioroebe/python/gui/tkinter/all_in_one.py +91 -0
  111. data/lib/bioroebe/python/mymodule.py +8 -0
  112. data/lib/bioroebe/python/protein_to_dna.py +33 -0
  113. data/lib/bioroebe/python/shell/shell.py +19 -0
  114. data/lib/bioroebe/python/to_rna.py +14 -0
  115. data/lib/bioroebe/python/toplevel_methods/esystem.py +12 -0
  116. data/lib/bioroebe/python/toplevel_methods/open_in_browser.py +20 -0
  117. data/lib/bioroebe/python/toplevel_methods/palindromes.py +42 -0
  118. data/lib/bioroebe/python/toplevel_methods/rds.py +13 -0
  119. data/lib/bioroebe/python/toplevel_methods/shuffleseq.py +23 -0
  120. data/lib/bioroebe/python/toplevel_methods/three_delimiter.py +37 -0
  121. data/lib/bioroebe/python/toplevel_methods/time_and_date.py +43 -0
  122. data/lib/bioroebe/python/toplevel_methods/to_camelcase.py +21 -0
  123. data/lib/bioroebe/requires/require_the_bioroebe_project.rb +3 -1
  124. data/lib/bioroebe/sequence/nucleotide_module/nucleotide_module.rb +28 -25
  125. data/lib/bioroebe/sequence/protein.rb +105 -3
  126. data/lib/bioroebe/sequence/sequence.rb +61 -2
  127. data/lib/bioroebe/shell/menu.rb +3819 -3713
  128. data/lib/bioroebe/shell/misc.rb +51 -4311
  129. data/lib/bioroebe/shell/readline/readline.rb +1 -1
  130. data/lib/bioroebe/shell/shell.rb +11250 -28
  131. data/lib/bioroebe/siRNA/siRNA.rb +81 -1
  132. data/lib/bioroebe/string_matching/find_longest_substring.rb +3 -2
  133. data/lib/bioroebe/string_matching/hamming_distance.rb +1 -9
  134. data/lib/bioroebe/taxonomy/class_methods.rb +3 -8
  135. data/lib/bioroebe/taxonomy/constants.rb +4 -3
  136. data/lib/bioroebe/taxonomy/edit.rb +2 -1
  137. data/lib/bioroebe/taxonomy/help/help.rb +10 -10
  138. data/lib/bioroebe/taxonomy/info/check_available.rb +15 -9
  139. data/lib/bioroebe/taxonomy/info/info.rb +18 -11
  140. data/lib/bioroebe/taxonomy/info/is_dna.rb +46 -36
  141. data/lib/bioroebe/taxonomy/interactive.rb +140 -104
  142. data/lib/bioroebe/taxonomy/menu.rb +27 -18
  143. data/lib/bioroebe/taxonomy/parse_fasta.rb +3 -1
  144. data/lib/bioroebe/taxonomy/shared.rb +1 -0
  145. data/lib/bioroebe/taxonomy/taxonomy.rb +1 -0
  146. data/lib/bioroebe/toplevel_methods/aminoacids_and_proteins.rb +31 -24
  147. data/lib/bioroebe/toplevel_methods/colourize_related_methods.rb +164 -0
  148. data/lib/bioroebe/toplevel_methods/databases.rb +1 -1
  149. data/lib/bioroebe/toplevel_methods/fasta_and_fastq.rb +107 -63
  150. data/lib/bioroebe/toplevel_methods/file_and_directory_related_actions.rb +14 -2
  151. data/lib/bioroebe/toplevel_methods/misc.rb +118 -11
  152. data/lib/bioroebe/toplevel_methods/nucleotides.rb +22 -5
  153. data/lib/bioroebe/toplevel_methods/open_in_browser.rb +2 -0
  154. data/lib/bioroebe/toplevel_methods/palindromes.rb +1 -2
  155. data/lib/bioroebe/toplevel_methods/taxonomy.rb +2 -2
  156. data/lib/bioroebe/toplevel_methods/to_camelcase.rb +5 -0
  157. data/lib/bioroebe/utility_scripts/align_open_reading_frames.rb +1 -9
  158. data/lib/bioroebe/utility_scripts/check_for_mismatches/check_for_mismatches.rb +1 -9
  159. data/lib/bioroebe/utility_scripts/compacter.rb +1 -9
  160. data/lib/bioroebe/utility_scripts/compseq/compseq.rb +1 -9
  161. data/lib/bioroebe/utility_scripts/create_batch_entrez_file.rb +1 -9
  162. data/lib/bioroebe/utility_scripts/dot_alignment.rb +1 -9
  163. data/lib/bioroebe/utility_scripts/move_file_to_its_correct_location.rb +1 -4
  164. data/lib/bioroebe/utility_scripts/showorf/constants.rb +0 -5
  165. data/lib/bioroebe/utility_scripts/showorf/reset.rb +1 -4
  166. data/lib/bioroebe/version/version.rb +2 -2
  167. data/lib/bioroebe/www/embeddable_interface.rb +101 -52
  168. data/lib/bioroebe/www/sinatra/sinatra.rb +186 -70
  169. data/lib/bioroebe/yaml/aminoacids/amino_acids_long_name_to_one_letter.yml +2 -2
  170. data/lib/bioroebe/yaml/configuration/browser.yml +1 -1
  171. data/lib/bioroebe/yaml/genomes/README.md +3 -4
  172. data/lib/bioroebe/yaml/restriction_enzymes/restriction_enzymes.yml +3 -3
  173. metadata +69 -64
  174. data/doc/setup.rb +0 -1655
  175. data/lib/bioroebe/fasta_and_fastq/parse_fasta/constants.rb +0 -50
  176. data/lib/bioroebe/fasta_and_fastq/parse_fasta/initialize.rb +0 -86
  177. data/lib/bioroebe/fasta_and_fastq/parse_fasta/menu.rb +0 -117
  178. data/lib/bioroebe/fasta_and_fastq/parse_fasta/misc.rb +0 -981
  179. data/lib/bioroebe/fasta_and_fastq/parse_fasta/report.rb +0 -156
  180. data/lib/bioroebe/fasta_and_fastq/parse_fasta/reset.rb +0 -128
  181. data/lib/bioroebe/genbank/genbank_parser.rb +0 -291
  182. data/lib/bioroebe/java/bioroebe/Base.class +0 -0
  183. data/lib/bioroebe/java/bioroebe/Codons.java +0 -22
  184. data/lib/bioroebe/java/bioroebe/PartnerNucleotide.class +0 -0
  185. data/lib/bioroebe/java/bioroebe/PartnerNucleotide.java +0 -19
  186. data/lib/bioroebe/java/bioroebe.jar +0 -0
  187. data/lib/bioroebe/shell/add.rb +0 -108
  188. data/lib/bioroebe/shell/assign.rb +0 -360
  189. data/lib/bioroebe/shell/chop_and_cut.rb +0 -281
  190. data/lib/bioroebe/shell/constants.rb +0 -166
  191. data/lib/bioroebe/shell/download.rb +0 -335
  192. data/lib/bioroebe/shell/enable_and_disable.rb +0 -158
  193. data/lib/bioroebe/shell/enzymes.rb +0 -310
  194. data/lib/bioroebe/shell/fasta.rb +0 -345
  195. data/lib/bioroebe/shell/gtk.rb +0 -76
  196. data/lib/bioroebe/shell/history.rb +0 -132
  197. data/lib/bioroebe/shell/initialize.rb +0 -217
  198. data/lib/bioroebe/shell/loop.rb +0 -74
  199. data/lib/bioroebe/shell/prompt.rb +0 -107
  200. data/lib/bioroebe/shell/random.rb +0 -289
  201. data/lib/bioroebe/shell/reset.rb +0 -335
  202. data/lib/bioroebe/shell/scan_and_parse.rb +0 -135
  203. data/lib/bioroebe/shell/search.rb +0 -337
  204. data/lib/bioroebe/shell/sequences.rb +0 -200
  205. data/lib/bioroebe/shell/show_report_and_display.rb +0 -2901
  206. data/lib/bioroebe/shell/startup.rb +0 -127
  207. data/lib/bioroebe/shell/taxonomy.rb +0 -14
  208. data/lib/bioroebe/shell/tk.rb +0 -23
  209. data/lib/bioroebe/shell/user_input.rb +0 -88
  210. data/lib/bioroebe/shell/xorg.rb +0 -45
@@ -248,7 +248,7 @@ module Taxonomy
248
248
  # ========================================================================= #
249
249
  def self.project_base_dir?
250
250
  "#{::Bioroebe.project_base_directory?}taxonomy/"
251
- end
251
+ end; self.instance_eval { alias base_dir? project_base_dir? } # === Bioroebe::Taxonomy.base_dir?
252
252
 
253
253
  # ========================================================================= #
254
254
  # === Bioroebe::Taxonomy.project_yaml_dir?
@@ -0,0 +1 @@
1
+ This directory will contain some python-specific code.
@@ -0,0 +1,4 @@
1
+ window {
2
+ font-size: 28px;
3
+ border: 2px solid black;
4
+ }
@@ -0,0 +1,59 @@
1
+ import gi
2
+ #import cairo
3
+ #from gi.repository import PangoCairo
4
+
5
+ gi.require_version("Gtk", "3.0")
6
+ from gi.repository import Gtk, Gdk, GLib
7
+
8
+ gi.require_version('Pango', '1.0')
9
+ from gi.repository import Pango
10
+
11
+ class MyWindow(Gtk.Window):
12
+
13
+ def __init__(self):
14
+ super().__init__(title="Hello World")
15
+
16
+ self.set_title("Bioroebe - all in one")
17
+ self.set_default_size(1400, 800)
18
+
19
+ #self.override_font(Pango.FontDescription("Times New Roman Italic 20"))
20
+ # ^^^ this is deprecated
21
+ outer_vbox = Gtk.Box.new(Gtk.Orientation.VERTICAL, spacing = 5)
22
+
23
+ top_hbox = Gtk.Box.new(Gtk.Orientation.HORIZONTAL, spacing = 5)
24
+
25
+ label = Gtk.Label(label="Time: ")
26
+ label.set_halign(Gtk.Align.END) # Right-align.
27
+ top_hbox.add(label)
28
+ outer_vbox.add(top_hbox)
29
+
30
+ self.button = Gtk.Button(label="Click Here")
31
+ self.button.connect("clicked", self.on_button_clicked)
32
+ outer_vbox.add(self.button)
33
+ # Bioroebe.return_current_day_month_year()
34
+
35
+ self.add(outer_vbox)
36
+ self.apply_css()
37
+
38
+ def apply_css(self):
39
+ screen = Gdk.Screen.get_default()
40
+ css_provider = Gtk.CssProvider()
41
+ try:
42
+ css_provider.load_from_path('all_in_one.css')
43
+ context = Gtk.StyleContext()
44
+ context.add_provider_for_screen(screen, css_provider,
45
+ Gtk.STYLE_PROVIDER_PRIORITY_USER)
46
+ except GLib.Error as e:
47
+ print(f"Error in theme: {e} ")
48
+
49
+ def en(self, i = ""):
50
+ print(i)
51
+
52
+ def on_button_clicked(self, widget):
53
+ self.en("Hello there.")
54
+
55
+ win = MyWindow()
56
+ win.move(0, 0)
57
+ win.connect("destroy", Gtk.main_quit)
58
+ win.show_all()
59
+ Gtk.main()
@@ -0,0 +1,20 @@
1
+ import gi
2
+
3
+ gi.require_version("Gtk", "3.0")
4
+ from gi.repository import Gtk
5
+
6
+ class MyWindow(Gtk.Window):
7
+ def __init__(self):
8
+ super().__init__(title="Hello World")
9
+
10
+ self.button = Gtk.Button(label="Click Here")
11
+ self.button.connect("clicked", self.on_button_clicked)
12
+ self.add(self.button)
13
+
14
+ def on_button_clicked(self, widget):
15
+ print("Hello World")
16
+
17
+ win = MyWindow()
18
+ win.connect("destroy", Gtk.main_quit)
19
+ win.show_all()
20
+ Gtk.main()
@@ -0,0 +1,91 @@
1
+ import sys
2
+ import os
3
+ import importlib
4
+
5
+ from tkinter import *
6
+ from tkinter import ttk
7
+ from tkinter.ttk import Label
8
+ from tkinter import messagebox
9
+
10
+ sys.path.append(".")
11
+
12
+ # sys.path.append("../../") # Adds higher directory to python modules path.
13
+
14
+ # from ../.. import protein_to_dna
15
+ # module_name = "../../protein_to_dna"
16
+ # importlib.import_module(module_name, package='Bioroebe')
17
+
18
+ # sys.path.append(os.path.abspath("/home/x/programming/ruby/src/bioroebe/lib/bioroebe/python/"))
19
+ # from protein_to_dny import *
20
+
21
+ class App:
22
+
23
+ # ========================================================================= #
24
+ # === TITLE
25
+ # ========================================================================= #
26
+ TITLE = "Bioroebe: all in one"
27
+
28
+ # ========================================================================= #
29
+ # === FONT_TO_USE
30
+ # ========================================================================= #
31
+ FONT_TO_USE = 'Hack' # 'Arial'
32
+
33
+ # ========================================================================= #
34
+ # === FONT_SIZE_TO_USE
35
+ # ========================================================================= #
36
+ FONT_SIZE_TO_USE = 28
37
+
38
+ # ========================================================================= #
39
+ # === SMALLER_FONT_SIZE_TO_USE
40
+ # ========================================================================= #
41
+ SMALLER_FONT_SIZE_TO_USE = 22
42
+
43
+ # ========================================================================= #
44
+ # === __init__
45
+ # ========================================================================= #
46
+ def __init__(self, master):
47
+ # Instantiating master i.e toplevel Widget
48
+ self.master = master
49
+ self.create_and_add_header()
50
+ self.create_and_add_the_button_for_the_protein_to_DNA_conversion()
51
+
52
+ # ========================================================================= #
53
+ # === do_the_conversion_from_protein_to_DNA
54
+ # ========================================================================= #
55
+ def do_the_conversion_from_protein_to_DNA(self):
56
+ messagebox.showinfo("Message","Hey There! I hope you are doing well.")
57
+
58
+ # ========================================================================= #
59
+ # === create_and_add_the_button_for_the_protein_to_DNA_conversion()
60
+ # ========================================================================= #
61
+ def create_and_add_the_button_for_the_protein_to_DNA_conversion(self):
62
+ Button(self.master,
63
+ text="Convert from protein sequence to DNA sequence",
64
+ font = (App.FONT_TO_USE, App.SMALLER_FONT_SIZE_TO_USE),
65
+ command = lambda: self.do_the_conversion_from_protein_to_DNA()
66
+ ).pack(pady = 5)
67
+
68
+ # ========================================================================= #
69
+ # === create_and_add_header
70
+ # ========================================================================= #
71
+ def create_and_add_header(self):
72
+ # Creating second label
73
+ # This label has a font-family of Arial
74
+ # and font-size of 25
75
+ Label(self.master,
76
+ text = "Protein to DNA conversion:",
77
+ font = (App.FONT_TO_USE, App.FONT_SIZE_TO_USE) # Changing font-size here
78
+ ).pack(padx = 12, pady = 12, anchor = "w") # Align to the left side.
79
+
80
+ if __name__ == "__main__":
81
+ root = Tk()
82
+ root.title(App.TITLE) # Setting the title of the window
83
+ root.geometry("1400x800") # Set width and height - aka the geometry/dimensions.
84
+ app = App(root) # Calling our App
85
+ root.mainloop() # Mainloop which will cause this toplevel to run infinitely
86
+
87
+ # frm = ttk.Frame(root, padding = 12)
88
+ # frm.grid()
89
+ # ttk.Label(frm, text="Hello World!").grid(column=0, row=0)
90
+ # ttk.Button(frm, text="Quit", command=root.destroy).grid(column=1, row=0)
91
+ # root.mainloop()
@@ -0,0 +1,8 @@
1
+ def greeting(name):
2
+ print("Hello, " + name)
3
+
4
+ person1 = {
5
+ "name": "John",
6
+ "age": 36,
7
+ "country": "Norway"
8
+ }
@@ -0,0 +1,33 @@
1
+ import sys
2
+ import yaml
3
+
4
+ USE_THIS_CODON_TABLE = \
5
+ '/home/x/programming/ruby/src/bioroebe/lib/bioroebe/yaml/codon_tables/1.yml'
6
+
7
+ # =========================================================================== #
8
+ # === protein_to_dna
9
+ # =========================================================================== #
10
+ def protein_to_dna(i):
11
+ output_string = ''
12
+ yaml_dataset = None
13
+ aminoacid_sequence = list(i)
14
+
15
+ with open(USE_THIS_CODON_TABLE) as file:
16
+ # The FullLoader parameter handles the conversion from YAML
17
+ # scalar values to Python the dictionary format
18
+ yaml_dataset = yaml.load(file, Loader=yaml.FullLoader)
19
+ yaml_dataset = { value: key for key, value in yaml_dataset.items() }
20
+
21
+ for this_aminoacid in aminoacid_sequence:
22
+ # Now we must obtain the DNA sequence.
23
+ # print(yaml_dataset[this_aminoacid])
24
+ output_string += yaml_dataset[this_aminoacid]
25
+ output_string += '-'
26
+
27
+ # print(yaml_dataset)
28
+ print(output_string[0: -1]) # Remove the last character.
29
+
30
+ if __name__ == '__main__':
31
+ i = sys.argv[1]
32
+ protein_to_dna(i)
33
+ # py protein_to_dna.py KKKLLL
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/python
2
+ import sys
3
+
4
+ # =========================================================================== #
5
+ # === obtain_user_input
6
+ # =========================================================================== #
7
+ def obtain_user_input():
8
+ user_input = input("> ")
9
+ return user_input
10
+
11
+ shall_we_continue = True
12
+
13
+ while (shall_we_continue):
14
+ result = obtain_user_input
15
+ if result == "q":
16
+ shall_we_continue = False
17
+ # exit
18
+ else:
19
+ print(result)
@@ -0,0 +1,14 @@
1
+ import sys
2
+
3
+ # =========================================================================== #
4
+ # === to_rna
5
+ #
6
+ # This method will simply convert the given input, such as a
7
+ # nucleotide sequence, to RNA.
8
+ # =========================================================================== #
9
+ def to_rna(i):
10
+ converted = i.replace('T','U')
11
+ print(converted)
12
+
13
+ to_rna(sys.argv[1])
14
+ # py to_rna.py ATG
@@ -0,0 +1,12 @@
1
+ import subprocess
2
+
3
+ # =========================================================================== #
4
+ # === esystem
5
+ # =========================================================================== #
6
+ def esystem(i):
7
+ print(i)
8
+ process = subprocess.run(i)
9
+
10
+ # This is our shell command, executed in subprocess.
11
+
12
+ esystem("ls")
@@ -0,0 +1,20 @@
1
+ #!/usr/bin/python3
2
+ import sys
3
+ import os
4
+
5
+ class Bioroebe(object):
6
+
7
+ # =========================================================================== #
8
+ # === open_in_browser
9
+ # =========================================================================== #
10
+ def open_in_browser(
11
+ this_url,
12
+ use_this_browser = 'firefox'
13
+ ):
14
+ cmd = use_this_browser+" -new-tab "+this_url
15
+ print(cmd)
16
+ os.system(cmd)
17
+
18
+ if __name__ == '__main__':
19
+ i = sys.argv[1]
20
+ Bioroebe.open_in_browser(i) # py open_in_browser.py "derstandard.at"
@@ -0,0 +1,42 @@
1
+ #!/usr/bin/python3
2
+ import sys
3
+
4
+ class Bioroebe(object):
5
+
6
+ # =========================================================================== #
7
+ # === is_palindrome
8
+ # =========================================================================== #
9
+ def is_palindrome(i):
10
+ result = False
11
+ reverse_string = i[::-1]
12
+
13
+ hash = {
14
+ "A": "T",
15
+ "T": "A",
16
+ "G": "C",
17
+ "C": "G"
18
+ }
19
+
20
+ for nucleotide in i:
21
+ print(nucleotide)
22
+ if hash[nucleotide] == reverse
23
+ result
24
+ # THIS IS INCOMPLETE AS OF JULY 2022.
25
+ return result
26
+
27
+ if __name__ == '__main__':
28
+
29
+ if len(sys.argv) > 1:
30
+ i = sys.argv[1]
31
+ else:
32
+ i = "malayalam"
33
+
34
+ ans = Bioroebe.is_palindrome(i)
35
+
36
+ if ans:
37
+ print(f"Yes, {i} is a palindrome.")
38
+ else:
39
+ print(f"No, {i} is NOT a palindrome.")
40
+
41
+ # py palindromes.py "OTTO"
42
+ # py palindromes.py "GAATTC"
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/python3
2
+ import re
3
+ import sys
4
+
5
+ # =========================================================================== #
6
+ # === rds
7
+ # =========================================================================== #
8
+ def rds(i):
9
+ return re.sub('//', '/', i)
10
+
11
+ if __name__ == '__main__':
12
+ i = sys.argv[1]
13
+ print(rds(i)) # py rds.py "foobar//barfoo"
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/python3
2
+ # =========================================================================== #
3
+ import sys
4
+ import random
5
+
6
+ # =========================================================================== #
7
+ # === shuffleseq
8
+ #
9
+ # This method will take the input string and simply re-arrange it as-is.
10
+ # =========================================================================== #
11
+ def shuffleseq(i):
12
+ l = list(i)
13
+ random.shuffle(l)
14
+ result = ''.join(l)
15
+ return result
16
+
17
+ if __name__ == '__main__':
18
+ if len(sys.argv) > 1:
19
+ i = sys.argv[1]
20
+ print(shuffleseq(i))
21
+ else:
22
+ print("Please provide an argument to this method.")
23
+ # py shuffleseq.py ATTTTTTTT
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/python3
2
+ # =========================================================================== #
3
+ import sys
4
+ import re
5
+
6
+ class Bioroebe(object):
7
+
8
+ # ========================================================================= #
9
+ # === Bioroebe.three_delimiter
10
+ #
11
+ # This method will, applied onto a String, add the '|' token
12
+ # after 3 positions.
13
+ #
14
+ # Example:
15
+ #
16
+ # Bioroebe.three_delimiter('ATGGGGATGTAGGTA') # => "ATG|GGG|ATG|TAG|GTA"
17
+ #
18
+ # ========================================================================= #
19
+ def three_delimiter(i):
20
+
21
+ if isinstance(i, list):
22
+ i = ' '.join(str(e) for e in i)
23
+
24
+ i = re.sub(r'(...)', r'\1-', i)
25
+
26
+ if i[-1] == '-': # Chop of the last character if it is a '-' token.
27
+ i = i[:-1]
28
+
29
+ return i
30
+
31
+ if __name__ == '__main__':
32
+ if len(sys.argv) > 1:
33
+ i = sys.argv[1]
34
+ print(Bioroebe.three_delimiter(i))
35
+ else:
36
+ print("Please provide an argument to this method.")
37
+ # py three_delimiter.py ATGGGGATGTAGGTA
@@ -0,0 +1,43 @@
1
+ #!/usr/bin/python3
2
+ import sys
3
+ from datetime import datetime
4
+
5
+ class Bioroebe(object):
6
+
7
+ # ========================================================================= #
8
+ # === Bioroebe.return_current_day_month_year()
9
+ #
10
+ # This method will return a String such as "09.07.2022".
11
+ # ========================================================================= #
12
+ def return_current_day_month_year():
13
+ day = str(datetime.now().day).rjust(2, '0')
14
+ month = str(datetime.now().month).rjust(2, '0')
15
+ year = str(datetime.now().year)
16
+ return day+'.'+month+'.'+year
17
+
18
+ # ========================================================================= #
19
+ # === Bioroebe.return_current_hours_minutes_seconds()
20
+ #
21
+ # This method will return a String such as "20:44:20".
22
+ # ========================================================================= #
23
+ def return_current_hours_minutes_seconds():
24
+ hours = str(datetime.now().hour).rjust(2, '0')
25
+ minutes = str(datetime.now().minute).rjust(2, '0')
26
+ seconds = str(datetime.now().second).rjust(2, '0')
27
+ return hours+':'+minutes+':'+seconds
28
+
29
+ # ========================================================================= #
30
+ # === Bioroebe.show_time_now
31
+ #
32
+ # This method will show the current time. It will do so only if the
33
+ # verbosity-variable has been set to true.
34
+ # ========================================================================= #
35
+ def show_time_now(be_verbose = True):
36
+ time = Bioroebe.return_current_hours_minutes_seconds()
37
+ if be_verbose:
38
+ print("Showing the current time: "+time)
39
+
40
+ if __name__ == '__main__':
41
+ print(Bioroebe.return_current_day_month_year())
42
+ print(Bioroebe.return_current_hours_minutes_seconds())
43
+ Bioroebe.show_time_now()
@@ -0,0 +1,21 @@
1
+ from re import sub
2
+ import sys
3
+
4
+ # =========================================================================== #
5
+ # === camel_case
6
+ # =========================================================================== #
7
+ def camel_case(i):
8
+ i = sub(r"(_|-)+", " ", i).title().replace(" ", "")
9
+ return ''.join(
10
+ [
11
+ i[0].upper(),
12
+ i[1:]
13
+ ]
14
+ )
15
+
16
+ if __name__ == "__main__":
17
+ print(
18
+ camel_case(
19
+ sys.argv[1]
20
+ )
21
+ ) # py to_camelcase.py abcDef
@@ -159,4 +159,6 @@ require 'bioroebe/requires/require_all_codon_files.rb'
159
159
  # And the sinatra-interface:
160
160
  # =========================================================================== #
161
161
  # require 'bioroebe/requires/require_the_bioroebe_sinatra_components.rb'
162
- require 'bioroebe/www/sinatra/sinatra.rb'
162
+ require 'bioroebe/www/sinatra/sinatra.rb'
163
+
164
+ require 'bioroebe/sequence/protein.rb'
@@ -72,13 +72,6 @@ module NucleotideModule # === Bioroebe::NucleotideModule
72
72
  i.tr('U','T')
73
73
  end
74
74
 
75
- # ========================================================================= #
76
- # === to_dna
77
- # ========================================================================= #
78
- def to_dna
79
- seq?.tr('U','T')
80
- end; alias dna to_dna # === dna
81
-
82
75
  # ========================================================================= #
83
76
  # === n_random_dna
84
77
  #
@@ -258,24 +251,6 @@ module NucleotideModule # === Bioroebe::NucleotideModule
258
251
  ::Bioroebe.codon_to_aminoacid(codon)
259
252
  end; alias translate_aminoacid_into_dna codon_to_aminoacid # === translate_aminoacid_into_dna
260
253
 
261
- # ========================================================================= #
262
- # === to_dna
263
- #
264
- # This method will convert a RNA sequence into a DNA sequence.
265
- #
266
- # It will return the translation.
267
- #
268
- # bio; puts Bioroebe.new.to_dna('actgggcgagagklklklklk')
269
- # ========================================================================= #
270
- def to_dna(
271
- i = sequence?, upcase_me = true
272
- )
273
- if is_RNA?
274
- i = sequence? if i.nil?
275
- ::Bioroebe.to_dna(i, upcase_me)
276
- end
277
- end; alias dna to_dna # === dna
278
-
279
254
  # ========================================================================= #
280
255
  # === random
281
256
  #
@@ -397,6 +372,34 @@ module NucleotideModule # === Bioroebe::NucleotideModule
397
372
  end
398
373
  end; alias gc_percent gc_percentage # === gc_percent
399
374
 
375
+ # ========================================================================= #
376
+ # === to_dna
377
+ #
378
+ # This method will convert a RNA sequence into a DNA sequence.
379
+ #
380
+ # It will return the translation.
381
+ #
382
+ # Usage example:
383
+ #
384
+ # require 'bioroebe'; puts Bioroebe::DNA.new('actgggcgagaguuuuUUUUUU').to_dna
385
+ #
386
+ # ========================================================================= #
387
+ def to_dna(
388
+ i = sequence?,
389
+ upcase_me = true
390
+ )
391
+ i = sequence? if i.nil?
392
+ i = ::Bioroebe.to_dna(i, upcase_me)
393
+ return i
394
+ end; alias dna to_dna # === dna
395
+
396
+ # ========================================================================= #
397
+ # === to_dna
398
+ # ========================================================================= #
399
+ # def to_dna
400
+ # seq?.tr('U','T')
401
+ # end; alias dna to_dna # === dna
402
+
400
403
  end; end
401
404
 
402
405
  if __FILE__ == $PROGRAM_NAME