bioroebe 0.10.80 → 0.12.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (301) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3946 -2817
  3. data/bin/bioroebe +13 -2
  4. data/bin/bioroebe_hash +7 -0
  5. data/bin/codon_to_aminoacid +6 -4
  6. data/bin/compacter +7 -0
  7. data/bin/plain_palindrome +7 -0
  8. data/bioroebe.gemspec +3 -3
  9. data/doc/README.gen +3918 -2793
  10. data/doc/quality_control/commandline_applications.md +3 -3
  11. data/doc/statistics/statistics.md +7 -7
  12. data/doc/todo/bioroebe_GUI_todo.md +19 -14
  13. data/doc/todo/bioroebe_java_todo.md +22 -0
  14. data/doc/todo/bioroebe_todo.md +2075 -2620
  15. data/lib/bioroebe/C++/DNA.cpp +69 -0
  16. data/lib/bioroebe/C++/RNA.cpp +58 -0
  17. data/lib/bioroebe/C++/sequence.cpp +35 -0
  18. data/lib/bioroebe/abstract/README.md +1 -0
  19. data/lib/bioroebe/abstract/features.rb +29 -0
  20. data/lib/bioroebe/aminoacids/aminoacid_substitution.rb +1 -9
  21. data/lib/bioroebe/aminoacids/codon_percentage.rb +1 -9
  22. data/lib/bioroebe/aminoacids/deduce_aminoacid_sequence.rb +1 -9
  23. data/lib/bioroebe/aminoacids/display_aminoacid_table.rb +1 -0
  24. data/lib/bioroebe/aminoacids/show_hydrophobicity.rb +1 -6
  25. data/lib/bioroebe/base/base_module/base_module.rb +36 -0
  26. data/lib/bioroebe/base/colours_for_base/colours_for_base.rb +18 -8
  27. data/lib/bioroebe/base/commandline_application/commandline_application.rb +13 -9
  28. data/lib/bioroebe/base/commandline_application/commandline_arguments.rb +24 -19
  29. data/lib/bioroebe/base/commandline_application/misc.rb +66 -49
  30. data/lib/bioroebe/base/commandline_application/opn.rb +8 -8
  31. data/lib/bioroebe/base/commandline_application/reset.rb +5 -3
  32. data/lib/bioroebe/base/internal_hash_module/internal_hash_module.rb +42 -0
  33. data/lib/bioroebe/base/misc.rb +35 -0
  34. data/lib/bioroebe/base/prototype/misc.rb +15 -9
  35. data/lib/bioroebe/base/prototype/reset.rb +10 -0
  36. data/lib/bioroebe/cleave_and_digest/digestion.rb +10 -2
  37. data/lib/bioroebe/cleave_and_digest/trypsin.rb +104 -50
  38. data/lib/bioroebe/codon_tables/frequencies/parse_frequency_table.rb +2 -10
  39. data/lib/bioroebe/codons/codons.rb +1 -1
  40. data/lib/bioroebe/codons/convert_this_codon_to_that_aminoacid.rb +208 -59
  41. data/lib/bioroebe/codons/possible_codons_for_this_aminoacid.rb +1 -9
  42. data/lib/bioroebe/codons/show_codon_tables.rb +8 -3
  43. data/lib/bioroebe/codons/show_codon_usage.rb +15 -4
  44. data/lib/bioroebe/colours/rev.rb +4 -1
  45. data/lib/bioroebe/constants/aminoacids_and_proteins.rb +1 -0
  46. data/lib/bioroebe/constants/database_constants.rb +1 -1
  47. data/lib/bioroebe/constants/files_and_directories.rb +31 -4
  48. data/lib/bioroebe/constants/misc.rb +20 -0
  49. data/lib/bioroebe/constants/nucleotides.rb +7 -0
  50. data/lib/bioroebe/conversions/dna_to_aminoacid_sequence.rb +109 -39
  51. data/lib/bioroebe/count/count_amount_of_aminoacids.rb +3 -2
  52. data/lib/bioroebe/count/count_amount_of_nucleotides.rb +3 -0
  53. data/lib/bioroebe/cpp +1 -0
  54. data/lib/bioroebe/crystal/README.md +2 -0
  55. data/lib/bioroebe/crystal/to_rna.cr +19 -0
  56. data/lib/bioroebe/data/README.md +11 -8
  57. data/lib/bioroebe/data/electron_microscopy/pos_example.pos +396 -0
  58. data/lib/bioroebe/data/electron_microscopy/test_particles.star +36 -0
  59. data/lib/bioroebe/data/fasta/human/Homo_sapiens_hemoglobin_subunit_alpha_HBB_mRNA.fasta +9 -0
  60. data/lib/bioroebe/data/fasta/human/Homo_sapiens_hemoglobin_subunit_beta_HBB_mRNA.fasta +8 -0
  61. data/lib/bioroebe/data/fasta/human/README.md +2 -0
  62. data/lib/bioroebe/dotplots/advanced_dotplot.rb +1 -1
  63. data/lib/bioroebe/electron_microscopy/coordinate_analyzer.rb +15 -18
  64. data/lib/bioroebe/{fasta_and_fastq/parse_fasta/run.rb → electron_microscopy/electron_microscopy_module.rb} +16 -8
  65. data/lib/bioroebe/electron_microscopy/fix_pos_file.rb +1 -9
  66. data/lib/bioroebe/electron_microscopy/flipy.rb +83 -0
  67. data/lib/bioroebe/electron_microscopy/parse_coordinates.rb +2 -10
  68. data/lib/bioroebe/electron_microscopy/read_file_xmd.rb +1 -9
  69. data/lib/bioroebe/electron_microscopy/simple_star_file_generator.rb +4 -9
  70. data/lib/bioroebe/enzymes/has_this_restriction_enzyme.rb +10 -3
  71. data/lib/bioroebe/enzymes/restriction_enzyme.rb +23 -1
  72. data/lib/bioroebe/enzymes/restriction_enzymes/statistics.rb +65 -0
  73. data/lib/bioroebe/fasta_and_fastq/autocorrect_the_name_of_this_fasta_file.rb +1 -9
  74. data/lib/bioroebe/fasta_and_fastq/compact_fasta_file/compact_fasta_file.rb +7 -9
  75. data/lib/bioroebe/fasta_and_fastq/fasta_defline/fasta_defline.rb +1 -5
  76. data/lib/bioroebe/fasta_and_fastq/fasta_to_yaml/fasta_to_yaml.rb +81 -0
  77. data/lib/bioroebe/fasta_and_fastq/parse_fasta/parse_fasta.rb +1518 -7
  78. data/lib/bioroebe/fasta_and_fastq/return_fasta_subsection_of_this_file.rb +11 -2
  79. data/lib/bioroebe/fasta_and_fastq/show_fasta_headers.rb +27 -12
  80. data/lib/bioroebe/fasta_and_fastq/simplify_fasta_header/simplify_fasta_header.rb +1 -5
  81. data/lib/bioroebe/fasta_and_fastq/split_this_fasta_file_into_chromosomes/constants.rb +0 -5
  82. data/lib/bioroebe/genome/README.md +4 -0
  83. data/lib/bioroebe/genome/genome.rb +130 -0
  84. data/lib/bioroebe/genomes/genome_pattern.rb +3 -9
  85. data/lib/bioroebe/gui/gtk +1 -0
  86. data/lib/bioroebe/gui/gtk3/alignment/alignment.rb +106 -137
  87. data/lib/bioroebe/gui/gtk3/aminoacid_composition/aminoacid_composition.rb +27 -61
  88. data/lib/bioroebe/gui/gtk3/aminoacid_composition/customized_dialog.rb +1 -1
  89. data/lib/bioroebe/gui/gtk3/blosum_matrix_viewer/blosum_matrix_viewer.rb +1 -2
  90. data/lib/bioroebe/gui/gtk3/calculate_cell_numbers_of_bacteria/calculate_cell_numbers_of_bacteria.rb +1 -2
  91. data/lib/bioroebe/gui/gtk3/controller/controller.rb +46 -29
  92. data/lib/bioroebe/gui/gtk3/dna_to_aminoacid_widget/dna_to_aminoacid_widget.rb +77 -52
  93. data/lib/bioroebe/gui/gtk3/dna_to_reverse_complement_widget/dna_to_reverse_complement_widget.rb +1 -2
  94. data/lib/bioroebe/gui/gtk3/fasta_table_widget/fasta_table_widget.rb +100 -23
  95. data/lib/bioroebe/gui/gtk3/format_converter/format_converter.rb +1 -2
  96. data/lib/bioroebe/gui/gtk3/gene/gene.rb +1 -2
  97. data/lib/bioroebe/gui/gtk3/hamming_distance/hamming_distance.rb +43 -30
  98. data/lib/bioroebe/gui/gtk3/levensthein_distance/levensthein_distance.rb +1 -2
  99. data/lib/bioroebe/gui/gtk3/nucleotide_analyser/nucleotide_analyser.rb +120 -73
  100. data/lib/bioroebe/gui/gtk3/primer_design_widget/primer_design_widget.rb +1 -2
  101. data/lib/bioroebe/gui/gtk3/protein_to_DNA/protein_to_DNA.rb +19 -20
  102. data/lib/bioroebe/gui/gtk3/random_sequence/random_sequence.rb +20 -13
  103. data/lib/bioroebe/gui/gtk3/restriction_enzymes/restriction_enzymes.rb +1 -2
  104. data/lib/bioroebe/gui/gtk3/show_codon_table/misc.rb +97 -22
  105. data/lib/bioroebe/gui/gtk3/show_codon_table/show_codon_table.rb +3 -73
  106. data/lib/bioroebe/gui/gtk3/show_codon_usage/show_codon_usage.rb +1 -2
  107. data/lib/bioroebe/gui/gtk3/sizeseq/sizeseq.rb +1 -2
  108. data/lib/bioroebe/gui/gtk3/three_to_one/three_to_one.rb +1 -2
  109. data/lib/bioroebe/gui/gtk3/www_finder/www_finder.rb +1 -2
  110. data/lib/bioroebe/gui/javafx/bioroebe/Bioroebe.class +0 -0
  111. data/lib/bioroebe/gui/javafx/bioroebe/Bioroebe.java +104 -0
  112. data/lib/bioroebe/gui/javafx/bioroebe.jar +0 -0
  113. data/lib/bioroebe/gui/javafx/bioroebe.mf +1 -0
  114. data/lib/bioroebe/gui/javafx/module-info.class +0 -0
  115. data/lib/bioroebe/gui/javafx/module-info.java +5 -0
  116. data/lib/bioroebe/gui/jruby/alignment/alignment.rb +165 -0
  117. data/lib/bioroebe/gui/jruby/aminoacid_composition/aminoacid_composition.rb +166 -0
  118. data/lib/bioroebe/gui/libui/alignment/alignment.rb +3 -1
  119. data/lib/bioroebe/gui/libui/controller/controller.rb +116 -0
  120. data/lib/bioroebe/gui/libui/random_sequence/random_sequence.rb +18 -2
  121. data/lib/bioroebe/gui/libui/show_codon_table/show_codon_table.rb +2 -0
  122. data/lib/bioroebe/gui/libui/three_to_one/three_to_one.rb +8 -6
  123. data/lib/bioroebe/gui/shared_code/alignment/alignment_module.rb +102 -0
  124. data/lib/bioroebe/gui/shared_code/aminoacid_composition/aminoacid_composition_module.rb +94 -0
  125. data/lib/bioroebe/gui/shared_code/levensthein_distance/levensthein_distance_module.rb +18 -16
  126. data/lib/bioroebe/gui/shared_code/protein_to_DNA/protein_to_DNA_module.rb +14 -14
  127. data/lib/bioroebe/gui/swing/three_to_one/ThreeToOne$1.class +0 -0
  128. data/lib/bioroebe/gui/swing/three_to_one/ThreeToOne$CloseListener.class +0 -0
  129. data/lib/bioroebe/gui/swing/three_to_one/ThreeToOne.class +0 -0
  130. data/lib/bioroebe/gui/swing/three_to_one/ThreeToOne.java +141 -0
  131. data/lib/bioroebe/images/FORWARD_PRIMER.png +0 -0
  132. data/lib/bioroebe/images/REVERSE_PRIMER.png +0 -0
  133. data/lib/bioroebe/images/images.html +29845 -0
  134. data/lib/bioroebe/java/README.md +5 -0
  135. data/lib/bioroebe/java/bioroebe/AllInOne.java +1 -0
  136. data/lib/bioroebe/java/bioroebe/Base.class +0 -0
  137. data/lib/bioroebe/java/bioroebe/Base.java +39 -5
  138. data/lib/bioroebe/java/bioroebe/IsPalindrome.java +23 -5
  139. data/lib/bioroebe/java/bioroebe/SanitizeNucleotideSequence.java +0 -0
  140. data/lib/bioroebe/java/bioroebe/Sequence.java +28 -3
  141. data/lib/bioroebe/java/bioroebe/ToCamelcase.class +0 -0
  142. data/lib/bioroebe/java/bioroebe/ToCamelcase.java +16 -4
  143. data/lib/bioroebe/java/bioroebe/ToRNA.java +43 -0
  144. data/lib/bioroebe/java/bioroebe/ToplevelMethods.java +6 -0
  145. data/lib/bioroebe/java/bioroebe/{BisulfiteTreatment.class → src/BisulfiteTreatment.class} +0 -0
  146. data/lib/bioroebe/java/bioroebe/{Codons.class → src/Codons.class} +0 -0
  147. data/lib/bioroebe/java/bioroebe/src/Codons.java +35 -0
  148. data/lib/bioroebe/java/bioroebe/src/Commandline.class +0 -0
  149. data/lib/bioroebe/java/bioroebe/src/Commandline.java +101 -0
  150. data/lib/bioroebe/java/bioroebe/{Esystem.class → src/Esystem.class} +0 -0
  151. data/lib/bioroebe/java/bioroebe/{Esystem.java → src/Esystem.java} +6 -1
  152. data/lib/bioroebe/java/bioroebe/{GenerateRandomDnaSequence.class → src/GenerateRandomDnaSequence.class} +0 -0
  153. data/lib/bioroebe/java/bioroebe/{GenerateRandomDnaSequence.java → src/GenerateRandomDnaSequence.java} +8 -2
  154. data/lib/bioroebe/java/bioroebe/src/PartnerNucleotide.class +0 -0
  155. data/lib/bioroebe/java/bioroebe/src/PartnerNucleotide.java +56 -0
  156. data/lib/bioroebe/java/bioroebe/{RemoveFile.java → src/RemoveFile.java} +10 -4
  157. data/lib/bioroebe/java/bioroebe/{RemoveNumbers.class → src/RemoveNumbers.class} +0 -0
  158. data/lib/bioroebe/java/bioroebe/{RemoveNumbers.java → src/RemoveNumbers.java} +1 -0
  159. data/lib/bioroebe/java/bioroebe/src/toplevel_methods/BaseComposition.class +0 -0
  160. data/lib/bioroebe/java/bioroebe/src/toplevel_methods/BaseComposition.java +75 -0
  161. data/lib/bioroebe/misc/ruler.rb +11 -2
  162. data/lib/bioroebe/nucleotides/most_likely_nucleotide_sequence_for_this_aminoacid_sequence.rb +1 -9
  163. data/lib/bioroebe/nucleotides/sanitize_nucleotide_sequence.rb +59 -18
  164. data/lib/bioroebe/nucleotides/show_nucleotide_sequence.rb +7 -7
  165. data/lib/bioroebe/parsers/genbank_parser.rb +347 -26
  166. data/lib/bioroebe/parsers/gff.rb +1 -9
  167. data/lib/bioroebe/patterns/scan_for_repeat.rb +1 -5
  168. data/lib/bioroebe/pdb/fetch_fasta_sequence_from_pdb.rb +1 -9
  169. data/lib/bioroebe/pdb/parse_mmCIF_file.rb +1 -9
  170. data/lib/bioroebe/pdb/parse_pdb_file.rb +4 -10
  171. data/lib/bioroebe/project/project.rb +1 -1
  172. data/lib/bioroebe/python/README.md +1 -0
  173. data/lib/bioroebe/python/__pycache__/mymodule.cpython-39.pyc +0 -0
  174. data/lib/bioroebe/python/gui/gtk3/all_in_one.css +4 -0
  175. data/lib/bioroebe/python/gui/gtk3/all_in_one.py +59 -0
  176. data/lib/bioroebe/python/gui/gtk3/widget1.py +20 -0
  177. data/lib/bioroebe/python/gui/tkinter/all_in_one.py +91 -0
  178. data/lib/bioroebe/python/mymodule.py +8 -0
  179. data/lib/bioroebe/python/protein_to_dna.py +33 -0
  180. data/lib/bioroebe/python/shell/shell.py +19 -0
  181. data/lib/bioroebe/python/to_rna.py +14 -0
  182. data/lib/bioroebe/python/toplevel_methods/convert_dna_to_aminoacid_sequence.py +137 -0
  183. data/lib/bioroebe/python/toplevel_methods/esystem.py +12 -0
  184. data/lib/bioroebe/python/toplevel_methods/open_in_browser.py +20 -0
  185. data/lib/bioroebe/python/toplevel_methods/palindromes.py +52 -0
  186. data/lib/bioroebe/python/toplevel_methods/rds.py +13 -0
  187. data/lib/bioroebe/python/toplevel_methods/shuffleseq.py +23 -0
  188. data/lib/bioroebe/python/toplevel_methods/three_delimiter.py +37 -0
  189. data/lib/bioroebe/python/toplevel_methods/time_and_date.py +43 -0
  190. data/lib/bioroebe/python/toplevel_methods/to_camelcase.py +21 -0
  191. data/lib/bioroebe/requires/require_cleave_and_digest.rb +3 -1
  192. data/lib/bioroebe/requires/require_the_bioroebe_project.rb +3 -1
  193. data/lib/bioroebe/sequence/alignment.rb +14 -4
  194. data/lib/bioroebe/sequence/dna.rb +1 -0
  195. data/lib/bioroebe/sequence/nucleotide_module/nucleotide_module.rb +28 -25
  196. data/lib/bioroebe/sequence/protein.rb +105 -3
  197. data/lib/bioroebe/sequence/rna.rb +220 -0
  198. data/lib/bioroebe/sequence/sequence.rb +128 -40
  199. data/lib/bioroebe/shell/menu.rb +3815 -3696
  200. data/lib/bioroebe/shell/misc.rb +9019 -3133
  201. data/lib/bioroebe/shell/readline/readline.rb +1 -1
  202. data/lib/bioroebe/shell/shell.rb +1137 -28
  203. data/lib/bioroebe/siRNA/siRNA.rb +81 -1
  204. data/lib/bioroebe/string_matching/find_longest_substring.rb +3 -2
  205. data/lib/bioroebe/string_matching/hamming_distance.rb +1 -9
  206. data/lib/bioroebe/taxonomy/class_methods.rb +3 -8
  207. data/lib/bioroebe/taxonomy/constants.rb +4 -3
  208. data/lib/bioroebe/taxonomy/edit.rb +2 -1
  209. data/lib/bioroebe/taxonomy/help/help.rb +10 -10
  210. data/lib/bioroebe/taxonomy/help/helpline.rb +2 -2
  211. data/lib/bioroebe/taxonomy/info/check_available.rb +15 -9
  212. data/lib/bioroebe/taxonomy/info/info.rb +18 -11
  213. data/lib/bioroebe/taxonomy/info/is_dna.rb +46 -36
  214. data/lib/bioroebe/taxonomy/interactive.rb +140 -104
  215. data/lib/bioroebe/taxonomy/menu.rb +27 -18
  216. data/lib/bioroebe/taxonomy/parse_fasta.rb +3 -1
  217. data/lib/bioroebe/taxonomy/shared.rb +1 -0
  218. data/lib/bioroebe/taxonomy/taxonomy.rb +1 -0
  219. data/lib/bioroebe/toplevel_methods/aminoacids_and_proteins.rb +31 -24
  220. data/lib/bioroebe/toplevel_methods/colourize_related_methods.rb +164 -0
  221. data/lib/bioroebe/toplevel_methods/databases.rb +1 -1
  222. data/lib/bioroebe/toplevel_methods/digest.rb +18 -8
  223. data/lib/bioroebe/toplevel_methods/fasta_and_fastq.rb +107 -63
  224. data/lib/bioroebe/toplevel_methods/file_and_directory_related_actions.rb +14 -2
  225. data/lib/bioroebe/toplevel_methods/frequencies.rb +8 -1
  226. data/lib/bioroebe/toplevel_methods/misc.rb +175 -11
  227. data/lib/bioroebe/toplevel_methods/nucleotides.rb +118 -46
  228. data/lib/bioroebe/toplevel_methods/open_in_browser.rb +2 -0
  229. data/lib/bioroebe/toplevel_methods/palindromes.rb +75 -47
  230. data/lib/bioroebe/toplevel_methods/taxonomy.rb +3 -3
  231. data/lib/bioroebe/toplevel_methods/to_camelcase.rb +5 -0
  232. data/lib/bioroebe/utility_scripts/align_open_reading_frames.rb +1 -9
  233. data/lib/bioroebe/utility_scripts/check_for_mismatches/check_for_mismatches.rb +1 -9
  234. data/lib/bioroebe/utility_scripts/compacter/compacter.rb +251 -0
  235. data/lib/bioroebe/utility_scripts/compseq/compseq.rb +1 -9
  236. data/lib/bioroebe/utility_scripts/consensus_sequence.rb +6 -6
  237. data/lib/bioroebe/utility_scripts/create_batch_entrez_file.rb +1 -9
  238. data/lib/bioroebe/utility_scripts/dot_alignment.rb +1 -9
  239. data/lib/bioroebe/utility_scripts/move_file_to_its_correct_location.rb +1 -4
  240. data/lib/bioroebe/utility_scripts/parse_taxonomy.rb +2 -2
  241. data/lib/bioroebe/utility_scripts/permutations.rb +36 -9
  242. data/lib/bioroebe/utility_scripts/showorf/constants.rb +0 -5
  243. data/lib/bioroebe/utility_scripts/showorf/reset.rb +1 -4
  244. data/lib/bioroebe/version/version.rb +2 -2
  245. data/lib/bioroebe/www/embeddable_interface.rb +121 -58
  246. data/lib/bioroebe/www/sinatra/sinatra.rb +186 -71
  247. data/lib/bioroebe/yaml/aminoacids/amino_acids_long_name_to_one_letter.yml +2 -2
  248. data/lib/bioroebe/yaml/aminoacids/weight_of_common_proteins.yml +17 -17
  249. data/lib/bioroebe/yaml/configuration/browser.yml +1 -1
  250. data/lib/bioroebe/yaml/configuration/temp_dir.yml +1 -1
  251. data/lib/bioroebe/yaml/consensus_sequences/consensus_sequences.yml +1 -0
  252. data/lib/bioroebe/yaml/genomes/README.md +3 -4
  253. data/lib/bioroebe/yaml/nucleotides/nucleotides.yml +5 -0
  254. data/lib/bioroebe/yaml/restriction_enzymes/restriction_enzymes.yml +57 -57
  255. data/spec/README.md +6 -0
  256. data/spec/project_wide_specification/classes.md +5 -0
  257. metadata +107 -70
  258. data/doc/setup.rb +0 -1655
  259. data/lib/bioroebe/fasta_and_fastq/parse_fasta/constants.rb +0 -50
  260. data/lib/bioroebe/fasta_and_fastq/parse_fasta/initialize.rb +0 -86
  261. data/lib/bioroebe/fasta_and_fastq/parse_fasta/menu.rb +0 -117
  262. data/lib/bioroebe/fasta_and_fastq/parse_fasta/misc.rb +0 -981
  263. data/lib/bioroebe/fasta_and_fastq/parse_fasta/report.rb +0 -156
  264. data/lib/bioroebe/fasta_and_fastq/parse_fasta/reset.rb +0 -128
  265. data/lib/bioroebe/genbank/genbank_parser.rb +0 -291
  266. data/lib/bioroebe/java/bioroebe/AllInOne.class +0 -0
  267. data/lib/bioroebe/java/bioroebe/Cat.class +0 -0
  268. data/lib/bioroebe/java/bioroebe/Codons.java +0 -22
  269. data/lib/bioroebe/java/bioroebe/IsPalindrome.class +0 -0
  270. data/lib/bioroebe/java/bioroebe/PartnerNucleotide.class +0 -0
  271. data/lib/bioroebe/java/bioroebe/PartnerNucleotide.java +0 -19
  272. data/lib/bioroebe/java/bioroebe/SanitizeNucleotideSequence.class +0 -0
  273. data/lib/bioroebe/java/bioroebe/ToplevelMethods.class +0 -0
  274. data/lib/bioroebe/java/bioroebe.jar +0 -0
  275. data/lib/bioroebe/shell/add.rb +0 -108
  276. data/lib/bioroebe/shell/assign.rb +0 -360
  277. data/lib/bioroebe/shell/chop_and_cut.rb +0 -281
  278. data/lib/bioroebe/shell/constants.rb +0 -166
  279. data/lib/bioroebe/shell/download.rb +0 -335
  280. data/lib/bioroebe/shell/enable_and_disable.rb +0 -158
  281. data/lib/bioroebe/shell/enzymes.rb +0 -310
  282. data/lib/bioroebe/shell/fasta.rb +0 -345
  283. data/lib/bioroebe/shell/gtk.rb +0 -76
  284. data/lib/bioroebe/shell/history.rb +0 -132
  285. data/lib/bioroebe/shell/initialize.rb +0 -217
  286. data/lib/bioroebe/shell/loop.rb +0 -74
  287. data/lib/bioroebe/shell/prompt.rb +0 -107
  288. data/lib/bioroebe/shell/random.rb +0 -289
  289. data/lib/bioroebe/shell/reset.rb +0 -335
  290. data/lib/bioroebe/shell/scan_and_parse.rb +0 -135
  291. data/lib/bioroebe/shell/search.rb +0 -337
  292. data/lib/bioroebe/shell/sequences.rb +0 -200
  293. data/lib/bioroebe/shell/show_report_and_display.rb +0 -2901
  294. data/lib/bioroebe/shell/startup.rb +0 -127
  295. data/lib/bioroebe/shell/taxonomy.rb +0 -14
  296. data/lib/bioroebe/shell/tk.rb +0 -23
  297. data/lib/bioroebe/shell/user_input.rb +0 -88
  298. data/lib/bioroebe/shell/xorg.rb +0 -45
  299. data/lib/bioroebe/utility_scripts/compacter.rb +0 -131
  300. /data/lib/bioroebe/java/bioroebe/{BisulfiteTreatment.java → src/BisulfiteTreatment.java} +0 -0
  301. /data/lib/bioroebe/java/bioroebe/{RemoveFile.class → src/RemoveFile.class} +0 -0
