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,164 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # === Bioroebe::Colourize
6
+ #
7
+ # This file can be used to colourize a string representing DNA (in fasta
8
+ # format), for use (or display) on a website. HTML colour code and CSS
9
+ # rules will be used.
10
+ #
11
+ # The colour to use can be passed via the second method to four of the
12
+ # module-level methods in this file.
13
+ # =========================================================================== #
14
+ module Bioroebe
15
+
16
+ module Colourize # === Bioroebe::Colourize
17
+
18
+ require 'bioroebe/colours/colours.rb'
19
+ require 'bioroebe/toplevel_methods/e.rb'
20
+ require 'bioroebe/toplevel_methods/file_and_directory_related_actions.rb'
21
+
22
+ # ========================================================================= #
23
+ # === Bioroebe::Colourize.generate_HTML_page_via_this_input
24
+ #
25
+ # This method will generate a .html page, using the default colourization
26
+ # rules defined in this file here.
27
+ # ========================================================================= #
28
+ def self.generate_HTML_page_via_this_input(i)
29
+ if i.is_a? Array
30
+ i = i.join(' ').strip
31
+ end
32
+ what = "<!DOCTYPE html>\n<html lang=\"en\"><head>"\
33
+ "<title>Colourized FASTA Sequence</title><style>\n".dup
34
+ what << "#{return_default_CSS_rules_to_use}\n\n"
35
+ what << "</style>\n</head>\n<body>\n"
36
+ result = colourize_this_FASTA_sequence(i)
37
+ what << "#{result}</body></html>\n"
38
+ # ======================================================================= #
39
+ # The name of the generated file is determined by the input
40
+ # argument given.
41
+ # ======================================================================= #
42
+ into = File.basename(i).delete_suffix(File.extname(i))+
43
+ '.html'
44
+ if File.exist? into
45
+ e 'Can not store into an already existing file.'
46
+ else
47
+ e 'Storing into the file '+::Bioroebe.sfile(into)+' next.'
48
+ ::Bioroebe.write_what_into(what, into)
49
+ end
50
+ end
51
+
52
+ # ========================================================================= #
53
+ # === Bioroebe::Colourize.return_default_CSS_rules_to_use
54
+ # ========================================================================= #
55
+ def self.return_default_CSS_rules_to_use
56
+ return '.lightgreen {
57
+ color: lightgreen;
58
+ }
59
+
60
+ .lightblue {
61
+ color: lightblue;
62
+ }
63
+
64
+ .mediumslateblue {
65
+ color: lightblue;
66
+ }
67
+
68
+ .olivedrab {
69
+ color: olivedrab;
70
+ }
71
+
72
+ body {
73
+ background-color: black;
74
+ color: white;
75
+ font-family: monospace;
76
+ font-size: 2em;
77
+ }'
78
+ end
79
+
80
+ # ========================================================================= #
81
+ # === Bioroebe::Colourize.colourize_this_FASTA_sequence
82
+ # ========================================================================= #
83
+ def self.colourize_this_FASTA_sequence(
84
+ i = ARGV
85
+ )
86
+ if i.is_a? Array
87
+ i = i.join(' ').strip
88
+ end
89
+ if i and File.file?(i)
90
+ # unless Bioroebe.const_defined?(:ParseFasta)
91
+ # require 'bioroebe/fasta_and_fastq/parse_fasta/parse_fasta.rb'
92
+ # end
93
+ # i = Bioroebe::ParseFasta.new(i) { :be_quiet }.sequence?
94
+ i = File.readlines(i).reject {|line|
95
+ line.start_with?('#','>')
96
+ }.join("\n")
97
+ end
98
+ result = colourize_TUG_start_codon(i)
99
+ result = colourize_TAG_stop_codon(result)
100
+ result = colourize_TAA_stop_codon(result)
101
+ result = colourize_TGA_stop_codon(result)
102
+ return result
103
+ end
104
+
105
+ # ========================================================================= #
106
+ # === Bioroebe::Colourize.colourize_TAG_stop_codon
107
+ # ========================================================================= #
108
+ def self.colourize_TAG_stop_codon(
109
+ i = '',
110
+ use_this_colour = :lightblue
111
+ )
112
+ return i.gsub(
113
+ /(TA\n?G)/,
114
+ '<span class="'+use_this_colour.to_s+'">\1</span>'
115
+ )
116
+ end
117
+
118
+ # ========================================================================= #
119
+ # === Bioroebe::Colourize.colourize_TAA_stop_codon
120
+ # ========================================================================= #
121
+ def self.colourize_TAA_stop_codon(
122
+ i = '',
123
+ use_this_colour = :lightgreen
124
+ )
125
+ return i.gsub(
126
+ /(TA\n?A)/,
127
+ '<span class="'+use_this_colour.to_s+'">\1</span>'
128
+ )
129
+ end
130
+
131
+ # ========================================================================= #
132
+ # === Bioroebe::Colourize.colourize_TGA_stop_codon
133
+ # ========================================================================= #
134
+ def self.colourize_TGA_stop_codon(
135
+ i = '',
136
+ use_this_colour = :olivedrab
137
+ )
138
+ return i.gsub(
139
+ /(TG\n?A)/,
140
+ '<span class="'+use_this_colour.to_s+'">\1</span>'
141
+ )
142
+ end
143
+
144
+ # ========================================================================= #
145
+ # === Bioroebe::Colourize.colourize_TUG_start_codon
146
+ # ========================================================================= #
147
+ def self.colourize_TUG_start_codon(
148
+ i = '',
149
+ use_this_colour = :mediumslateblue
150
+ )
151
+ return i.gsub(
152
+ /(TU\n?G)/,
153
+ '<span class="'+use_this_colour.to_s+'">\1</span>'
154
+ )
155
+ end
156
+
157
+ end; end
158
+
159
+
160
+ if __FILE__ == $PROGRAM_NAME
161
+ alias e puts
162
+ # e Bioroebe::Colourize.colourize_this_FASTA_sequence(ARGV)
163
+ Bioroebe::Colourize.generate_HTML_page_via_this_input(ARGV)
164
+ end # colourizerelatedmethods alu_elements.fasta
@@ -15,7 +15,7 @@ module Bioroebe
15
15
  # can pass the password for the postgreSQL database.
