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,281 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # require 'bioroebe/shell/chop_and_cut.rb'
6
- # =========================================================================== #
7
- module Bioroebe
8
-
9
- class Shell < ::Bioroebe::CommandlineApplication
10
-
11
- # ========================================================================= #
12
- # === chop (chop tag)
13
- #
14
- # We use this method to get rid of some nucleotides, from the 3'
15
- # end of a nucleotide sequence (aka the "right hand side" of it) by
16
- # default.
17
- #
18
- # The first argument to this method tells us how many nucleotides are
19
- # to be removed.
20
- #
21
- # The second argument determines whether to chop from the right side
22
- # (the 3' side) or from the left side (the 5' side).
23
- # ========================================================================= #
24
- def chop(
25
- i = 1,
26
- chop_from_left_or_right_hand_side = :default # The default is the 3' end.
27
- ) # Default will be to chop off one nucleotide.
28
- if is_the_main_sequence_frozen?
29
- report_that_the_main_sequence_is_frozen
30
- return
31
- end
32
- i = i.first if i.is_a? Array
33
- if i == '?'
34
- e 'chop allows us to remove nucleotides from the main sequence.'
35
- return
36
- end
37
- i = 1 if i.nil? # Assign to the default then.
38
- i = i.to_i # Need a number past this point.
39
- if i == 0
40
- erev 'Please add a number, such as 1, or any other value.'
41
- else
42
- case chop_from_left_or_right_hand_side
43
- # ===================================================================== #
44
- # === :right
45
- # ===================================================================== #
46
- when :right,
47
- :default
48
- which_end = "3'"
49
- # ===================================================================== #
50
- # === :left
51
- # ===================================================================== #
52
- when :left
53
- which_end = "5'"
54
- end
55
- if dna_sequence_object?.size > 0
56
- erev "We will now remove some characters (#{simp(i.to_s)}#{rev}"\
57
- ") from the #{which_end} end of our main string."
58
- end
59
- if dna_sequence_object?.size == 0
60
- erev 'Can not remove anything as the sequence is empty.'
61
- elsif i > dna_sequence_object?.size
62
- erev 'We can not remove that many characters, thus we will'
63
- erev 'simply remove all characters now.'
64
- reset_string
65
- else
66
- # =================================================================== #
67
- # Finally do the manipulation. We need to honour from which
68
- # side we will be operating on.
69
- # =================================================================== #
70
- case chop_from_left_or_right_hand_side
71
- # =================================================================== #
72
- # === :default
73
- # =================================================================== #
74
- when :default,
75
- :right
76
- # ================================================================= #
77
- # We also store the chopped-away sequence, but we have to be
78
- # mindful here since the sequence-object counts the nucleotides
79
- # differently than ruby counts Arrays.
80
- # ================================================================= #
81
- @internal_hash[:array_these_sequences_were_chopped_away] << seq_object?[(-i)+1, i-1].dup
82
- seq_object?[-i, i] = ''
83
- # =================================================================== #
84
- # === :left
85
- # =================================================================== #
86
- when :left
87
- @internal_hash[:array_these_sequences_were_chopped_away] << seq_object?[0, i].dup
88
- seq_object?[0, i+1] = ''
89
- end
90
- end
91
- unless dna_sequence_object?.size == 0
92
- erev "#{rev}The new length of the main string is now: "\
93
- "#{simp(dna_sequence_object?.size.to_s)}#{rev}."
94
- end
95
- show_dna_sequence
96
- end
97
- end; alias remove_n_nucleotides chop # === remove_n_nucleotides
98
-
99
- # ========================================================================= #
100
- # === cut_sequence_in_slices_of
101
- #
102
- # This method cuts the sequence into slices of n, where n is the
103
- # argument to this method.
104
- #
105
- # So if you input 10 as argument, then we will put the nucleotides
106
- # into chunks of 10 nucleotides per row.
107
- #
108
- # Usage examples:
109
- #
110
- # cut_sequence_in_slices_of 5
111
- # cut_sequence_in_slices_of 6
112
- # cut_sequence_in_slices_of 7
113
- #
114
- # ========================================================================= #
115
- def cut_sequence_in_slices_of(threshold = '9')
116
- _ = dna_sequence_object?
117
- matches = _.scan(/.{#{threshold}}/)
118
- matches.each {|entry|
119
- erev ' '+entry
120
- }
121
- end
122
-
123
- # ========================================================================= #
124
- # === left_chop
125
- # ========================================================================= #
126
- def left_chop(i)
127
- chop(i, :left)
128
- end
129
-
130
- # ========================================================================= #
131
- # === cut_at
132
- #
133
- # Use this method to chop off or rather cut at a DNA sequence.
134
- # ========================================================================= #
135
- def cut_at(
136
- this_sequence = 'GAATTC',
137
- be_verbose = true
138
- )
139
- main_sequence = dna_sequence_object?
140
- this_sequence = this_sequence.join.strip if this_sequence.is_a? Array
141
- if be_verbose
142
- erev "We will chop away (at) the sequence #{simp(this_sequence)}#{rev}."
143
- erev 'Note that the sequences all originated from the larger '\
144
- 'parent sequence.'
145
- end
146
- results = main_sequence.split(/#{this_sequence}/)
147
- results.each {|sequence|
148
- _ = properly_spaced_dna(sequence)
149
- _ << (' ('+sequence.size.to_s+' nucleotides)').rjust(110 - sequence.size)
150
- erev _
151
- }
152
- end
153
-
154
- # ========================================================================= #
155
- # === restore_the_last_chop_operation
156
- #
157
- # This method will "restore" the last chop operation.
158
- #
159
- # Presently it will only append onto the 3' area but in the future
160
- # this may change, depending on whether we will store the position
161
- # as well.
162
- # ========================================================================= #
163
- def restore_the_last_chop_operation
164
- if @internal_hash[:array_these_sequences_were_chopped_away].empty?
165
- erev 'Can not restore the last chop-operation as we have not yet'
166
- erev 'chopped away any nucleotide from the main sequence.'
167
- else
168
- this_sequence = @internal_hash[:array_these_sequences_were_chopped_away].pop
169
- erev 'Now adding the sequence '+
170
- format_this_nucleotide_sequence(
171
- this_sequence
172
- )
173
- erev 'to our main sequence.'
174
- main_sequence?.append(this_sequence)
175
- end
176
- end
177
-
178
- # ========================================================================= #
179
- # === chop_to
180
- #
181
- # This method will chop up to the first occurence of the given input
182
- # sequence.
183
- #
184
- # If the given input sequence can not be found, no change is made.
185
- # ========================================================================= #
186
- def chop_to(i)
187
- if i.is_a? Array
188
- i = i.first
189
- end
190
- case i
191
- when 'start'
192
- i = 'ATG'
193
- end
194
- _ = nucleotide_sequence?
195
- if i.include? 'U'
196
- # ===================================================================== #
197
- # Convert Uracil to Thymine next.
198
- # ===================================================================== #
199
- erev "The given input sequence includes at the least one "\
200
- "#{sfancy('U')}#{rev}, which we will convert to #{sfancy('T')}#{rev}."
201
- i.tr!('U','T')
202
- end
203
- if _.include? i
204
- # ===================================================================== #
205
- # Ok, we found the search sequence, so now we can chop off the
206
- # unnecessary sequences.
207
- # ===================================================================== #
208
- position = _.index(i)
209
- erev "Chopping away #{sfancy(position.to_s)}#{rev} nucleotides from "\
210
- "the left-hand side (5' end) next."
211
- @internal_hash[:array_these_sequences_were_chopped_away] << seq_object?[0, position+1]
212
- seq_object?[0, position+1] = ''
213
- show_dna_sequence
214
- else
215
- erev 'No modification can be made as our target nucleotide sequence'
216
- erev "does not include the given search string #{sfancy(i)}."
217
- end
218
- end
219
-
220
- # ========================================================================= #
221
- # === cut (cut tag)
222
- #
223
- # This method will cut away some part from the DNA string.
224
- # ========================================================================= #
225
- def cut(i)
226
- i = i.to_i
227
- @sequence[-i,i] = ''
228
- show_dna_sequence
229
- end
230
-
231
- # ========================================================================= #
232
- # === cutseq
233
- #
234
- # This can be used to modify the sequence object. It will cut some
235
- # segment out from the nucleotide.
236
- #
237
- # Usage examples:
238
- #
239
- # random 30; cutseq 5 8
240
- # random 30; cutseq 5-8
241
- #
242
- # ========================================================================= #
243
- def cutseq(i = [1,3])
244
- if i.is_a? Array
245
- if i.size == 1 and i.first.is_a? String and i.first.include?('-')
246
- i = [i.first.split('-')].flatten
247
- end
248
- if i.empty? # In this case we will ask the user for input.
249
- erev 'No argument was provided. Please input the start nucleotide position next:'
250
- start_position = $stdin.gets.chomp.to_i
251
- erev 'Next, input the end nucleotide position:'
252
- end_position = $stdin.gets.chomp
253
- elsif i.size > 1
254
- start_position = i.first
255
- end_position = i.last
256
- end
257
- end
258
- # ======================================================================= #
259
- # === Handle +3 relational position given
260
- # ======================================================================= #
261
- if end_position.is_a? String and end_position.include?('+')
262
- end_position = start_position + end_position.delete('+').to_i
263
- end
264
- n_nucleotides_will_be_deleted = (end_position.to_i - start_position.to_i)+1
265
- # ======================================================================= #
266
- # Notify the user what we will do next.
267
- # ======================================================================= #
268
- erev 'Next cutting away '+simp(n_nucleotides_will_be_deleted.to_s)+
269
- rev+' nucleotides.'
270
- sequence_object?[start_position, end_position] = ''
271
- end
272
-
273
- # ========================================================================= #
274
- # === cut_with_enzyme
275
- # ========================================================================= #
276
- def cut_with_enzyme(i)
277
- i = i.join(' ').strip if i.is_a? Array
278
- pp sequence_object?.cut_with_enzyme(i)
279
- end
280
-
281
- end; end
@@ -1,166 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # require 'bioroebe/shell/constants.rb'
6
- # =========================================================================== #
7
- module Bioroebe # === Bioroebe::Shell
8
-
9
- class Shell < ::Bioroebe::CommandlineApplication
10
-
11
- # ========================================================================= #
12
- # Right now we will only add the chemistry_paradise gem, if it is available.
13
- # ========================================================================= #
14
- array_failsave_requires = %w(
15
- chemistry_paradise
16
- )
17
- array_failsave_requires.each {|project|
18
- begin
19
- require project
20
- rescue LoadError; end # Silent rescue.
21
- }
22
-
23
- # ========================================================================= #
24
- # === NAMESPACE
25
- # ========================================================================= #
26
- NAMESPACE = inspect
27
-
28
- # ========================================================================= #
29
- # === TRUNCATE_AT_N_ELEMENTS
30
- #
31
- # If we display nucleotide strings, then by default, these may be very
32
- # long. So the following constant will act as a threshold.
33
- # ========================================================================= #
34
- TRUNCATE_AT_N_ELEMENTS = 2000
35
-
36
- # ========================================================================= #
37
- # === VALID_WAYS_TO_EXIT
38
- #
39
- # All ways to exit will be recorded here.
40
- #
41
- # If you need to use more ways, simply append to this Array.
42
- #
43
- # This constant may have to be moved into the bio-shell part eventually.
44
- # ========================================================================= #
45
- VALID_WAYS_TO_EXIT = %w(
46
- quit q exit qq :q qt
47
- bye
48
- rda
49
- r2
50
- tq
51
- sq
52
- exit_program
53
- exitprogram
54
- )
55
-
56
- # ========================================================================= #
57
- # === DEFAULT_PADDING
58
- # ========================================================================= #
59
- DEFAULT_PADDING = ' ' # This is left-padding.
60
-
61
- # ========================================================================= #
62
- # === MAIN_EDITOR
63
- #
64
- # Which editor to use.
65
- # ========================================================================= #
66
- if ENV['IS_ROEBE']
67
- MAIN_EDITOR = 'bluefish'
68
- else # else assume that we may be on windows.
69
- MAIN_EDITOR = 'notepad++.exe'
70
- end; MY_EDITOR = MAIN_EDITOR # === MY_EDITOR
71
-
72
- # ========================================================================= #
73
- # === HOME_DIRECTORY_OF_USER_X
74
- #
75
- # Hardcoded path - only useful on my home setup, though.
76
- # ========================================================================= #
77
- HOME_DIRECTORY_OF_USER_X = '/home/x/'
78
-
79
- # ========================================================================= #
80
- # === RUBY_SRC
81
- #
82
- # Hardcoded. This is only useful on my home system.
83
- # ========================================================================= #
84
- if ENV['RSRC']
85
- RUBY_SRC = "#{ENV['RSRC']}/"
86
- else
87
- RUBY_SRC = "#{HOME_DIRECTORY_OF_USER_X}programming/ruby/src/"
88
- end
89
-
90
- # ========================================================================= #
91
- # === RUBY_BIOROEBE
92
- #
93
- # This allows a user to designate another home directory.
94
- # ========================================================================= #
95
- if ENV['RUBY_BIOROEBE']
96
- BIOROEBE = ENV['RUBY_BIOROEBE'].to_s
97
- else
98
- BIOROEBE = ENV['HOME']
99
- end
100
-
101
- # ========================================================================= #
102
- # === BIOSHELL_SAVE_FILE
103
- #
104
- # Designate the default location for the save-file, a markdown file.
105
- # ========================================================================= #
106
- if Dir.exist? ::Bioroebe.log_dir?
107
- BIOSHELL_SAVE_FILE = "#{::Bioroebe.log_dir?}shell_file.md"
108
- else
109
- BIOSHELL_SAVE_FILE = '/home/Temp/bioroebe/shell_file.md'
110
- end
111
-
112
- # ========================================================================= #
113
- # === HOME_DIR
114
- #
115
- # This probably is not used a lot anymore these days.
116
- # ========================================================================= #
117
- if RUBY_SRC # This is valid at home.
118
- HOME_DIR = "#{ENV['RSRC']}/bioroebe/lib/bioroebe/"
119
- else
120
- begin
121
- home_dir = File.expand_path('~')
122
- rescue Exception
123
- home_dir = '/root/'
124
- end
125
- HOME_DIR = home_dir+'.gem/gems/bioroebe-'+
126
- Bioroebe.version?.to_s+'/lib/bioroebe/'
127
- end
128
-
129
- require 'bioroebe/project/project.rb'
130
- # ========================================================================= #
131
- # === FILE_USE_SILENT_STARTUP
132
- # ========================================================================= #
133
- FILE_USE_SILENT_STARTUP =
134
- "#{::Bioroebe.project_base_directory?}shell/configuration/use_silent_startup.yml"
135
-
136
- # ========================================================================= #
137
- # === SHALL_WE_DEBUG
138
- # ========================================================================= #
139
- SHALL_WE_DEBUG = false
140
-
141
- _ = ::Bioroebe.project_yaml_directory?+
142
- 'default_dna_input.yml' # cat $RUBY_BIO/YAML/default_dna_input.yml
143
- # ========================================================================= #
144
- # === DEFAULT_DNA_INPUT_YAML_FILE
145
- # ========================================================================= #
146
- DEFAULT_DNA_INPUT_YAML_FILE = YAML.load_file(_) if File.exist? _
147
-
148
- require 'bioroebe/toplevel_methods/log_directory.rb' # ← Required for: Bioroebe.store_here?
149
- # ========================================================================= #
150
- # === store_here?
151
- #
152
- # Where to store output generated by BioRoebe. Should point to a
153
- # locally existing directory.
154
- # ========================================================================= #
155
- def store_here?
156
- ::Bioroebe.store_here?
157
- end
158
-
159
- # ========================================================================= #
160
- # === show_log_dir
161
- # ========================================================================= #
162
- def show_log_dir
163
- e ::Bioroebe.log_dir?
164
- end
165
-
166
- end; end