@@ -23,15 +23,8 @@ class AminoacidComposition < ::Gtk::Box # === Bioroebe::GUI::Gtk::AminoacidCompo
23
23
  require 'gtk_paradise/requires/require_the_base_module.rb'
24
24
  include ::Gtk::BaseModule
25
25
 
26
- # ========================================================================= #
27
- # === NAMESPACE
28
- # ========================================================================= #
29
- NAMESPACE = inspect
30
-
31
- # ========================================================================= #
32
- # === TITLE
33
- # ========================================================================= #
34
- TITLE = 'Aminoacid Composition'
26
+ require 'bioroebe/gui/shared_code/aminoacid_composition/aminoacid_composition_module.rb'
27
+ include Bioroebe::GUI::AminoacidCompositionModule
35
28
 
36
29
  # ========================================================================= #
37
30
  # === WIDTH
@@ -53,11 +46,6 @@ class AminoacidComposition < ::Gtk::Box # === Bioroebe::GUI::Gtk::AminoacidCompo
53
46
  # ========================================================================= #
54
47
  USE_THIS_SLIGHTLY_SMALLER_FONT = :dejavu_condensed_16
55
48
 
56
- # ========================================================================= #
57
- # === FILE_MOLECULAR_WEIGHT
58
- # ========================================================================= #
59
- FILE_MOLECULAR_WEIGHT = Bioroebe.file_molecular_weight
60
-
61
49
  # ========================================================================= #
