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
@@ -0,0 +1,251 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # === Bioroebe::Compacter
6
+ #
7
+ # This class can be used to compact a file, in particular FASTA files.
8
+ #
9
+ # The first line will be removed if it starts with a ">" token.
10
+ #
11
+ # Usage example:
12
+ #
13
+ # Biroebe::Compacter.new(ARGV)
14
+ #
15
+ # =========================================================================== #
16
+ # require 'bioroebe/utility_scripts/compacter/compacter.rb'
17
+ # =========================================================================== #
18
+ require 'bioroebe/base/commandline_application/commandline_application.rb'
19
+
20
+ module Bioroebe
21
+
22
+ class Compacter < ::Bioroebe::CommandlineApplication # === Bioroebe::Compacter
23
+
24
+ require 'bioroebe/nucleotides/sanitize_nucleotide_sequence.rb'
25
+
26
+ # ========================================================================= #
27
+ # === initialize
28
+ # ========================================================================= #
29
+ def initialize(
30
+ commandline_arguments = nil,
31
+ run_already = true,
32
+ &block
33
+ )
34
+ register_sigint
35
+ reset
36
+ set_commandline_arguments(
37
+ commandline_arguments
38
+ )
39
+ # ======================================================================= #
40
+ # === Handle blocks given to this class next
41
+ # ======================================================================= #
42
+ if block_given?
43
+ yielded = yield
44
+ case yielded
45
+ # ===================================================================== #
46
+ # === :do_not_ask_for_user_input
47
+ # ===================================================================== #
48
+ when :do_not_ask_for_user_input
49
+ @internal_hash[:ask_for_user_input] = false
50
+ end
51
+ end
52
+ run if run_already
53
+ end
54
+
55
+ # ========================================================================= #
56
+ # === reset (reset tag)
57
+ # ========================================================================= #
58
+ def reset
59
+ super()
60
+ infer_the_namespace
61
+ # ======================================================================= #
62
+ # === :work_on_these_files
63
+ # ======================================================================= #
64
+ @internal_hash[:work_on_these_files] = []
65
+ # ======================================================================= #
66
+ # === :ask_for_user_input
67
+ # ======================================================================= #
68
+ @internal_hash[:ask_for_user_input] = true
69
+ # ======================================================================= #
70
+ # === :perform_these_actions_on_each_file
71
+ #
72
+ # The following Array specifies which actions are to be performed onto
73
+ # the target file at hand. The user can modify this, to adjust the
74
+ # behaviour of this class.
75
+ # ======================================================================= #
76
+ @internal_hash[:perform_these_actions_on_each_file] = [
77
+ :strip_newlines,
78
+ :remove_numbers,
79
+ :upcase_the_sequence,
80
+ :eliminate_spaces
81
+ ]
82
+ end
83
+
84
+ # ========================================================================= #
85
+ # === menu (menu tag)
86
+ # ========================================================================= #
87
+ def menu(
88
+ i = commandline_arguments?
89
+ )
90
+ if i.is_a? Array
91
+ i.each {|entry| menu(entry) }
92
+ else
93
+ case i # case tag
94
+ # ===================================================================== #
95
+ # === --retain-newlines
96
+ #
97
+ # Usage example:
98
+ #
99
+ # compacter SPRR4_protein.fasta --retain-newlines
100
+ #
101
+ # ===================================================================== #
102
+ when /-?-?retain(-|_)?newlines/
103
+ @internal_hash[:perform_these_actions_on_each_file].reject! {|entry|
104
+ entry == :strip_newlines
105
+ }
106
+ # ===================================================================== #
107
+ # === --help
108
+ # ===================================================================== #
109
+ when /help/
110
+ show_help
111
+ exit
112
+ end
113
+ end
114
+ end
115
+
116
+ # ========================================================================= #
117
+ # === show_help (help tag)
118
+ # ========================================================================= #
119
+ def show_help
120
+ opnn { :no_newline }
121
+ e
122
+ e ' --retain-newlines # retain newlines, aka do not dump into a single line'
123
+ e
124
+ end
125
+
126
+ # ========================================================================= #
127
+ # === determine_the_input_files
128
+ # ========================================================================= #
129
+ def determine_the_input_files
130
+ commandline_arguments?.each {|this_entry|
131
+ if File.file?(this_entry)
132
+ @internal_hash[:work_on_these_files] << this_entry
133
+ end
134
+ }
135
+ end
136
+
137
+ # ========================================================================= #
138
+ # === perform_these_actions_on_each_file?
139
+ # ========================================================================= #
140
+ def perform_these_actions_on_each_file?
141
+ @internal_hash[:perform_these_actions_on_each_file]
142
+ end
143
+
144
+ # ========================================================================= #
145
+ # === ask_for_user_input?
146
+ # ========================================================================= #
147
+ def ask_for_user_input?
148
+ @internal_hash[:ask_for_user_input]
149
+ end
150
+
151
+ # ========================================================================= #
152
+ # === consider_working_through_the_input_files
153
+ # ========================================================================= #
154
+ def consider_working_through_the_input_files
155
+ _ = @internal_hash[:work_on_these_files]
156
+ if _.empty?
157
+ opne 'Please provide at the least ony locally existing file as'
158
+ opne 'input to this class.'
159
+ else
160
+ perform_these_actions_on_each_file = perform_these_actions_on_each_file?
161
+ _.each {|this_file|
162
+ if File.exist? this_file
163
+ # ================================================================= #
164
+ # Tell the user which file we will compact next.
165
+ # ================================================================= #
166
+ opne "#{rev}Working to compact the following file next: "\
167
+ "`#{sfile(this_file)}#{rev}`." if be_verbose?
168
+ dataset = default_readlines(this_file)
169
+ # ================================================================= #
170
+ # First, check for ORIGIN; or a FASTA header that begins with '>'.
171
+ # ================================================================= #
172
+ if dataset.first
173
+ first = dataset.first
174
+ if first.start_with? 'ORIGIN'
175
+ dataset[0][0,'ORIGIN'.size] = ''
176
+ dataset[0].lstrip!
177
+ elsif first.start_with? '>'
178
+ # =============================================================== #
179
+ # In this case, chop off the first line completely.
180
+ # =============================================================== #
181
+ dataset[0][0, first.index("\n")] = ''
182
+ dataset[0].lstrip!
183
+ end
184
+ end
185
+ if perform_these_actions_on_each_file.include? :strip_newlines
186
+ dataset.map! {|entry| entry.strip }
187
+ end
188
+ if perform_these_actions_on_each_file.include? :remove_numbers
189
+ dataset.map! {|entry| entry.delete('[0-9]') }
190
+ end
191
+ if perform_these_actions_on_each_file.include? :upcase_the_sequence
192
+ dataset.map! {|entry| entry.upcase }
193
+ end
194
+ if perform_these_actions_on_each_file.include? :eliminate_spaces
195
+ dataset.map! {|entry| entry.delete(' ') }
196
+ end
197
+ # ================================================================= #
198
+ # Next we tap into class Bioroebe::SanitizeNucleotideSequence
199
+ # ================================================================= #
200
+ dataset = Bioroebe::SanitizeNucleotideSequence[dataset] { :do_not_remove_newlines }
201
+ if ask_for_user_input?
202
+ opne 'We will now store into the same file, but you must'
203
+ opne 'type "'+steelblue('y')+'" to confirm, else we cancel:'
204
+ user_input = $stdin.gets.chomp
205
+ else
206
+ user_input = 'yes'
207
+ end
208
+ if user_input.start_with? 'y'
209
+ opne "Now storing into the file `#{sfile(this_file)}`." if be_verbose?
210
+ write_what_into(dataset, this_file)
211
+ end
212
+ end # no else clause is possible here, due to a prior if-check.
213
+ }
214
+ end
215
+ end
216
+
217
+ # ========================================================================= #
218
+ # === run (run tag)
219
+ # ========================================================================= #
220
+ def run
221
+ menu
222
+ determine_the_input_files
223
+ consider_working_through_the_input_files
224
+ end
225
+
226
+ # ========================================================================= #
227
+ # === Bioroebe::Compacter[]
228
+ # ========================================================================= #
229
+ def self.[](i = ARGV)
230
+ new(i)
231
+ end
232
+
233
+ end
234
+
235
+ # =========================================================================== #
236
+ # === Bioroebe.compacter
237
+ #
238
+ # Note that this variant will NEVER ask for user-input of the
239
+ # Bioroebe::Compacter class.
240
+ # =========================================================================== #
241
+ def self.compacter(
242
+ i = ARGV
243
+ )
244
+ Bioroebe::Compacter.new(i) { :do_not_ask_for_user_input }
245
+ end
246
+
247
+ end
248
+
249
+ if __FILE__ == $PROGRAM_NAME
250
+ Bioroebe::Compacter.new(ARGV)
251
+ end # fastacompact
@@ -47,11 +47,6 @@ class Compseq < ::Bioroebe::CommandlineApplication # === Bioroebe::Compseq
47
47
  # ========================================================================= #
