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
@@ -17,20 +17,22 @@ module CommandlineArguments # === Bioroebe::CommandlineApplication
17
17
  # ========================================================================= #
18
18
  def reset
19
19
  super()
20
+ reset_the_internal_hash
20
21
  # ======================================================================= #
21
22
  # === @namespace
22
23
  # ======================================================================= #
23
- @namespace = Bioroebe::Base::NAMESPACE
24
+ # @namespace = Bioroebe::Base::NAMESPACE
25
+ infer_the_namespace
24
26
  # ======================================================================= #
25
27
  # === @commandline_arguments
26
28
  # ======================================================================= #
27
29
  @commandline_arguments = []
28
30
  # ======================================================================= #
29
- # === @be_verbose
31
+ # === :be_verbose
30
32
  #
31
33
  # By default, CommandlineApplication will report a lot of stuff.
32
34
  # ======================================================================= #
33
- @be_verbose = true
35
+ set_be_verbose
34
36
  # ======================================================================= #
35
37
  # === @use_colours
36
38
  # ======================================================================= #
@@ -0,0 +1,42 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # === Bioroebe::InternalHashModule
6
+ #
7
+ # Usage example:
8
+ #
9
+ # Bioroebe::InternalHashModule.new(ARGV)
10
+ #
11
+ # =========================================================================== #
12
+ # require 'bioroebe/base/internal_hash_module/internal_hash_module.rb'
13
+ # include Bioroebe::InternalHashModule
14
+ # =========================================================================== #
15
+ module Bioroebe
16
+
17
+ module InternalHashModule # === Bioroebe::InternalHashModule
18
+
19
+ # ========================================================================= #
20
+ # === reset_the_internal_hash
21
+ # ========================================================================= #
22
+ def reset_the_internal_hash
23
+ # ======================================================================= #
24
+ # === @internal_hash
25
+ # ======================================================================= #
26
+ @internal_hash = {}
27
+ end
28
+
29
+ # ========================================================================= #
30
+ # === internal_hash?
31
+ #
32
+ # Query-method over the @internal_hash instance variable.
33
+ # ========================================================================= #
34
+ def internal_hash?
35
+ @internal_hash
36
+ end; alias ihash? internal_hash? # === ihash?
37
+
38
+ end; end
39
+
40
+ if __FILE__ == $PROGRAM_NAME
41
+ include Bioroebe::InternalHashModule
42
+ end # internal_hash_module.rb
@@ -10,6 +10,13 @@ class Base
10
10
 
11
11
  require 'bioroebe/toplevel_methods/file_and_directory_related_actions.rb'
12
12
 
13
+ # ========================================================================= #
14
+ # === namespace?
15
+ # ========================================================================= #
16
+ def namespace?
17
+ @namespace
18
+ end
19
+
13
20
  # ========================================================================= #
14
21
  # === is_palindrome?
15
22
  # ========================================================================= #
@@ -91,4 +98,32 @@ class Base
91
98
  ::Bioroebe.project_yaml_directory?
92
99
  end; alias yaml_directory? project_yaml_directory? # === yaml_directory?
93
100
 