62
50
  # === initialize
63
51
  # ========================================================================= #
@@ -78,10 +66,11 @@ class AminoacidComposition < ::Gtk::Box # === Bioroebe::GUI::Gtk::AminoacidCompo
78
66
  # ========================================================================= #
79
67
  def reset
80
68
  reset_the_internal_variables
69
+ infer_the_namespace
81
70
  # ======================================================================= #
82
71
  # === @configuration
83
72
  # ======================================================================= #
84
- @configuration = [true, __dir__, NAMESPACE]
73
+ @configuration = [true, __dir__, namespace?]
85
74
  title_width_height_font(TITLE, WIDTH, HEIGHT, USE_THIS_FONT)
86
75
  handle_CSS_rules
87
76
  infer_the_size_automatically
@@ -261,28 +250,6 @@ EOF
261
250
  minimal(header, 2)
262
251
  end
263
252
 
264
- # ========================================================================= #
265
- # === calculated_weight?
266
- #
267
- # This method will calculate the weight.
268
- # ========================================================================= #
269
- def calculated_weight?(i)
270
- dataset = YAML.load_file(FILE_MOLECULAR_WEIGHT)
271
- weight = 0
272
- if i.is_a?(String) and !i.empty?
273
- chars = i.chars.sort
274
- chars.each {|this_char|
275
- value = dataset[this_char]
276
- weight += value if value
277
- }
278
- end
279
- # ======================================================================= #
280
- # Must deduct water too.
281
- # ======================================================================= #
282
- weight -= (18.0 * (i.size - 1))
283
- return weight.round(2)
284
- end
285
-
286
253
  # ========================================================================= #
