bioroebe 0.10.80 → 0.12.24

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -0,0 +1,165 @@
1
+ include Java
2
+
3
+ java_import javax.swing.JButton
4
+ java_import javax.swing.JFrame
5
+ java_import javax.swing.JLabel
6
+ java_import javax.swing.JPanel
7
+ java_import javax.swing.JTextArea
8
+ java_import javax.swing.JScrollBar
9
+ java_import javax.swing.JTextField
10
+ java_import javax.swing.JSpinner
11
+ java_import javax.swing.SpinnerNumberModel
12
+ java_import javax.swing.border.Border;
13
+ java_import java.lang.System
14
+ java_import java.awt.Font
15
+
16
+ module Bioroebe
17
+
18
+ module GUI
19
+
20
+ module Jruby
21
+
22
+ class Alignment < JFrame
23
+
24
+ require 'bioroebe/gui/shared_code/alignment/alignment_module.rb'
25
+ include Bioroebe::GUI::AlignmentModule
26
+
27
+ include ::Colours
28
+
29
+ require 'swing_paradise/awt/color.rb'
30
+ include SwingParadise::AWT
31
+
32
+ require 'swing_paradise/toplevel_methods/misc.rb'
33
+ include SwingParadise
34
+
35
+ require 'simple_widgets/simple_widgets.rb'
36
+ include SimpleWidgets
37
+ SimpleWidgets.use :jruby
38
+
39
+ # ========================================================================= #
40
+ # === LARGE_FONT
41
+ # ========================================================================= #
42
+ LARGE_FONT = Font.new('Sans serif', Font::PLAIN, 28)
43
+
44
+ # ========================================================================= #
45
+ # === MEDIUM_FONT
46
+ # ========================================================================= #
47
+ MEDIUM_FONT = Font.new('Sans serif', Font::PLAIN, 25)
48
+
49
+ # ========================================================================= #
50
+ # === MEDIUM_FONT_MONOSPACE
51
+ # ========================================================================= #
52
+ MEDIUM_FONT_MONOSPACE = Font.new('Monospace', Font::PLAIN, 25)
53
+
54
+ # ========================================================================= #
55
+ # === SMALL_FONT
56
+ # ========================================================================= #
57
+ SMALL_FONT = Font.new('Sans serif', Font::PLAIN, 22)
58
+
59
+ # ========================================================================= #
60
+ # === initialize
61
+ # ========================================================================= #
62
+ def initialize(
63
+ run_already = true
64
+ )
65
+ reset
66
+ run if run_already
67
+ end
68
+
69
+ # ========================================================================= #
70
+ # === reset (reset tag)
71
+ # ========================================================================= #
72
+ def reset
73
+ reset_the_internal_variables
74
+ reset_the_alignment_object
75
+ # reset_the_shared_module
76
+ end
77
+
78
+ # ========================================================================= #
79
+ # === run
80
+ # ========================================================================= #
81
+ def run
82
+ frame = jframe(TITLE)
83
+ panel = JPanel.new # This is an instance of Java::JavaxSwing::JPanel.
84
+ panel.set_font(MEDIUM_FONT)
85
+ frame.getContentPane.add(panel)
86
+ panel.no_layout
87
+ panel.hint = 'A Panel container'
88
+
89
+ label1 = jlabel(TEXT_INPUT_THE_SEQUENCES)
90
+ label1.font = MEDIUM_FONT
91
+ label1.setBounds(5, 20, 820, 25) # x, y, width, height
92
+
93
+ # ======================================================================= #
94
+ # Add the text-area next.
95
+ # ======================================================================= #
96
+ @text_view = JTextArea.new
97
+ @text_view.font = SMALL_FONT
98
+
99
+ @text_view.setBorder(javax.swing.BorderFactory.createLineBorder(Color.black, 2))
100
+ @text_view.setBounds(10, 60, 720, 400) # x, y, width, height
101
+ @text_view.background = WHITE
102
+
103
+ # ======================================================================= #
104
+ # === @entry_consensus_sequence
105
+ # ======================================================================= #
106
+ @entry_consensus_sequence = JTextField.new
107
+ @entry_consensus_sequence.center if @entry_consensus_sequence.respond_to?(:center)
108
+ @entry_consensus_sequence.setBounds(10, 460, 720, 40) # x, y, width, height
109
+ @entry_consensus_sequence.font = MEDIUM_FONT_MONOSPACE
110
+ @entry_numbers = JTextField.new
111
+ @entry_numbers.setBounds(10, 500, 720, 40) # x, y, width, height
112
+ @entry_numbers.font = MEDIUM_FONT_MONOSPACE
113
+
114
+ create_the_buttons
115
+ panel << label1
116
+ panel << @text_view
117
+ panel << @entry_consensus_sequence
118
+ panel << @entry_numbers
119
+ panel << @button_do_analyse
120
+ panel << @button_quit
121
+
122
+ frame.exit_on_close
123
+ frame.width_height = 1200, 900
124
+ frame.top_left
125
+ frame.show_all
126
+ end
127
+
128
+ # ========================================================================= #
129
+ # === create_the_buttons (buttons tag)
130
+ # ========================================================================= #
131
+ def create_the_buttons
132
+ # ======================================================================= #
133
+ # === @button_quit
134
+ # ======================================================================= #
135
+ @button_quit = quit_button
136
+ @button_quit.setBounds(130, 650, 300, 50)
137
+ @button_quit.hint = 'Click this button to quit the application.'
138
+ @button_quit.on_clicked {
139
+ do_quit
140
+ }
141
+ @button_do_analyse = button('Do analyse')
142
+ @button_do_analyse.setBounds(130, 600, 300, 44)
143
+ @button_do_analyse.on_clicked {
144
+ do_analyse
145
+ realign_the_numbers_showing_how_long_the_consensus_sequence_is
146
+ }
147
+ end
148
+
149
+ # ========================================================================= #
150
+ # === do_analyse
151
+ # ========================================================================= #
152
+ def do_analyse(
153
+ _ = @text_view.text?
154
+ )
155
+ _.strip!
156
+ @alignment.use_this_as_input(_)
157
+ consensus_sequence = return_the_consensus_sequence
158
+ @entry_consensus_sequence.set_text(consensus_sequence)
159
+ end
160
+
161
+ end; end; end; end
162
+
163
+ if __FILE__ == $PROGRAM_NAME
164
+ Bioroebe::GUI::Jruby::Alignment.new
165
+ end
@@ -0,0 +1,166 @@
1
+ include Java
2
+
3
+ java_import javax.swing.JButton
4
+ java_import javax.swing.JFrame
5
+ java_import javax.swing.JLabel
6
+ java_import javax.swing.JPanel
7
+ java_import javax.swing.JTextArea
8
+ java_import javax.swing.JScrollBar
9
+ java_import javax.swing.JTextField
10
+ java_import javax.swing.JSpinner
11
+ java_import javax.swing.SpinnerNumberModel
12
+ java_import javax.swing.border.Border;
13
+ java_import java.lang.System
14
+ java_import java.awt.Font
15
+
16
+ module Bioroebe
17
+
18
+ module GUI
19
+
20
+ module Jruby
21
+
22
+ class AminoacidComposition < JFrame
23
+
24
+ require 'bioroebe/gui/shared_code/aminoacid_composition/aminoacid_composition_module.rb'
25
+ include Bioroebe::GUI::AminoacidCompositionModule
26
+
27
+ include ::Colours
28
+
29
+ require 'swing_paradise/awt/color.rb'
30
+ include SwingParadise::AWT
31
+
32
+ require 'swing_paradise/toplevel_methods/misc.rb'
33
+ include SwingParadise
34
+ extend SwingParadise
35
+
36
+ require 'simple_widgets/simple_widgets.rb'
37
+ include SimpleWidgets
38
+ SimpleWidgets.use :jruby
39
+
40
+ # ========================================================================= #
41
+ # === LARGE_FONT
42
+ # ========================================================================= #
43
+ LARGE_FONT = jruby_font('Sans serif 28')
44
+
45
+ # ========================================================================= #
46
+ # === MEDIUM_FONT
47
+ # ========================================================================= #
48
+ MEDIUM_FONT = jruby_font('Sans serif 25')
49
+
50
+ # ========================================================================= #
51
+ # === MEDIUM_FONT_MONOSPACE
52
+ # ========================================================================= #
53
+ MEDIUM_FONT_MONOSPACE = jruby_font('Monospace 25')
54
+
55
+ # ========================================================================= #
56
+ # === SMALL_FONT
57
+ # ========================================================================= #
58
+ SMALL_FONT = jruby_font('Sans serif 22')
59
+
60
+ # ========================================================================= #
61
+ # === initialize
62
+ # ========================================================================= #
63
+ def initialize(
64
+ run_already = true
65
+ )
66
+ reset
67
+ run if run_already
68
+ end
69
+
70
+ # ========================================================================= #
71
+ # === reset (reset tag)
72
+ # ========================================================================= #
73
+ def reset
74
+ reset_the_internal_variables
75
+ end
76
+
77
+ # ========================================================================= #
78
+ # === run
79
+ # ========================================================================= #
80
+ def run
81
+ frame = jframe(TITLE)
82
+ panel = JPanel.new # This is an instance of Java::JavaxSwing::JPanel.
83
+ panel.set_font(MEDIUM_FONT)
84
+ frame.getContentPane.add(panel)
85
+ panel.no_layout
86
+ panel.hint = 'A Panel container'
87
+
88
+ label1 = jlabel(TITLE)
89
+ label1.font = MEDIUM_FONT
90
+ label1.setBounds(5, 20, 820, 25) # x, y, width, height
91
+
92
+ # ======================================================================= #
93
+ # Add the text-area next.
94
+ # ======================================================================= #
95
+ @text_view = JTextArea.new
96
+ @text_view.font = SMALL_FONT
97
+ @text_view.setBorder(javax.swing.BorderFactory.createLineBorder(Color.black, 2))
98
+ @text_view.setBounds(10, 110, 720, 400) # x, y, width, height
99
+ @text_view.background = WHITE
100
+
101
+ # ======================================================================= #
102
+ # === @entry_user_input
103
+ # ======================================================================= #
104
+ @entry_user_input = JTextField.new
105
+ @entry_user_input.setBounds(10, 65, 720, 35) # x, y, width, height
106
+ @entry_user_input.font = MEDIUM_FONT_MONOSPACE
107
+ @entry_user_input.background = LIGHT_YELLOW
108
+
109
+ @entry_user_input.addKeyListener {|event|
110
+ # char = event.key_char.chr.to_s
111
+ @entry_user_input.set_text(@entry_user_input.text?.upcase) # Upcase it.
112
+ update_the_label_n_aminoacids
113
+ }
114
+ @label_n_aminoacids = text('ABC')
115
+ @label_n_aminoacids.font = MEDIUM_FONT_MONOSPACE
116
+ update_the_label_n_aminoacids
117
+ @label_n_aminoacids.setBounds(770, 65, 450, 35) # x, y, width, height
118
+ create_the_buttons
119
+ panel << label1
120
+ panel << @text_view
121
+ panel << @entry_user_input
122
+ panel << @label_n_aminoacids
123
+ panel << @button_do_analyse
124
+ panel << @button_quit
125
+
126
+ frame.exit_on_close
127
+ frame.width_height = 1400, 900
128
+ frame.top_left
129
+ frame.show_all
130
+ end
131
+
132
+ # ========================================================================= #
133
+ # === create_the_buttons (buttons tag)
134
+ # ========================================================================= #
135
+ def create_the_buttons
136
+ # ======================================================================= #
137
+ # === @button_quit
138
+ # ======================================================================= #
139
+ @button_quit = quit_button
140
+ @button_quit.setBounds(130, 650, 300, 50)
141
+ @button_quit.hint = 'Click this button to quit the application.'
142
+ @button_quit.on_clicked {
143
+ do_quit
144
+ }
145
+ @button_do_analyse = button('Do analyse')
146
+ @button_do_analyse.setBounds(130, 600, 300, 44)
147
+ @button_do_analyse.on_clicked {
148
+ do_xyz
149
+ update_the_label_n_aminoacids
150
+ }
151
+ end
152
+
153
+ # ========================================================================= #
154
+ # === update_the_label_n_aminoacids
155
+ # ========================================================================= #
156
+ def update_the_label_n_aminoacids
157
+ @label_n_aminoacids.set_text(
158
+ return_how_many_aminoacids_are_in_the_sequence
159
+ )
160
+ end
161
+
162
+ end; end; end; end
163
+
164
+ if __FILE__ == $PROGRAM_NAME
165
+ Bioroebe::GUI::Jruby::AminoacidComposition.new
166
+ end
@@ -4,6 +4,8 @@
4
4
  # =========================================================================== #
