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
@@ -4,3 +4,8 @@ bioroebe to ever be fully written in Java.
4
4
  To compile it anew, do:
5
5
 
6
6
  run bioroebe/AllInOne.java
7
+
8
+ Since as of September 2022 it is easier to run:
9
+
10
+ bioroebe --create-jar
11
+
@@ -1,4 +1,5 @@
1
1
  package bioroebe;
2
+
2
3
  import bioroebe.*;
3
4
 
4
5
  /*
Binary file
@@ -1,11 +1,14 @@
1
1
  package bioroebe;
2
+
2
3
  import bioroebe.*;
3
4
 
4
5
  /*
5
6
  * The Base class defines some constants, in particular in regards
6
7
  * to colours and console-output.
7
8
  */
8
- public abstract class Base {
9
+
10
+ /* public abstract class Base { */
11
+ public class Base {
9
12
 
10
13
  static boolean are_we_on_windows = System.getProperty("os.name").toLowerCase().
11
14
  startsWith("windows");
@@ -29,8 +32,10 @@ public abstract class Base {
29
32
  }
30
33
 
31
34
  /*
32
- * Determine whether the underlying OS is Windows
33
- * or whether it is not.
35
+ * on_windows()
36
+ *
37
+ * This method determines whether the underlying OS is
38
+ * Windows or whether it is not.
34
39
  */
35
40
  public static boolean on_windows() {
36
41
  return are_we_on_windows;
@@ -51,17 +56,21 @@ public abstract class Base {
51
56
  public static final String ANSI_WHITE = "\u001B[37m"; // ANSI_WHITE
52
57
 
53
58
  /*
59
+ * newline()
60
+ *
54
61
  * Use a newline.
55
62
  */
56
63
  public static void newline() {
57
64
  System.out.println();
58
65
  }
66
+
59
67
  /*
60
68
  * The colour red.
61
69
  */
62
70
  public static String red(String i) {
63
71
  return ANSI_RED+i+ANSI_WHITE;
64
72
  }
73
+
65
74
  /*
66
75
  * The colour green. (green tag)
67
76
  */
@@ -75,7 +84,9 @@ public abstract class Base {
75
84
  return ANSI_YELLOW+i+ANSI_WHITE;
76
85
  }
77
86
  /*
78
- * The colour blue.
87
+ * === blue()
88
+ *
89
+ * The colour blue., via the constant ANSI_BLUE.
79
90
  */
80
91
  public static String blue(String i) {
81
92
  return ANSI_BLUE+i+ANSI_WHITE;
@@ -99,4 +110,27 @@ public abstract class Base {
99
110
  e(blue(i));
100
111
  }
101
112
 
102
- }
113
+ /*
114
+ * === en()
115
+ */
116
+ public static void en(String i) {
117
+ System.out.println(i);
118
+ }
119
+
120
+ /*
121
+ * === en()
122
+ */
123
+ public static void en(Boolean i) {
124
+ System.out.println(Boolean.toString(i));
125
+ }
126
+
127
+ /*
128
+ * The main method here is only used for testing purposes.
129
+ */
130
+ public static void main(String[] args) {
131
+ Base x = new Base();
132
+ /* x.eblue("Blue output works."); */
133
+ x.eyellow("Yellow output works.");
134
+ }
135
+
136
+ }
@@ -1,18 +1,36 @@
1
1
  package bioroebe;
2
2
 
3
- public class IsPalindrome {
3
+ import bioroebe.*;
4
+
5
+ public class IsPalindrome extends Base {
4
6
 
5
7
  /*
6
- * IsPalindrome.isPalindrome()
8
+ * === Bioroebe.is_palindrome()
9
+ *
10
+ * Toplevel-method to find out whether a String is a palindrome or not.
11
+ *
12
+ * Usage example:
13
+ *
14
+ * IsPalindrome.isPalindrome("OTTO")
7
15
  *
8
16
  */
9
- public static boolean isPalindrome(String i) {
10
- String reversed = new StringBuffer(i).reverse().toString();
17
+ public static boolean is_palindrome(String i) {
18
+ String reversed = new StringBuffer(i).
19
+ reverse().
20
+ toString();
11
21
  return reversed.equals(i); /* Do the comparison here. */
12
22
  }
13
23
 
14
24
  public static void main(String[] args) {
15
- System.out.println(isPalindrome("OTTO")); /* Will return true. */
25
+ String test1 = "";
26
+ if (args.length > 0) {
27
+ test1 = args[0];
28
+ }
29
+ else {
30
+ test1 = "OTTO";
31
+ }
32
+ en("Testing the String `"+test1+"` next:");
33
+ en(is_palindrome(test1)); /* Will return true. */
16
34
  }
17
35
 
18
36
  }
@@ -1,6 +1,7 @@
1
1
  package bioroebe;
2
2
 
3
- import java.io.*;
3
+ import java.io.*;
4
+ import bioroebe.Base;
4
5
 
5
6
  /*
6
7
  * === Sequence
@@ -10,14 +11,38 @@ import java.io.*;
10
11
  */
11
12
  public class Sequence extends Base {
12
13
 
14
+ private static final boolean SHALL_WE_UPCASE = true;
13
15
  private static String sequence = "";
14
-
16
+
15
17
  public static void main(String[] args) {
16
18
  sequence = String.join("", args);
17
19
  }
18
20
 
19
21
  /*
20
- * return_sequence()
22
+ *
23
+ * === n_uracil?
24
+ *
25
+ * Report how many Uracil can be found in the given String. This is more
26
+ * of an ad-hoc method, though.
27
+ */
28
+ int n_uracil() {
29
+
30
+ String modified_sequence = sequence.toUpperCase().replace("T","U");
31
+ /*.count("U");*/
32
+ return modified_sequence.
33
+ chars().
34
+ filter(ch -> ch == 'U').
35
+ count(); /* This is .count('U') */
36
+ }
37
+
38
+ /*
39
+ * === shall_we_upcase()
40
+ */
41
+ boolean shall_we_upcase() {
42
+ return SHALL_WE_UPCASE;
43
+ }
44
+ /*
45
+ * Sequence.return_sequence()
21
46
  *
22
47
  * Will return the sequence of our class Sequence instance.
23
48
  */
@@ -9,17 +9,17 @@ package bioroebe;
9
9
  class ToCamelcase extends Base {
10
10
 
11
11
  /*
12
- * === ToCamelcase.to_camelcase()
12
+ * === Bioroebe.to_camelcase()
13
13
  *
14
14
  * Usage example:
15
15
  *
16
- * ToCamelcase.to_camelcase("foo_bar");
17
- *
16
+ * ToCamelcase.to_camelcase("foo_bar"); # => "FooBar"
17
+
18
18
  */
19
19
  public static String to_camelcase(String i) {
20
20
 
21
21
  StringBuilder sb = new StringBuilder();
22
-
22
+
23
23
  for( String entry : i.toLowerCase().split("_") )
24
24
  {
25
25
  sb.append( entry.substring(0,1).toUpperCase() );
@@ -29,4 +29,16 @@ class ToCamelcase extends Base {
29
29
  return sb.toString();
30
30
  }
31
31
 
32
+ /*
33
+ * This is test-code which is why it is commented out:
34
+ */
35
+ /*
36
+ public static void main(String[] args) {
37
+ String x = "foo_bar";
38
+ if (args.length > 0) {
39
+ x = args.toString();
40
+ }
41
+ en(to_camelcase(x));
42
+ }
43
+ */
32
44
  }
@@ -0,0 +1,43 @@
1
+ /* package ToRNA; */
2
+ package bioroebe;
3
+
4
+ public class ToRNA {
5
+
6
+ static String[] commandline_arguments;
7
+
8
+ /*
9
+ * Main constructor (def initialize)
10
+ */
11
+ public ToRNA() {
12
+ run();
13
+ }
14
+ /*
15
+ * run()
16
+ */
17
+ void run() {
18
+
19
+ if (commandline_arguments.length > 0) {
20
+ for (String entry : commandline_arguments) {
21
+ en(entry);
22
+ }
23
+ }
24
+ else {
25
+ en("Please provide an input to this method, a DNA sequence.");
26
+ }
27
+
28
+ }
29
+
30
+ public static void e(String i) {
31
+ System.out.print(i);
32
+ }
33
+
34
+ public static void en(String i) {
35
+ System.out.println(i);
36
+ }
37
+
38
+ public static void main(String[] args) {
39
+ commandline_arguments = args;
40
+ ToRNA x = new ToRNA();
41
+ }
42
+
43
+ }
@@ -8,6 +8,12 @@ import java.io.*;
8
8
  */
9
9
  class ToplevelMethods extends Base {
10
10
 
11
+ /*
12
+ * ToplevelMethods.bisulfite_treatment()
13
+ *
14
+ * This method will show the applied result of
15
+ * treating a sequence with bisulfite.
16
+ */
11
17
  public static String bisulfite_treatment(String i) {
12
18
  return i.replace("T","U");
13
19
  }
@@ -0,0 +1,35 @@
1
+ package bioroebe;
2
+
3
+ /*
4
+ * class Codons
5
+ *
6
+ * This class will include codon-related code.
7
+ *
8
+ * It is currently very unfinished, but should ideally
9
+ * be useable for some toplevel method calls such as:
10
+ *
11
+ * Codons.is_valid_start_codon("UUU") # => true or false
12
+ *
13
+ */
14
+ class Codons extends Base {
15
+
16
+ /* Designate the main start codon to use. */
17
+ public static String start_codon = "ATG";
18
+
19
+ /*
20
+ * Codons.display_start_codons()
21
+ *
22
+ * This shall simply display all valid start codons.
23
+ *
24
+ * We currently miss reporting GTG and another one;
25
+ * this has to be fixed eventually.
26
+ */
27
+ public static void display_start_codons() {
28
+ e(start_codon);
29
+ }
30
+
31
+ public static String return_start_codon() {
32
+ return start_codon;
33
+ }
34
+
35
+ }
@@ -0,0 +1,101 @@
1
+ /*
2
+ * This class will handle commandline-given input.
3
+ */
4
+ package bioroebe;
5
+
6
+ import bioroebe.*;
7
+
8
+ public class Commandline {
9
+
10
+ /*
11
+ * Main constructor (def initialize)
12
+ */
13
+ String[] commandline_arguments;
14
+ public Commandline(String[] args) {
15
+ commandline_arguments = args;
16
+ run();
17
+ }
18
+ /*
19
+ * show_help() (help tag)
20
+ *
21
+ * show help instructions for this class.
22
+ */
23
+ void show_help() {
24
+ en("The following commandline options are available:");
25
+ en("");
26
+ en(" --partner # complement via partner molecules");
27
+ en(" --random-dna-sequence # output a random DNA sequence");
28
+ en("");
29
+ }
30
+ /*
31
+ * run()
32
+ */
33
+ void run() {
34
+ if (commandline_arguments.length > 0) {
35
+ for (String entry : commandline_arguments) {
36
+ /* --help */
37
+ if (entry.matches("help|--help")) {
38
+ show_help();
39
+ }
40
+ /* java bioroebe/Commandline --is-palindrome */
41
+ else if (entry.matches("is[\s_-]*palindrome|--is_palindrome")) {
42
+ System.out.println(
43
+ IsPalindrome.isPalindrome("OTTO")
44
+ );
45
+ }
46
+ /* java bioroebe/Commandline --random-dna-sequence */
47
+ else if (entry.matches("random-dna-sequence|--random-dna-sequence")) {
48
+ new GenerateRandomDnaSequence(250);
49
+ }
50
+ /* java bioroebe/Commandline --base-composition */
51
+ else if (entry.matches("base-composition|--base-composition")) {
52
+ new toplevel_methods.BaseComposition(entry);
53
+ }
54
+ /* java bioroebe/Commandline --start-codons */
55
+ else if (entry.matches("start-codons|--start-codons")) {
56
+ Codons.display_start_codons();
57
+ }
58
+ /* java bioroebe/Commandline --esystem */
59
+ else if (entry.matches("esystem|--esystem")) {
60
+ Esystem.esystem("ls");
61
+ }
62
+ /* java bioroebe/Commandline --bisulfite */
63
+ else if (entry.matches("bisulfite|--bisulfite")) {
64
+ en(
65
+ BisulfiteTreatment.bisulfite_treatment("ATGCCCCCCCC")
66
+ );
67
+ }
68
+ /* java bioroebe/Commandline --remove-numbers */
69
+ else if (entry.matches("remove-numbers|--remove-numbers")) {
70
+ en(
71
+ RemoveNumbers.remove_numbers("123A")
72
+ );
73
+ }
74
+ else if (entry.matches("partner|--partner")) {
75
+ en(
76
+ PartnerNucleotide.return_partner_nucleotide("A")
77
+ );
78
+ }
79
+ else {
80
+ en("Unsure what to do with: "+entry);
81
+ }
82
+ }
83
+ }
84
+ else {
85
+ en("Please provide input to this class.");
86
+ }
87
+ }
88
+
89
+ public static void e(String i) {
90
+ System.out.print(i);
91
+ }
92
+
93
+ public static void en(String i) {
94
+ System.out.println(i);
95
+ }
96
+
97
+ public static void main(String[] args) {
98
+ Commandline x = new Commandline(args);
99
+ }
100
+
101
+ }
@@ -1,4 +1,5 @@
1
1
  package bioroebe;
2
+
2
3
  import java.io.*;
3
4
 
4
5
  /*
@@ -7,7 +8,7 @@ import java.io.*;
7
8
  public class Esystem extends Base {
8
9
 
9
10
  /*
10
- * Example:
11
+ * Usage example:
11
12
  *
12
13
  * Esystem.esystem("ls");
13
14
  *
@@ -42,6 +43,10 @@ public class Esystem extends Base {
42
43
  // deal with ErrorStream to get error outputs
43
44
  /*process.getErrorStream();*/
44
45
 
46
+ /* Next test code follows: */
47
+ /*
48
+ * Esystem.esystem("ls");
49
+ */
45
50
  }
46
51
 
47
52
  }
@@ -9,10 +9,16 @@ class GenerateRandomDnaSequence extends Base {
9
9
 
10
10
  private String dna_sequence = null;
11
11
 
12
- /* The constructer for GenerateRandomDnaSequence.
12
+ /*
13
+ * The constructor for GenerateRandomDnaSequence.
13
14
  *
14
15
  * You input a number, such as 20, and this class
15
16
  * will generate a DNA string of length 20.
17
+ *
18
+ * Usage example:
19
+ *
20
+ * new GenerateRandomDnaSequence(250);
21
+ *
16
22
  */
17
23
  public GenerateRandomDnaSequence(int n_characters) {
18
24
 
@@ -26,7 +32,7 @@ class GenerateRandomDnaSequence extends Base {
26
32
  dna_sequence += alphabet.charAt(r.nextInt(alphabet.length()));
27
33
  }
28
34
 
29
- e(dna_sequence);
35
+ e(dna_sequence); /* And output the DNA sequence here. */
30
36
  }
31
37
 
32
38
  }
@@ -0,0 +1,56 @@
1
+ package bioroebe;
2
+
3
+ import bioroebe.*;
4
+
5
+ /*
6
+ * PartnerNucleotide.partner_nucleotide("A");
7
+ *
8
+ * This class will simply yield the corresponding nucleotide.
9
+ *
10
+ * Usage example:
11
+ *
12
+ * PartnerNucleotide.partner_nucleotide("A");
13
+ *
14
+ */
15
+ class PartnerNucleotide extends Base {
16
+
17
+ /*
18
+ * PartnerNucleotide.partner_nucleotide()
19
+ */
20
+ public static void partner_nucleotide(String i) {
21
+ switch(i) {
22
+ case "A": e("T"); break;
23
+ case "T": e("A"); break;
24
+ case "C": e("G"); break;
25
+ case "G": e("C"); break;
26
+ default: e("Unhandled input "+i); break;
27
+ }
28
+ }
29
+
30
+ /*
31
+ * PartnerNucleotide.return_partner_nucleotide()
32
+ */
33
+ public static String return_partner_nucleotide(String i) {
34
+ switch(i) {
35
+ case "A": return ("T");
36
+ case "T": return ("A");
37
+ case "C": return ("G");
38
+ case "G": return ("C");
39
+ default: return ("Unhandled input "+i);
40
+ }
41
+ }
42
+
43
+ public static void main(String[] args) {
44
+
45
+ if (args.length > 0) {
46
+ for (String string : args) {
47
+ PartnerNucleotide.partner_nucleotide(string);
48
+ }
49
+ }
50
+ else {
51
+ System.out.println("Please provide input to this class, a DNA sequence.");
52
+ }
53
+
54
+ }
55
+
56
+ }
@@ -1,6 +1,6 @@
1
1
  package bioroebe;
2
2
 
3
- import java.io.*;
3
+ import java.io.*;
4
4
 
5
5
  /*
6
6
  * RemoveFile.remove_file("A");
@@ -18,7 +18,13 @@ class RemoveFile extends Base {
18
18
  }
19
19
  else {
20
20
  e("The file at `"+this_file+"` could NOT be deleted");
21
- }
21
+ }
22
+
23
+ }
24
+ }
25
+
26
+ /*
22
27
 
23
- }
24
- }
28
+ RemoveFile.remove_file("/Depot/j/test.md");
29
+
30
+ */
@@ -1,4 +1,5 @@
1
1
  package bioroebe;
2
+
2
3
  import java.util.Scanner;
3
4
 
4
5
  /*
@@ -0,0 +1,75 @@
1
+ /* package BaseComposition; */
2
+ /*package bioroebe.toplevel_methods;*/
3
+
4
+ package bioroebe;
5
+
6
+ public class BaseComposition {
7
+
8
+ static String[] commandline_arguments;
9
+
10
+ /*
11
+ * Main constructor (def initialize)
12
+ */
13
+ public BaseComposition() {
14
+ run();
15
+ }
16
+ /*
17
+ * run()
18
+ */
19
+ void run() {
20
+ if (commandline_arguments.length == 0) {
21
+ en("Please provide an input argument.");
22
+ }
23
+ else {
24
+ String first_argument = commandline_arguments[0];
25
+ en(
26
+ "The base composition frequencies of this sequence "+
27
+ "(length: "+first_argument.length()+") is as follows:"
28
+ );
29
+ en("");
30
+ int total_length = first_argument.length();
31
+ int n_A = 0;
32
+ int n_T = 0;
33
+ int n_C = 0;
34
+ int n_G = 0;
35
+
36
+ for (int i = 0; i < total_length; i++) {
37
+ char this_char = first_argument.charAt(i);
38
+ if (this_char == 'A') {
39
+ n_A += 1;
40
+ }
41
+ else if (this_char == 'T') {
42
+ n_T += 1;
43
+ }
44
+ else if (this_char == 'C') {
45
+ n_C += 1;
46
+ }
47
+ else if (this_char == 'G') {
48
+ n_G += 1;
49
+ }
50
+ }
51
+ en(
52
+ " "+
53
+ "A: "+Math.round((n_A * 100.0 / total_length) * Math.pow(10, 2) ) / Math.pow(10, 2)+"% "+
54
+ "T: "+Math.round((n_T * 100.0 / total_length) * Math.pow(10, 2) ) / Math.pow(10, 2)+"% "+
55
+ "C: "+Math.round((n_C * 100.0 / total_length) * Math.pow(10, 2) ) / Math.pow(10, 2)+"% "+
56
+ "G: "+Math.round((n_G * 100.0 / total_length) * Math.pow(10, 2) ) / Math.pow(10, 2)+"% "
57
+ );
58
+ en("");
59
+ }
60
+ }
61
+
62
+ public static void e(String i) {
63
+ System.out.print(i);
64
+ }
65
+
66
+ public static void en(String i) {
67
+ System.out.println(i);
68
+ }
69
+
70
+ public static void main(String[] args) {
71
+ commandline_arguments = args;
72
+ BaseComposition x = new BaseComposition();
73
+ }
74
+
75
+ }