bioroebe 0.10.80 → 0.11.32

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 (210) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3209 -2618
  3. data/bin/bioroebe +7 -1
  4. data/bioroebe.gemspec +3 -3
  5. data/doc/README.gen +3208 -2617
  6. data/doc/quality_control/commandline_applications.md +3 -3
  7. data/doc/todo/bioroebe_todo.md +2040 -2615
  8. data/lib/bioroebe/aminoacids/aminoacid_substitution.rb +1 -9
  9. data/lib/bioroebe/aminoacids/codon_percentage.rb +1 -9
  10. data/lib/bioroebe/aminoacids/deduce_aminoacid_sequence.rb +1 -9
  11. data/lib/bioroebe/aminoacids/display_aminoacid_table.rb +1 -0
  12. data/lib/bioroebe/aminoacids/show_hydrophobicity.rb +1 -6
  13. data/lib/bioroebe/base/colours_for_base/colours_for_base.rb +18 -8
  14. data/lib/bioroebe/base/commandline_application/commandline_arguments.rb +13 -11
  15. data/lib/bioroebe/base/commandline_application/misc.rb +26 -9
  16. data/lib/bioroebe/base/commandline_application/opn.rb +8 -8
  17. data/lib/bioroebe/base/commandline_application/reset.rb +3 -2
  18. data/lib/bioroebe/base/misc.rb +35 -0
  19. data/lib/bioroebe/base/prototype/misc.rb +11 -1
  20. data/lib/bioroebe/codon_tables/frequencies/parse_frequency_table.rb +2 -10
  21. data/lib/bioroebe/codons/possible_codons_for_this_aminoacid.rb +1 -9
  22. data/lib/bioroebe/codons/show_codon_tables.rb +6 -2
  23. data/lib/bioroebe/codons/show_codon_usage.rb +2 -1
  24. data/lib/bioroebe/constants/aminoacids_and_proteins.rb +1 -0
  25. data/lib/bioroebe/constants/database_constants.rb +1 -1
  26. data/lib/bioroebe/constants/files_and_directories.rb +31 -4
  27. data/lib/bioroebe/constants/misc.rb +20 -0
  28. data/lib/bioroebe/count/count_amount_of_nucleotides.rb +3 -0
  29. data/lib/bioroebe/crystal/README.md +2 -0
  30. data/lib/bioroebe/crystal/to_rna.cr +19 -0
  31. data/lib/bioroebe/data/README.md +11 -8
  32. data/lib/bioroebe/data/electron_microscopy/pos_example.pos +396 -0
  33. data/lib/bioroebe/data/electron_microscopy/test_particles.star +36 -0
  34. data/lib/bioroebe/electron_microscopy/coordinate_analyzer.rb +15 -18
  35. data/lib/bioroebe/{fasta_and_fastq/parse_fasta/run.rb → electron_microscopy/electron_microscopy_module.rb} +16 -8
  36. data/lib/bioroebe/electron_microscopy/fix_pos_file.rb +1 -9
  37. data/lib/bioroebe/electron_microscopy/flipy.rb +83 -0
  38. data/lib/bioroebe/electron_microscopy/parse_coordinates.rb +2 -10
  39. data/lib/bioroebe/electron_microscopy/read_file_xmd.rb +1 -9
  40. data/lib/bioroebe/electron_microscopy/simple_star_file_generator.rb +4 -9
  41. data/lib/bioroebe/fasta_and_fastq/autocorrect_the_name_of_this_fasta_file.rb +1 -9
  42. data/lib/bioroebe/fasta_and_fastq/compact_fasta_file/compact_fasta_file.rb +7 -9
  43. data/lib/bioroebe/fasta_and_fastq/fasta_defline/fasta_defline.rb +1 -5
  44. data/lib/bioroebe/fasta_and_fastq/fasta_to_yaml/fasta_to_yaml.rb +81 -0
  45. data/lib/bioroebe/fasta_and_fastq/parse_fasta/parse_fasta.rb +1460 -7
  46. data/lib/bioroebe/fasta_and_fastq/return_fasta_subsection_of_this_file.rb +11 -2
  47. data/lib/bioroebe/fasta_and_fastq/show_fasta_headers.rb +27 -12
  48. data/lib/bioroebe/fasta_and_fastq/simplify_fasta_header/simplify_fasta_header.rb +1 -5
  49. data/lib/bioroebe/fasta_and_fastq/split_this_fasta_file_into_chromosomes/constants.rb +0 -5
  50. data/lib/bioroebe/genome/README.md +4 -0
  51. data/lib/bioroebe/genome/genome.rb +67 -0
  52. data/lib/bioroebe/genomes/genome_pattern.rb +3 -9
  53. data/lib/bioroebe/gui/gtk +1 -0
  54. data/lib/bioroebe/gui/gtk3/controller/controller.rb +45 -27
  55. data/lib/bioroebe/gui/gtk3/dna_to_aminoacid_widget/dna_to_aminoacid_widget.rb +76 -50
  56. data/lib/bioroebe/gui/gtk3/fasta_table_widget/fasta_table_widget.rb +99 -21
  57. data/lib/bioroebe/gui/gtk3/hamming_distance/hamming_distance.rb +42 -28
  58. data/lib/bioroebe/gui/gtk3/nucleotide_analyser/nucleotide_analyser.rb +119 -71
  59. data/lib/bioroebe/gui/gtk3/protein_to_DNA/protein_to_DNA.rb +18 -18
  60. data/lib/bioroebe/gui/gtk3/random_sequence/random_sequence.rb +19 -11
  61. data/lib/bioroebe/gui/libui/three_to_one/three_to_one.rb +8 -6
  62. data/lib/bioroebe/gui/shared_code/protein_to_DNA/protein_to_DNA_module.rb +14 -14
  63. data/lib/bioroebe/gui/swing/three_to_one/ThreeToOne$1.class +0 -0
  64. data/lib/bioroebe/gui/swing/three_to_one/ThreeToOne$CloseListener.class +0 -0
  65. data/lib/bioroebe/gui/swing/three_to_one/ThreeToOne.class +0 -0
  66. data/lib/bioroebe/gui/swing/three_to_one/ThreeToOne.java +141 -0
  67. data/lib/bioroebe/java/README.md +4 -0
  68. data/lib/bioroebe/java/bioroebe/Sequence.java +25 -1
  69. data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/Base.class +0 -0
  70. data/lib/bioroebe/java/bioroebe/{Base.java → src/main/java/bioroebe/Base.java} +15 -2
  71. data/lib/bioroebe/java/bioroebe/{BisulfiteTreatment.class → src/main/java/bioroebe/BisulfiteTreatment.class} +0 -0
  72. data/lib/bioroebe/java/bioroebe/{BisulfiteTreatment.java → src/main/java/bioroebe/BisulfiteTreatment.java} +0 -0
  73. data/lib/bioroebe/java/bioroebe/{Codons.class → src/main/java/bioroebe/Codons.class} +0 -0
  74. data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/Codons.java +34 -0
  75. data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/Commandline.class +0 -0
  76. data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/Commandline.java +95 -0
  77. data/lib/bioroebe/java/bioroebe/{Esystem.class → src/main/java/bioroebe/Esystem.class} +0 -0
  78. data/lib/bioroebe/java/bioroebe/{Esystem.java → src/main/java/bioroebe/Esystem.java} +0 -0
  79. data/lib/bioroebe/java/bioroebe/{GenerateRandomDnaSequence.class → src/main/java/bioroebe/GenerateRandomDnaSequence.class} +0 -0
  80. data/lib/bioroebe/java/bioroebe/{GenerateRandomDnaSequence.java → src/main/java/bioroebe/GenerateRandomDnaSequence.java} +8 -2
  81. data/lib/bioroebe/java/bioroebe/{IsPalindrome.class → src/main/java/bioroebe/IsPalindrome.class} +0 -0
  82. data/lib/bioroebe/java/bioroebe/{IsPalindrome.java → src/main/java/bioroebe/IsPalindrome.java} +5 -1
  83. data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/PartnerNucleotide.class +0 -0
  84. data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/PartnerNucleotide.java +56 -0
  85. data/lib/bioroebe/java/bioroebe/{RemoveFile.class → src/main/java/bioroebe/RemoveFile.class} +0 -0
  86. data/lib/bioroebe/java/bioroebe/{RemoveFile.java → src/main/java/bioroebe/RemoveFile.java} +10 -4
  87. data/lib/bioroebe/java/bioroebe/{RemoveNumbers.class → src/main/java/bioroebe/RemoveNumbers.class} +0 -0
  88. data/lib/bioroebe/java/bioroebe/{RemoveNumbers.java → src/main/java/bioroebe/RemoveNumbers.java} +1 -0
  89. data/lib/bioroebe/java/bioroebe/{ToCamelcase.class → src/main/java/bioroebe/ToCamelcase.class} +0 -0
  90. data/lib/bioroebe/java/bioroebe/{ToCamelcase.java → src/main/java/bioroebe/ToCamelcase.java} +3 -3
  91. data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/ToRNA.class +0 -0
  92. data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/ToRNA.java +42 -0
  93. data/lib/bioroebe/java/bioroebe/toplevel_methods/BaseComposition.class +0 -0
  94. data/lib/bioroebe/java/bioroebe/toplevel_methods/BaseComposition.java +73 -0
  95. data/lib/bioroebe/misc/ruler.rb +1 -0
  96. data/lib/bioroebe/nucleotides/most_likely_nucleotide_sequence_for_this_aminoacid_sequence.rb +1 -9
  97. data/lib/bioroebe/nucleotides/show_nucleotide_sequence.rb +7 -7
  98. data/lib/bioroebe/parsers/genbank_parser.rb +347 -26
  99. data/lib/bioroebe/parsers/gff.rb +1 -9
  100. data/lib/bioroebe/patterns/scan_for_repeat.rb +1 -5
  101. data/lib/bioroebe/pdb/fetch_fasta_sequence_from_pdb.rb +1 -9
  102. data/lib/bioroebe/pdb/parse_mmCIF_file.rb +1 -9
  103. data/lib/bioroebe/pdb/parse_pdb_file.rb +1 -9
  104. data/lib/bioroebe/project/project.rb +1 -1
  105. data/lib/bioroebe/python/README.md +1 -0
  106. data/lib/bioroebe/python/__pycache__/mymodule.cpython-39.pyc +0 -0
  107. data/lib/bioroebe/python/gui/gtk3/all_in_one.css +4 -0
  108. data/lib/bioroebe/python/gui/gtk3/all_in_one.py +59 -0
  109. data/lib/bioroebe/python/gui/gtk3/widget1.py +20 -0
  110. data/lib/bioroebe/python/gui/tkinter/all_in_one.py +91 -0
  111. data/lib/bioroebe/python/mymodule.py +8 -0
  112. data/lib/bioroebe/python/protein_to_dna.py +33 -0
  113. data/lib/bioroebe/python/shell/shell.py +19 -0
  114. data/lib/bioroebe/python/to_rna.py +14 -0
  115. data/lib/bioroebe/python/toplevel_methods/esystem.py +12 -0
  116. data/lib/bioroebe/python/toplevel_methods/open_in_browser.py +20 -0
  117. data/lib/bioroebe/python/toplevel_methods/palindromes.py +42 -0
  118. data/lib/bioroebe/python/toplevel_methods/rds.py +13 -0
  119. data/lib/bioroebe/python/toplevel_methods/shuffleseq.py +23 -0
  120. data/lib/bioroebe/python/toplevel_methods/three_delimiter.py +37 -0
  121. data/lib/bioroebe/python/toplevel_methods/time_and_date.py +43 -0
  122. data/lib/bioroebe/python/toplevel_methods/to_camelcase.py +21 -0
  123. data/lib/bioroebe/requires/require_the_bioroebe_project.rb +3 -1
  124. data/lib/bioroebe/sequence/nucleotide_module/nucleotide_module.rb +28 -25
  125. data/lib/bioroebe/sequence/protein.rb +105 -3
  126. data/lib/bioroebe/sequence/sequence.rb +61 -2
  127. data/lib/bioroebe/shell/menu.rb +3819 -3713
  128. data/lib/bioroebe/shell/misc.rb +51 -4311
  129. data/lib/bioroebe/shell/readline/readline.rb +1 -1
  130. data/lib/bioroebe/shell/shell.rb +11250 -28
  131. data/lib/bioroebe/siRNA/siRNA.rb +81 -1
  132. data/lib/bioroebe/string_matching/find_longest_substring.rb +3 -2
  133. data/lib/bioroebe/string_matching/hamming_distance.rb +1 -9
  134. data/lib/bioroebe/taxonomy/class_methods.rb +3 -8
  135. data/lib/bioroebe/taxonomy/constants.rb +4 -3
  136. data/lib/bioroebe/taxonomy/edit.rb +2 -1
  137. data/lib/bioroebe/taxonomy/help/help.rb +10 -10
  138. data/lib/bioroebe/taxonomy/info/check_available.rb +15 -9
  139. data/lib/bioroebe/taxonomy/info/info.rb +18 -11
  140. data/lib/bioroebe/taxonomy/info/is_dna.rb +46 -36
  141. data/lib/bioroebe/taxonomy/interactive.rb +140 -104
  142. data/lib/bioroebe/taxonomy/menu.rb +27 -18
  143. data/lib/bioroebe/taxonomy/parse_fasta.rb +3 -1
  144. data/lib/bioroebe/taxonomy/shared.rb +1 -0
  145. data/lib/bioroebe/taxonomy/taxonomy.rb +1 -0
  146. data/lib/bioroebe/toplevel_methods/aminoacids_and_proteins.rb +31 -24
  147. data/lib/bioroebe/toplevel_methods/colourize_related_methods.rb +164 -0
  148. data/lib/bioroebe/toplevel_methods/databases.rb +1 -1
  149. data/lib/bioroebe/toplevel_methods/fasta_and_fastq.rb +107 -63
  150. data/lib/bioroebe/toplevel_methods/file_and_directory_related_actions.rb +14 -2
  151. data/lib/bioroebe/toplevel_methods/misc.rb +118 -11
  152. data/lib/bioroebe/toplevel_methods/nucleotides.rb +22 -5
  153. data/lib/bioroebe/toplevel_methods/open_in_browser.rb +2 -0
  154. data/lib/bioroebe/toplevel_methods/palindromes.rb +1 -2
  155. data/lib/bioroebe/toplevel_methods/taxonomy.rb +2 -2
  156. data/lib/bioroebe/toplevel_methods/to_camelcase.rb +5 -0
  157. data/lib/bioroebe/utility_scripts/align_open_reading_frames.rb +1 -9
  158. data/lib/bioroebe/utility_scripts/check_for_mismatches/check_for_mismatches.rb +1 -9
  159. data/lib/bioroebe/utility_scripts/compacter.rb +1 -9
  160. data/lib/bioroebe/utility_scripts/compseq/compseq.rb +1 -9
  161. data/lib/bioroebe/utility_scripts/create_batch_entrez_file.rb +1 -9
  162. data/lib/bioroebe/utility_scripts/dot_alignment.rb +1 -9
  163. data/lib/bioroebe/utility_scripts/move_file_to_its_correct_location.rb +1 -4
  164. data/lib/bioroebe/utility_scripts/showorf/constants.rb +0 -5
  165. data/lib/bioroebe/utility_scripts/showorf/reset.rb +1 -4
  166. data/lib/bioroebe/version/version.rb +2 -2
  167. data/lib/bioroebe/www/embeddable_interface.rb +101 -52
  168. data/lib/bioroebe/www/sinatra/sinatra.rb +186 -70
  169. data/lib/bioroebe/yaml/aminoacids/amino_acids_long_name_to_one_letter.yml +2 -2
  170. data/lib/bioroebe/yaml/configuration/browser.yml +1 -1
  171. data/lib/bioroebe/yaml/genomes/README.md +3 -4
  172. data/lib/bioroebe/yaml/restriction_enzymes/restriction_enzymes.yml +3 -3
  173. metadata +69 -64
  174. data/doc/setup.rb +0 -1655
  175. data/lib/bioroebe/fasta_and_fastq/parse_fasta/constants.rb +0 -50
  176. data/lib/bioroebe/fasta_and_fastq/parse_fasta/initialize.rb +0 -86
  177. data/lib/bioroebe/fasta_and_fastq/parse_fasta/menu.rb +0 -117
  178. data/lib/bioroebe/fasta_and_fastq/parse_fasta/misc.rb +0 -981
  179. data/lib/bioroebe/fasta_and_fastq/parse_fasta/report.rb +0 -156
  180. data/lib/bioroebe/fasta_and_fastq/parse_fasta/reset.rb +0 -128
  181. data/lib/bioroebe/genbank/genbank_parser.rb +0 -291
  182. data/lib/bioroebe/java/bioroebe/Base.class +0 -0
  183. data/lib/bioroebe/java/bioroebe/Codons.java +0 -22
  184. data/lib/bioroebe/java/bioroebe/PartnerNucleotide.class +0 -0
  185. data/lib/bioroebe/java/bioroebe/PartnerNucleotide.java +0 -19
  186. data/lib/bioroebe/java/bioroebe.jar +0 -0
  187. data/lib/bioroebe/shell/add.rb +0 -108
  188. data/lib/bioroebe/shell/assign.rb +0 -360
  189. data/lib/bioroebe/shell/chop_and_cut.rb +0 -281
  190. data/lib/bioroebe/shell/constants.rb +0 -166
  191. data/lib/bioroebe/shell/download.rb +0 -335
  192. data/lib/bioroebe/shell/enable_and_disable.rb +0 -158
  193. data/lib/bioroebe/shell/enzymes.rb +0 -310
  194. data/lib/bioroebe/shell/fasta.rb +0 -345
  195. data/lib/bioroebe/shell/gtk.rb +0 -76
  196. data/lib/bioroebe/shell/history.rb +0 -132
  197. data/lib/bioroebe/shell/initialize.rb +0 -217
  198. data/lib/bioroebe/shell/loop.rb +0 -74
  199. data/lib/bioroebe/shell/prompt.rb +0 -107
  200. data/lib/bioroebe/shell/random.rb +0 -289
  201. data/lib/bioroebe/shell/reset.rb +0 -335
  202. data/lib/bioroebe/shell/scan_and_parse.rb +0 -135
  203. data/lib/bioroebe/shell/search.rb +0 -337
  204. data/lib/bioroebe/shell/sequences.rb +0 -200
  205. data/lib/bioroebe/shell/show_report_and_display.rb +0 -2901
  206. data/lib/bioroebe/shell/startup.rb +0 -127
  207. data/lib/bioroebe/shell/taxonomy.rb +0 -14
  208. data/lib/bioroebe/shell/tk.rb +0 -23
  209. data/lib/bioroebe/shell/user_input.rb +0 -88
  210. data/lib/bioroebe/shell/xorg.rb +0 -45