16
16
  # ========================================================================= #
17
17
  def self.set_pgpassword(
18
- new_password = POSTGRE_PASSWORD
18
+ new_password = Bioroebe::Postgresql::POSTGRE_PASSWORD
19
19
  )
20
20
  ENV['PGPASSWORD'] = new_password
21
21
  end; self.instance_eval { alias set_password set_pgpassword } # === Bioroebe.set_password
@@ -11,15 +11,17 @@ module Bioroebe
11
11
  #
12
12
  # Usage examples:
13
13
  #
14
- # Bioroebe.digest_this_dna(:lambda_genome, with: :EcoRI)
15
- # Bioroebe.digest_this_dna("/root/Bioroebe/fasta/NC_001416.1_Enterobacteria_phage_lambda_complete_genome.fasta", with: :EcoRI)
14
+ # x = Bioroebe.digest_this_dna(:lambda_genome, with: :EcoRI)
15
+ # x = Bioroebe.digest_this_dna("/root/Bioroebe/fasta/NC_001416.1_Enterobacteria_phage_lambda_complete_genome.fasta", with: :EcoRI)
16
+ # x = Bioroebe.digest_this_dna("/Depot/j/foobar.fasta", with: :PvuII)
16
17
  #
17
18
  # ========================================================================= #
18
19
  def self.digest_this_dna(
19
- this_DNA_sequence, hash = {}
20
+ this_DNA_sequence,
21
+ hash = {}
20
22
  )
21
- require 'bioroebe/toplevel_methods/e.rb'
22
23
  require 'bioroebe/constants/files_and_directories.rb'
24
+ require 'bioroebe/toplevel_methods/e.rb'
23
25
  require 'bioroebe/fasta_and_fastq/parse_fasta/parse_fasta.rb'
24
26
  restriction_enzymes = Bioroebe.load_and_return_the_restriction_enzymes
25
27
  this_restriction_enzyme = nil
@@ -46,16 +48,24 @@ module Bioroebe
46
48
  target_sequence.chop!
47
49
  target_sequence.strip!
48
50
  end
