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