bioroebe 0.10.80 → 0.12.12

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of bioroebe might be problematic. Click here for more details.

Files changed (242) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3612 -2781
  3. data/bin/bioroebe +7 -1
  4. data/bin/bioroebe_hash +7 -0
  5. data/bin/codon_to_aminoacid +1 -0
  6. data/bioroebe.gemspec +3 -3
  7. data/doc/README.gen +3612 -2742
  8. data/doc/quality_control/commandline_applications.md +3 -3
  9. data/doc/todo/bioroebe_java_todo.md +22 -0
  10. data/doc/todo/bioroebe_todo.md +2059 -2615
  11. data/lib/bioroebe/aminoacids/aminoacid_substitution.rb +1 -9
  12. data/lib/bioroebe/aminoacids/codon_percentage.rb +1 -9
  13. data/lib/bioroebe/aminoacids/deduce_aminoacid_sequence.rb +1 -9
  14. data/lib/bioroebe/aminoacids/display_aminoacid_table.rb +1 -0
  15. data/lib/bioroebe/aminoacids/show_hydrophobicity.rb +1 -6
  16. data/lib/bioroebe/base/colours_for_base/colours_for_base.rb +18 -8
  17. data/lib/bioroebe/base/commandline_application/commandline_arguments.rb +15 -11
  18. data/lib/bioroebe/base/commandline_application/misc.rb +66 -49
  19. data/lib/bioroebe/base/commandline_application/opn.rb +8 -8
  20. data/lib/bioroebe/base/commandline_application/reset.rb +3 -2
  21. data/lib/bioroebe/base/misc.rb +35 -0
  22. data/lib/bioroebe/base/prototype/misc.rb +11 -1
  23. data/lib/bioroebe/codon_tables/frequencies/parse_frequency_table.rb +2 -10
  24. data/lib/bioroebe/codons/codons.rb +1 -1
  25. data/lib/bioroebe/codons/convert_this_codon_to_that_aminoacid.rb +192 -58
  26. data/lib/bioroebe/codons/possible_codons_for_this_aminoacid.rb +1 -9
  27. data/lib/bioroebe/codons/show_codon_tables.rb +6 -2
  28. data/lib/bioroebe/codons/show_codon_usage.rb +15 -4
  29. data/lib/bioroebe/colours/rev.rb +4 -1
  30. data/lib/bioroebe/constants/aminoacids_and_proteins.rb +1 -0
  31. data/lib/bioroebe/constants/database_constants.rb +1 -1
  32. data/lib/bioroebe/constants/files_and_directories.rb +31 -4
  33. data/lib/bioroebe/constants/misc.rb +20 -0
  34. data/lib/bioroebe/conversions/dna_to_aminoacid_sequence.rb +58 -24
  35. data/lib/bioroebe/count/count_amount_of_aminoacids.rb +3 -2
  36. data/lib/bioroebe/count/count_amount_of_nucleotides.rb +3 -0
  37. data/lib/bioroebe/crystal/README.md +2 -0
  38. data/lib/bioroebe/crystal/to_rna.cr +19 -0
  39. data/lib/bioroebe/data/README.md +11 -8
  40. data/lib/bioroebe/data/electron_microscopy/pos_example.pos +396 -0
  41. data/lib/bioroebe/data/electron_microscopy/test_particles.star +36 -0
  42. data/lib/bioroebe/data/fasta/human/Homo_sapiens_hemoglobin_subunit_alpha_HBB_mRNA.fasta +9 -0
  43. data/lib/bioroebe/data/fasta/human/Homo_sapiens_hemoglobin_subunit_beta_HBB_mRNA.fasta +8 -0
  44. data/lib/bioroebe/data/fasta/human/README.md +2 -0
  45. data/lib/bioroebe/electron_microscopy/coordinate_analyzer.rb +15 -18
  46. data/lib/bioroebe/{fasta_and_fastq/parse_fasta/run.rb → electron_microscopy/electron_microscopy_module.rb} +16 -8
  47. data/lib/bioroebe/electron_microscopy/fix_pos_file.rb +1 -9
  48. data/lib/bioroebe/electron_microscopy/flipy.rb +83 -0
  49. data/lib/bioroebe/electron_microscopy/parse_coordinates.rb +2 -10
  50. data/lib/bioroebe/electron_microscopy/read_file_xmd.rb +1 -9
  51. data/lib/bioroebe/electron_microscopy/simple_star_file_generator.rb +4 -9
  52. data/lib/bioroebe/enzymes/has_this_restriction_enzyme.rb +10 -3
  53. data/lib/bioroebe/enzymes/restriction_enzyme.rb +23 -1
  54. data/lib/bioroebe/enzymes/restriction_enzymes/statistics.rb +65 -0
  55. data/lib/bioroebe/fasta_and_fastq/autocorrect_the_name_of_this_fasta_file.rb +1 -9
  56. data/lib/bioroebe/fasta_and_fastq/compact_fasta_file/compact_fasta_file.rb +7 -9
  57. data/lib/bioroebe/fasta_and_fastq/fasta_defline/fasta_defline.rb +1 -5
  58. data/lib/bioroebe/fasta_and_fastq/fasta_to_yaml/fasta_to_yaml.rb +81 -0
  59. data/lib/bioroebe/fasta_and_fastq/parse_fasta/parse_fasta.rb +1465 -7
  60. data/lib/bioroebe/fasta_and_fastq/return_fasta_subsection_of_this_file.rb +11 -2
  61. data/lib/bioroebe/fasta_and_fastq/show_fasta_headers.rb +27 -12
  62. data/lib/bioroebe/fasta_and_fastq/simplify_fasta_header/simplify_fasta_header.rb +1 -5
  63. data/lib/bioroebe/fasta_and_fastq/split_this_fasta_file_into_chromosomes/constants.rb +0 -5
  64. data/lib/bioroebe/genome/README.md +4 -0
  65. data/lib/bioroebe/genome/genome.rb +67 -0
  66. data/lib/bioroebe/genomes/genome_pattern.rb +3 -9
  67. data/lib/bioroebe/gui/gtk +1 -0
  68. data/lib/bioroebe/gui/gtk3/alignment/alignment.rb +73 -128
  69. data/lib/bioroebe/gui/gtk3/controller/controller.rb +45 -27
  70. data/lib/bioroebe/gui/gtk3/dna_to_aminoacid_widget/dna_to_aminoacid_widget.rb +76 -50
  71. data/lib/bioroebe/gui/gtk3/fasta_table_widget/fasta_table_widget.rb +99 -21
  72. data/lib/bioroebe/gui/gtk3/hamming_distance/hamming_distance.rb +42 -28
  73. data/lib/bioroebe/gui/gtk3/nucleotide_analyser/nucleotide_analyser.rb +119 -71
  74. data/lib/bioroebe/gui/gtk3/protein_to_DNA/protein_to_DNA.rb +18 -18
  75. data/lib/bioroebe/gui/gtk3/random_sequence/random_sequence.rb +19 -11
  76. data/lib/bioroebe/gui/jruby/alignment/alignment.rb +165 -0
  77. data/lib/bioroebe/gui/libui/alignment/alignment.rb +3 -1
  78. data/lib/bioroebe/gui/libui/controller/controller.rb +116 -0
  79. data/lib/bioroebe/gui/libui/random_sequence/random_sequence.rb +18 -2
  80. data/lib/bioroebe/gui/libui/show_codon_table/show_codon_table.rb +2 -0
  81. data/lib/bioroebe/gui/libui/three_to_one/three_to_one.rb +8 -6
  82. data/lib/bioroebe/gui/shared_code/alignment/alignment_module.rb +102 -0
  83. data/lib/bioroebe/gui/shared_code/levensthein_distance/levensthein_distance_module.rb +18 -16
  84. data/lib/bioroebe/gui/shared_code/protein_to_DNA/protein_to_DNA_module.rb +14 -14
  85. data/lib/bioroebe/gui/swing/three_to_one/ThreeToOne$1.class +0 -0
  86. data/lib/bioroebe/gui/swing/three_to_one/ThreeToOne$CloseListener.class +0 -0
  87. data/lib/bioroebe/gui/swing/three_to_one/ThreeToOne.class +0 -0
  88. data/lib/bioroebe/gui/swing/three_to_one/ThreeToOne.java +141 -0
  89. data/lib/bioroebe/images/FORWARD_PRIMER.png +0 -0
  90. data/lib/bioroebe/images/REVERSE_PRIMER.png +0 -0
  91. data/lib/bioroebe/java/README.md +4 -0
  92. data/lib/bioroebe/java/bioroebe/Sequence.java +25 -1
  93. data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/Base.class +0 -0
  94. data/lib/bioroebe/java/bioroebe/{Base.java → src/main/java/bioroebe/Base.java} +15 -2
  95. data/lib/bioroebe/java/bioroebe/{BisulfiteTreatment.class → src/main/java/bioroebe/BisulfiteTreatment.class} +0 -0
  96. data/lib/bioroebe/java/bioroebe/{Codons.class → src/main/java/bioroebe/Codons.class} +0 -0
  97. data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/Codons.java +34 -0
  98. data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/Commandline.class +0 -0
  99. data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/Commandline.java +101 -0
  100. data/lib/bioroebe/java/bioroebe/{GenerateRandomDnaSequence.class → src/main/java/bioroebe/GenerateRandomDnaSequence.class} +0 -0
  101. data/lib/bioroebe/java/bioroebe/{GenerateRandomDnaSequence.java → src/main/java/bioroebe/GenerateRandomDnaSequence.java} +8 -2
  102. data/lib/bioroebe/java/bioroebe/{IsPalindrome.class → src/main/java/bioroebe/IsPalindrome.class} +0 -0
  103. data/lib/bioroebe/java/bioroebe/{IsPalindrome.java → src/main/java/bioroebe/IsPalindrome.java} +5 -1
  104. data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/PartnerNucleotide.class +0 -0
  105. data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/PartnerNucleotide.java +56 -0
  106. data/lib/bioroebe/java/bioroebe/{RemoveFile.java → src/main/java/bioroebe/RemoveFile.java} +10 -4
  107. data/lib/bioroebe/java/bioroebe/{RemoveNumbers.class → src/main/java/bioroebe/RemoveNumbers.class} +0 -0
  108. data/lib/bioroebe/java/bioroebe/{RemoveNumbers.java → src/main/java/bioroebe/RemoveNumbers.java} +1 -0
  109. data/lib/bioroebe/java/bioroebe/{ToCamelcase.class → src/main/java/bioroebe/ToCamelcase.class} +0 -0
  110. data/lib/bioroebe/java/bioroebe/{ToCamelcase.java → src/main/java/bioroebe/ToCamelcase.java} +3 -3
  111. data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/ToRNA.class +0 -0
  112. data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/ToRNA.java +42 -0
  113. data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/toplevel_methods/BaseComposition.class +0 -0
  114. data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/toplevel_methods/BaseComposition.java +75 -0
  115. data/lib/bioroebe/misc/ruler.rb +11 -2
  116. data/lib/bioroebe/nucleotides/most_likely_nucleotide_sequence_for_this_aminoacid_sequence.rb +1 -9
  117. data/lib/bioroebe/nucleotides/show_nucleotide_sequence.rb +7 -7
  118. data/lib/bioroebe/parsers/genbank_parser.rb +347 -26
  119. data/lib/bioroebe/parsers/gff.rb +1 -9
  120. data/lib/bioroebe/patterns/scan_for_repeat.rb +1 -5
  121. data/lib/bioroebe/pdb/fetch_fasta_sequence_from_pdb.rb +1 -9
  122. data/lib/bioroebe/pdb/parse_mmCIF_file.rb +1 -9
  123. data/lib/bioroebe/pdb/parse_pdb_file.rb +4 -10
  124. data/lib/bioroebe/project/project.rb +1 -1
  125. data/lib/bioroebe/python/README.md +1 -0
  126. data/lib/bioroebe/python/__pycache__/mymodule.cpython-39.pyc +0 -0
  127. data/lib/bioroebe/python/gui/gtk3/all_in_one.css +4 -0
  128. data/lib/bioroebe/python/gui/gtk3/all_in_one.py +59 -0
  129. data/lib/bioroebe/python/gui/gtk3/widget1.py +20 -0
  130. data/lib/bioroebe/python/gui/tkinter/all_in_one.py +91 -0
  131. data/lib/bioroebe/python/mymodule.py +8 -0
  132. data/lib/bioroebe/python/protein_to_dna.py +33 -0
  133. data/lib/bioroebe/python/shell/shell.py +19 -0
  134. data/lib/bioroebe/python/to_rna.py +14 -0
  135. data/lib/bioroebe/python/toplevel_methods/esystem.py +12 -0
  136. data/lib/bioroebe/python/toplevel_methods/open_in_browser.py +20 -0
  137. data/lib/bioroebe/python/toplevel_methods/palindromes.py +42 -0
  138. data/lib/bioroebe/python/toplevel_methods/rds.py +13 -0
  139. data/lib/bioroebe/python/toplevel_methods/shuffleseq.py +23 -0
  140. data/lib/bioroebe/python/toplevel_methods/three_delimiter.py +37 -0
  141. data/lib/bioroebe/python/toplevel_methods/time_and_date.py +43 -0
  142. data/lib/bioroebe/python/toplevel_methods/to_camelcase.py +21 -0
  143. data/lib/bioroebe/requires/require_the_bioroebe_project.rb +3 -1
  144. data/lib/bioroebe/sequence/alignment.rb +14 -4
  145. data/lib/bioroebe/sequence/dna.rb +1 -0
  146. data/lib/bioroebe/sequence/nucleotide_module/nucleotide_module.rb +28 -25
  147. data/lib/bioroebe/sequence/protein.rb +105 -3
  148. data/lib/bioroebe/sequence/sequence.rb +87 -21
  149. data/lib/bioroebe/shell/menu.rb +3829 -3714
  150. data/lib/bioroebe/shell/misc.rb +59 -4307
  151. data/lib/bioroebe/shell/readline/readline.rb +1 -1
  152. data/lib/bioroebe/shell/shell.rb +11255 -28
  153. data/lib/bioroebe/siRNA/siRNA.rb +81 -1
  154. data/lib/bioroebe/string_matching/find_longest_substring.rb +3 -2
  155. data/lib/bioroebe/string_matching/hamming_distance.rb +1 -9
  156. data/lib/bioroebe/taxonomy/class_methods.rb +3 -8
  157. data/lib/bioroebe/taxonomy/constants.rb +4 -3
  158. data/lib/bioroebe/taxonomy/edit.rb +2 -1
  159. data/lib/bioroebe/taxonomy/help/help.rb +10 -10
  160. data/lib/bioroebe/taxonomy/help/helpline.rb +2 -2
  161. data/lib/bioroebe/taxonomy/info/check_available.rb +15 -9
  162. data/lib/bioroebe/taxonomy/info/info.rb +18 -11
  163. data/lib/bioroebe/taxonomy/info/is_dna.rb +46 -36
  164. data/lib/bioroebe/taxonomy/interactive.rb +140 -104
  165. data/lib/bioroebe/taxonomy/menu.rb +27 -18
  166. data/lib/bioroebe/taxonomy/parse_fasta.rb +3 -1
  167. data/lib/bioroebe/taxonomy/shared.rb +1 -0
  168. data/lib/bioroebe/taxonomy/taxonomy.rb +1 -0
  169. data/lib/bioroebe/toplevel_methods/aminoacids_and_proteins.rb +31 -24
  170. data/lib/bioroebe/toplevel_methods/colourize_related_methods.rb +164 -0
  171. data/lib/bioroebe/toplevel_methods/databases.rb +1 -1
  172. data/lib/bioroebe/toplevel_methods/digest.rb +18 -8
  173. data/lib/bioroebe/toplevel_methods/fasta_and_fastq.rb +107 -63
  174. data/lib/bioroebe/toplevel_methods/file_and_directory_related_actions.rb +14 -2
  175. data/lib/bioroebe/toplevel_methods/frequencies.rb +8 -1
  176. data/lib/bioroebe/toplevel_methods/misc.rb +142 -12
  177. data/lib/bioroebe/toplevel_methods/nucleotides.rb +118 -46
  178. data/lib/bioroebe/toplevel_methods/open_in_browser.rb +2 -0
  179. data/lib/bioroebe/toplevel_methods/palindromes.rb +1 -2
  180. data/lib/bioroebe/toplevel_methods/taxonomy.rb +2 -2
  181. data/lib/bioroebe/toplevel_methods/to_camelcase.rb +5 -0
  182. data/lib/bioroebe/utility_scripts/align_open_reading_frames.rb +1 -9
  183. data/lib/bioroebe/utility_scripts/check_for_mismatches/check_for_mismatches.rb +1 -9
  184. data/lib/bioroebe/utility_scripts/compacter.rb +1 -9
  185. data/lib/bioroebe/utility_scripts/compseq/compseq.rb +1 -9
  186. data/lib/bioroebe/utility_scripts/consensus_sequence.rb +6 -6
  187. data/lib/bioroebe/utility_scripts/create_batch_entrez_file.rb +1 -9
  188. data/lib/bioroebe/utility_scripts/dot_alignment.rb +1 -9
  189. data/lib/bioroebe/utility_scripts/move_file_to_its_correct_location.rb +1 -4
  190. data/lib/bioroebe/utility_scripts/parse_taxonomy.rb +2 -2
  191. data/lib/bioroebe/utility_scripts/showorf/constants.rb +0 -5
  192. data/lib/bioroebe/utility_scripts/showorf/reset.rb +1 -4
  193. data/lib/bioroebe/version/version.rb +2 -2
  194. data/lib/bioroebe/www/embeddable_interface.rb +103 -54
  195. data/lib/bioroebe/www/sinatra/sinatra.rb +186 -70
  196. data/lib/bioroebe/yaml/aminoacids/amino_acids_long_name_to_one_letter.yml +2 -2
  197. data/lib/bioroebe/yaml/configuration/browser.yml +1 -1
  198. data/lib/bioroebe/yaml/configuration/temp_dir.yml +1 -1
  199. data/lib/bioroebe/yaml/genomes/README.md +3 -4
  200. data/lib/bioroebe/yaml/restriction_enzymes/restriction_enzymes.yml +27 -27
  201. metadata +81 -64
  202. data/doc/setup.rb +0 -1655
  203. data/lib/bioroebe/fasta_and_fastq/parse_fasta/constants.rb +0 -50
  204. data/lib/bioroebe/fasta_and_fastq/parse_fasta/initialize.rb +0 -86
  205. data/lib/bioroebe/fasta_and_fastq/parse_fasta/menu.rb +0 -117
  206. data/lib/bioroebe/fasta_and_fastq/parse_fasta/misc.rb +0 -981
  207. data/lib/bioroebe/fasta_and_fastq/parse_fasta/report.rb +0 -156
  208. data/lib/bioroebe/fasta_and_fastq/parse_fasta/reset.rb +0 -128
  209. data/lib/bioroebe/genbank/genbank_parser.rb +0 -291
  210. data/lib/bioroebe/java/bioroebe/Base.class +0 -0
  211. data/lib/bioroebe/java/bioroebe/Codons.java +0 -22
  212. data/lib/bioroebe/java/bioroebe/PartnerNucleotide.class +0 -0
  213. data/lib/bioroebe/java/bioroebe/PartnerNucleotide.java +0 -19
  214. data/lib/bioroebe/java/bioroebe.jar +0 -0
  215. data/lib/bioroebe/shell/add.rb +0 -108
  216. data/lib/bioroebe/shell/assign.rb +0 -360
  217. data/lib/bioroebe/shell/chop_and_cut.rb +0 -281
  218. data/lib/bioroebe/shell/constants.rb +0 -166
  219. data/lib/bioroebe/shell/download.rb +0 -335
  220. data/lib/bioroebe/shell/enable_and_disable.rb +0 -158
  221. data/lib/bioroebe/shell/enzymes.rb +0 -310
  222. data/lib/bioroebe/shell/fasta.rb +0 -345
  223. data/lib/bioroebe/shell/gtk.rb +0 -76
  224. data/lib/bioroebe/shell/history.rb +0 -132
  225. data/lib/bioroebe/shell/initialize.rb +0 -217
  226. data/lib/bioroebe/shell/loop.rb +0 -74
  227. data/lib/bioroebe/shell/prompt.rb +0 -107
  228. data/lib/bioroebe/shell/random.rb +0 -289
  229. data/lib/bioroebe/shell/reset.rb +0 -335
  230. data/lib/bioroebe/shell/scan_and_parse.rb +0 -135
  231. data/lib/bioroebe/shell/search.rb +0 -337
  232. data/lib/bioroebe/shell/sequences.rb +0 -200
  233. data/lib/bioroebe/shell/show_report_and_display.rb +0 -2901
  234. data/lib/bioroebe/shell/startup.rb +0 -127
  235. data/lib/bioroebe/shell/taxonomy.rb +0 -14
  236. data/lib/bioroebe/shell/tk.rb +0 -23
  237. data/lib/bioroebe/shell/user_input.rb +0 -88
  238. data/lib/bioroebe/shell/xorg.rb +0 -45
  239. /data/lib/bioroebe/java/bioroebe/{BisulfiteTreatment.java → src/main/java/bioroebe/BisulfiteTreatment.java} +0 -0
  240. /data/lib/bioroebe/java/bioroebe/{Esystem.class → src/main/java/bioroebe/Esystem.class} +0 -0
  241. /data/lib/bioroebe/java/bioroebe/{Esystem.java → src/main/java/bioroebe/Esystem.java} +0 -0
  242. /data/lib/bioroebe/java/bioroebe/{RemoveFile.class → src/main/java/bioroebe/RemoveFile.class} +0 -0