5
5
  # === Bioroebe::GUI::LibUI::Alignment
6
6
  # =========================================================================== #
7
+ # require 'bioroebe/gui/libui/alignment/alignment.rb'
8
+ # =========================================================================== #
7
9
  require 'bioroebe/constants/GUIs.rb'
8
10
 
9
11
  module Bioroebe
@@ -79,7 +81,6 @@ module Alignment # === Bioroebe::GUI::LibUI::Alignment
79
81
  @button_do_analyse.on_clicked {
80
82
  do_analyse
81
83
  }
82
-
83
84
  outer_vbox << @button_do_analyse
84
85
  outer_vbox << @entry_consensus_sequence
85
86
  main_window.child = outer_vbox
@@ -105,6 +106,7 @@ module Alignment # === Bioroebe::GUI::LibUI::Alignment
105
106
  object = Object.new
106
107
  object.extend(Alignment)
107
108
  object.reset_then_run
109
+ return object
108
110
  end
109
111
 
110
112
  end; end; end; end
@@ -0,0 +1,116 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # === LibuiParadise::GUI::LibUI::Prototype
6
+ # =========================================================================== #
7
+ module LibuiParadise
8
+
9
+ module GUI
10
+
11
+ module LibUI
12
+
13
+ class Prototype # === LibuiParadise::GUI::LibUI::Prototype
14
+
15
+ require 'libui_paradise/extensions/extensions.rb'
16
+ include LibuiParadise::Extensions
17
+
18
+ require 'bioroebe/gui/libui/alignment/alignment.rb'
19
+
20
+ # ========================================================================= #
21
+ # === TITLE
22
+ # ========================================================================= #
23
+ TITLE = 'A prototype for LibUI'
24
+
25
+ # ========================================================================= #
26
+ # === WIDTH
27
+ # ========================================================================= #
28
+ WIDTH = 680
29
+
30
+ # ========================================================================= #
31
+ # === HEIGHT
32
+ # ========================================================================= #
33
+ HEIGHT = 520
34
+
35
+ # ========================================================================= #
36
+ # === initialize
37
+ # ========================================================================= #
38
+ def initialize(
39
+ run_already = true
40
+ )
41
+ reset
42
+ run if run_already
43
+ end
44
+
45
+ # ========================================================================= #
46
+ # === reset (reset tag)
47
+ # ========================================================================= #
48
+ def reset
49
+ title_width_height(TITLE, WIDTH, HEIGHT)
50
+ end
51
+
52
+ # ========================================================================= #
53
+ # === create_skeleton (create tag, skeleton tag)
54
+ # ========================================================================= #
55
+ def create_skeleton
56
+ # ======================================================================= #
57
+ # === @window
58
+ # ======================================================================= #
59
+ @window = ui_padded_main_window(title?, width?, height?, 0)
60
+ end
61
+
62
+ # ========================================================================= #
63
+ # === run
64
+ # ========================================================================= #
65
+ def run
66
+ create_skeleton_then_connect_skeleton
67
+ outer_vbox = padded_vbox
68
+ # ======================================================================= #
69
+ # First add the two buttons on top:
70
+ # ======================================================================= #
71
+ hbox_on_top = padded_hbox
72
+ button_refresh = ui_button('Refresh')
73
+ button_refresh.on_clicked {
74
+ e 'TODO: Refresh this ... or add any other functionality.'
75
+ }
76
+ hbox_on_top.maximal(button_refresh)
77
+ hbox_on_top.maximal(quit_button)
78
+ tab = LibuiParadise.tab
79
+ outer_vbox.maximal(tab)
80
+ outer_vbox.minimal(hbox_on_top)
81
+ outer_vbox.add_hsep
82
+
83
+ grid = ui_padded_grid
84
+ # widget, left, top, xspan, yspan, hexpand, halign, vexpand, valign
85
+ grid.ui_grid_append(text('Left'), 0, 0, 1, 1, 0, 0.5, 1, 0)
86
+ grid.ui_grid_append(text('Right'), 1, 0, 1, 1, 0, 0.5, 1, 0)
87
+
88
+ 3.times.each {|index| index += 1
89
+ # ===================================================================== #
90
+ # left, top, xspan, yspan, hexpand, halign, vexpand, valign
91
+ # 0, 0, 2, 1, 0, 0, 1, 0
92
+ # ===================================================================== #
93
+ grid.ui_grid_append(text(index.to_s), 0, 1+index, 1, 1, 1, 1, 1, 1)
94
+ label_exam_topic = text(entry.to_s)
95
+ grid.ui_grid_append(label_exam_topic, 1, 1+index, 1, 1, 1, 1, 1, 1)
96
+ }
97
+ outer_vbox.maximal(grid)
98
+
99
+
100
+ hbox2 = create_hbox
101
+
102
+ #alignment = Object.new
103
+ #alignment.extend(Bioroebe::GUI::LibUI::Alignment)
104
+ #alignment.reset_then_run
105
+ #::LibUI.tab_append(tab, 'Page 1', alignment)
106
+ ::LibUI.tab_append(tab, 'Page 2', hbox2)
107
+
108
+ @window.add(outer_vbox)
109
+ @window.intelligent_exit
110
+ end
111
+
112
+ end; end; end; end
113
+
114
+ if __FILE__ == $PROGRAM_NAME
115
+ LibuiParadise::GUI::LibUI::Prototype.new
116
+ end
@@ -55,7 +55,7 @@ module RandomSequence # === Bioroebe::GUI::LibUI::RandomSequence
55
55
  # ========================================================================= #
