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,335 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # require 'bioroebe/shell/download.rb'
6
- # =========================================================================== #
7
- require 'bioroebe/base/commandline_application/commandline_application.rb'
8
-
9
- module Bioroebe
10
-
11
- class Shell < ::Bioroebe::CommandlineApplication
12
-
13
- require 'bioroebe/toplevel_methods/map_ncbi_entry_to_eutils_id.rb'
14
-
15
- # ========================================================================= #
16
- # === wget (wget tag)
17
- #
18
- # Simply use wget to download remote files.
19
- # ========================================================================= #
20
- def wget(i)
21
- if i.is_a? Array
22
- i.each {|entry| wget(entry) }
23
- else
24
- unless i.start_with? 'wget '
25
- i = "wget #{i}"
26
- end
27
- esystem i
28
- end
29
- end
30
-
31
- # ========================================================================= #
32
- # === download (download tag)
33
- #
34
- # General download handler. Some sequences will be changed, such
35
- # as lambda (for the phage called lambda), to the corresponding
36
- # entry at NCBI.
37
- # ========================================================================= #
38
- def download(i)
39
- if i.is_a? Array
40
- i.each {|entry| download(entry) }
41
- else
42
- case i.to_s
43
- # ===================================================================== #
44
- # === The lambda phage sequence
45
- #
46
- # Download the lambda-sequence, via:
47
- #
48
- # download lambda
49
- #
50
- # ===================================================================== #
51
- when 'lambda',
52
- /^-?-?lambda(_|-)?genome$/i
53
- i = ::Bioroebe.map_ncbi_entry_to_eutils_id('NC_001416.1.fasta')+
54
- '.fasta'
55
- # ===================================================================== #
56
- # === Download the cytochrome c sequence (of humans)
57
- #
58
- # This should be equivalent to:
59
- #
60
- # https://www.ncbi.nlm.nih.gov/protein/XP_011521207.1?report=fasta
61
- #
62
- # ===================================================================== #
63
- when /cytochrome_c_protein_sequence/
64
- return Bioroebe::Ncbi.efetch_by_url('NP_061820.1')
65
- # ===================================================================== #
66
- # === P1
67
- # ===================================================================== #
68
- when 'P1'
69
- i = ::Bioroebe.map_ncbi_entry_to_eutils_id('NC_005856.1.fasta')+
70
- '.fasta'
71
- # ===================================================================== #
72
- # === P2
73
- #
74
- # The P2 phage, from E. coli, a temperate phage.
75
- # ===================================================================== #
76
- when 'P2'
77
- i = ::Bioroebe.map_ncbi_entry_to_eutils_id('NC_041848.1.fasta')+
78
- '.fasta'
79
- # ===================================================================== #
80
- # === T12
81
- #
82
- # This is the Streptococcus phage T12.
83
- # ===================================================================== #
84
- when 'T12'
85
- i = ::Bioroebe.map_ncbi_entry_to_eutils_id('NC_028700.1.fasta')+
86
- '.fasta'
87
- # ===================================================================== #
88
- # === T2
89
- #
90
- # This is the phage T2.
91
- # ===================================================================== #
92
- when 'T2'
93
- i = ::Bioroebe.map_ncbi_entry_to_eutils_id('AP018813.1.fasta')+
94
- '.fasta'
95
- # ===================================================================== #
96
- # === T4
97
- #
98
- # This is the phage T4.
99
- # ===================================================================== #
100
- when 'T4'
101
- i = ::Bioroebe.map_ncbi_entry_to_eutils_id('NC_000866.4.fasta')+
102
- '.fasta'
103
- # ===================================================================== #
104
- # === T6
105
- #
106
- # This is the phage T6.
107
- # ===================================================================== #
108
- when 'T6'
109
- i = ::Bioroebe.map_ncbi_entry_to_eutils_id('MH550421.1.fasta')+
110
- '.fasta'
111
- # ===================================================================== #
112
- # === rhinovirus
113
- # ===================================================================== #
114
- when /^-?-?rhinovirus/i
115
- i = ::Bioroebe.map_ncbi_entry_to_eutils_id('NC_038311')+
116
- '.fasta'
117
- # ===================================================================== #
118
- # === Handle .pdb files here
119
- # ===================================================================== #
120
- when /\.pdb$/
121
- cd :download_directory
122
- wget i
123
- register_this_download(i)
124
- parse_this_pdb_file(File.basename(i))
125
- end
126
- # ===================================================================== #
127
- # === Handle Fasta files next
128
- # ===================================================================== #
129
- if i.end_with? '.fa' or i.end_with? '.fasta'
130
- i = i.dup if i.frozen?
131
- unless File.exist? i
132
- _ = Bioroebe::Ncbi.efetch_by_url(
133
- i.delete_suffix('.fasta')
134
- )
135
- if File.exist? _
136
- erev "The file is now available at `#{sfile(_)}`."
137
- end
138
- else
139
- # ================================================================= #
140
- # The above download_fasta() makes use of NCBI. We need to rewrite
141
- # this eventually. For now, we will do another, simpler approach
142
- # here.
143
- # ================================================================= #
144
- what = URI.open(i).read
145
- into = log_dir?+File.basename(i)
146
- erev "Storing into `#{sfile(into)}#{rev}`."
147
- write_what_into(what, into)
148
- return into # This will also return the local path.
149
- end
150
- else
151
- # erev 'Unsure what to do with '+sfancy(i)
152
- esystem "wget #{i}"
153
- end
154
- end
155
- end
156
-
157
- require 'bioroebe/fasta_and_fastq/download_fasta.rb'
158
- # ========================================================================= #
159
- # === download_fasta
160
- #
161
- # Use this to download a fasta sequence.
162
- # ========================================================================= #
163
- def download_fasta(i = nil)
164
- if i.is_a? Array
165
- i.each {|entry|
166
- download_fasta(entry)
167
- }
168
- else
169
- # ===================================================================== #
170
- # Delegate to a special class here.
171
- # ===================================================================== #
172
- stored_here = ::Bioroebe.download_fasta(i) # bl $BIOROEBE/download_fasta.rb
173
- if stored_here
174
- if File.exist? stored_here
175
- assign_sequence(stored_here)
176
- end
177
- return stored_here
178
- else
179
- e crimson('No result could be found for ')+sfancy(i)+rev
180
- end
181
- end
182
- end
183
-
184
- # ========================================================================= #
185
- # === register_this_download
186
- #
187
- # Simply register all downloads - we may use this information at some
188
- # later point.
189
- #
190
- # The entries here typically are HTTP or HTTPS-URLs.
191
- # ========================================================================= #
192
- def register_this_download(i)
193
- @internal_hash[:array_all_downloads] << i
194
- end
195
-
196
- # ========================================================================= #
197
- # === set_download_directory
198
- # ========================================================================= #
199
- def set_download_directory(
200
- i = ::Bioroebe.log_dir?
201
- )
202
- i = i.to_s
203
- erev "Setting the download directory to #{simp(i)}#{rev} next:"
204
- ::Bioroebe.set_log_dir(i)
205
- end
206
-
207
- # ========================================================================= #
208
- # === download_this_pdb_file
209
- #
210
- # Use this method to download a .pdb file.
211
- #
212
- # There seem to be at least two major methods how to use the PDB
213
- # database:
214
- #
215
- # (1) http://www.rcsb.org/pdb/files/3O30.pdb
216
- # (2) http://www.rcsb.org/pdb/explore.do?structureId=1QRI
217
- #
218
- # The files/ URI seems to redirect you directly to the .pdb
219
- # file in question, so I think it is the preferred way.
220
- # However had, the explore.do query gives additional
221
- # information.
222
- #
223
- # Other useful URLs are:
224
- #
225
- # http://www.rcsb.org/pdb/explore.do?structureId=1ZAA
226
- # http://dx.doi.org/10.2210/pdb1gi5/pdb
227
- #
228
- # Usage example:
229
- #
230
- # download_this_pdb_file http://www.rcsb.org/pdb/files/3O30.pdb
231
- #
232
- # ========================================================================= #
233
- def download_this_pdb_file(
234
- i = '3O30'
235
- )
236
- i = ['3O30'] if i.nil? # If nil, use a default value.
237
- if i.is_a? Array
238
- i = ['3O30'] if i.empty?
239
- i.each {|entry| download_this_pdb_file(entry) }
240
- else
241
- i = i.to_s.dup
242
- unless i.end_with? '.pdb'
243
- i << '.pdb'
244
- end
245
- unless i.start_with? 'http://www.rcsb.org/pdb/files/'
246
- i[0,0] = 'https://www.rcsb.org/pdb/files/'
247
- end
248
- target_dir = download_dir?
249
- cd target_dir
250
- # ===================================================================== #
251
- # http://www.rcsb.org/pdb/files/3O30.pdb
252
- # ===================================================================== #
253
- download_this = "#{i.to_s}"
254
- erev "Checking for the availability of "\
255
- "#{olivedrab(download_this)}#{rev} next ..."
256
- if does_this_remote_file_exist?(download_this)
257
- erev 'Next downloading '+sfancy(download_this)+
258
- rev+' into '+sfancy(target_dir)+'.'
259
- esystem "wget #{download_this}" # We will just use wget for now.
260
- _ = ::Bioroebe.pdb_directory?
261
- if File.directory? _
262
- new_target = _+File.basename(download_this)
263
- erev 'Moving into '+sfancy(new_target)+rev+', where '\
264
- '.pdb files are kept by default.'
265
- mv(
266
- target_dir+File.basename(download_this),
267
- new_target
268
- )
269
- end
270
- register_this_download(download_this)
271
- else
272
- erev "The remote file at #{sfile(download_this)} does not exist."
273
- erev 'Hence, we can not download it.'
274
- end
275
- end
276
- end
277
-
278
- # ========================================================================= #
279
- # === does_this_remote_file_exist?
280
- #
281
- # This method determines, based on wget, whether a remote file
282
- # exists or whether it does not.
283
- # ========================================================================= #
284
- def does_this_remote_file_exist?(i)
285
- remote_file_exists = false
286
- # ======================================================================= #
287
- # Use wget --spider to check if the remote file exists.
288
- # ======================================================================= #
289
- _ = "wget --spider -v #{i} 2>&1"
290
- result = `#{_}`
291
- if result.include?('Remote file exists') or # Yes, the remote file exists.
292
- result =~ /File '.+' exists./
293
- remote_file_exists = true
294
- end
295
- if result.include? '/404'
296
- remote_file_exists = false
297
- end
298
- return remote_file_exists
299
- end
300
-
301
- # ========================================================================= #
302
- # === handle_pdb_files
303
- #
304
- # This method will either show more information about .pdb files or
305
- # it will simply attempt to download the .pdb file in question.
306
- # ========================================================================= #
307
- def handle_pdb_files(i)
308
- if i.nil? or i.empty?
309
- # In this case, we show some info.
310
- cliner
311
- erev '.pdb files are files in the "Protein Data Bank" format.'
312
- e
313
- erev 'It is a standard for files containing atomic coordinates.'
314
- e
315
- erev 'Each line in a .pdb file is called a "record".'
316
- e
317
- erev 'You can pass an ID (a number) and we will attempt to download '\
318
- 'that .pdb file.'
319
- e
320
- erev 'Example:'
321
- e
322
- erev ' pdb 333'
323
- e
324
- erev 'More information can be seen here:'
325
- e
326
- efancy ' https://www.cgl.ucsf.edu/chimera/docs/UsersGuide/tutorials/pdbintro.html'
327
- e
328
- print rev
329
- cliner
330
- else
331
- download_this_pdb_file(i)
332
- end
333
- end
334
-
335
- end; end
@@ -1,158 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # require 'bioroebe/shell/enable_and_disable.rb'
6
- # =========================================================================== #
7
- # Note that the method disable_colours() can be found in the file
8
- # colours.rb
9
- # =========================================================================== #
10
- require 'bioroebe/base/commandline_application/commandline_application.rb'
11
-
12
- module Bioroebe
13
-
14
- class Shell < ::Bioroebe::CommandlineApplication
15
-
16
- # ========================================================================= #
17
- # === enable (enable tag)
18
- #
19
- # Enable-functionality can be passed through this method here.
20
- #
21
- # Invocation example from within the bioshell:
22
- #
23
- # enable colours
24
- #
25
- # ========================================================================= #
26
- def enable(i)
27
- if i.is_a? Array
28
- i = i.join.strip
29
- end
30
- case i.to_s # case tag
31
- # ======================================================================= #
32
- # === enable cd_aliases
33
- #
34
- # This variant will be verbose.
35
- # ======================================================================= #
36
- when /^-?-?cd(-|_)?aliases$/
37
- erev 'class '+
38
- steelblue('Rcfiles::DirectoryAliases')+rev+' will be '\
39
- 'enabled next, allowing'
40
- erev 'you to navigate the local filesystem '\
41
- 'more easily so.'
42
- ::Bioroebe::Configuration.do_use_expand_cd_aliases
43
- # ======================================================================= #
44
- # === use colours
45
- # ======================================================================= #
46
- when /^colou?rs$/
47
- enable_colours
48
- # ======================================================================= #
49
- # === use xsel
50
- # ======================================================================= #
51
- when 'xsel'
52
- enable_xsel
53
- end
54
- end; alias use enable # === use (use tag)
55
-
56
- # ========================================================================= #
57
- # === enable_configuration
58
- # ========================================================================= #
59
- def enable_configuration
60
- config_dir = ::Bioroebe.project_yaml_directory?+
61
- '/configuration/'
62
- unless Object.const_defined?(:Roebe) and
63
- Roebe.const_defined?(:Configuration)
64
- begin
65
- require 'roebe/configuration/class/configuration.rb'
66
- rescue LoadError; end
67
- end
68
- if Object.const_defined?(:Roebe) and
69
- Roebe.const_defined?(:Configuration)
70
- # ===================================================================== #
71
- # === Initialize @config
72
- # ===================================================================== #
73
- @config = ::Roebe::Configuration.new(config_dir, :do_not_run_yet)
74
- @config.be_verbose if @config.respond_to? :be_verbose
75
- @config.run
76
- else
77
- @config = nil
78
- end
79
- end
80
-
81
- # ========================================================================= #
82
- # === disable (disable tag)
83
- # ========================================================================= #
84
- def disable(i)
85
- if i.is_a? Array
86
- i = i.join(' ').strip
87
- end
88
- case i.to_s # case tag
89
- # ======================================================================= #
90
- # === disable :cd_aliases
91
- # ======================================================================= #
92
- when /^-?-?cd(-|_)?aliases$/i
93
- erev 'We will no longer use class Rcfiles::DirectoryAliases'
94
- ::Bioroebe::Configuration.do_not_use_expand_cd_aliases
95
- # ======================================================================= #
96
- # === truncate
97
- # ======================================================================= #
98
- when /^truncate$/i
99
- disable_truncate
100
- # ======================================================================= #
101
- # === prompt
102
- # ======================================================================= #
103
- when 'prompt'
104
- set_prompt :empty # This means to use an empty prompt.
105
- # ======================================================================= #
106
- # === padding
107
- # ======================================================================= #
108
- when 'padding'
109
- set_padding 0, :be_verbose
110
- # ======================================================================= #
111
- # === disable colours
112
- # ======================================================================= #
113
- when 'colours',
114
- 'colors',
115
- /^col/
116
- disable_colours
117
- # ======================================================================= #
118
- # === disable xsel
119
- # ======================================================================= #
120
- when 'xsel'
121
- disable_xsel
122
- else
123
- erev "No such disable-action could be found (#{sfancy(i)}#{rev})"
124
- end
125
- end
126
-
127
- # ========================================================================= #
128
- # === disable_truncate
129
- # ========================================================================= #
130
- def disable_truncate
131
- do_not_truncate
132
- end
133
-
134
- # ========================================================================= #
135
- # === disable_xsel
136
- # ========================================================================= #
137
- def disable_xsel
138
- if use_xsel?
139
- e 'Now disabling xsel.'
140
- @internal_hash[:use_xsel] = false
141
- else
142
- e 'xsel is already disabled.'
143
- end
144
- end
145
-
146
- # ========================================================================= #
147
- # === enable_xsel
148
- # ========================================================================= #
149
- def enable_xsel
150
- if @internal_hash[:use_xsel]
151
- e 'xsel is already enabled.'
152
- else
153
- e 'Now enabling xsel.'
154
- @internal_hash[:use_xsel] = true
155
- end
156
- end
157
-
158
- end; end