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
@@ -1,108 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # require 'bioroebe/shell/add.rb'
6
- # =========================================================================== #
7
- module Bioroebe
8
-
9
- class Shell < ::Bioroebe::CommandlineApplication
10
-
11
- # ========================================================================= #
12
- # === add_to_end
13
- #
14
- # This method will invoke append() if something has to be appended.
15
- # ========================================================================= #
16
- def add_to_end(i)
17
- add_to_start_or_end(i, :end)
18
- end; alias add add_to_end # === add (add tag)
19
-
20
- # ========================================================================= #
21
- # === add_to_start
22
- # ========================================================================= #
23
- def add_to_start(i)
24
- add_to_start_or_end(i, :start)
25
- end; alias left_add add_to_start # === left_add
26
-
27
- # ========================================================================= #
28
- # === add_to_start_or_end
29
- #
30
- # This method can either add to the start or to the end.
31
- #
32
- # The default is to append to the nucleotide sequence.
33
- #
34
- # We can input a number - in this case, we simply add these many
35
- # nucleotides onto the main string.
36
- # ========================================================================= #
37
- def add_to_start_or_end(
38
- i = '',
39
- append_or_prepend = :append
40
- )
41
- i = i.join('') if i.is_a? Array
42
- i = i.dup
43
- old_length = i.size
44
- case i.to_s # Easier start/stop entries.
45
- # ======================================================================= #
46
- # === Add a start codon.
47
- # ======================================================================= #
48
- when 'start',
49
- 'START',
50
- /ORF/i,
51
- ':start'
52
- i = ::Bioroebe.start_codon? # Used to be hardcoded -> 'ATG'
53
- # ======================================================================= #
54
- # === Add a stop codon.
55
- # ======================================================================= #
56
- when /^stop$/i,
57
- ':stop'
58
- i = ::Bioroebe.stop_codons?.sample
59
- end
60
- i.upcase!
61
- case append_or_prepend
62
- # ======================================================================= #
63
- # === :prepend
64
- # ======================================================================= #
65
- when :prepend,
66
- :to_start,
67
- :start
68
- if i =~ /^\d+$/ # If input is only numbers.
69
- erev 'Only numbers were given: Prepending '+
70
- sfancy(i.to_s)+rev+
71
- ' random nucleotides to the main string now.'
72
- i.to_i.times { prepend(add_nucleotide) }
73
- else
74
- erev "Prepending #{sfancy(i)}#{rev} to the main string."
75
- prepend(i)
76
- end
77
- # ======================================================================= #
78
- # === :append
79
- # ======================================================================= #
80
- when :append,
81
- :to_end,
82
- :end
83
- if i =~ /^\d+$/ # If input is only numbers.
84
- erev "Only numbers were given: Adding #{sfancy(i.to_s)}#{rev}"\
85
- " random nucleotides to the main string now."
86
- i.to_i.times { append(return_random_nucleotide) }
87
- else
88
- if only_nucleotides?(i)
89
- msg = "Adding #{sfancy(i)}#{rev}"
90
- msg = msg.dup if msg.frozen?
91
- if ::Bioroebe.is_a_stop_codon? i
92
- msg << ' (a stop codon)'
93
- end
94
- msg << ' to the main string.'
95
- erev msg
96
- end
97
- append(i)
98
- end
99
- end
100
- new_length = string?.size.to_s
101
- unless new_length.to_i == old_length.to_i
102
- erev "The new length of the main string is now: "\
103
- "#{simp(new_length)}#{rev}."
104
- end
105
- show_dna_sequence
106
- end
107
-
108
- end; end
@@ -1,360 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # require 'bioroebe/shell/assign.rb'
6
- # =========================================================================== #
7
- module Bioroebe
8
-
9
- class Shell < ::Bioroebe::CommandlineApplication
10
-
11
- # ========================================================================= #
12
- # === set_dna_sequence (assign tag, assigning tag)
13
- #
14
- # This method can be used to set/assign the main DNA string.
15
- #
16
- # It is a fairly long method, mostly because it will do lots of
17
- # additional tasks, way aside from setting/assigning to a DNA
18
- # sequence only.
19
- #
20
- # As of June 2016, the method will also keep a backup of the
21
- # generated sequence in a local file as well. This will allow
22
- # us to "replay" the given sequence on startup of the shell.
23
- #
24
- # Note that as of Jun 2016, we will chop off any '"' found in
25
- # the input String.
26
- # ========================================================================= #
27
- def set_dna_sequence(
28
- i = nil,
29
- be_verbose = true,
30
- do_upcase = :check_for_config_value_here
31
- )
32
- if is_the_main_sequence_frozen?
33
- report_that_the_main_sequence_is_frozen
34
- return
35
- end
36
- case do_upcase
37
- # ======================================================================= #
38
- # === :check_for_config_value_here
39
- # ======================================================================= #
40
- when :check_for_config_value_here,
41
- :default
42
- if @config and @config.respond_to?(:upcase_nucleotides)
43
- do_upcase = @config.upcase_nucleotides
44
- else
45
- do_upcase = false
46
- end
47
- # ======================================================================= #
48
- # === :do_not_upcase
49
- # ======================================================================= #
50
- when :do_not_upcase
51
- do_upcase = false
52
- end
53
- if do_upcase
54
- shall_we_upcase = do_upcase if @config
55
- end
56
- # ======================================================================= #
57
- # === Sanitize the second variable next
58
- # ======================================================================= #
59
- case be_verbose
60
- # ======================================================================= #
61
- # === :be_verbose
62
- # ======================================================================= #
63
- when :be_verbose
64
- be_verbose = true
65
- # ======================================================================= #
66
- # === :do_not_upcase
67
- # ======================================================================= #
68
- when :do_not_upcase,
69
- :no_upcase,
70
- :no_upcasing,
71
- shall_we_upcase = false
72
- be_verbose = true # Sync this.
73
- # ======================================================================= #
74
- # === :be_silent
75
- # ======================================================================= #
76
- when :be_silent,
77
- :be_quiet
78
- be_verbose = false
79
- end
80
- if i.nil?
81
- # ===================================================================== #
82
- # === Hande nil value for the variable i next:
83
- #
84
- # Here in this entry point, we will handle if the first input
85
- # argument is nil.
86
- #
87
- # If @internal_hash[:misc_sequence] is NOT nil, then it will be used
88
- # once, then cleared. Otherwise, we will use dna_sequence?.
89
- # ===================================================================== #
90
- if @internal_hash[:misc_sequence]
91
- i = @internal_hash[:misc_sequence]
92
- @internal_hash[:misc_sequence] = nil # Set it to nil again.
93
- else
94
- i = dna_sequence?
95
- end
96
- end
97
- # ======================================================================= #
98
- # === Convert Array into String next
99
- # ======================================================================= #
100
- i = i.join if i.is_a? Array
101
- i = i.to_s # Work on a String past this point here.
102
- if i.include? ' ' # Sanitize the input a little bit.
103
- i = i.strip.delete(' ')
104
- end
105
- if i.include? '|' # I think we will not need '|' in our main string.
106
- i.delete!('|')
107
- end
108
- # ======================================================================= #
109
- # === If the input has only numbers
110
- # ======================================================================= #
111
- if i =~ /^\d+$/
112
- i = random_dna_sequence(i)
113
- end
114
- # ======================================================================= #
115
- # === Handle Fasta format next
116
- # ======================================================================= #
117
- if i.start_with?('>') and i.include?(N)
118
- erev 'It seems as if you have a FASTA sequence there, as it starts with '\
119
- 'a > character.'
120
- erev 'We will omit this first section (the header) though.'
121
- i[0 .. i.index(N)] = '' # This does the chop-off action.
122
- end
123
- i.delete!('-') if i.include? '-'
124
- i.delete!('_') if i.include? '_' # Don't want '_' characters.
125
- i.delete!('?') if i.include? '?'
126
- i.delete!('#') if i.include? '#' # This was added at 08.05.2016.
127
- i.delete!('"') if i.include? '"' # This was added at 02.06.2016.
128
- i.gsub!(/\^C/,'') if i.include? '^C'
129
- i = i.to_s.dup
130
- case i
131
- # ======================================================================= #
132
- # === :GFP
133
- # ======================================================================= #
134
- when ':GFP' # ← This means the default GFP sequence.
135
- i = return_default_GFP_sequence
136
- # ======================================================================= #
137
- # === random
138
- # ======================================================================= #
139
- when /^random$/i,
140
- '' # As of 04.01.2015, we will try '' too here.
141
- i = random :do_not_show_the_string
142
- # ======================================================================= #
143
- # === multiline
144
- # ======================================================================= #
145
- when 'multiline' # Handle multiline input.
146
- erev 'Multiline input detected.'
147
- erev 'Finish by issuing __ on an empty line. (These are 2 "_" tokens.)'
148
- i = $stdin.gets('__')
149
- # ===================================================================== #
150
- # Next, sanitize it a bit if it starts with a '>' identifier.
151
- # ===================================================================== #
152
- if i.strip.start_with? '>'
153
- i = i[(i.index(N)+1)..-1]
154
- end
155
- else
156
- if i
157
- # =================================================================== #
158
- # === Next upcase the input if the flag was set
159
- # =================================================================== #
160
- i.upcase! if shall_we_upcase
161
- case mode?
162
- # =================================================================== #
163
- # === :dna
164
- # =================================================================== #
165
- when :dna,
166
- :rna
167
- dna_sequence_object?.set_mode(mode?)
168
- # =================================================================== #
169
- # === :aminoacids
170
- # =================================================================== #
171
- when :aminoacids
172
- set_aminoacids(i)
173
- end
174
- else # else input is nil.
175
- erev 'Missing Input to assign_sequence(). Please input '\
176
- 'your DNA string now (Hitting the enter key will '\
177
- 'finish this):'
178
- i = $stdin.gets.chomp
179
- i = i.upcase if shall_we_upcase
180
- end
181
- end
182
- i = '' unless i
183
- # ======================================================================= #
184
- # === Remove possible newlines in the given input
185
- # ======================================================================= #
186
- i.delete!(N) if i.include? N
187
- i.delete!('_') if i.include? '_'
188
- # ======================================================================= #
189
- # Is faster than .gsub()# if i
190
- # i.upcase! # Since as of Feb 2016. Nope, disabled again as of May 2016.
191
- # end
192
- # ======================================================================= #
193
- if File.exist?(i) # Assume a file was given. Read its content then.
194
- if i.end_with? '.yml'
195
- i = YAML.load_file(i)
196
- else
197
- i = File.readlines(i).reject {|line|
198
- line.start_with? '>'
199
- }.join
200
- end
201
- end
202
- # ======================================================================= #
203
- # Also get rid of numbers.
204
- # ======================================================================= #
205
- i = i.dup if i.frozen?
206
- i.gsub!(/\d/,'')
207
- # ======================================================================= #
208
- # The DNA Sequence will be stored in the Sequence object directly.
209
- # The nil is required for now, because otherwise set_input() will
210
- # upcase the input by default.
211
- # ======================================================================= #
212
- if dna_sequence_object?.nil?
213
- _ = Bioroebe::Sequence.new(i.dup) { :is_DNA }
214
- @internal_hash[:array_dna_sequence] << _
215
- else
216
- # ===================================================================== #
217
- # Assign it here.
218
- # ===================================================================== #
219
- dna_sequence_object?.set_input(i.dup, nil) # We can re-use the old @sequence object.
220
- end
221
- # ======================================================================= #
222
- # === :coding_area
223
- #
224
- # Whenever the DNA sequence is modified like that, we will also reset
225
- # the "coding_area" entry in the internal Hash to the initial nil state.
226
- # ======================================================================= #
227
- @internal_hash[:coding_area] = nil
228
- # ======================================================================= #
229
- # === Report that we will perform an assignment next
230
- # ======================================================================= #
231
- if be_verbose # Check for verbosity
232
- case mode?
233
- when :dna
234
- if i.empty?
235
- erev 'Nothing was assigned yet.'
236
- else
237
- erev 'Setting DNA sequence to ('+
238
- sfancy(i.size.to_s)+
239
- rev+' nucleotides):'
240
- show_string
241
- end
242
- end
243
- end
244
- # ======================================================================= #
245
- # === Set the Xorg Buffer next
246
- # ======================================================================= #
247
- if @config and @config.respond_to?(:additionally_set_xorg_buffer) and
248
- @config.additionally_set_xorg_buffer
249
- begin
250
- set_xorg_buffer(i)
251
- rescue NoMethodError; end
252
- end
253
- unless i.empty? # We do not save empty nucleotide Strings.
254
- result = i.to_s.dup
255
- # ===================================================================== #
256
- # We will save into a file next.
257
- # ===================================================================== #
258
- this_file = "#{log_dir?}dna_string.yml"
259
- dna_sequence_object?.save_sequence_to_this_file(this_file) # Save it here.
260
- # ===================================================================== #
261
- # Since as of Jun 2016, we will also create a new RNA string.
262
- #
263
- # This has been disabled as of December 2021. It was too strange
264
- # to automatically create a RNA string.
265
- # ===================================================================== #
266
- # if @internal_hash[:array_rna_sequence]
267
- # @internal_hash[:array_rna_sequence].last.set_sequence(result)
268
- # end
269
- # ===================================================================== #
270
- # === Automatically assign the aminoacid sequence as well
271
- # ===================================================================== #
272
- _ = translate_dna_into_aminoacid(result)
273
- set_aminoacids(_, nil, :be_quiet)
274
- return result
275
- end
276
- end; alias set_dna_string set_dna_sequence # === set_dna_string
277
- alias set_string set_dna_sequence # === set_dna_sequence
278
- alias set_main_sequence set_dna_sequence # === set_main_sequence (set_main_sequence tag)
279
- alias set_sequence set_dna_sequence # === set_sequence (set_sequence tag)
280
- alias set_dna set_dna_sequence # === set_dna
281
- alias set_assign set_dna_sequence # === set_dna
282
- alias assign_sequence set_dna_sequence # === assign_sequence
283
- alias assign_dna_sequence set_dna_sequence # === assign_dna_sequence
284
- alias assign_this_dna_sequence set_dna_sequence # === assign_this_dna_sequence
285
- alias assign set_dna_sequence # === assign
286
-
287
- require 'bioroebe/aminoacids/create_random_aminoacids.rb'
288
- # ========================================================================= #
289
- # === set_aminoacids (assign protein tag, set aminoacids tag)
290
- #
291
- # Assign a protein sequence here. The first argument shall be the
292
- # aminoacid sequence in question.
293
- #
294
- # Usage example:
295
- #
296
- # assign_protein FLIMVSPTAYHQNKDECWRGX*
297
- #
298
- # ========================================================================= #
299
- def set_aminoacids(
300
- i = :random,
301
- how_many_to_generate = 1000, # Will only be applied if the input is :random or :generate
302
- be_verbose = true
303
- )
304
- # ======================================================================= #
305
- # === Sanitize the third argument next
306
- # ======================================================================= #
307
- case be_verbose
308
- when :be_silent,
309
- :be_quiet
310
- be_verbose = false
311
- end
312
- i = :random unless i
313
- case i
314
- # ======================================================================= #
315
- # === :random
316
- # ======================================================================= #
317
- when :random,
318
- :generate
319
- i = Bioroebe.create_random_aminoacids(how_many_to_generate) # Generate them here.
320
- end
321
- i = i.join if i.is_a? Array
322
- if i =~ /^\d+$/ # only numbers
323
- i = Bioroebe.create_random_aminoacids(i)
324
- end
325
- if be_verbose
326
- erev "Now assigning aminoacid sequence to: #{sfancy(i.to_s)}"
327
- end
328
- if i.is_a? String # Convert it into a Sequence object here.
329
- i = ::Bioroebe.sequence(i) { :aminoacid }
330
- end
331
- # ======================================================================= #
332
- # Do the assignment next.
333
- # ======================================================================= #
334
- if @internal_hash[:array_aminoacid_sequence].empty?
335
- @internal_hash[:array_aminoacid_sequence] << i
336
- else
337
- @internal_hash[:array_aminoacid_sequence].pop
338
- @internal_hash[:array_aminoacid_sequence] << i
339
- end
340
- end; alias assign_aminoacid_sequence set_aminoacids # === assign_aminoacid_sequence
341
- alias assign_protein_sequence set_aminoacids # === assign_protein_sequence
342
- alias set_aminoacid_sequence set_aminoacids # === set_aminoacid_sequence
343
-
344
- # ========================================================================= #
345
- # === report_that_a_string_must_be_assigned_first
346
- # ========================================================================= #
347
- def report_that_a_string_must_be_assigned_first
348
- erev 'No sequence has been assigned yet. Please first "'+
349
- sfancy('assign')+rev+'" a string.'
350
- end
351
-
352
- # ========================================================================= #
353
- # === assign_sequence2
354
- # ========================================================================= #
355
- def assign_sequence2(i)
356
- i = i.join(' ') if i.is_a? Array
357
- @internal_hash[:sequence2] = Bioroebe::Sequence.new(i)
358
- end
359
-
360
- end; end