@@ -35,11 +35,10 @@ module ThreeToOne # === Bioroebe::GUI::LibUI::ThreeToOne
35
35
  # === create_skeleton (create tag)
36
36
  # ========================================================================= #
37
37
  def create_skeleton
38
- @entry1 = ui_entry
39
- @entry2 = ui_entry
40
- @checkbox1 = ui_checkbox
41
- @checkbox1.is_active
42
- @checkbox2 = ui_checkbox
38
+ @entry1 = entry
39
+ @entry2 = entry
40
+ @checkbox1 = checked_checkbox
41
+ @checkbox2 = checkbox
43
42
  end
44
43
 
45
44
  # ========================================================================= #
@@ -72,7 +71,7 @@ module ThreeToOne # === Bioroebe::GUI::LibUI::ThreeToOne
72
71
  small_hbox2 << ui_text('1-to-3 conversion')
73
72
  small_hbox2 << @checkbox2
74
73
  vbox_with_checkbuttons << small_hbox2
75
-
74
+ vbox_with_checkbuttons << quit_button
76
75
  bottom_hbox << vbox_with_checkbuttons
77
76
  outer_vbox << bottom_hbox
78
77
  main_window.child = outer_vbox
@@ -92,6 +91,9 @@ module ThreeToOne # === Bioroebe::GUI::LibUI::ThreeToOne
92
91
  else
