bioroebe 0.10.80 → 0.12.24

Sign up to get free protection for your applications and to get access to all the features.
Files changed (301) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3946 -2817
  3. data/bin/bioroebe +13 -2
  4. data/bin/bioroebe_hash +7 -0
  5. data/bin/codon_to_aminoacid +6 -4
  6. data/bin/compacter +7 -0
  7. data/bin/plain_palindrome +7 -0
  8. data/bioroebe.gemspec +3 -3
  9. data/doc/README.gen +3918 -2793
  10. data/doc/quality_control/commandline_applications.md +3 -3
  11. data/doc/statistics/statistics.md +7 -7
  12. data/doc/todo/bioroebe_GUI_todo.md +19 -14
  13. data/doc/todo/bioroebe_java_todo.md +22 -0
  14. data/doc/todo/bioroebe_todo.md +2075 -2620
  15. data/lib/bioroebe/C++/DNA.cpp +69 -0
  16. data/lib/bioroebe/C++/RNA.cpp +58 -0
  17. data/lib/bioroebe/C++/sequence.cpp +35 -0
  18. data/lib/bioroebe/abstract/README.md +1 -0
  19. data/lib/bioroebe/abstract/features.rb +29 -0
  20. data/lib/bioroebe/aminoacids/aminoacid_substitution.rb +1 -9
  21. data/lib/bioroebe/aminoacids/codon_percentage.rb +1 -9
  22. data/lib/bioroebe/aminoacids/deduce_aminoacid_sequence.rb +1 -9
  23. data/lib/bioroebe/aminoacids/display_aminoacid_table.rb +1 -0
  24. data/lib/bioroebe/aminoacids/show_hydrophobicity.rb +1 -6
  25. data/lib/bioroebe/base/base_module/base_module.rb +36 -0
  26. data/lib/bioroebe/base/colours_for_base/colours_for_base.rb +18 -8
  27. data/lib/bioroebe/base/commandline_application/commandline_application.rb +13 -9
  28. data/lib/bioroebe/base/commandline_application/commandline_arguments.rb +24 -19
  29. data/lib/bioroebe/base/commandline_application/misc.rb +66 -49
  30. data/lib/bioroebe/base/commandline_application/opn.rb +8 -8
  31. data/lib/bioroebe/base/commandline_application/reset.rb +5 -3
  32. data/lib/bioroebe/base/internal_hash_module/internal_hash_module.rb +42 -0
  33. data/lib/bioroebe/base/misc.rb +35 -0
  34. data/lib/bioroebe/base/prototype/misc.rb +15 -9
  35. data/lib/bioroebe/base/prototype/reset.rb +10 -0
  36. data/lib/bioroebe/cleave_and_digest/digestion.rb +10 -2
  37. data/lib/bioroebe/cleave_and_digest/trypsin.rb +104 -50
  38. data/lib/bioroebe/codon_tables/frequencies/parse_frequency_table.rb +2 -10
  39. data/lib/bioroebe/codons/codons.rb +1 -1
  40. data/lib/bioroebe/codons/convert_this_codon_to_that_aminoacid.rb +208 -59
  41. data/lib/bioroebe/codons/possible_codons_for_this_aminoacid.rb +1 -9
  42. data/lib/bioroebe/codons/show_codon_tables.rb +8 -3
  43. data/lib/bioroebe/codons/show_codon_usage.rb +15 -4
  44. data/lib/bioroebe/colours/rev.rb +4 -1
  45. data/lib/bioroebe/constants/aminoacids_and_proteins.rb +1 -0
  46. data/lib/bioroebe/constants/database_constants.rb +1 -1
  47. data/lib/bioroebe/constants/files_and_directories.rb +31 -4
  48. data/lib/bioroebe/constants/misc.rb +20 -0
  49. data/lib/bioroebe/constants/nucleotides.rb +7 -0
  50. data/lib/bioroebe/conversions/dna_to_aminoacid_sequence.rb +109 -39
  51. data/lib/bioroebe/count/count_amount_of_aminoacids.rb +3 -2
  52. data/lib/bioroebe/count/count_amount_of_nucleotides.rb +3 -0
  53. data/lib/bioroebe/cpp +1 -0
  54. data/lib/bioroebe/crystal/README.md +2 -0
  55. data/lib/bioroebe/crystal/to_rna.cr +19 -0
  56. data/lib/bioroebe/data/README.md +11 -8
  57. data/lib/bioroebe/data/electron_microscopy/pos_example.pos +396 -0
  58. data/lib/bioroebe/data/electron_microscopy/test_particles.star +36 -0
  59. data/lib/bioroebe/data/fasta/human/Homo_sapiens_hemoglobin_subunit_alpha_HBB_mRNA.fasta +9 -0
  60. data/lib/bioroebe/data/fasta/human/Homo_sapiens_hemoglobin_subunit_beta_HBB_mRNA.fasta +8 -0
  61. data/lib/bioroebe/data/fasta/human/README.md +2 -0
  62. data/lib/bioroebe/dotplots/advanced_dotplot.rb +1 -1
  63. data/lib/bioroebe/electron_microscopy/coordinate_analyzer.rb +15 -18
  64. data/lib/bioroebe/{fasta_and_fastq/parse_fasta/run.rb → electron_microscopy/electron_microscopy_module.rb} +16 -8
  65. data/lib/bioroebe/electron_microscopy/fix_pos_file.rb +1 -9
  66. data/lib/bioroebe/electron_microscopy/flipy.rb +83 -0
  67. data/lib/bioroebe/electron_microscopy/parse_coordinates.rb +2 -10
  68. data/lib/bioroebe/electron_microscopy/read_file_xmd.rb +1 -9
  69. data/lib/bioroebe/electron_microscopy/simple_star_file_generator.rb +4 -9
  70. data/lib/bioroebe/enzymes/has_this_restriction_enzyme.rb +10 -3
  71. data/lib/bioroebe/enzymes/restriction_enzyme.rb +23 -1
  72. data/lib/bioroebe/enzymes/restriction_enzymes/statistics.rb +65 -0
  73. data/lib/bioroebe/fasta_and_fastq/autocorrect_the_name_of_this_fasta_file.rb +1 -9
  74. data/lib/bioroebe/fasta_and_fastq/compact_fasta_file/compact_fasta_file.rb +7 -9
  75. data/lib/bioroebe/fasta_and_fastq/fasta_defline/fasta_defline.rb +1 -5
  76. data/lib/bioroebe/fasta_and_fastq/fasta_to_yaml/fasta_to_yaml.rb +81 -0
  77. data/lib/bioroebe/fasta_and_fastq/parse_fasta/parse_fasta.rb +1518 -7
  78. data/lib/bioroebe/fasta_and_fastq/return_fasta_subsection_of_this_file.rb +11 -2
  79. data/lib/bioroebe/fasta_and_fastq/show_fasta_headers.rb +27 -12
  80. data/lib/bioroebe/fasta_and_fastq/simplify_fasta_header/simplify_fasta_header.rb +1 -5
  81. data/lib/bioroebe/fasta_and_fastq/split_this_fasta_file_into_chromosomes/constants.rb +0 -5
  82. data/lib/bioroebe/genome/README.md +4 -0
  83. data/lib/bioroebe/genome/genome.rb +130 -0
  84. data/lib/bioroebe/genomes/genome_pattern.rb +3 -9
  85. data/lib/bioroebe/gui/gtk +1 -0
  86. data/lib/bioroebe/gui/gtk3/alignment/alignment.rb +106 -137
  87. data/lib/bioroebe/gui/gtk3/aminoacid_composition/aminoacid_composition.rb +27 -61
  88. data/lib/bioroebe/gui/gtk3/aminoacid_composition/customized_dialog.rb +1 -1
  89. data/lib/bioroebe/gui/gtk3/blosum_matrix_viewer/blosum_matrix_viewer.rb +1 -2
  90. data/lib/bioroebe/gui/gtk3/calculate_cell_numbers_of_bacteria/calculate_cell_numbers_of_bacteria.rb +1 -2
  91. data/lib/bioroebe/gui/gtk3/controller/controller.rb +46 -29
  92. data/lib/bioroebe/gui/gtk3/dna_to_aminoacid_widget/dna_to_aminoacid_widget.rb +77 -52
  93. data/lib/bioroebe/gui/gtk3/dna_to_reverse_complement_widget/dna_to_reverse_complement_widget.rb +1 -2
  94. data/lib/bioroebe/gui/gtk3/fasta_table_widget/fasta_table_widget.rb +100 -23
  95. data/lib/bioroebe/gui/gtk3/format_converter/format_converter.rb +1 -2
  96. data/lib/bioroebe/gui/gtk3/gene/gene.rb +1 -2
  97. data/lib/bioroebe/gui/gtk3/hamming_distance/hamming_distance.rb +43 -30
  98. data/lib/bioroebe/gui/gtk3/levensthein_distance/levensthein_distance.rb +1 -2
  99. data/lib/bioroebe/gui/gtk3/nucleotide_analyser/nucleotide_analyser.rb +120 -73
  100. data/lib/bioroebe/gui/gtk3/primer_design_widget/primer_design_widget.rb +1 -2
  101. data/lib/bioroebe/gui/gtk3/protein_to_DNA/protein_to_DNA.rb +19 -20
  102. data/lib/bioroebe/gui/gtk3/random_sequence/random_sequence.rb +20 -13
  103. data/lib/bioroebe/gui/gtk3/restriction_enzymes/restriction_enzymes.rb +1 -2
  104. data/lib/bioroebe/gui/gtk3/show_codon_table/misc.rb +97 -22
  105. data/lib/bioroebe/gui/gtk3/show_codon_table/show_codon_table.rb +3 -73
  106. data/lib/bioroebe/gui/gtk3/show_codon_usage/show_codon_usage.rb +1 -2
  107. data/lib/bioroebe/gui/gtk3/sizeseq/sizeseq.rb +1 -2
  108. data/lib/bioroebe/gui/gtk3/three_to_one/three_to_one.rb +1 -2
  109. data/lib/bioroebe/gui/gtk3/www_finder/www_finder.rb +1 -2
  110. data/lib/bioroebe/gui/javafx/bioroebe/Bioroebe.class +0 -0
  111. data/lib/bioroebe/gui/javafx/bioroebe/Bioroebe.java +104 -0
  112. data/lib/bioroebe/gui/javafx/bioroebe.jar +0 -0
  113. data/lib/bioroebe/gui/javafx/bioroebe.mf +1 -0
  114. data/lib/bioroebe/gui/javafx/module-info.class +0 -0
  115. data/lib/bioroebe/gui/javafx/module-info.java +5 -0
  116. data/lib/bioroebe/gui/jruby/alignment/alignment.rb +165 -0
  117. data/lib/bioroebe/gui/jruby/aminoacid_composition/aminoacid_composition.rb +166 -0
  118. data/lib/bioroebe/gui/libui/alignment/alignment.rb +3 -1
  119. data/lib/bioroebe/gui/libui/controller/controller.rb +116 -0
  120. data/lib/bioroebe/gui/libui/random_sequence/random_sequence.rb +18 -2
  121. data/lib/bioroebe/gui/libui/show_codon_table/show_codon_table.rb +2 -0
  122. data/lib/bioroebe/gui/libui/three_to_one/three_to_one.rb +8 -6
  123. data/lib/bioroebe/gui/shared_code/alignment/alignment_module.rb +102 -0
  124. data/lib/bioroebe/gui/shared_code/aminoacid_composition/aminoacid_composition_module.rb +94 -0
  125. data/lib/bioroebe/gui/shared_code/levensthein_distance/levensthein_distance_module.rb +18 -16
  126. data/lib/bioroebe/gui/shared_code/protein_to_DNA/protein_to_DNA_module.rb +14 -14
  127. data/lib/bioroebe/gui/swing/three_to_one/ThreeToOne$1.class +0 -0
  128. data/lib/bioroebe/gui/swing/three_to_one/ThreeToOne$CloseListener.class +0 -0
  129. data/lib/bioroebe/gui/swing/three_to_one/ThreeToOne.class +0 -0
  130. data/lib/bioroebe/gui/swing/three_to_one/ThreeToOne.java +141 -0
  131. data/lib/bioroebe/images/FORWARD_PRIMER.png +0 -0
  132. data/lib/bioroebe/images/REVERSE_PRIMER.png +0 -0
  133. data/lib/bioroebe/images/images.html +29845 -0
  134. data/lib/bioroebe/java/README.md +5 -0
  135. data/lib/bioroebe/java/bioroebe/AllInOne.java +1 -0
  136. data/lib/bioroebe/java/bioroebe/Base.class +0 -0
  137. data/lib/bioroebe/java/bioroebe/Base.java +39 -5
  138. data/lib/bioroebe/java/bioroebe/IsPalindrome.java +23 -5
  139. data/lib/bioroebe/java/bioroebe/SanitizeNucleotideSequence.java +0 -0
  140. data/lib/bioroebe/java/bioroebe/Sequence.java +28 -3
  141. data/lib/bioroebe/java/bioroebe/ToCamelcase.class +0 -0
  142. data/lib/bioroebe/java/bioroebe/ToCamelcase.java +16 -4
  143. data/lib/bioroebe/java/bioroebe/ToRNA.java +43 -0
  144. data/lib/bioroebe/java/bioroebe/ToplevelMethods.java +6 -0
  145. data/lib/bioroebe/java/bioroebe/{BisulfiteTreatment.class → src/BisulfiteTreatment.class} +0 -0
  146. data/lib/bioroebe/java/bioroebe/{Codons.class → src/Codons.class} +0 -0
  147. data/lib/bioroebe/java/bioroebe/src/Codons.java +35 -0
  148. data/lib/bioroebe/java/bioroebe/src/Commandline.class +0 -0
  149. data/lib/bioroebe/java/bioroebe/src/Commandline.java +101 -0
  150. data/lib/bioroebe/java/bioroebe/{Esystem.class → src/Esystem.class} +0 -0
  151. data/lib/bioroebe/java/bioroebe/{Esystem.java → src/Esystem.java} +6 -1
  152. data/lib/bioroebe/java/bioroebe/{GenerateRandomDnaSequence.class → src/GenerateRandomDnaSequence.class} +0 -0
  153. data/lib/bioroebe/java/bioroebe/{GenerateRandomDnaSequence.java → src/GenerateRandomDnaSequence.java} +8 -2
  154. data/lib/bioroebe/java/bioroebe/src/PartnerNucleotide.class +0 -0
  155. data/lib/bioroebe/java/bioroebe/src/PartnerNucleotide.java +56 -0
  156. data/lib/bioroebe/java/bioroebe/{RemoveFile.java → src/RemoveFile.java} +10 -4
  157. data/lib/bioroebe/java/bioroebe/{RemoveNumbers.class → src/RemoveNumbers.class} +0 -0
  158. data/lib/bioroebe/java/bioroebe/{RemoveNumbers.java → src/RemoveNumbers.java} +1 -0
  159. data/lib/bioroebe/java/bioroebe/src/toplevel_methods/BaseComposition.class +0 -0
  160. data/lib/bioroebe/java/bioroebe/src/toplevel_methods/BaseComposition.java +75 -0
  161. data/lib/bioroebe/misc/ruler.rb +11 -2
  162. data/lib/bioroebe/nucleotides/most_likely_nucleotide_sequence_for_this_aminoacid_sequence.rb +1 -9
  163. data/lib/bioroebe/nucleotides/sanitize_nucleotide_sequence.rb +59 -18
  164. data/lib/bioroebe/nucleotides/show_nucleotide_sequence.rb +7 -7
  165. data/lib/bioroebe/parsers/genbank_parser.rb +347 -26
  166. data/lib/bioroebe/parsers/gff.rb +1 -9
  167. data/lib/bioroebe/patterns/scan_for_repeat.rb +1 -5
  168. data/lib/bioroebe/pdb/fetch_fasta_sequence_from_pdb.rb +1 -9
  169. data/lib/bioroebe/pdb/parse_mmCIF_file.rb +1 -9
  170. data/lib/bioroebe/pdb/parse_pdb_file.rb +4 -10
  171. data/lib/bioroebe/project/project.rb +1 -1
  172. data/lib/bioroebe/python/README.md +1 -0
  173. data/lib/bioroebe/python/__pycache__/mymodule.cpython-39.pyc +0 -0
  174. data/lib/bioroebe/python/gui/gtk3/all_in_one.css +4 -0
  175. data/lib/bioroebe/python/gui/gtk3/all_in_one.py +59 -0
  176. data/lib/bioroebe/python/gui/gtk3/widget1.py +20 -0
  177. data/lib/bioroebe/python/gui/tkinter/all_in_one.py +91 -0
  178. data/lib/bioroebe/python/mymodule.py +8 -0
  179. data/lib/bioroebe/python/protein_to_dna.py +33 -0
  180. data/lib/bioroebe/python/shell/shell.py +19 -0
  181. data/lib/bioroebe/python/to_rna.py +14 -0
  182. data/lib/bioroebe/python/toplevel_methods/convert_dna_to_aminoacid_sequence.py +137 -0
  183. data/lib/bioroebe/python/toplevel_methods/esystem.py +12 -0
  184. data/lib/bioroebe/python/toplevel_methods/open_in_browser.py +20 -0
  185. data/lib/bioroebe/python/toplevel_methods/palindromes.py +52 -0
  186. data/lib/bioroebe/python/toplevel_methods/rds.py +13 -0
  187. data/lib/bioroebe/python/toplevel_methods/shuffleseq.py +23 -0
  188. data/lib/bioroebe/python/toplevel_methods/three_delimiter.py +37 -0
  189. data/lib/bioroebe/python/toplevel_methods/time_and_date.py +43 -0
  190. data/lib/bioroebe/python/toplevel_methods/to_camelcase.py +21 -0
  191. data/lib/bioroebe/requires/require_cleave_and_digest.rb +3 -1
  192. data/lib/bioroebe/requires/require_the_bioroebe_project.rb +3 -1
  193. data/lib/bioroebe/sequence/alignment.rb +14 -4
  194. data/lib/bioroebe/sequence/dna.rb +1 -0
  195. data/lib/bioroebe/sequence/nucleotide_module/nucleotide_module.rb +28 -25
  196. data/lib/bioroebe/sequence/protein.rb +105 -3
  197. data/lib/bioroebe/sequence/rna.rb +220 -0
  198. data/lib/bioroebe/sequence/sequence.rb +128 -40
  199. data/lib/bioroebe/shell/menu.rb +3815 -3696
  200. data/lib/bioroebe/shell/misc.rb +9019 -3133
  201. data/lib/bioroebe/shell/readline/readline.rb +1 -1
  202. data/lib/bioroebe/shell/shell.rb +1137 -28
  203. data/lib/bioroebe/siRNA/siRNA.rb +81 -1
  204. data/lib/bioroebe/string_matching/find_longest_substring.rb +3 -2
  205. data/lib/bioroebe/string_matching/hamming_distance.rb +1 -9
  206. data/lib/bioroebe/taxonomy/class_methods.rb +3 -8
  207. data/lib/bioroebe/taxonomy/constants.rb +4 -3
  208. data/lib/bioroebe/taxonomy/edit.rb +2 -1
  209. data/lib/bioroebe/taxonomy/help/help.rb +10 -10
  210. data/lib/bioroebe/taxonomy/help/helpline.rb +2 -2
  211. data/lib/bioroebe/taxonomy/info/check_available.rb +15 -9
  212. data/lib/bioroebe/taxonomy/info/info.rb +18 -11
  213. data/lib/bioroebe/taxonomy/info/is_dna.rb +46 -36
  214. data/lib/bioroebe/taxonomy/interactive.rb +140 -104
  215. data/lib/bioroebe/taxonomy/menu.rb +27 -18
  216. data/lib/bioroebe/taxonomy/parse_fasta.rb +3 -1
  217. data/lib/bioroebe/taxonomy/shared.rb +1 -0
  218. data/lib/bioroebe/taxonomy/taxonomy.rb +1 -0
  219. data/lib/bioroebe/toplevel_methods/aminoacids_and_proteins.rb +31 -24
  220. data/lib/bioroebe/toplevel_methods/colourize_related_methods.rb +164 -0
  221. data/lib/bioroebe/toplevel_methods/databases.rb +1 -1
  222. data/lib/bioroebe/toplevel_methods/digest.rb +18 -8
  223. data/lib/bioroebe/toplevel_methods/fasta_and_fastq.rb +107 -63
  224. data/lib/bioroebe/toplevel_methods/file_and_directory_related_actions.rb +14 -2
  225. data/lib/bioroebe/toplevel_methods/frequencies.rb +8 -1
  226. data/lib/bioroebe/toplevel_methods/misc.rb +175 -11
  227. data/lib/bioroebe/toplevel_methods/nucleotides.rb +118 -46
  228. data/lib/bioroebe/toplevel_methods/open_in_browser.rb +2 -0
  229. data/lib/bioroebe/toplevel_methods/palindromes.rb +75 -47
  230. data/lib/bioroebe/toplevel_methods/taxonomy.rb +3 -3
  231. data/lib/bioroebe/toplevel_methods/to_camelcase.rb +5 -0
  232. data/lib/bioroebe/utility_scripts/align_open_reading_frames.rb +1 -9
  233. data/lib/bioroebe/utility_scripts/check_for_mismatches/check_for_mismatches.rb +1 -9
  234. data/lib/bioroebe/utility_scripts/compacter/compacter.rb +251 -0
  235. data/lib/bioroebe/utility_scripts/compseq/compseq.rb +1 -9
  236. data/lib/bioroebe/utility_scripts/consensus_sequence.rb +6 -6
  237. data/lib/bioroebe/utility_scripts/create_batch_entrez_file.rb +1 -9
  238. data/lib/bioroebe/utility_scripts/dot_alignment.rb +1 -9
  239. data/lib/bioroebe/utility_scripts/move_file_to_its_correct_location.rb +1 -4
  240. data/lib/bioroebe/utility_scripts/parse_taxonomy.rb +2 -2
  241. data/lib/bioroebe/utility_scripts/permutations.rb +36 -9
  242. data/lib/bioroebe/utility_scripts/showorf/constants.rb +0 -5
  243. data/lib/bioroebe/utility_scripts/showorf/reset.rb +1 -4
  244. data/lib/bioroebe/version/version.rb +2 -2
  245. data/lib/bioroebe/www/embeddable_interface.rb +121 -58
  246. data/lib/bioroebe/www/sinatra/sinatra.rb +186 -71
  247. data/lib/bioroebe/yaml/aminoacids/amino_acids_long_name_to_one_letter.yml +2 -2
  248. data/lib/bioroebe/yaml/aminoacids/weight_of_common_proteins.yml +17 -17
  249. data/lib/bioroebe/yaml/configuration/browser.yml +1 -1
  250. data/lib/bioroebe/yaml/configuration/temp_dir.yml +1 -1
  251. data/lib/bioroebe/yaml/consensus_sequences/consensus_sequences.yml +1 -0
  252. data/lib/bioroebe/yaml/genomes/README.md +3 -4
  253. data/lib/bioroebe/yaml/nucleotides/nucleotides.yml +5 -0
  254. data/lib/bioroebe/yaml/restriction_enzymes/restriction_enzymes.yml +57 -57
  255. data/spec/README.md +6 -0
  256. data/spec/project_wide_specification/classes.md +5 -0
  257. metadata +107 -70
  258. data/doc/setup.rb +0 -1655
  259. data/lib/bioroebe/fasta_and_fastq/parse_fasta/constants.rb +0 -50
  260. data/lib/bioroebe/fasta_and_fastq/parse_fasta/initialize.rb +0 -86
  261. data/lib/bioroebe/fasta_and_fastq/parse_fasta/menu.rb +0 -117
  262. data/lib/bioroebe/fasta_and_fastq/parse_fasta/misc.rb +0 -981
  263. data/lib/bioroebe/fasta_and_fastq/parse_fasta/report.rb +0 -156
  264. data/lib/bioroebe/fasta_and_fastq/parse_fasta/reset.rb +0 -128
  265. data/lib/bioroebe/genbank/genbank_parser.rb +0 -291
  266. data/lib/bioroebe/java/bioroebe/AllInOne.class +0 -0
  267. data/lib/bioroebe/java/bioroebe/Cat.class +0 -0
  268. data/lib/bioroebe/java/bioroebe/Codons.java +0 -22
  269. data/lib/bioroebe/java/bioroebe/IsPalindrome.class +0 -0
  270. data/lib/bioroebe/java/bioroebe/PartnerNucleotide.class +0 -0
  271. data/lib/bioroebe/java/bioroebe/PartnerNucleotide.java +0 -19
  272. data/lib/bioroebe/java/bioroebe/SanitizeNucleotideSequence.class +0 -0
  273. data/lib/bioroebe/java/bioroebe/ToplevelMethods.class +0 -0
  274. data/lib/bioroebe/java/bioroebe.jar +0 -0
  275. data/lib/bioroebe/shell/add.rb +0 -108
  276. data/lib/bioroebe/shell/assign.rb +0 -360
  277. data/lib/bioroebe/shell/chop_and_cut.rb +0 -281
  278. data/lib/bioroebe/shell/constants.rb +0 -166
  279. data/lib/bioroebe/shell/download.rb +0 -335
  280. data/lib/bioroebe/shell/enable_and_disable.rb +0 -158
  281. data/lib/bioroebe/shell/enzymes.rb +0 -310
  282. data/lib/bioroebe/shell/fasta.rb +0 -345
  283. data/lib/bioroebe/shell/gtk.rb +0 -76
  284. data/lib/bioroebe/shell/history.rb +0 -132
  285. data/lib/bioroebe/shell/initialize.rb +0 -217
  286. data/lib/bioroebe/shell/loop.rb +0 -74
  287. data/lib/bioroebe/shell/prompt.rb +0 -107
  288. data/lib/bioroebe/shell/random.rb +0 -289
  289. data/lib/bioroebe/shell/reset.rb +0 -335
  290. data/lib/bioroebe/shell/scan_and_parse.rb +0 -135
  291. data/lib/bioroebe/shell/search.rb +0 -337
  292. data/lib/bioroebe/shell/sequences.rb +0 -200
  293. data/lib/bioroebe/shell/show_report_and_display.rb +0 -2901
  294. data/lib/bioroebe/shell/startup.rb +0 -127
  295. data/lib/bioroebe/shell/taxonomy.rb +0 -14
  296. data/lib/bioroebe/shell/tk.rb +0 -23
  297. data/lib/bioroebe/shell/user_input.rb +0 -88
  298. data/lib/bioroebe/shell/xorg.rb +0 -45
  299. data/lib/bioroebe/utility_scripts/compacter.rb +0 -131
  300. /data/lib/bioroebe/java/bioroebe/{BisulfiteTreatment.java → src/BisulfiteTreatment.java} +0 -0
  301. /data/lib/bioroebe/java/bioroebe/{RemoveFile.class → src/RemoveFile.class} +0 -0
@@ -0,0 +1,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