287
254
  # === update_label_cursor_position
288
255
  # ========================================================================= #
@@ -320,26 +287,6 @@ EOF
320
287
  'fasta/aminoacid_sequence.fasta'
321
288
  end
322
289
 
323
- # ========================================================================= #
324
- # === return_widget_containing_the_toolbox_images
325
- # ========================================================================= #
326
- def return_widget_containing_the_toolbox_images
327
- hbox = gtk_hbox
328
- @event_box1 = gtk_event_box(
329
- image_folder_visiting_symbolic
330
- )
331
- @event_box1.hint = 'Click on this image to create a new local '\
332
- '.fasta file with that sequence. The location will be '\
333
- 'at: <b>'+
334
- path_to_the_fasta_file?+
335
- '</b>'
336
- @event_box1.on_clicked {
337
- do_create_a_new_fasta_file
338
- }
339
- hbox.minimal(@event_box1, 4)
340
- return hbox
341
- end
342
-
343
290
  # ========================================================================= #
344
291
  # === do_open_a_local_FASTA_file
345
292
  # ========================================================================= #
@@ -410,7 +357,7 @@ EOF
410
357
  # ======================================================================= #
411
358
  # First weed out all invalid aminoacids:
412
359
  # ======================================================================= #
413
- _ = ::Bioroebe.filter_away_invalid_aminoacids(_)
360
+ _ = filter_away_invalid_aminoacids(_)
414
361
  @entry_input_sequence.set_text(_)