48
48
  COLOURIZE_CpG_ISLANDS = true
49
49
 
50
- # ========================================================================= #
51
- # === NAMESPACE
52
- # ========================================================================= #
53
- NAMESPACE = inspect
54
-
55
50
  # ========================================================================= #
56
51
  # === EXPECTED_FREQUENCY
57
52
  # ========================================================================= #
@@ -108,10 +103,7 @@ class Compseq < ::Bioroebe::CommandlineApplication # === Bioroebe::Compseq
108
103
  # ========================================================================= #
109
104
  def reset
110
105
  super()
111
- # ======================================================================= #
112
- # === @namespace
113
- # ======================================================================= #
114
- @namespace = NAMESPACE
106
+ infer_the_namespace
115
107
  # ======================================================================= #
116
108
  # === @identifier
117
109
  # ======================================================================= #
@@ -35,7 +35,7 @@ class ConsensusSequence < ::Bioroebe::CommandlineApplication # === Bioroebe::Con
35
35
  # ===================================================================== #
36
36
  when :do_not_run_yet_and_be_quiet
37
37
  run_already = false
38
- @be_verbose = false
38
+ set_be_quiet
39
39
  @report_the_frequencies = false
40
40
  # ===================================================================== #
41
41
  # === :do_not_run_yet