49
- if nucleotide_sequence.include?(target_sequence)
50
- e 'Yes, this sequence is there.'
51
+ if nucleotide_sequence and
52
+ nucleotide_sequence.include?(target_sequence)
53
+ print rev+'Yes, the restriction-sequence '+
54
+ lightblue(target_sequence)+
55
+ rev+
56
+ ' is found in the given sequence. '
51
57
  scanned = nucleotide_sequence.scan(
52
58
  /#{target_sequence}/
53
59
  )
54
- e "It can be found #{scanned.size.to_s} times."
60
+ erev "It can be found #{steelblue(scanned.size.to_s)}#{rev} "\
61
+ "times, at these positions:"
62
+ e
55
63
  sub_sequences = nucleotide_sequence.split(/#{target_sequence}/)
56
64
  sub_sequences.sort_by {|entry| entry.size }.reverse.each {|sequence|
57
- pp sequence.size
65
+ erev " #{sequence.size}"
58
66
  }
67
+ e
68
+ return sub_sequences
59
69
  else
60
70
  e 'Nothing found.'
61
71
  end
@@ -49,68 +49,6 @@ module Bioroebe
49
49
  end
50
50
  end
51
51
 
52
- # ========================================================================= #
53
- # === Bioroebe.colourize_this_fasta_dna_sequence
54
- #
55
- # This toplevel method can be used to colourize a FASTA (DNA)
56
- # sequence, e. g. "ATGCGCGTATTA" and so forth.
57
- #
58
- # Note that this is intended for the commandline, that is to be
59
- # displayed on e. g. a KDE Konsole terminal.
60
- #
61
- # Usage example:
62
- #
63
- # puts Bioroebe.colourize_this_fasta_dna_sequence('ATGCGCATGCGCGTATTAGTATTAATGCGCGTATTAATGCGCGTATTA')
64
- #
65
- # ========================================================================= #
66
- def self.colourize_this_fasta_dna_sequence(
67
- i = nil
68
- )
69
- if i.nil?
70
- e 'Please provide a valid FASTA sequence as input to '\
71
- 'Bioroebe.colourize_this_fasta_dna_sequence()'
72
- return
73
- end
74
- if i.is_a? Array
75
- # ===================================================================== #
76
- # Arrays will be joined together.
77
- # ===================================================================== #
78
- i = i.join(' ').strip
79
- end
80
- if i.is_a? String
81
- # ===================================================================== #
82
- # The colours are either defined in a file called
83
- # 'colourize_fasta_sequences.yml' or they are simply hardcoded.
84
- #
85
- # The preferred (and thus default) way is to simply make use
86
- # of that .yml file. That works on my home system, so it
87
- # should work for other people as well.
88
- # ===================================================================== #
89
- if use_colours?
90
- i = i.dup if i.frozen?
91
- this_file = FILE_COLOURIZE_FASTA_SEQUENCES
92
- if File.exist? this_file
93
- dataset_for_the_colours = YAML.load_file(this_file)
94
- dataset_for_the_colours.each_pair {|this_nucleotide, this_colour_to_be_used|
95
- i.gsub!(
96
- /#{this_nucleotide}/,
97
- send(this_colour_to_be_used, this_nucleotide)+
98
- rev
99
- )
100
- }
101
- else
102
- i.gsub!(/A/, "#{teal('A')}#{rev}")
103
- i.gsub!(/C/, "#{slateblue('C')}#{rev}")
104
- i.gsub!(/G/, "#{royalblue('G')}#{rev}")
105
- i.gsub!(/T/, "#{steelblue('T')}#{rev}")
106
- i.gsub!(/U/, "#{steelblue('U')}#{rev}") # Uracil is just the same as Thymine.
107
- end
108
- end
109
- end
110
- i
111
- end; self.instance_eval { alias colourize_this_fasta_sequence colourize_this_fasta_dna_sequence } # === Bioroebe.colourize_this_fasta_sequence
112
- self.instance_eval { alias colourized_parse_fasta colourize_this_fasta_dna_sequence } # === Bioroebe.colourized_parse_fasta
113
-
114
52
  # ========================================================================= #
115
53
  # === Bioroebe.calculate_weight_of_the_aminoacids_in_this_fasta_file
116
54
  #
@@ -317,13 +255,119 @@ module Bioroebe
317
255
  end
318
256
  end
319
257
 
258
+ # ========================================================================= #
259
+ # === Bioroebe.colourize_this_fasta_dna_sequence
260
+ #
261
+ # This toplevel method can be used to colourize a FASTA (DNA)
262
+ # sequence, e. g. "ATGCGCGTATTA" and so forth.
263
+ #
264
+ # Note that this is intended for the commandline, that is to be
265
+ # displayed on e. g. a KDE Konsole terminal.
266
+ #
267
+ # Usage examples:
268
+ #
269
+ # puts Bioroebe.colourize_this_fasta_dna_sequence('ATGCGCATGCGCGTATTAGTATTAATGCGCGTATTAATGCGCGTATTA')
270
+ # puts Bioroebe.colourize_this_fasta_dna_sequence('ATGCGCATGCGCGTATTAGTATTAATGCGCGTATTAATGCGCGTATTA') { :with_ruler }
271
+ # puts Bioroebe.colourize_this_fasta_dna_sequence('TGCGCGTATTAGTATTAATGCGCGTATTAATGCGCGTATTA') { :with_ruler_steelblue_colour }
272
+ #
273
+ # ========================================================================= #
274
+ def self.colourize_this_fasta_dna_sequence(
275
+ i = nil,
276
+ &block
277
+ )
278
+ unless ::Bioroebe.respond_to?(:ruler_return_as_string_without_colours)
279
+ require 'bioroebe/misc/ruler.rb'
280
+ end
281
+ if i.nil?
282
+ e 'Please provide a valid FASTA sequence as input to '\
283
+ 'Bioroebe.colourize_this_fasta_dna_sequence()'
284
+ return
285
+ end
286
+ if i.is_a? Array
287
+ # ===================================================================== #
288
+ # Arrays will be joined together.
289
+ # ===================================================================== #
290
+ i = i.join(' ').strip
291
+ end
292
+ # ======================================================================= #
293
+ # Check for existing files next:
294
+ # ======================================================================= #
295
+ if i and File.file?(i)
296
+ i = File.read(i)
297
+ end
298
+ original_input = i.dup
299
+ i = i.dup # Always dup it here.
300
+ if i.is_a? String
301
+ # ===================================================================== #
302
+ # The colours are either defined in a file called
303
+ # 'colourize_fasta_sequences.yml' or they are simply hardcoded.
304
+ #
305
+ # The preferred (and thus default) way is to simply make use
306
+ # of that .yml file. That works on my home system, so it
307
+ # should work for other people as well.
308
+ # ===================================================================== #
309
+ if use_colours?
310
+ this_file = FILE_COLOURIZE_FASTA_SEQUENCES
311
+ if File.exist? this_file
312
+ dataset_for_the_colours = YAML.load_file(this_file)
313
+ dataset_for_the_colours.each_pair {|this_nucleotide, this_colour_to_be_used|
314
+ i.gsub!(
315
+ /#{this_nucleotide}/,
316
+ Colours.send(this_colour_to_be_used, this_nucleotide)+
317
+ rev
318
+ )
319
+ }
320
+ else
321
+ i.gsub!(/A/, "#{teal('A')}#{rev}")
322
+ i.gsub!(/C/, "#{slateblue('C')}#{rev}")
323
+ i.gsub!(/G/, "#{royalblue('G')}#{rev}")
324
+ i.gsub!(/T/, "#{steelblue('T')}#{rev}")
325
+ i.gsub!(/U/, "#{steelblue('U')}#{rev}") # Uracil is just the same as Thymine.
326
+ end
327
+ end
328
+ end
329
+ # ======================================================================= #
330
+ # === Handle blocks next
331
+ # ======================================================================= #
332
+ if block_given?
333
+ yielded = yield
334
+ case yielded
335
+ # ===================================================================== #
336
+ # === with_ruler
337
+ # ===================================================================== #
338
+ when :with_ruler,
339
+ :add_ruler,
340
+ :ruler
341
+ i.prepend(
342
+ ::Bioroebe.ruler_return_as_string_without_colours(original_input)+
343
+ "\n"
344
+ )
345
+ else # Assume something like:
346
+ # :with_ruler_steelblue_colour
347
+ if yielded.to_s.include? 'colo' # This assumes "colour" or "color".
348
+ use_this_colour = yielded.to_s.sub(/_colou?r/,'').
349
+ sub(/with_ruler_/,'')
350
+ this_string = send(use_this_colour,
351
+ ::Bioroebe.ruler_return_as_string_without_colours(original_input)+
352
+ "\n"
353
+ )
354
+ i.prepend(this_string)
355
+ end
356
+ end
357
+ end
358
+ return i
359
+ end; self.instance_eval { alias colourize_this_fasta_sequence colourize_this_fasta_dna_sequence } # === Bioroebe.colourize_this_fasta_sequence
360
+ self.instance_eval { alias colourized_parse_fasta colourize_this_fasta_dna_sequence } # === Bioroebe.colourized_parse_fasta
361
+
320
362
  # ========================================================================= #
321
363
  # === Bioroebe.show_fasta_header
322
364
  #
323
365
  # This ad-hoc method can be used to quickly show the first line of an
324
366
  # assumed .fasta file.
325
367
  # ========================================================================= #
326
- def self.show_fasta_header(of_this_file)
368
+ def self.show_fasta_header(
369
+ of_this_file
370
+ )
327
371
  if of_this_file.is_a? Array
328
372
  of_this_file = of_this_file.first
329
373
  end
@@ -13,6 +13,13 @@ module Bioroebe
13
13
  require 'bioroebe/colours/sfile.rb'
14
14
  require 'bioroebe/colours/sdir.rb'
15
15
 
16
+ # ========================================================================= #
17
+ # === Bioroebe.move_file
18
+ # ========================================================================= #
19
+ def self.move_file(a, b)
20
+ FileUtils.mv(a, b)
21
+ end
22
+
16
23
  # ========================================================================= #
17
24
  # === Bioroebe.pwd (pwd tag)
18
25
  #
@@ -134,6 +141,9 @@ module Bioroebe
134
141
  be_verbose = false
135
142
  )