56
56
  def reset
57
57
  end
58
-
58
+
59
59
  # ========================================================================= #
60
60
  # === create_skeleton (create tag)
61
61
  # ========================================================================= #
@@ -125,6 +125,11 @@ module RandomSequence # === Bioroebe::GUI::LibUI::RandomSequence
125
125
  def do_generate_a_random_sequence_using_the_value_from_the_proper_entry(
126
126
  i = n_aminoacids?
127
127
  )
128
+ i = i.to_i
129
+ if i > 5_000_000
130
+ i = 5_000_000
131
+ set_main_entry(i.to_s)
132
+ end
128
133
  do_generate_a_random_sequence(i)
129
134
  end
130
135
 
@@ -138,7 +143,11 @@ module RandomSequence # === Bioroebe::GUI::LibUI::RandomSequence
138
143
  when nil, :default
139
144
  n_aminoacids = GENERATE_N_AMINOACIDS_BY_DEFAULT
140
145
  end
141
- n_aminoacids = n_aminoacids.to_s
146
+ n_aminoacids = n_aminoacids.to_i
147
+ if n_aminoacids > 5_000_000
148
+ n_aminoacids = 5_000_000
149
+ set_main_entry(n_aminoacids.to_s)
150
+ end
142
151
  use_this_as_the_new_sequence = ::Bioroebe.create_random_aminoacids(n_aminoacids).to_s