@@ -46,7 +46,7 @@ class ConsensusSequence < ::Bioroebe::CommandlineApplication # === Bioroebe::Con
46
46
  # === :be_quiet
47
47
  # ===================================================================== #
48
48
  when :be_quiet
49
- @be_verbose = false
49
+ set_be_quiet
50
50
  @report_the_frequencies = false
51
51
  end
52
52
  end
@@ -66,7 +66,7 @@ class ConsensusSequence < ::Bioroebe::CommandlineApplication # === Bioroebe::Con
66
66
  # ======================================================================= #
67
67
  # === @be_verbose
68
68
  # ======================================================================= #
69
- @be_verbose = true
69
+ set_be_verbose
70
70
  # ======================================================================= #
71
71
  # === @report_the_frequencies
72
72
  # ======================================================================= #
@@ -195,7 +195,7 @@ class ConsensusSequence < ::Bioroebe::CommandlineApplication # === Bioroebe::Con
195
195
  # === report_on_which_sequences_we_will_operate
196
196
  # ========================================================================= #
197
197
  def report_on_which_sequences_we_will_operate(
198
- be_verbose = @be_verbose
198
+ be_verbose = be_verbose?
199
199
  )
200
200
  case be_verbose
201
201
  when :be_verbose
@@ -217,7 +217,7 @@ class ConsensusSequence < ::Bioroebe::CommandlineApplication # === Bioroebe::Con
217
217
  # === report_the_consensus_sequence
218
218
  # ========================================================================= #
219
219
  def report_the_consensus_sequence
220
- if @be_verbose
220
+ if be_verbose?
221
221
  the_consensus_sequence = consensus_sequence?
222
222
  erev 'The consensus sequence is: '
223
223
  e
@@ -238,7 +238,7 @@ class ConsensusSequence < ::Bioroebe::CommandlineApplication # === Bioroebe::Con
238
238
  try_to_find_and_report_an_even_simpler_consensus_sequence(
239
239
  the_consensus_sequence
240
240
  )