101
+ # ========================================================================= #
102
+ # === infer_the_namespace
103
+ #
104
+ # This will assume the true namespace from the inspectable name.
105
+ # ========================================================================= #
106
+ def infer_the_namespace
107
+ _ = inspect.to_s.delete('<')
108
+ _ = _.split(':0').first if _.include?(':0')
109
+ if _.include? ' '
110
+ _ = _.split(' ').first.delete('#')
111
+ if _.include? ':'
112
+ _ = _.split(':')[0 .. -2].reject {|entry| entry.empty? }.join('::')
113
+ end
114
+ end
115
+ _.delete!('#') if _.include?('#')
116
+ @namespace = _ # And assign it here.
117
+ end
118
+
119
+ # ========================================================================= #
120
+ # === word_wrap
121
+ # ========================================================================= #
122
+ def word_wrap(
123
+ text,
124
+ line_width = 80
125
+ )
126
+ return text.scan(/\S.{0,#{line_width}}\S(?=\s|$)|\S+/).join(N)
127
+ end
128
+
94
129
  end; end
@@ -6,19 +6,32 @@
6
6
  # =========================================================================== #
7
7
  module Bioroebe
8
8
 
9
- class Base
9
+ class Base # === Bioroebe::Base
10
10
 
11
11
  require 'bioroebe/requires/require_encoding.rb'
12
12
  require 'bioroebe/toplevel_methods/file_and_directory_related_actions.rb'
13
13
  require 'bioroebe/toplevel_methods/rds.rb'
14
14
 
15
+ require 'bioroebe/base/base_module/base_module.rb'
16
+ include Bioroebe::BaseModule
17
+
18
+ # ========================================================================= #
19
+ # === return_the_first_line_of_this_file
20
+ # ========================================================================= #
21
+ def return_the_first_line_of_this_file(i)
22
+ if File.exist? i
23
+ return File.open(i) {|this_file| this_file.readline.strip }
24
+ end
25
+ return i
26
+ end
27
+
15
28
  require 'bioroebe/toplevel_methods/is_on_roebe.rb'
16
29
  # ========================================================================= #
17
30
  # === is_on_roebe?
18
31
  # ========================================================================= #
19
32
  def is_on_roebe?
20
33
  ::Bioroebe.is_on_roebe?
21
- end
34
+ end; alias on_roebe? is_on_roebe? # === on_roebe?
22
35
 
23
36
  # ========================================================================= #
24
37
  # === main_encoding?
@@ -98,11 +111,4 @@ class Base
98
111
  ::Bioroebe.no_file_exists_at(i)
99
112
  end
100
113
 
101
- # ========================================================================= #
102
- # === file_readlines
103
- # ========================================================================= #
104
- def file_readlines(i)
105
- File.readlines(i, encoding: main_encoding?)
106
- end; alias readlines file_readlines # === readlines
107
-
108
114
  end; end
@@ -13,6 +13,9 @@ module Bioroebe
13
13
 
14
14
  class Base
15
15
 
16
+ require 'bioroebe/base/internal_hash_module/internal_hash_module.rb'
17
+ include Bioroebe::InternalHashModule
18
+
16
19
  # ========================================================================= #
17
20
  # === reset (reset tag)
18
21
  # ========================================================================= #
@@ -23,4 +26,11 @@ class Base
23
26
  @namespace = NAMESPACE # We store the namespace here.
24
27
  end
25
28
 
29
+ # # ========================================================================= #
30
+ # # === reset_the_internal_hash
31
+ # # ========================================================================= #
32
+ # def reset_the_internal_hash
33
+ # @internal_hash = {}
34
+ # end
35
+
26
36
  end; end
@@ -25,10 +25,18 @@ class Digestion < ::Bioroebe::CommandlineApplication # === Bioroebe::Digestion
25
25
  # ========================================================================= #
26
26
  def reset
27
27
  super()
28
+ reset_the_internal_hash # Always allow for @internal_hash to exist here.
28
29
  # ======================================================================= #
29
- # === @show_the_weight_of_these_aminoacids
30
+ # === :show_the_weight_of_these_aminoacids
30
31
  # ======================================================================= #
31
- @show_the_weight_of_these_aminoacids = true
32
+ @internal_hash[:show_the_weight_of_these_aminoacids] = true
33
+ end
34
+
35
+ # ========================================================================= #
36
+ # === show_the_weight_of_these_aminoacids?
37
+ # ========================================================================= #
38
+ def show_the_weight_of_these_aminoacids?
39
+ @internal_hash[:show_the_weight_of_these_aminoacids]
32
40
  end
33
41
 
34
42
  # ========================================================================= #
@@ -4,7 +4,12 @@
4
4
  # =========================================================================== #
5
5
  # === Bioroebe::Trypsin
6
6
  #
7
- # This class will simulate a digestion done via Trypsine.
7
+ # This class will simulate a digestion done via Trypsin. It is a
8
+ # subclass of class Digestion.
9
+ #
10
+ # Trypsin is a serine protease. It will actually cleave proteins
11
+ # into peptides with an average size of 700-1500 daltons. This makes
12
+ # it ideally suited for application in Mass Spectrometry.
8
13
  #
9
14
  # Usage example:
10
15
  #
@@ -27,12 +32,26 @@ class Trypsin < ::Bioroebe::Digestion # === Bioroebe::Trypsin
27
32
  # ========================================================================= #
28
33
  def initialize(
29
34
  commandline_arguments = nil,
30
- run_already = true
35
+ run_already = true,
36
+ &block
31
37
  )
32
38
  reset
33
39
  set_commandline_arguments(
34
40
  commandline_arguments
35
41
  )
42
+ # ======================================================================= #
43
+ # === Handle blocks given to this method next
44
+ # ======================================================================= #
45
+ if block_given?
46
+ yielded = yield
47
+ case yielded
48
+ # ===================================================================== #
49
+ # === :be_quiet
50
+ # ===================================================================== #
51
+ when :be_quiet
52
+ set_be_quiet
53
+ end
54
+ end
36
55
  run if run_already
37
56
  end
38
57
 
@@ -41,17 +60,21 @@ class Trypsin < ::Bioroebe::Digestion # === Bioroebe::Trypsin
41
60
  # ========================================================================= #
42
61
  def reset
43
62
  super()
63
+ set_be_verbose
44
64
  # ======================================================================= #
45
65
  # === @array_cut_at_these_aminoacids
66
+ #
67
+ # This variable ensures that trypsine cuts after lysines (K) and
68
+ # arginines (R).
46
69
  # ======================================================================= #
47
70
  @array_cut_at_these_aminoacids = %w( K R )
48
71
  # ======================================================================= #
49
- # === @array_peptide_fragments
72
+ # === :array_peptide_fragments
50
73
  #
51
74
  # This class will store the peptide fragments into this unsorted
52
75
  # Array.
53
76
  # ======================================================================= #
54
- @array_peptide_fragments = []
77
+ @internal_hash[:array_peptide_fragments] = []
55
78
  end
56
79
 
57
80
  # ========================================================================= #
@@ -60,7 +83,8 @@ class Trypsin < ::Bioroebe::Digestion # === Bioroebe::Trypsin
60
83
  # This method will perform the digestion.
61
84
  # ========================================================================= #
62
85
  def perform_the_digestion(
63
- array_cut_at_these_aminoacids = @array_cut_at_these_aminoacids
86
+ array_cut_at_these_aminoacids =
87
+ @array_cut_at_these_aminoacids
64
88
  )
65
89
  # ======================================================================= #
66
90
  # Trypsin splits at K and R, so we split on that.
@@ -89,63 +113,78 @@ class Trypsin < ::Bioroebe::Digestion # === Bioroebe::Trypsin
89
113
  end
90
114
 
91
115
  # ========================================================================= #
92
- # === report
116
+ # === display_the_result_similar_to_pp_output
117
+ # ========================================================================= #
118
+ def display_the_result_similar_to_pp_output
119
+ print '['
120
+ @result.each_with_index {|entry, index|
121
+ print entry
122
+ print ', ' unless index == (@result.size - 1)
123
+ }
124
+ print ']'
125
+ e
126
+ end
127
+
128
+ # ========================================================================= #
129
+ # === report (report tag)
93
130
  # ========================================================================= #
94
131
  def report
95
- @array_peptide_fragments.clear
132
+ @internal_hash[:array_peptide_fragments].clear
96
133
  if @result.empty?
97
134
  erev 'No cut-sequence was found for Trypsin. (Make sure to '\
98
135
  'input an aminoacid sequence.)'
99
136
  else
100
137
  the_sequence = first?
101
- print '['; @result.each_with_index {|entry, index|
102
- print entry
103
- print ', ' unless index == (@result.size - 1)
104
- }; print ']'; e
105
- erev 'The following peptide fragments would be obtained '\
106
- 'if this were to be cut via Trypsin:'
107
- e
108
138
  old_position = 0
109
- erev ''.ljust(36)+the_sequence
110
- e ''.ljust(36)+
111
- colourize_this_aminoacid_sequence_for_the_commandline(
112
- the_sequence
113
- )
114
- e ''.ljust(36)+
115
- mediumturquoise_1_to_10+
116
- mediumturquoise_1_to_10+
117
- mediumturquoise_1_to_10+
118
- mediumturquoise_1_to_10+
119
- mediumturquoise_1_to_10
120
-
139
+ if be_verbose?
140
+ display_the_result_similar_to_pp_output
141
+ erev 'The following peptide fragments would be obtained '\
142
+ 'if this were to be cut via Trypsin:'
143
+ e
144
+ erev ''.ljust(36)+the_sequence
145
+ e ''.ljust(36)+
146
+ colourize_this_aminoacid_sequence_for_the_commandline(
147
+ the_sequence
148
+ )
149
+ e ''.ljust(36)+
150
+ mediumturquoise_1_to_10+
151
+ mediumturquoise_1_to_10+
152
+ mediumturquoise_1_to_10+
153
+ mediumturquoise_1_to_10+
154
+ mediumturquoise_1_to_10
155
+ end
121
156
  @result.each {|this_position|
122
157
  this_subsequence = the_sequence[old_position .. (this_position - 1)]
123
158
  old_position = this_position
124
- erev ' after the aminoacid-position '+
125
- sfancy(this_position.to_s.rjust(3))+
126
- rev+
127
- ': '+
128
- steelblue(
129
- this_subsequence
130
- )+crimson('↓')+
131
- rev
159
+ if be_verbose?
160
+ erev ' after the aminoacid-position '+
161
+ sfancy(this_position.to_s.rjust(3))+
162
+ rev+
163
+ ': '+
164
+ steelblue(
165
+ this_subsequence
166
+ )+crimson('↓')+
167
+ rev
168
+ end
132
169
  # =================================================================== #
133
170
  # === Show the weight of these aminoacids, if instructed to do so
134
171
  # =================================================================== #
135
- if @show_the_weight_of_these_aminoacids
136
- weight_of_this_peptide_fragment = Bioroebe.weight_of_this_aminoacid?(
137
- this_subsequence.split(//)
138
- ).round(5)
139
- @array_peptide_fragments << [
140
- this_subsequence, weight_of_this_peptide_fragment
141
- ]
172
+ weight_of_this_peptide_fragment = Bioroebe.weight_of_this_aminoacid?(
173
+ this_subsequence.split(//)
174
+ ).round(5)
175
+ @internal_hash[:array_peptide_fragments] << [
176
+ this_subsequence, weight_of_this_peptide_fragment
177
+ ]
178
+ if show_the_weight_of_these_aminoacids? and be_verbose?
142
179
  erev ''.ljust(36)+'Weight of this peptide fragment: '+
143
180
  olivedrab(weight_of_this_peptide_fragment.to_s)
144
- end
181
+ end
145
182
  }
146
- e
147
- unless @array_peptide_fragments.empty?
148
- show_sorted_peptide_fragments(@array_peptide_fragments)
183
+ if be_verbose?
184
+ e
185
+ unless @internal_hash[:array_peptide_fragments].empty?
186
+ show_sorted_peptide_fragments(@internal_hash[:array_peptide_fragments])
187
+ end
149
188
  end
150
189
  end
151
190
  end
@@ -154,10 +193,11 @@ class Trypsin < ::Bioroebe::Digestion # === Bioroebe::Trypsin
154
193
  # === show_sorted_peptide_fragments
155
194
  # ========================================================================= #
156
195
  def show_sorted_peptide_fragments(
157
- i = @array_peptide_fragments
196
+ i = @internal_hash[:array_peptide_fragments]
158
197
  )
159
198
  sorted = i.sort_by {|fragment, weight| weight}.reverse
160
- erev 'Next, the five heaviest fragments will be shown:'
199
+ erev 'Next, the '+steelblue('five heaviest fragments')+
200
+ rev+' will be shown:'
161
201
  e
162
202
  # ======================================================================= #
163
203
  # Only the top 5 heaviest fragments will be shown:
@@ -181,12 +221,26 @@ class Trypsin < ::Bioroebe::Digestion # === Bioroebe::Trypsin
181
221
  # ========================================================================= #
182
222
  # === Bioroebe::Trypsin[]
183
223
  # ========================================================================= #
184
- def self.[](i = '')
224
+ def self.[](i = ARGV)
185
225
  new(i)
186
226
  end
187
227
 
188
- end; end
228
+ end
229
+
230
+ # =========================================================================== #
231
+ # === Bioroebe.return_array_from_tryptic_digest
232
+ # =========================================================================== #
233
+ def self.return_array_from_tryptic_digest(
234
+ of_this_sequence = ARGV
235
+ )
236
+ if of_this_sequence.is_a? Array
237
+ of_this_sequence = of_this_sequence.first
238
+ end
239
+ Bioroebe::Trypsin.new(of_this_sequence) { :be_quiet }
240
+ end
241
+
242
+ end
189
243
 
190
244
  if __FILE__ == $PROGRAM_NAME
191
245
  Bioroebe::Trypsin.new(ARGV)
192
- end # trypsin
246
+ end # trypsin GGGRRRLSMLLLSLELERRLKKLKLRR
@@ -26,11 +26,6 @@ class ParseFrequencyTable < ::Bioroebe::CommandlineApplication # === Bioroebe::P
26
26
 
27
27
  require 'open-uri'
28
28
 
29
- # ========================================================================= #
30
- # === NAMESPACE
31
- # ========================================================================= #
32
- NAMESPACE = inspect
33
-
34
29
  # ========================================================================= #
35
30
  # === AUTOMATICALLY_CREATE_A_LOCAL_YAML_FILE_IF_IT_DOES_NOT_YET_EXIST
36
31
  #
@@ -100,10 +95,7 @@ GUG 30.5( 4267) GCG 8.6( 1207) GAG 35.8( 5005) GGG 15.6( 2181)'
100
95
  # ========================================================================= #
101
96
  def reset
102
97
  super()
103
- # ======================================================================= #
104
- # === @namespace
105
- # ======================================================================= #
106
- @namespace = NAMESPACE
98
+ infer_the_namespace
107
99
  # ======================================================================= #
108
100
  # === @use_this_url
109
101
  #
@@ -129,7 +121,7 @@ GUG 30.5( 4267) GCG 8.6( 1207) GAG 35.8( 5005) GGG 15.6( 2181)'
129
121
  # === menu (menu tag)
130
122
  # ========================================================================= #
131
123
  def menu(
132
- i = @commandline_arguments
124
+ i = commandline_arguments?
133
125
  )
134
126
  if i.is_a? Array
135
127
  i.each {|entry| menu(entry) }
@@ -24,7 +24,7 @@ module Bioroebe
24
24
  require 'bioroebe/constants/codon_tables.rb'
25
25
  require 'bioroebe/regexes/regexes.rb'
26
26
  require 'bioroebe/codons/codon_table.rb'
27
- require 'bioroebe/codons/convert_this_codon_to_that_aminoacid.rb'
27
+ # require 'bioroebe/codons/convert_this_codon_to_that_aminoacid.rb'
28
28
 
29
29
  # ========================================================================= #
30
30
  # === @stop_codons