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
@@ -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