241
- if @be_verbose
241
+ if be_verbose?
242
242
  erev 'Finally, we will display the above findings in a'
243
243
  erev 'shorter variant:'
244
244
  report_on_which_sequences_we_will_operate
@@ -44,11 +44,6 @@ https://www.ncbi.nlm.nih.gov/nuccore/NZ_CP007215.2
44
44
  https://www.ncbi.nlm.nih.gov/nuccore/NC_003197.2
45
45
  '
46
46
 
47
- # ========================================================================= #
48
- # === NAMESPACE
49
- # ========================================================================= #
50
- NAMESPACE = inspect
51
-
52
47
  # ========================================================================= #
53
48
  # === initialize
54
49
  # ========================================================================= #
@@ -66,10 +61,7 @@ https://www.ncbi.nlm.nih.gov/nuccore/NC_003197.2
66
61
  # ========================================================================= #
67
62
  def reset
68
63
  super()
69
- # ======================================================================= #
70
- # === @namespace
71
- # ======================================================================= #
72
- @namespace = NAMESPACE
64
+ infer_the_namespace
73
65
  end
74
66
 
75
67
  # ========================================================================= #
@@ -21,11 +21,6 @@ module Bioroebe
21
21
 
22
22
  class DotAlignment < ::Bioroebe::CommandlineApplication # === Bioroebe::DotAlignment
23
23
 
24
- # ========================================================================= #
25
- # === NAMESPACE
26
- # ========================================================================= #
27
- NAMESPACE = inspect
28
-
29
24
  # ========================================================================= #
30
25
  # === initialize
31
26
  # ========================================================================= #
@@ -43,10 +38,7 @@ class DotAlignment < ::Bioroebe::CommandlineApplication # === Bioroebe::DotAlign
43
38
  # ========================================================================= #
44
39
  def reset
45
40
  super()
46
- # ======================================================================= #
47
- # === @namespace
48
- # ======================================================================= #
49
- @namespace = NAMESPACE
41
+ infer_the_namespace
50
42
  # ======================================================================= #
51
43
  # === @may_we_continue
52
44
  # ======================================================================= #
@@ -42,10 +42,7 @@ class MoveFileToItsCorrectLocation < ::Bioroebe::CommandlineApplication
42
42
  # ========================================================================= #
43
43
  def reset
44
44
  super()
45
- # ======================================================================= #
46
- # === @namespace
47
- # ======================================================================= #
48
- @namespace = NAMESPACE
45
+ infer_the_namespace
49
46
  # ======================================================================= #
50
47
  # === @try_to_relocate_the_file_to_an_appropriate_subdirectory
51
48
  #
@@ -64,7 +64,7 @@ class ParseTaxonomy < ::Bioroebe::CommandlineApplication # === Bioroebe::ParseTa
64
64
  # ======================================================================= #
65
65
  # === @be_verbose
66
66
  # ======================================================================= #
67
- @be_verbose = false
67
+ set_be_quiet
68
68
  end
69
69
 
70
70
  # ========================================================================= #
@@ -112,7 +112,7 @@ class ParseTaxonomy < ::Bioroebe::CommandlineApplication # === Bioroebe::ParseTa
112
112
  # ========================================================================= #
113
113
  def read_in_url(i = @url)
114
114
  require 'open-uri'
115
- e "Reading in from #{sfancy(i.to_s)} now." if @be_verbose
115
+ e "Reading in from #{sfancy(i.to_s)} now." if be_verbose?
116
116
  @dataset = URI.open(i).read
117
117
  end
118
118
 
@@ -4,9 +4,9 @@
4
4
  # =========================================================================== #
5
5
  # === Bioroebe::Permutations
6
6
  #
7
- # Pass a number into this class. The number should be smaller than 8,
7
+ # Pass a number into this class. This number should be smaller than 8,
8
8
  # so 1, 2, 3 etc... is all ok; 8 is beginning to become difficult, as it
9
- # leads to more calculations and thus more time it takes to display the
9
+ # leads to more calculations and thus more time required to display the
10
10
  # result - after all there are already 40321 lines generated when the