415
362
  fill_the_table_data_with_this_sequence(_)
416
363
  @label_n_aminoacids.set_text(
@@ -464,10 +411,10 @@ EOF
464
411
  @entry_input_sequence.on_enter {
465
412
  simulate_enter_click
466
413
  }
467
- scrolled_window = gtk_scrolled_window(@treeview) { :always }
414
+ scrolled_window = create_scrolled_window(@treeview) { :always }
468
415
  scrolled_window.width_height(300, 600)
469
416
  scrolled_window.bblack1
470
- scrolled_window.css_class('pad2px')
417
+ scrolled_window.pad2px
471
418
  @label_n_aminoacids = left_aligned_text
472
419
  small_vbox = gtk_vbox
473
420
  small_vbox.pad4px
@@ -487,7 +434,7 @@ EOF
487
434
  # === create_the_treeview
488
435
  # ========================================================================= #
489
436
  def create_the_treeview
490
- @treeview = gtk_tree_view(@list_store) { :clickable_headers }
437
+ @treeview = create_tree_view(@list_store) { :clickable_headers }
491
438
  @treeview.set_name('custom_treeview')
492
439
  @treeview.headers('Aminoacid','n times')
493
440
  @treeview.clickable_headers
@@ -495,6 +442,25 @@ EOF
495
442
  @treeview.set_reorderable(true)
496
443
  end
497
444
 
445
+ # ========================================================================= #
446
+ # === return_widget_containing_the_toolbox_images
447
+ # ========================================================================= #
448
+ def return_widget_containing_the_toolbox_images
449
+ hbox = create_hbox
450
+ @event_box1 = create_event_box(
451
+ image_folder_visiting_symbolic
452
+ )
453
+ @event_box1.hint =
454
+ "Click on this image to create a new local "\
455
+ ".fasta file with that sequence.\n\nThe location will be "\
456
+ "at: <b>#{path_to_the_fasta_file?}</b>"
457
+ @event_box1.on_clicked {
458
+ do_create_a_new_fasta_file
459
+ }
460
+ hbox.minimal(@event_box1, 4)
461
+ return hbox
462
+ end
463
+
498
464
  # ========================================================================= #
499
465
  # === run (run tag)
500
466
  # ========================================================================= #
@@ -52,4 +52,4 @@ end; end; end; end
52
52
 
53
53
  if __FILE__ == $PROGRAM_NAME
54
54
  Bioroebe::GUI::Gtk3::CustomizedDialog.new
55
- end # rb 029_gtk_dialog_sample.rb
55
+ end # rb customized_dialog.rb
@@ -185,8 +185,7 @@ class BlosumMatrixViewer < ::Gtk::Box # === Bioroebe::GUI::Gtk::BlosumMatrixView
185
185
  _ = ::Bioroebe::GUI::Gtk::BlosumMatrixViewer.new(i)
186
186
  r = ::Gtk.run
187
187
  r << _
188
- r.automatic_size_then_automatic_title
189
- r.top_left_then_run
188
+ r.automatic_top_left_then_run
190
189
  end
191
190
 
192
191
  end; end; end; end
@@ -93,9 +93,8 @@ class CalculateCellNumbersOfBacteria < ::Gtk::Box # === Bioroebe::GUI::Gtk::Calc
93
93
  r = ::Gtk.run
94
94
  r << _
95
95
  r.background_colour :white
96
- r.automatic_size_then_automatic_title
97
96
  r.easy_exit
98
- r.top_left_then_run
97
+ r.automatic_top_left_then_run
99
98
  end; self.instance_eval { alias run_gtk3_widget run } # === Bioroebe::GUI::Gtk::CalculateCellNumbersOfBacteria.run_gtk3_widget
100
99
  self.instance_eval { alias start_gui_application run } # === Bioroebe::GUI::Gtk::CalculateCellNumbersOfBacteria.start_gui_application
101
100
 
@@ -94,6 +94,7 @@ class Controller < ::Gtk::Box # === Bioroebe::GUI::Gtk::Controller
94
94
  # === reset (reset tag)
95
95
  # ========================================================================= #
96
96
  def reset
97
+ batch_require_all_relevant_gtk3_files
97
98
  reset_the_internal_variables
98
99
  # ======================================================================= #
99
100
  # === @configuration
@@ -105,6 +106,10 @@ class Controller < ::Gtk::Box # === Bioroebe::GUI::Gtk::Controller
105
106
  title_width_height_font(TITLE, WIDTH, HEIGHT, USE_THIS_FONT)
106
107
  do_handle_all_CSS_related_aspects
107
108
  infer_the_size_automatically
109
+ # ======================================================================= #
110
+ # === @nucleotide_analyser
111
+ # ======================================================================= #
112
+ @nucleotide_analyser = NucleotideAnalyser.new
108
113
  end
109
114
 
110
115
  # ========================================================================= #
@@ -160,7 +165,7 @@ class Controller < ::Gtk::Box # === Bioroebe::GUI::Gtk::Controller
160
165
  end
161
166
 
162
167
  # ========================================================================= #
163
- # === create_the_header_bar
168
+ # === create_the_header_bar (header tag, top tag)
164
169
  # ========================================================================= #
165
170
  def create_the_header_bar
166
171
  # ======================================================================= #
@@ -168,7 +173,8 @@ class Controller < ::Gtk::Box # === Bioroebe::GUI::Gtk::Controller
168
173
  # ======================================================================= #
169
174
  @header_bar = default_header_bar
170
175
  @header_bar.pad8px
171
- @header_bar.text(' 🐟 Controller 🐠 ')
176
+ _ = selectable_text(' 🐟 Controller 🐟 ')
177
+ @header_bar.central_element(_)
172
178
  end
173
179
 
174
180
  # ========================================================================= #
@@ -200,6 +206,7 @@ class Controller < ::Gtk::Box # === Bioroebe::GUI::Gtk::Controller
200
206
  # ========================================================================= #
201
207
  def batch_require_all_relevant_gtk3_files
202
208
  require 'bioroebe/gui/gtk3/alignment/alignment.rb'
209
+ require 'bioroebe/gui/gtk3/nucleotide_analyser/nucleotide_analyser.rb'
203
210
  require 'bioroebe/gui/gtk3/aminoacid_composition/aminoacid_composition.rb'
204
211
  require 'bioroebe/gui/gtk3/blosum_matrix_viewer/blosum_matrix_viewer.rb'
205
212
  require 'bioroebe/gui/gtk3/dna_to_aminoacid_widget/dna_to_aminoacid_widget.rb'
@@ -209,7 +216,6 @@ class Controller < ::Gtk::Box # === Bioroebe::GUI::Gtk::Controller
209
216
  require 'bioroebe/gui/gtk3/gene/gene.rb'
210
217
  require 'bioroebe/gui/gtk3/hamming_distance/hamming_distance.rb'
211
218
  require 'bioroebe/gui/gtk3/levensthein_distance/levensthein_distance.rb'
212
- require 'bioroebe/gui/gtk3/nucleotide_analyser/nucleotide_analyser.rb'
213
219
  require 'bioroebe/gui/gtk3/parse_pdb_file/parse_pdb_file.rb'
214
220
  require 'bioroebe/gui/gtk3/primer_design_widget/primer_design_widget.rb'
215
221
  require 'bioroebe/gui/gtk3/protein_to_DNA/protein_to_DNA.rb'
@@ -225,33 +231,36 @@ class Controller < ::Gtk::Box # === Bioroebe::GUI::Gtk::Controller
225
231
  # === connect_skeleton (connect tag)
226
232
  # ========================================================================= #
227
233
  def connect_skeleton
228
- batch_require_all_relevant_gtk3_files
229
234
  abort_on_exception
230
235
  # ========================================================================= #
231
236
  # === DnaToAminoacidWidget
232
237
  # ========================================================================= #
233
238
  @dna_to_aminoacid_widget = DnaToAminoacidWidget.new
234
239
  @dna_to_aminoacid_widget.set_parent_widget(self)
235
- @notebook.add_page('dna-to-aminoacid-widget', gtk_vbox(@dna_to_aminoacid_widget))
240
+ @notebook.add_page('dna-to-aminoacid-widget', vbox(@dna_to_aminoacid_widget))
241
+ # ======================================================================= #
242
+ # === nucleotide-analyser
243
+ # ======================================================================= #
244
+ @notebook.add_page('nucleotide-analyser', vbox(@nucleotide_analyser))
236
245
  # ======================================================================= #
237
246
  # === aminoacid-composition
238
247
  # ======================================================================= #
239
248
  @aminoacid_composition = AminoacidComposition.new
240
249
  @aminoacid_composition.set_parent_widget(self)
241
- @notebook.add_page('aminoacid-composition', gtk_vbox(@aminoacid_composition))
250
+ @notebook.add_page('aminoacid-composition', vbox(@aminoacid_composition))
242
251
  # ======================================================================= #
243
252
  # === protein-to-DNA
244
253
  # ======================================================================= #
245
254
  @protein_to_DNA = ProteinToDNA.new
246
- @notebook.add_page('protein-to-DNA', gtk_vbox(@protein_to_DNA))
255
+ @notebook.add_page('protein-to-DNA', vbox(@protein_to_DNA))
247
256
  # ======================================================================= #
248
257
  # === dna-to-reverse-complement
249
258
  # ======================================================================= #
250
- @notebook.add_page('dna-to-reverse-complement', gtk_vbox(DnaToReverseComplementWidget.new))
259
+ @notebook.add_page('dna-to-reverse-complement', vbox(DnaToReverseComplementWidget.new))
251
260
  # ======================================================================= #
252
261
  # === alignment
253
262
  # ======================================================================= #
254
- @notebook.add_page('alignment', gtk_vbox(Alignment.new))
263
+ @notebook.add_page('alignment', vbox(Alignment.new))
255
264
  # ======================================================================= #
256
265
  # === anti-sense-strand
257
266
  #
@@ -260,7 +269,7 @@ class Controller < ::Gtk::Box # === Bioroebe::GUI::Gtk::Controller
260
269
  # ======================================================================= #
261
270
  # === blosum-matrix-viewer
262
271
  # ======================================================================= #
263
- @notebook.add_page('blosum-matrix-viewer', gtk_vbox(BlosumMatrixViewer.new))
272
+ @notebook.add_page('blosum-matrix-viewer', vbox(BlosumMatrixViewer.new))
264
273
  # ======================================================================= #
265
274
  # === calculate_cell_numbers_of_bacteria
266
275
  #
@@ -269,59 +278,55 @@ class Controller < ::Gtk::Box # === Bioroebe::GUI::Gtk::Controller
269
278
  # ======================================================================= #
270
279
  # === fasta-table-widget
271
280
  # ======================================================================= #
272
- @notebook.add_page('fasta-table-widget', gtk_vbox(FastaTableWidget.new))
281
+ @notebook.add_page('fasta-table-widget', vbox(FastaTableWidget.new))
273
282
  # ======================================================================= #
274
283
  # === format-converter
275
284
  # ======================================================================= #
276
- @notebook.add_page('format-converter', gtk_vbox(FormatConverter.new))
285
+ @notebook.add_page('format-converter', vbox(FormatConverter.new))
277
286
  # ======================================================================= #
278
287
  # === gene
279
288
  # ======================================================================= #
280
- @notebook.add_page('gene', gtk_vbox(Gene.new))
289
+ @notebook.add_page('gene', vbox(Gene.new))
281
290
  # ======================================================================= #
282
291
  # === hamming-distance
283
292
  # ======================================================================= #
284
- @notebook.add_page('hamming-distance', gtk_vbox(HammingDistance.new))
293
+ @notebook.add_page('hamming-distance', vbox(HammingDistance.new))
285
294
  # ======================================================================= #
286
295
  # === levensthein-distance
287
296
  # ======================================================================= #
288
- @notebook.add_page('levensthein-distance', gtk_vbox(LevenstheinDistance.new))
289
- # ======================================================================= #
290
- # === nucleotide-analyser
291
- # ======================================================================= #
292
- @notebook.add_page('nucleotide-analyser', gtk_vbox(NucleotideAnalyser.new))
297
+ @notebook.add_page('levensthein-distance', vbox(LevenstheinDistance.new))
293
298
  # ======================================================================= #
294
299
  # === parse-pdb-file
295
300
  # ======================================================================= #
296
- @notebook.add_page('parse-pdb-file', gtk_vbox(ParsePdbFile.new))
301
+ @notebook.add_page('parse-pdb-file', vbox(ParsePdbFile.new))
297
302
  # ======================================================================= #
298
303
  # === primer-design-widget
299
304
  # ======================================================================= #
300
- @notebook.add_page('primer-design-widget', gtk_vbox(PrimerDesignWidget.new))
305
+ @notebook.add_page('primer-design-widget', vbox(PrimerDesignWidget.new))
301
306
  # ======================================================================= #
302
307
  # === random-sequence
303
308
  # ======================================================================= #
304
- @notebook.add_page('random-sequence', gtk_vbox(RandomSequence.new))
309
+ @notebook.add_page('random-sequence', vbox(RandomSequence.new))
305
310
  # ======================================================================= #
306
311
  # === restriction-enzymes
307
312
  # ======================================================================= #
308
- @notebook.add_page('restriction-enzymes', gtk_vbox(RestrictionEnzymes.new))
313
+ @notebook.add_page('restriction-enzymes', vbox(RestrictionEnzymes.new))
309
314
  # ======================================================================= #
310
315
  # === show-codon-table
311
316
  # ======================================================================= #
312
- @notebook.add_page('show-codon-table', gtk_vbox(ShowCodonTable.new))
317
+ @notebook.add_page('show-codon-table', vbox(ShowCodonTable.new))
313
318
  # ======================================================================= #
314
319
  # === show-codon-usage
315
320
  # ======================================================================= #
316
- @notebook.add_page('show-codon-usage', gtk_vbox(ShowCodonUsage.new))
321
+ @notebook.add_page('show-codon-usage', vbox(ShowCodonUsage.new))
317
322
  # ======================================================================= #
318
323
  # === sizeseq
319
324
  # ======================================================================= #
320
- @notebook.add_page('sizeseq', gtk_vbox(Sizeseq.new))
325
+ @notebook.add_page('sizeseq', vbox(Sizeseq.new))
321
326
  # ======================================================================= #
322
327
  # === three-to-one
323
328
  # ======================================================================= #
324
- @notebook.add_page('three-to-one', gtk_vbox(ThreeToOne.new))
329
+ @notebook.add_page('three-to-one', vbox(ThreeToOne.new))
325
330
  # ======================================================================= #
326
331
  # === www-finder
327
332
  #
@@ -371,10 +376,9 @@ class Controller < ::Gtk::Box # === Bioroebe::GUI::Gtk::Controller
371
376
  _.enable_these_key_combinations(
372
377
  HASH_DESIGNATED_KEY_COMBINATIONS
373
378
  )
374
- r.automatic_size_then_automatic_title
375
379
  r.enable_quick_exit
376
380
  r.maximize
377
- r.top_left_then_run
381
+ r.automatic_top_left_then_run
378
382
  end
379
383
 
380
384
  # ========================================================================= #
@@ -388,8 +392,21 @@ class Controller < ::Gtk::Box # === Bioroebe::GUI::Gtk::Controller
388
392
  if @protein_to_DNA.respond_to? :do_determine_the_DNA_sequence
389
393
  @protein_to_DNA.do_determine_the_DNA_sequence
390
394
  end
395
+ # ======================================================================= #
396
+ # Also update the nucleotide-analyser next:
397
+ # ======================================================================= #
398
+ @nucleotide_analyser.set_dna_sequence(
399
+ main_dna_sequence?.delete(' ')
400
+ )
391
401
  end
392
402
 
403
+ # ========================================================================= #
404
+ # === main_dna_sequence?
405
+ # ========================================================================= #
406
+ def main_dna_sequence?
407
+ @dna_to_aminoacid_widget.dna_sequence?
408
+ end; alias main_DNA_sequence? main_dna_sequence? # === main_DNA_sequence?
409
+
393
410
  end; end; end
394
411
 
395
412
  # =========================================================================== #
@@ -157,10 +157,17 @@ class DnaToAminoacidWidget < ::Gtk::Box # === Bioroebe::GUI::Gtk::DnaToAminoacid
157
157
  # === sync_the_entries_back_onto_the_two_main_strings
158
158
  # ========================================================================= #
159
159
  def sync_the_entries_back_onto_the_two_main_strings
160
- @dna_sequence = left_entry?.text.to_s
160
+ @dna_sequence = return_the_main_DNA_sequence
161
161
  @aminoacid_sequence = right_entry?.text.to_s
162
162
  end
163
163
 
164
+ # ========================================================================= #
165
+ # === dna_sequence?
166
+ # ========================================================================= #
167
+ def dna_sequence?
168
+ left_entry?.text.to_s
169
+ end; alias return_the_main_DNA_sequence dna_sequence? # === return_the_main_DNA_sequence
170
+
164
171
  # ========================================================================= #
165
172
  # === create_the_entries (entries tag)
166
173
  # ========================================================================= #
@@ -228,7 +235,7 @@ class DnaToAminoacidWidget < ::Gtk::Box # === Bioroebe::GUI::Gtk::DnaToAminoacid
228
235
  # === sanitized_half_width
229
236
  # ========================================================================= #
230
237
  def sanitized_half_width
231
- (@width / 2)- 30
238
+ (@width / 2) - 30
232
239
  end
233
240
 
234
241
  # ========================================================================= #
@@ -238,6 +245,17 @@ class DnaToAminoacidWidget < ::Gtk::Box # === Bioroebe::GUI::Gtk::DnaToAminoacid
238
245
  @left_entry
239
246
  end
240
247
 
248
+ # ========================================================================= #
249
+ # === do_properly_space_the_top_left_entry
250
+ # ========================================================================= #
251
+ def do_properly_space_the_top_left_entry
252
+ old_text = @left_entry.text?.delete(' ')
253
+ _ = old_text.
254
+ gsub(/(.{3})/,' \1').
255
+ lstrip
256
+ @left_entry.set_text(_)
257
+ end
258
+
241
259
  # ========================================================================= #
242
260
  # === entry_for_the_codon_table?
243
261
  # ========================================================================= #
@@ -264,7 +282,7 @@ class DnaToAminoacidWidget < ::Gtk::Box # === Bioroebe::GUI::Gtk::DnaToAminoacid
264
282
  # ========================================================================= #
265
283
  def update_the_dna_sequence_then_do_the_conversion
266
284
  set_dna_sequence(
267
- left_entry?.text
285
+ left_entry?.text.upcase # Upcasing this is more elegant, in my opinion.
268
286
  )
269
287
  do_the_conversion
270
288
  end
@@ -289,33 +307,6 @@ class DnaToAminoacidWidget < ::Gtk::Box # === Bioroebe::GUI::Gtk::DnaToAminoacid
289
307
  # @right_entry.on_click_event { :select_text }
290
308
  end
291
309
 
292
- # ========================================================================= #
293
- # === create_button_trigger_conversion
294
- # ========================================================================= #
295
- def create_button_trigger_conversion
296
- # ======================================================================= #
297
- # === @button_trigger_conversion
298
- # ======================================================================= #
299
- @button_trigger_conversion = gtk_bold_button('_Trigger Conversion')
300
- @button_trigger_conversion.disallow_resizing
301
- @button_trigger_conversion.set_size_request(125, 40)
302
- @button_trigger_conversion.lightgreen
303
- @button_trigger_conversion.set_background_colour :whitesmoke
304
- @button_trigger_conversion.on_clicked {
305
- update_the_dna_sequence_then_do_the_conversion
306
- }
307
- @button_trigger_conversion.bblack2
308
- # ======================================================================= #
309
- # Use a tooltip as well for our button:
310
- # ======================================================================= #
311
- @button_trigger_conversion.hint =
312
- "Clicking on this button will convert from a <b>DNA</b> "\
313
- "<b>sequence</b> \n(on the left hand side) to the <b>corresponding "\
314
- "Aminoacid sequence</b>.\n\nMake sure you input the DNA sequence "\
315
- "on the left hand side. The space character, aka ' ', will "\
316
- "be ignored."
317
- end
318
-
319
310
  # ========================================================================= #
320
311
  # === connect_skeleton (connect tag)
321
312
  # ========================================================================= #
@@ -325,9 +316,9 @@ class DnaToAminoacidWidget < ::Gtk::Box # === Bioroebe::GUI::Gtk::DnaToAminoacid
325
316
  # The two top labels denote which widget is the one for the DNA
326
317
  # sequence, and which one is for the aminoacid sequence.
327
318
  # ======================================================================= #
328
- dna_sequence_label = gtk_bold_label('DNA sequence')
319
+ dna_sequence_label = bold_label('DNA sequence')
329
320
  dna_sequence_label.set_size_request(sanitized_half_width, 42)
330
- aminoacid_sequence_label = gtk_bold_label('Aminoacid sequence')
321
+ aminoacid_sequence_label = bold_label('Aminoacid sequence')
331
322
  aminoacid_sequence_label.set_size_request(sanitized_half_width, 42)
332
323
  # ======================================================================= #
333
324
  # API for .attach() is:
@@ -357,6 +348,7 @@ class DnaToAminoacidWidget < ::Gtk::Box # === Bioroebe::GUI::Gtk::DnaToAminoacid
357
348
  dropdown_box.use_this_font = SMALLER_FONT
358
349
  dropdown_box.first_element_is_active
359
350
  dropdown_box.bblack1
351
+ dropdown_box.pad5px
360
352
  dropdown_box.hint = 'When a new codon table is assigned, via the '\
361
353
  'drop-down menu, then any assigned DNA sequence will be automatically '\
362
354
  'translated to its corresponding amino acid sequence.'
@@ -370,11 +362,16 @@ class DnaToAminoacidWidget < ::Gtk::Box # === Bioroebe::GUI::Gtk::DnaToAminoacid
370
362
  hbox.minimal(dropdown_box, 3)
371
363
  add(hbox)
372
364
  vbox = gtk_vbox
373
- @label_n_DNA_nucleotides = gtk_bold_label('n DNA nucleotides: ')
365
+ # ======================================================================= #
366
+ # === @label_n_DNA_nucleotides
367
+ # ======================================================================= #
368
+ @label_n_DNA_nucleotides = bold_label('n DNA nucleotides: ')
374
369
  @label_n_DNA_nucleotides.align_left
370
+ @label_n_DNA_nucleotides.make_selectable
375
371
  vbox.add(@label_n_DNA_nucleotides)
376
- @label_n_aminoacids = gtk_bold_label('n aminoacids: ')
372
+ @label_n_aminoacids = bold_label('n aminoacids: ')
377
373
  @label_n_aminoacids.align_left
374
+ @label_n_aminoacids.make_selectable
378
375
  vbox.add(@label_n_aminoacids)
379
376
  minimal(vbox)
380
377
  end
@@ -388,7 +385,7 @@ class DnaToAminoacidWidget < ::Gtk::Box # === Bioroebe::GUI::Gtk::DnaToAminoacid
388
385
  @header_bar.bblack1
389
386
  button_open_file = icon_theme(:open_file)
390
387
  button_open_file.hint = 'Click on this button to open a '\
391
- 'local FASTA file.'
388
+ 'local FASTA file.'
392
389
  button_open_file.on_clicked {
393
390
  result = do_pick_a_local_file
394
391
  if result and File.file?(result) and result.end_with?('.fasta','.fa')
@@ -410,9 +407,9 @@ class DnaToAminoacidWidget < ::Gtk::Box # === Bioroebe::GUI::Gtk::DnaToAminoacid
410
407
  current_folder: ::Bioroebe.log_dir?,
411
408
  additional_directories: [
412
409
  ::Bioroebe.log_dir?,
413
- ENV['PC'],
414
- ENV['MY_TEMP'],
415
- ENV['RSRC']
410
+ ENV['PC'].to_s,
411
+ ENV['MY_TEMP'].to_s,
412
+ ENV['RSRC'].to_s
416
413
  ]
417
414
  }}