143
152
  array1 = ::Bioroebe.return_array_of_common_aminoacids
144
153
  array2 = Bioroebe::CountAmountOfAminoacids.return_composition_hash(use_this_as_the_new_sequence).values.map(&:to_s)
@@ -158,6 +167,13 @@ module RandomSequence # === Bioroebe::GUI::LibUI::RandomSequence
158
167
  @entry_use_this_length.text?.to_s
159
168
  end
160
169
 
170
+ # ========================================================================= #
171
+ # === set_main_entry
172
+ # ========================================================================= #
173
+ def set_main_entry(i)
174
+ @entry_use_this_length.set_text(i.to_s)
175
+ end
176
+
161
177
  # ========================================================================= #
162
178
  # === Bioroebe::GUI::LibUI::RandomSequence.run
163
179
  # ========================================================================= #
@@ -4,6 +4,8 @@
4
4
  # =========================================================================== #
5
5
  # === Bioroebe::GUI::LibUI::ShowCodonTable
6
6
  # =========================================================================== #
7
+ # require 'bioroebe/gui/libui/show_codon_table/show_codon_table.rb'
8
+ # =========================================================================== #
7
9
  require 'bioroebe/constants/GUIs.rb'
8
10
 
9
11
  module Bioroebe
@@ -35,11 +35,10 @@ module ThreeToOne # === Bioroebe::GUI::LibUI::ThreeToOne
35
35
  # === create_skeleton (create tag)