11
11
  # number is 8, so the higher the input, the more lines generated.
12
12
  #
@@ -81,6 +81,13 @@ class Permutations < ::Bioroebe::CommandlineApplication # === Bioroebe::Permutat
81
81
  @result
82
82
  end; alias result result? # === result
83
83
 
84
+ # ========================================================================= #
85
+ # === report
86
+ # ========================================================================= #
87
+ def report
88
+ e @result
89
+ end
90
+
84
91
  # ========================================================================= #
85
92
  # === run (run tag)
86
93
  # ========================================================================= #
@@ -99,13 +106,6 @@ class Permutations < ::Bioroebe::CommandlineApplication # === Bioroebe::Permutat
99
106
  report
100
107
  end
101
108
 
102
- # ========================================================================= #
103
- # === report
104
- # ========================================================================= #
105
- def report
106
- e @result
107
- end
108
-
109
109
  # ========================================================================= #
110
110
  # === Bioroebe::Permutations[]
111
111
  # ========================================================================= #
@@ -115,6 +115,33 @@ class Permutations < ::Bioroebe::CommandlineApplication # === Bioroebe::Permutat
115
115
 
116
116
  end
117
117
 
118
+ # =========================================================================== #
119
+ # === Bioroebe.unique_two_paired_permutations
120
+ #
121
+ # This method will return all unique permutations of a given Array.
122
+ #
123
+ # The method will return an Array of all possible, unique combinations,
124
+ # as a pair of two entries per inner array.
125
+ #
126
+ # Invocation example:
127
+ #
128
+ # Bioroebe.unique_two_paired_permutations # Would yield an Array of 28 members.
129
+ #
130
+ # =========================================================================== #
131
+ def self.unique_two_paired_permutations(
132
+ array = %w( B E G I K L P S )
133
+ )
134
+ # ========================================================================= #
135
+ # Example: ["B", "E", "G", "I", "K", "L", "P", "S"]
136
+ # ========================================================================= #
137
+ all_permutations = array.permutation(2).to_a
138
+ all_unique_permutations = []
139
+ all_permutations.each {|this_array|
140
+ all_unique_permutations << this_array unless all_unique_permutations.include?(this_array.reverse)
141
+ }
142
+ return all_unique_permutations
143
+ end
144
+
118
145
  # =========================================================================== #
119
146
  # === Bioroebe.permutations
120
147
  #
@@ -6,11 +6,6 @@ module Bioroebe
6
6
 
7
7
  class ShowOrf < ::Bioroebe::CommandlineApplication
8
8
 
9
- # ========================================================================= #
10
- # === NAMESPACE
11
- # ========================================================================= #
12
- NAMESPACE = inspect
13
-
14
9
  # ========================================================================= #
15
10
  # === COLOURIZE_VERTICAL_TOKEN
16
11
  # ========================================================================= #
@@ -11,10 +11,7 @@ class ShowOrf < ::Bioroebe::CommandlineApplication
11
11
  # ========================================================================= #
12
12
  def reset
13
13
  super()
14
- # ======================================================================= #
15
- # === @namespace
16
- # ======================================================================= #
17
- @namespace = NAMESPACE
14
+ infer_the_namespace
18
15
  # ======================================================================= #
19
16
  # === @show_these_frames
20
17
  #
@@ -9,7 +9,7 @@ module Bioroebe
9
9
  # ========================================================================= #
10
10
  # === VERSION
11
11
  # ========================================================================= #
12
- VERSION = '0.10.80'
12
+ VERSION = '0.12.24'
13
13
 
14
14
  # ========================================================================= #
15
15
  # === LAST_UPDATE
@@ -17,7 +17,7 @@ module Bioroebe
17
17
  # This variable keeps track as to when the bioroebe project was last
18
18
  # updated. The notation is: DD.MM.YYYY
19
19
  # ========================================================================= #
20
- LAST_UPDATE = '24.06.2022'
20
+ LAST_UPDATE = '12.09.2023'
21
21
 
22
22
  # ========================================================================= #
23
23
  # === URL_TO_THE_DOCUMENTATION