418
415
  _ = ::Gtk.main_file?.to_s
@@ -505,17 +502,6 @@ class DnaToAminoacidWidget < ::Gtk::Box # === Bioroebe::GUI::Gtk::DnaToAminoacid
505
502
  set_dna_sequence(i)
506
503
  end
507
504
 
508
- # ========================================================================= #
509
- # === create_skeleton (create tag)
510
- # ========================================================================= #
511
- def create_skeleton
512
- create_the_header_bar
513
- create_grid
514
- create_button_trigger_conversion
515
- create_the_entries
516
- create_the_event_box
517
- end
518
-
519
505
  # ========================================================================= #
520
506
  # === set_aminoacid_sequence
521
507
  # ========================================================================= #
@@ -573,6 +559,46 @@ class DnaToAminoacidWidget < ::Gtk::Box # === Bioroebe::GUI::Gtk::DnaToAminoacid
573
559
  alias do_trigger_the_conversion do_the_conversion # === do_trigger_the_conversion
574
560
  alias do_determine_the_aminoacid_sequence do_the_conversion # === do_determine_the_aminoacid_sequence
575
561
 
562
+ # ========================================================================= #
563
+ # === create_skeleton (create tag)
564
+ # ========================================================================= #
565
+ def create_skeleton
566
+ create_the_header_bar
567
+ create_grid
568
+ create_button_trigger_conversion
569
+ create_the_entries
570
+ create_the_event_box
571
+ end
572
+
573
+ # ========================================================================= #
574
+ # === create_button_trigger_conversion
575
+ # ========================================================================= #
576
+ def create_button_trigger_conversion
577
+ # ======================================================================= #
578
+ # === @button_trigger_conversion
579
+ # ======================================================================= #
580
+ @button_trigger_conversion = bold_button('_Trigger Conversion')
581
+ @button_trigger_conversion.clear_background
582
+ @button_trigger_conversion.disallow_resizing
583
+ @button_trigger_conversion.set_size_request(125, 40)
584
+ @button_trigger_conversion.set_background_colour :whitesmoke
585
+ @button_trigger_conversion.on_hover(:lightgreen)
586
+ @button_trigger_conversion.on_clicked {
587
+ update_the_dna_sequence_then_do_the_conversion
588
+ do_properly_space_the_top_left_entry
589
+ }
590
+ @button_trigger_conversion.bblack2
591
+ # ======================================================================= #
592
+ # Use a tooltip as well for our button:
593
+ # ======================================================================= #
594
+ @button_trigger_conversion.hint =
595
+ "Clicking on this button will convert from a <b>DNA</b> "\
596
+ "<b>sequence</b> \n(on the left hand side) to the <b>corresponding "\
597
+ "Aminoacid sequence</b>.\n\nMake sure you input the DNA sequence "\
598
+ "on the left hand side. The space character, aka ' ', will "\
599
+ "be ignored."
600
+ end
601
+
576
602
  # ========================================================================= #