93
92
  new_result = Bioroebe.one_to_three(i.delete('-')).to_s
94
93
  end
94
+ if new_result and new_result.empty?
95
+ error_msg('No result found. Is it a three-letter aminoacid?')
96
+ end
95
97
  @entry2.set_text(new_result) if new_result and !new_result.empty?
96
98
  end; alias do_the_conversion do_trigger_the_conversion # === do_the_conversion
97
99
 
@@ -143,13 +143,6 @@ module ProteinToDNAModule # === Bioroebe::GUI::ProteinToDNAModule
143
143
  end
144
144
  end
145
145
 
146
- # ========================================================================= #
147
- # === left_buffer?
148
- # ========================================================================= #
149
- def left_buffer?
150
- @dataset[:left_buffer]
151
- end; alias left? left_buffer? # === left?
152
-
153
146
  # ========================================================================= #
154
147
  # === right_buffer?
155
148
  # ========================================================================= #
@@ -164,6 +157,20 @@ module ProteinToDNAModule # === Bioroebe::GUI::ProteinToDNAModule
164
157
  @dataset[:left_buffer].set_text(i.to_s)
165
158
  end
166
159
 
160
+ # ========================================================================= #
161
+ # === aminoacid_sequence?
162
+ # ========================================================================= #
163
+ def aminoacid_sequence?
164
+ left_buffer?.to_s
165
+ end
166
+
167
+ # ========================================================================= #
168
+ # === left_buffer?
169
+ # ========================================================================= #
170
+ def left_buffer?
171
+ @dataset[:left_buffer]
172
+ end; alias left? left_buffer? # === left?
173
+
167
174
  # ========================================================================= #