36
36
  # ========================================================================= #
37
37
  def create_skeleton
38
- @entry1 = ui_entry
39
- @entry2 = ui_entry
40
- @checkbox1 = ui_checkbox
41
- @checkbox1.is_active
42
- @checkbox2 = ui_checkbox
38
+ @entry1 = entry
39
+ @entry2 = entry
40
+ @checkbox1 = checked_checkbox
41
+ @checkbox2 = checkbox
43
42
  end
44
43
 
45
44
  # ========================================================================= #
@@ -72,7 +71,7 @@ module ThreeToOne # === Bioroebe::GUI::LibUI::ThreeToOne
72
71
  small_hbox2 << ui_text('1-to-3 conversion')
73
72
  small_hbox2 << @checkbox2
74
73
  vbox_with_checkbuttons << small_hbox2
75
-
74
+ vbox_with_checkbuttons << quit_button
76
75
  bottom_hbox << vbox_with_checkbuttons
77
76
  outer_vbox << bottom_hbox
78
77
  main_window.child = outer_vbox
@@ -92,6 +91,9 @@ module ThreeToOne # === Bioroebe::GUI::LibUI::ThreeToOne
92
91
  else
93
92
  new_result = Bioroebe.one_to_three(i.delete('-')).to_s
94
93
  end