136
143
  case be_verbose
144
+ # ======================================================================= #
145
+ # === :do_report_current_directory
146
+ # ======================================================================= #
137
147
  when :do_report_current_directory,
138
148
  :be_verbose
139
149
  be_verbose = true
@@ -160,12 +170,14 @@ module Bioroebe
160
170
  # Bioroebe.save_dir? is defined in bioroebe/toplevel_methods/store_here.rb.
161
171
  # ======================================================================= #
162
172
  when 'base',
163
- 'logdir'
173
+ 'logdir',
174
+ :bioroebe_log_directory
164
175
  # ===================================================================== #
165
176
  # Enter the main log dir, unless a file exists with the same name.
166
177
  # ===================================================================== #
167
- i = save_dir? unless File.exist? i
178
+ i = save_dir? unless File.exist?(i.to_s) # .to_s to avoid Symbols here.
168
179
  end
180
+ i = i.dup if i.is_a?(String) and i.frozen?
169
181
  i << '/' unless i.end_with? '/'
170
182
  if File.directory? i
171
183
  e sdir(i) if be_verbose # Also colourize the directory and output it.
@@ -10,6 +10,7 @@ module Bioroebe
10
10
  require 'bioroebe/project/project.rb'
11
11
  require 'bioroebe/toplevel_methods/e.rb'