168
175
  # === do_determine_the_backtrack_sequence (click tag)
169
176
  #
@@ -182,11 +189,4 @@ module ProteinToDNAModule # === Bioroebe::GUI::ProteinToDNAModule
182
189
  right_buffer?.set_text(text_for_right_hand_side)
183
190
  end; alias do_determine_the_DNA_sequence do_determine_the_backtrack_sequence # === do_determine_the_DNA_sequence
184
191
 
185
- # ========================================================================= #
186
- # === aminoacid_sequence?
187
- # ========================================================================= #
188
- def aminoacid_sequence?
189
- left_buffer?.to_s
190
- end
191
-
192
192
  end; end; end
@@ -0,0 +1,141 @@
1
+ /* package ThreeToOne; */
2
+ import javax.swing.*;
3
+ import java.awt.*;
4
+ import java.awt.event.*;
5
+ import java.awt.Dimension;
6
+ import java.awt.event.KeyAdapter;
7
+ import java.awt.event.KeyEvent;
8
+
9
+ import java.util.Random;
10
+ import javax.swing.border.EmptyBorder;
11
+
12
+ import java.util.*;
13
+ import java.util.HashMap;
14
+ import java.util.Map;
15
+
16
+ public class ThreeToOne {
17
+
18
+ private static final String TITLE = "Three To One - Aminoacid Code Converter";
19
+
20
+ /*
21
+ * HASH_THREE_TO_ONE
22
+ */
23
+ /*
24
+ Hashtable<String, String> HASH_THREE_TO_ONE = new Hashtable<String, String>();
25
+ */
26
+
27
+ /* HASH_THREE_TO_ONE.put("Ala", "A");
28
+ */
29
+
30
+
31
+ public Hashtable<String, String> hash = new Hashtable<>(); /* Only have to specify the types once */
32
+
33
+
34
+ public static JTextField entry1,
35
+ entry2;
36
+ /*
37
+ * Main constructor (def initialize)
38
+ */
39
+ public ThreeToOne() {
40
+ run();
41
+ }
42
+ void initialize_the_main_hash() {
43
+ hash.put("Ala", "A");
44
+ }
45
+ /*
46
+ * run()
47
+ */
48
+ void run() {
49
+
50
+ JFrame frame = new JFrame(TITLE);
51
+
52
+ frame.setLayout(new GridLayout(5, 2)); /* (int rows, int cols) */
53
+ frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
54
+
55
+ JLabel label_title = new JLabel("Input Sequence");
56
+ label_title.setFont(new Font("Serif", Font.PLAIN, 30)); /* Set a new font size */
57
+
58
+ frame.add(label_title);
59
+ frame.add(new JLabel(""));
60
+
61
+ /* Input Sequence */
62
+ entry1 = new JTextField(30);
63
+ entry1.setFont(new Font("Serif", Font.PLAIN, 20));
64
+ entry1.setMargin(new Insets(4, 4, 4, 4));
65
+ entry1.setHorizontalAlignment(JTextField.CENTER);
66
+ entry1.setFocusable(true);
67
+ frame.add(entry1);
68
+ frame.add(new JLabel(""));
69
+
70
+ /* Fahrenheit */
71
+ entry2 = new JTextField(30);
72
+ entry2.setFont(new Font("Serif", Font.PLAIN, 20));
73
+ entry2.setMargin(new Insets(4, 4, 4, 4));
74
+ entry2.setHorizontalAlignment(JTextField.CENTER);
75
+ entry2.setFocusable(true);
76
+ frame.add(entry2);
77
+ frame.add(new JLabel(""));
78
+
79
+ JButton convert_button = new JButton("Convert");
80
+
81
+ frame.add(convert_button);
82
+ frame.add(return_quit_button());
83
+
84
+ frame.setSize(1200, 500);
85
+ frame.setVisible(true);
86
+
87
+ initialize_the_main_hash();
88
+
89
+ convert_button.setMnemonic('C');
90
+ convert_button.setBounds(10, 80, 80, 25); /* int x-coordinate, int y-coordinate, int width, int height */
91
+ convert_button.addActionListener(
92
+ e -> do_the_conversion()
93
+ );
94
+
95
+ }
96
+ /*
97
+ * return_quit_button()
98
+ */
99
+ JButton return_quit_button() {
100
+ JButton quit_button = new JButton("Quit");
101
+ quit_button.addActionListener(new CloseListener());
102
+ quit_button.setMnemonic('Q');
103
+ return quit_button;
104
+ }
105
+ private class CloseListener implements ActionListener {
106
+ @Override
107
+ public void actionPerformed(ActionEvent e) {
108
+ System.exit(0);
109
+ }
110
+ }
111
+
112
+ /*
113
+ * do_the_conversion()
114
+ */
115
+ void do_the_conversion() {
116
+ if (entry1.getText().isEmpty()) {
117
+ en("No text to check.");
118
+ }
119
+ else {
120
+ String target_key = entry1.getText();
121
+
122
+ if (hash.containsKey(target_key)) {
123
+ String result = hash.get(target_key);
124
+ entry2.setText(result);
125
+ };
126
+ }
127
+ }
128
+
129
+ public static void e(String i) {
130
+ System.out.print(i);
131
+ }
132
+
133
+ public static void en(String i) {
134
+ System.out.println(i);
135
+ }
136
+
137
+ public static void main(String[] args) {
138
+ ThreeToOne x = new ThreeToOne();
139
+ }
140
+
141
+ }
@@ -4,3 +4,7 @@ bioroebe to ever be fully written in Java.
4
4
  To compile it anew, do:
5
5
 
6
6
  run bioroebe/AllInOne.java
7
+
8
+ Since as of September 2022 it is easier to run:
9
+
10
+ bioroebe --create-jar
@@ -10,14 +10,38 @@ import java.io.*;
10
10
  */
11
11
  public class Sequence extends Base {
12
12
 
13
+ private static final boolean SHALL_WE_UPCASE = true;
13
14
  private static String sequence = "";
14
15
 
15
16
  public static void main(String[] args) {
16
17
  sequence = String.join("", args);
17
18
  }
19
+ /*
20
+ *
21
+ * === n_uracil?
22
+ *
23
+ * Report how many Uracil can be found in the given String. This is more
24
+ * of an ad-hoc method, though.
25
+ */
26
+ int n_uracil() {
27
+ String modified_sequence = sequence.
28
+ toUpperCase().
29
+ replace("T","U").
30
+ count('U');
31
+ return modified_sequence.
32
+ chars().
33
+ filter(ch -> ch == 'U').
34
+ count(); /* This is .count('U') */
35
+ }
18
36
 
19
37
  /*
20
- * return_sequence()
38
+ * === shall_we_upcase()
39
+ */
40
+ boolean shall_we_upcase() {
41
+ return SHALL_WE_UPCASE;
42
+ }
43
+ /*
44
+ * Sequence.return_sequence()
21
45
  *
22
46
  * Will return the sequence of our class Sequence instance.
23
47
  */
@@ -1,11 +1,14 @@
1
1
  package bioroebe;
2
+
2
3
  import bioroebe.*;
3
4
 
4
5
  /*
5
6
  * The Base class defines some constants, in particular in regards
6
7
  * to colours and console-output.
7
8
  */
8
- public abstract class Base {
9
+ /*public abstract class Base {*/
10
+
11
+ public class Base {
9
12
 
10
13
  static boolean are_we_on_windows = System.getProperty("os.name").toLowerCase().
11
14
  startsWith("windows");
@@ -56,12 +59,14 @@ public abstract class Base {
56
59
  public static void newline() {
57
60
  System.out.println();
58
61
  }
62
+
59
63
  /*
60
64
  * The colour red.
61
65
  */
62
66
  public static String red(String i) {
63
67
  return ANSI_RED+i+ANSI_WHITE;
64
68
  }
69
+
65
70
  /*
66
71
  * The colour green. (green tag)
67
72
  */
@@ -99,4 +104,12 @@ public abstract class Base {
99
104
  e(blue(i));
100
105
  }
101
106
 
102
- }
107
+ /*
108
+ * The main method here is only used for testing purposes.
109
+ */
110
+ public static void main(String[] args) {
111
+ Base x = new Base();
112
+ x.eblue("WTF");
113
+ }
114
+
115
+ }
@@ -0,0 +1,34 @@
1
+ package bioroebe;
2
+
3
+ /*
4
+ * class Codons
5
+ *
6
+ * This class will include codon-related code.
7
+ *
8
+ * It is currently very unfinished, but should ideally
9
+ * be useable for some toplevel method calls such as:
10
+ *
11
+ * Codons.is_valid_start_codon("UUU") # => true or false
12
+ *
13
+ */
14
+ class Codons extends Base {
15
+
16
+ /* Designate the main start codon to use. */
17
+ public static String start_codon = "ATG";
18
+
19
+ /*
20
+ * Codons.display_start_codons()
21
+ *
22
+ * This shall simply display all valid start codons.
23
+ *
24
+ * We currently miss reporting GTG and another one;
25
+ * this has to be fixed eventually.
26
+ */
27
+ public static void display_start_codons() {
28
+ e(start_codon);
29
+ }
30
+ public static String return_start_codon() {
31
+ return start_codon;
32
+ }
33
+
34
+ }
@@ -0,0 +1,95 @@
1
+ /*
2
+ * This class will handle commandline-given input.
3
+ */
4
+ package bioroebe;
5
+
6
+ public class Commandline {
7
+
8
+ /*
9
+ * Main constructor (def initialize)
10
+ */
11
+ String[] commandline_arguments;
12
+ public Commandline(String[] args) {
13
+ commandline_arguments = args;
14
+ run();
15
+ }
16
+ /*
17
+ * show_help() (help tag)
18
+ *
19
+ * show help instructions for this class.
20
+ */
21
+ void show_help() {
22
+ en("The following commandline options are available:");
23
+ en("");
24
+ en(" --partner # complement via partner molecules");
25
+ en(" --random-dna-sequence # output a random DNA sequence");
26
+ en("");
27
+ }
28
+ /*
29
+ * run()
30
+ */
31
+ void run() {
32
+ if (commandline_arguments.length > 0) {
33
+ for (String entry : commandline_arguments) {
34
+ /* --help */
35
+ if (entry.matches("help|--help")) {
36
+ show_help();
37
+ }
38
+ /* java bioroebe/Commandline --is-palindrome */
39
+ else if (entry.matches("is[\s_-]*palindrome|--is_palindrome")) {
40
+ System.out.println(
41
+ IsPalindrome.isPalindrome("OTTO")
42
+ );
43
+ }
44
+ /* java bioroebe/Commandline --random-dna-sequence */
45
+ else if (entry.matches("random-dna-sequence|--random-dna-sequence")) {
46
+ new GenerateRandomDnaSequence(250);
47
+ }
48
+ /* java bioroebe/Commandline --start-codons */
49
+ else if (entry.matches("start-codons|--start-codons")) {
50
+ Codons.display_start_codons();
51
+ }
52
+ /* java bioroebe/Commandline --esystem */
53
+ else if (entry.matches("esystem|--esystem")) {
54
+ Esystem.esystem("ls");
55
+ }
56
+ /* java bioroebe/Commandline --bisulfite */
57
+ else if (entry.matches("bisulfite|--bisulfite")) {
58
+ en(
59
+ BisulfiteTreatment.bisulfite_treatment("ATGCCCCCCCC")
60
+ );
61
+ }
62
+ /* java bioroebe/Commandline --remove-numbers */
63
+ else if (entry.matches("remove-numbers|--remove-numbers")) {
64
+ en(
65
+ RemoveNumbers.remove_numbers("123A")
66
+ );
67
+ }
68
+ else if (entry.matches("partner|--partner")) {
69
+ en(
70
+ PartnerNucleotide.return_partner_nucleotide("A")
71
+ );
72
+ }
73
+ else {
74
+ en("Unsure what to do with: "+entry);
75
+ }
76
+ }
77
+ }
78
+ else {
79
+ en("Please provide input to this class.");
80
+ }
81
+ }
82
+
83
+ public static void e(String i) {
84
+ System.out.print(i);
85
+ }
86
+
87
+ public static void en(String i) {
88
+ System.out.println(i);
89
+ }
90
+
91
+ public static void main(String[] args) {
92
+ Commandline x = new Commandline(args);
93
+ }
94
+
95
+ }
@@ -9,10 +9,16 @@ class GenerateRandomDnaSequence extends Base {
9
9
 
10
10
  private String dna_sequence = null;
11
11
 
12
- /* The constructer for GenerateRandomDnaSequence.
12
+ /*
13
+ * The constructor for GenerateRandomDnaSequence.
13
14
  *
14
15
  * You input a number, such as 20, and this class
15
16
  * will generate a DNA string of length 20.
17
+ *
18
+ * Usage example:
19
+ *
20
+ * new GenerateRandomDnaSequence(250);
21
+ *
16
22
  */
17
23
  public GenerateRandomDnaSequence(int n_characters) {
18
24
 
@@ -26,7 +32,7 @@ class GenerateRandomDnaSequence extends Base {
26
32
  dna_sequence += alphabet.charAt(r.nextInt(alphabet.length()));
27
33
  }
28
34
 
29
- e(dna_sequence);
35
+ e(dna_sequence); /* And output the DNA sequence here. */
30
36
  }
31
37
 
32
38
  }
@@ -1,10 +1,14 @@
1
1
  package bioroebe;
2
2
 
3
- public class IsPalindrome {
3
+ public class IsPalindrome extends Base {
4
4
 
5
5
  /*
6
6
  * IsPalindrome.isPalindrome()
7
7
  *
8
+ * Usage example:
9
+ *
10
+ * IsPalindrome.isPalindrome("OTTO")
11
+ *
8
12
  */
9
13
  public static boolean isPalindrome(String i) {
10
14
  String reversed = new StringBuffer(i).reverse().toString();
@@ -0,0 +1,56 @@
1
+ package bioroebe;
2
+
3
+ import bioroebe.*;
4
+
5
+ /*
6
+ * PartnerNucleotide.partner_nucleotide("A");
7
+ *
8
+ * This class will simply yield the corresponding nucleotide.
9
+ *
10
+ * Usage example:
11
+ *
12
+ * PartnerNucleotide.partner_nucleotide("A");
13
+ *
14
+ */
15
+ class PartnerNucleotide extends Base {
16
+
17
+ /*
18
+ * PartnerNucleotide.partner_nucleotide()
19
+ */
20
+ public static void partner_nucleotide(String i) {
21
+ switch(i) {
22
+ case "A": e("T"); break;
23
+ case "T": e("A"); break;
24
+ case "C": e("G"); break;
25
+ case "G": e("C"); break;
26
+ default: e("Unhandled input "+i); break;
27
+ }
28
+ }
29
+
30
+ /*
31
+ * PartnerNucleotide.return_partner_nucleotide()
32
+ */
33
+ public static String return_partner_nucleotide(String i) {
34
+ switch(i) {
35
+ case "A": return ("T");
36
+ case "T": return ("A");
37
+ case "C": return ("G");
38
+ case "G": return ("C");
39
+ default: return ("Unhandled input "+i);
40
+ }
41
+ }
42
+
43
+ public static void main(String[] args) {
44
+
45
+ if (args.length > 0) {
46
+ for (String string : args) {
47
+ PartnerNucleotide.partner_nucleotide(string);
48
+ }
49
+ }
50
+ else {
51
+ System.out.println("Please provide input to this class, a DNA sequence.");
52
+ }
53
+
54
+ }
55
+
56
+ }
@@ -1,6 +1,6 @@
1
1
  package bioroebe;
2
2
 
3
- import java.io.*;
3
+ import java.io.*;
4
4
 
5
5
  /*
6
6
  * RemoveFile.remove_file("A");
@@ -18,7 +18,13 @@ class RemoveFile extends Base {
18
18
  }
19
19
  else {
20
20
  e("The file at `"+this_file+"` could NOT be deleted");
21
- }
21
+ }
22
+
23
+ }
24
+ }
25
+
26
+ /*
22
27
 
23
- }
24
- }
28
+ RemoveFile.remove_file("/Depot/j/test.md");
29
+
30
+ */
@@ -1,4 +1,5 @@
1
1
  package bioroebe;
2
+
2
3
  import java.util.Scanner;
3
4
 
4
5
  /*
@@ -13,13 +13,13 @@ class ToCamelcase extends Base {
13
13
  *
14
14
  * Usage example:
15
15
  *
16
- * ToCamelcase.to_camelcase("foo_bar");
17
- *
16
+ * ToCamelcase.to_camelcase("foo_bar"); # => "FooBar"
17
+
18
18
  */
19
19
  public static String to_camelcase(String i) {
20
20
 
21
21
  StringBuilder sb = new StringBuilder();
22
-
22
+
23
23
  for( String entry : i.toLowerCase().split("_") )
24
24
  {
25
25
  sb.append( entry.substring(0,1).toUpperCase() );
@@ -0,0 +1,42 @@
1
+ /* package ToRNA; */
2
+
3
+ public class ToRNA {
4
+
5
+ static String[] commandline_arguments;
6
+
7
+ /*
8
+ * Main constructor (def initialize)
9
+ */
10
+ public ToRNA() {
11
+ run();
12
+ }
13
+ /*
14
+ * run()
15
+ */
16
+ void run() {
17
+
18
+ if (commandline_arguments.length > 0) {
19
+ for (String entry : commandline_arguments) {
20
+ en(entry);
21
+ }
22
+ }
23
+ else {
24
+ en("Please provide an input to this method, a DNA sequence.");
25
+ }
26
+
27
+ }
28
+
29
+ public static void e(String i) {
30
+ System.out.print(i);
31
+ }
32
+
33
+ public static void en(String i) {
34
+ System.out.println(i);
35
+ }
36
+
37
+ public static void main(String[] args) {
38
+ commandline_arguments = args;
39
+ ToRNA x = new ToRNA();
40
+ }
41
+
42
+ }