94
+ if new_result and new_result.empty?
95
+ error_msg('No result found. Is it a three-letter aminoacid?')
96
+ end
95
97
  @entry2.set_text(new_result) if new_result and !new_result.empty?
96
98
  end; alias do_the_conversion do_trigger_the_conversion # === do_the_conversion
97
99
 
@@ -0,0 +1,102 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # === Bioroebe::GUI::AlignmentModule
6
+ #
7
+ # Usage example:
8
+ #
9
+ # Alignment.new(ARGV)
10
+ #
11
+ # =========================================================================== #
12
+ # require 'bioroebe/gui/shared_code/alignment/alignment_module.rb'
13
+ # include Bioroebe::GUI::AlignmentModule
14
+ # =========================================================================== #
15
+ module Bioroebe
16
+
17
+ module GUI
18
+
19
+ module AlignmentModule # === Bioroebe::GUI::AlignmentModule
20
+
21
+ require 'colours'
22
+ require 'bioroebe/sequence/alignment.rb'
23
+
24
+ # ========================================================================= #
25
+ # === TITLE
26
+ # ========================================================================= #
27
+ TITLE = 'Alignment'
28
+
29
+ # ========================================================================= #
30
+ # === TEXT_INPUT_THE_SEQUENCES
31
+ # ========================================================================= #
32
+ TEXT_INPUT_THE_SEQUENCES = 'Input the sequences that you wish '\
33
+ 'to compare to one another'
34
+
35
+ # ========================================================================= #
36
+ # === WIDTH
37
+ # ========================================================================= #
38
+ WIDTH = '35% or 300px minimum'
39
+
40
+ # ========================================================================= #
41
+ # === HEIGHT
42
+ # ========================================================================= #
43
+ HEIGHT = '45% or 200px minimum'
44
+
45
+ # ========================================================================= #
46
+ # === USE_THIS_FONT
47
+ # ========================================================================= #
48
+ USE_THIS_FONT = :dejavu_condensed_20
49
+
50
+ # ========================================================================= #
51
+ # === FONT_FOR_THE_ENTRIES
52
+ #
53
+ # The entries must use a mono-spaced font.
54
+ # ========================================================================= #
55
+ FONT_FOR_THE_ENTRIES = :hack_20
56
+
57
+ # ========================================================================= #
58
+ # === reset_the_alignment_object
59
+ # ========================================================================= #
60
+ def reset_the_alignment_object
61
+ # ======================================================================= #
62
+ # === @alignment
63
+ # ======================================================================= #
64
+ @alignment = Bioroebe::Alignment.new(nil, :do_not_run_yet)
65
+ end
66
+
67
+ # ========================================================================= #
68
+ # === return_the_consensus_sequence
69
+ # ========================================================================= #
70
+ def return_the_consensus_sequence
71
+ @alignment.consensus_sequence?
72
+ end
73
+
74
+ # ========================================================================= #
75
+ # === text_view_widget?
76
+ # ========================================================================= #
77
+ def text_view_widget?
78
+ @text_view
79
+ end
80
+
81
+ # ========================================================================= #
82
+ # === realign_the_numbers_showing_how_long_the_consensus_sequence_is
83
+ # ========================================================================= #
84
+ def realign_the_numbers_showing_how_long_the_consensus_sequence_is
85
+ @entry_numbers.center if @entry_numbers.respond_to?(:center)
86
+ n_characters = @entry_consensus_sequence.text?.size
87
+ @entry_numbers.set_text(return_fill_up_to(n_characters))
88
+ end
89
+
90
+ # ========================================================================= #
91
+ # === return_fill_up_to
92
+ # ========================================================================= #
93
+ def return_fill_up_to(i)
94
+ _ = ''.dup
95
+ i.times {|counter|
96
+ counter = (counter+1) % 10
97
+ _ << counter.to_s
98
+ }
99
+ return _
100
+ end
101
+
102
+ end; end; end