12
12
  require 'bioroebe/colours/colours.rb'
13
+ require 'bioroebe/codons/convert_this_codon_to_that_aminoacid.rb'
13
14
 
14
15
  # ========================================================================= #
15
16
  # === Bioroebe.calculate_the_frequencies_of_this_species
@@ -34,7 +35,7 @@ module Bioroebe
34
35
  when :homo_sapiens,
35
36
  :homo,
36
37
  :human
37
- i = "#{::Bioroebe.project_base_directory?}"\
38
+ i = "#{project_base_directory?}"\
38
39
  "codon_tables/frequencies/9606_Homo_sapiens.yml"
39
40
  end
40
41
  hash = YAML.load_file(i)
@@ -87,6 +88,12 @@ module Bioroebe
87
88
  end
88
89
 
89
90
  if __FILE__ == $PROGRAM_NAME
91
+ alias e puts
92
+ e
90
93
  Bioroebe.calculate_the_frequencies_of_this_species(ARGV)
94
+ e
95
+ e 'Aminoacid frequency:'
96
+ e; print ' '
91
97
  pp Bioroebe.aminoacid_frequency('MVTDEGAIYFTKDAARNWKAAVEETVSATLNRTVSSGITGASYYTGTFST')
98
+ e
92
99
  end # calculatethefrequenciesofthisspecies