@@ -0,0 +1,83 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # ========================================================================= #
5
+ # === Bioroebe::ElectronMicroscopy::FlipY
6
+ #
7
+ # This class will flip the coordinates in the y-axis direction. It will
8
+ # work on .mrc files.
9
+ #
10
+ # Usage example:
11
+ #
12
+ # Bioroebe::ElectronMicroscopy/FlipY.new
13
+ #
14
+ # ========================================================================= #
15
+ # require 'bioroebe/electron_microscopy/flipy.rb'
16
+ # ========================================================================= #
17
+ require 'bioroebe/base/commandline_application/commandline_application.rb'
18
+
19
+ module Bioroebe
20
+
21
+ module ElectronMicroscopy
22
+
23
+ class FlipY < ::Bioroebe::CommandlineApplication # === Bioroebe::ElectronMicroscopy::FlipY
24
+
25
+ # ========================================================================= #
26
+ # === initialize
27
+ # ========================================================================= #
28
+ def initialize(
29
+ i = nil,
30
+ run_already = true
31
+ )
32
+ reset
33
+ set_commandline_arguments(i)
34
+ run if run_already
35
+ end
36
+
37
+ # ========================================================================= #
38
+ # === reset (reset tag)
39
+ # ========================================================================= #
40
+ def reset
41
+ super()
42
+ infer_the_namespace
43
+ end
44
+
45
+ # ========================================================================= #
46
+ # === menu (menu tag)
47
+ # ========================================================================= #
48
+ def menu(i)
49
+ case i
50
+ # ======================================================================= #
51
+ # === --help
52
+ # ======================================================================= #
53
+ when /^-?-?help$/i
54
+ opnn; e 'Input a .mrc file.'
55
+ exit
56
+ end
57
+ end
58
+
59
+ # ========================================================================= #
60
+ # === run (run tag)
61
+ # ========================================================================= #
62
+ def run
63
+ this_image = first_argument?
64
+ if this_image.is_a? Array
65
+ this_image = this_image.first
66
+ end
67
+ this_image = this_image.to_s
68
+ output_location = (
69
+ File.dirname(this_image)+'/'+File.basename(this_image)
70
+ ).squeeze('/')
71
+ if output_location.include? 'BACKUP/'
72
+ output_location.gsub!(/BACKUP\//, '')
73
+ end
74
+ @cmd = 'xmipp_transform_mirror --flipY -i '+this_image+' -o '+output_location
75
+ menu(this_image)
76
+ esystem @cmd
77
+ end
78
+
79
+ end; end; end
80
+
81
+ if __FILE__ == $PROGRAM_NAME
82
+ Bioroebe::ElectronMicroscopy::FlipY.new(ARGV)
83
+ end # flipy
@@ -19,12 +19,7 @@ module Bioroebe
19
19
 
20
20
  module ElectronMicroscopy
21
21
 
22
- class ParseCoordinates < ::Bioroebe::CommandlineApplication # === Bioroebe::ElectronMicroscopy::ParseCoordinates.new
23
-
24
- # ========================================================================= #
25
- # === NAMESPACE
26
- # ========================================================================= #
27
- NAMESPACE = inspect
22
+ class ParseCoordinates < ::Bioroebe::CommandlineApplication # === Bioroebe::ElectronMicroscopy::ParseCoordinates
28
23
 
29
24
  # ========================================================================= #
30
25
  # === DEFAULT_FILE
@@ -58,10 +53,7 @@ class ParseCoordinates < ::Bioroebe::CommandlineApplication # === Bioroebe::Elec
58
53
  # ========================================================================= #
59
54
  def reset
60
55
  super()
61
- # ======================================================================= #
62
- # === @namespace
63
- # ======================================================================= #
64
- @namespace = NAMESPACE
56
+ infer_the_namespace
65
57
  # ======================================================================= #
66
58
  # === @dataset
67
59
  # ======================================================================= #
@@ -22,11 +22,6 @@ module ElectronMicroscopy
22
22
 
23
23
  class ReadFileXMD < ::Bioroebe::CommandlineApplication # === Bioroebe::ElectronMicroscopy::ReadFileXMD
24
24
 
25
- # ========================================================================= #
26
- # === NAMESPACE
27
- # ========================================================================= #
28
- NAMESPACE = inspect
29
-
30
25
  # ========================================================================= #
31
26
  # === initialize
32
27
  #
@@ -51,10 +46,7 @@ class ReadFileXMD < ::Bioroebe::CommandlineApplication # === Bioroebe::ElectronM
51
46
  # ========================================================================= #
52
47
  def reset
53
48
  super()
54
- # ======================================================================= #
55
- # === @namespace
56
- # ======================================================================= #
57
- @namespace = NAMESPACE
49
+ infer_the_namespace
58
50
  # ======================================================================= #
59
51
  # === @header
60
52
  # ======================================================================= #
@@ -22,10 +22,8 @@ module ElectronMicroscopy
22
22
 
23
23
  class SimpleStarFileGenerator < ::Bioroebe::CommandlineApplication # === Bioroebe::ElectronMicroscopy::SimpleStarFileGenerator
24
24
 
25
- # ========================================================================= #
26
- # === NAMESPACE
27
- # ========================================================================= #
28
- NAMESPACE = inspect
25
+ require 'bioroebe/electron_microscopy/electron_microscopy_module.rb'
26
+ include Bioroebe::ElectronMicroscopy
29
27
 
30
28
  # ========================================================================= #
31
29
  # === SAVE_HERE
@@ -62,14 +60,11 @@ _rlnMicrographName #1'+N
62
60
  end
63
61
 
64
62
  # ========================================================================= #
65
- # === reset
63
+ # === reset (reset tag)
66
64
  # ========================================================================= #
67
65
  def reset
68
66
  super()
69
- # ======================================================================= #
70
- # === @namespace
71
- # ======================================================================= #
72
- @namespace = NAMESPACE
67
+ infer_the_namespace
73
68
  # ======================================================================= #
74
69
  # === @save_here
75
70
  # ======================================================================= #
@@ -11,9 +11,13 @@ module Bioroebe
11
11
  # ========================================================================= #
12
12
  # === Bioroebe.has_this_restriction_enzyme?
13
13
  #
14
- # Determine whether we have a specific restriction enzyme or whether
15
- # we do not. We will downcase all keys in use to simplify finding
16
- # a matching entry.
14
+ # This method will determine whether we have a specific restriction
15
+ # enzyme registered in the yaml file restriction_enzymes.yml or
16
+ # whether we do not. That way we can query whether a restriction
17
+ # enzyme is registered (and thus available) or whether it is not.
18
+ #
19
+ # The method will downcase all keys in use to simplify finding a
20
+ # matching entry.
17
21
  #
18
22
  # Usage example:
19
23
  #
@@ -21,6 +25,9 @@ module Bioroebe
21
25
  # Bioroebe.has_this_restriction_enzyme? 'EcoRI' # => true
22
26
  # Bioroebe.has_this_restriction_enzyme? 'EcoRII' # => true
23
27
  # Bioroebe.has_this_restriction_enzyme? 'EcoRIII' # => false
28
+ # Bioroebe.has_this_restriction_enzyme? 'PvuI' # => true
29
+ # Bioroebe.has_this_restriction_enzyme? 'PvuII' # => true
30
+ # Bioroebe.has_this_restriction_enzyme? 'PvuIII' # => false
24
31
  #
25
32
  # ========================================================================= #
26
33
  def self.has_this_restriction_enzyme?(
@@ -152,7 +152,7 @@ class RestrictionEnzyme < ::Bioroebe::CommandlineApplication # === Bioroebe::Res
152
152
  # ========================================================================= #
153
153
  # === Bioroebe::RestrictionEnzyme[]
154
154
  # ========================================================================= #
155
- def self.[](i = '')
155
+ def self.[](i = ARGV)
156
156
  new(i)
157
157
  end
158
158
 
@@ -184,6 +184,28 @@ def self.restriction_enzyme(i)
184
184
  _[i]
185
185
  end
186
186
 
187
+ # =========================================================================== #
188
+ # === Bioroebe.restriction_sites?
189
+ #
190
+ # Usage examples:
191
+ #
192
+ # x = Bioroebe.restriction_sites?('EcoRI') # => "GAATTC"
193
+ # x = Bioroebe.restriction_sites?('SacI') # => "GAGCTC"
194
+ # x = Bioroebe.restriction_sites?('KpnI') # => "GGTACC"
195
+ # x = Bioroebe.restriction_sites?('XmaI') # => "CCCGGG"
196
+ # x = Bioroebe.restriction_sites?('BamHI') # => "GGATCC"
197
+ # x = Bioroebe.restriction_sites?('XbaI') # => "TCTAGA"
198
+ # x = Bioroebe.restriction_sites?('SalI') # => "GTCGAC"
199
+ #
200
+ # =========================================================================== #
201
+ def self.restriction_sites?(i)
202
+ if i.is_a? Array
203
+ i = i.join(' ').strip
204
+ end
205
+ i = i.dup if i.frozen?
206
+ return restriction_enzyme(i)
207
+ end
208
+
187
209
  end
188
210
 
189
211
  if __FILE__ == $PROGRAM_NAME
@@ -0,0 +1,65 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # === Bioroebe::RestrictionEnzymes::Statistics
6
+ #
7
+ # Statistics-related information is stored in this file.
8
+ # =========================================================================== #
9
+ # require 'statistics.rb'
10
+ # =========================================================================== #
11
+ module Bioroebe
12
+
13
+ module RestrictionEnzymes
14
+
15
+ module Statistics # === Bioroebe::RestrictionEnzymes::Statistics
16
+
17
+ require 'bioroebe/constants/files_and_directories.rb'
18
+
19
+ alias e puts
20
+
21
+ # ========================================================================= #
22
+ # === Bioroebe::RestrictionEnzymes::Statistics.erev
23
+ # ========================================================================= #
24
+ def self.erev(i = '')
25
+ ::Bioroebe.erev(i)
26
+ end
27
+
28
+ # ========================================================================= #
29
+ # === Bioroebe::RestrictionEnzymes::Statistics.show
30
+ # ========================================================================= #
31
+ def self.show
32
+ require 'yaml'
33
+ require 'bioroebe/colours/rev.rb'
34
+ dataset = YAML.load_file(Bioroebe.file_restriction_enzymes)
35
+ erev 'A total of '+dataset.keys.size.to_s+' restriction enzymes '\
36
+ 'are registered in this project.'
37
+ array = []
38
+ dataset.each_pair {|key, value|
39
+ if value.include? ' '
40
+ value = value.split(' ').first.to_s
41
+ end
42
+ array << value.size
43
+ }
44
+ hash = Hash.new
45
+ hash.default = 0
46
+ array.each {|entry|
47
+ hash[entry] += 1
48
+ }
49
+ sorted = hash.sort_by {|key, value| key }
50
+ e
51
+ erev 'The composition is:'
52
+ e
53
+ sorted.each {|key, value|
54
+ erev ' Restriction size '+key.to_s.rjust(2)+' is encountered '+
55
+ value.to_s.rjust(3)+' times.'
56
+ }
57
+ e
58
+ end
59
+
60
+ end; end; end
61
+
62
+ if __FILE__ == $PROGRAM_NAME
63
+ include Bioroebe::RestrictionEnzymes::Statistics
64
+ Bioroebe::RestrictionEnzymes::Statistics.show
65
+ end # statistics.rb
@@ -23,11 +23,6 @@ class AutocorrectTheNameOfThisFastaFile < CommandlineApplication # === Bioroebe:
23
23
 
24
24
  require 'bioroebe/fasta_and_fastq/parse_fasta/parse_fasta.rb'
25
25
 
26
- # ========================================================================= #
27
- # === NAMESPACE
28
- # ========================================================================= #
29
- NAMESPACE = inspect
30
-
31
26
  # ========================================================================= #
32
27
  # === initialize
33
28
  # ========================================================================= #
@@ -47,10 +42,7 @@ class AutocorrectTheNameOfThisFastaFile < CommandlineApplication # === Bioroebe:
47
42
  # ========================================================================= #
48
43
  def reset
49
44
  super()
50
- # ======================================================================= #
51
- # === @namespace
52
- # ======================================================================= #
53
- @namespace = NAMESPACE
45
+ infer_the_namespace
54
46
  end
55
47
 
56
48
  # ========================================================================= #
@@ -21,9 +21,9 @@ module Bioroebe
21
21
  class CompactFastaFile < ::Bioroebe::CommandlineApplication # === Bioroebe::CompactFastaFile
22
22
 
23
23
  # ========================================================================= #
24
- # === NAMESPACE
24
+ # === SHALL_WE_UPCASE_THE_SEQUENCE_IN_THE_NEWLY_GENERATED_FILE
25
25
  # ========================================================================= #
26
- NAMESPACE = inspect
26
+ SHALL_WE_UPCASE_THE_SEQUENCE_IN_THE_NEWLY_GENERATED_FILE = true
27
27
 
28
28
  # ========================================================================= #
29
29
  # === initialize
@@ -72,10 +72,7 @@ class CompactFastaFile < ::Bioroebe::CommandlineApplication # === Bioroebe::Comp
72
72
  # === reset (reset tag)
73
73
  # ========================================================================= #
74
74
  def reset
75
- # ======================================================================= #
76
- # === @namespace
77
- # ======================================================================= #
78
- @namespace = NAMESPACE
75
+ infer_the_namespace
79
76
  # ======================================================================= #
80
77
  # === @user_configuration
81
78
  # ======================================================================= #
@@ -83,7 +80,8 @@ class CompactFastaFile < ::Bioroebe::CommandlineApplication # === Bioroebe::Comp
83
80
  # ======================================================================= #
84
81
  # === :do_upcase_the_sequence
85
82
  # ======================================================================= #
86
- @user_configuration[:do_upcase_the_sequence] = false
83
+ @user_configuration[:do_upcase_the_sequence] =
84
+ SHALL_WE_UPCASE_THE_SEQUENCE_IN_THE_NEWLY_GENERATED_FILE
87
85
  enable_colours
88
86
  end
89
87
 
@@ -99,7 +97,7 @@ class CompactFastaFile < ::Bioroebe::CommandlineApplication # === Bioroebe::Comp
99
97
  # ========================================================================= #
100
98
  def do_upcase_the_sequence?
101
99
  @user_configuration[:do_upcase_the_sequence]
102
- end
100
+ end; alias shall_we_upcase_the_sequence? do_upcase_the_sequence? # === shall_we_upcase_the_sequence?
103
101
 
104
102
  # ========================================================================= #
105
103
  # === menu (menu tag)
@@ -131,7 +129,7 @@ class CompactFastaFile < ::Bioroebe::CommandlineApplication # === Bioroebe::Comp
131
129
  )
132
130
  _ = Bioroebe::ParseFasta.new(this_file) { :be_quiet }
133
131
  what = '> '+_.header?+"\n".dup
134
- if do_upcase_the_sequence?
132
+ if shall_we_upcase_the_sequence?
135
133
  what << _.body?.upcase.delete(' ')
136
134
  else
137
135
  what << _.body?.delete(' ')
@@ -23,11 +23,6 @@ module Bioroebe
23
23
 
24
24
  class FastaDefline < ::Bioroebe::CommandlineApplication # === Bioroebe::FastaDefline
25
25
 
26
- # ========================================================================= #
27
- # === NAMESPACE
28
- # ========================================================================= #
29
- NAMESPACE = inspect
30
-
31
26
  # ========================================================================= #
32
27
  # === initialize
33
28
  # ========================================================================= #
@@ -47,6 +42,7 @@ class FastaDefline < ::Bioroebe::CommandlineApplication # === Bioroebe::FastaDef
47
42
  # ========================================================================= #
48
43
  def reset
49
44
  super()
45
+ infer_the_namespace
50
46
  end
51
47
 
52
48
  # ========================================================================= #
@@ -0,0 +1,81 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # === Bioroebe::FastaToYaml
6
+ #
7
+ # This class can turn a FASTA sequence, such as one stored in .fasta,
8
+ # into a .yml file.
9
+ #
10
+ # Usage example:
11
+ #
12
+ # Bioroebe::FastaToYaml.new(ARGV)
13
+ #
14
+ # =========================================================================== #
15
+ # require 'bioroebe/fasta/fasta_to_yaml/fasta_to_yaml.rb'
16
+ # =========================================================================== #
17
+ require 'bioroebe/base/commandline_application/commandline_application.rb'
18
+
19
+ module Bioroebe
20
+
21
+ class FastaToYaml < ::Bioroebe::CommandlineApplication # === Bioroebe::FastaToYaml
22
+
23
+ require 'bioroebe/fasta_and_fastq/parse_fasta/parse_fasta.rb'
24
+
25
+ # ========================================================================= #
26
+ # === initialize
27
+ # ========================================================================= #
28
+ def initialize(
29
+ commandline_arguments = nil,
30
+ run_already = true
31
+ )
32
+ reset
33
+ set_commandline_arguments(
34
+ commandline_arguments
35
+ )
36
+ run if run_already
37
+ end
38
+
39
+ # ========================================================================= #
40
+ # === reset (reset tag)
41
+ # ========================================================================= #
42
+ def reset
43
+ super()
44
+ infer_the_namespace
45
+ end
46
+
47
+ # ========================================================================= #
48
+ # === run (run tag)
49
+ # ========================================================================= #
50
+ def run
51
+ _ = first?
52
+ if _ and File.exist?(_)
53
+ dataset = Bioroebe.parse_fasta_file(_)
54
+ opne 'Converting the dataset from '+sfile(_)
55
+ opne 'into a standalone .yml file next.'
56
+ hash = {}
57
+ hash[:filename] = _
58
+ hash[:identifier] = File.read(_).split("\n").first.delete('>').lstrip
59
+ hash[:identifier] = return_the_first_line_of_this_file(_).
60
+ delete('>').delete(':').
61
+ lstrip
62
+ hash[:sequence] = dataset.sequence?
63
+ what = YAML.dump(hash)
64
+ into = _.delete_suffix(File.extname(_))+'.yml'
65
+ opne 'Storing into the file `'+sfile(into)+rev+'` next.'
66
+ write_what_into(what, into)
67
+ end
68
+ end
69
+
70
+ # ========================================================================= #
71
+ # === Bioroebe::FastaToYaml[]
72
+ # ========================================================================= #
73
+ def self.[](i = ARGV)
74
+ new(i)
75
+ end
76
+
77
+ end; end
78
+
79
+ if __FILE__ == $PROGRAM_NAME
80
+ Bioroebe::FastaToYaml.new(ARGV)
81
+ end # fastatoyaml