577
603
  # === run (run tag)
578
604
  # ========================================================================= #
@@ -584,7 +610,7 @@ class DnaToAminoacidWidget < ::Gtk::Box # === Bioroebe::GUI::Gtk::DnaToAminoacid
584
610
  # ========================================================================= #
585
611
  # === Bioroebe::GUI::Gtk::DnaToAminoacidWidget[]
586
612
  # ========================================================================= #
587
- def self.[](i = '')
613
+ def self.[](i = ARGV)
588
614
  new(i)
589
615
  end
590
616
 
@@ -598,8 +624,7 @@ class DnaToAminoacidWidget < ::Gtk::Box # === Bioroebe::GUI::Gtk::DnaToAminoacid
598
624
  _ = ::Bioroebe::GUI::Gtk::DnaToAminoacidWidget.new(i)
599
625
  r = ::Gtk.run
600
626
  r << _
601
- r.automatic_size_then_automatic_title
602
- r.top_left_then_run
627
+ r.automatic_top_left_then_run
603
628
  end; self.instance_eval { alias run_gtk3_widget run } # === Bioroebe::GUI::Gtk::DnaToAminoacidWidget.run_gtk3_widget
604
629
 
605
630
  end; end; end; end
@@ -177,9 +177,8 @@ class DnaToReverseComplementWidget < ::Gtk::Box # === Bioroebe::GUI::Gtk::DnaToR
177
177
  _ = ::Bioroebe::GUI::Gtk::DnaToReverseComplementWidget.new(i)
178
178
  r = ::Gtk.run
179
179
  r << _
180
- r.automatic_size_then_automatic_title
181
180
  r.enable_quick_exit
182
- r.top_left_then_run
181
+ r.automatic_top_left_then_run
183
182
  end; self.instance_eval { alias run_gtk3_widget run } # === Bioroebe::GUI::Gtk::DnaToReverseComplementWidget.run_gtk3_widget
184
183
 
185
184
  end; end; end; end