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.
- checksums.yaml +4 -4
- data/README.md +3209 -2618
- data/bin/bioroebe +7 -1
- data/bioroebe.gemspec +3 -3
- data/doc/README.gen +3208 -2617
- data/doc/quality_control/commandline_applications.md +3 -3
- data/doc/todo/bioroebe_todo.md +2040 -2615
- data/lib/bioroebe/aminoacids/aminoacid_substitution.rb +1 -9
- data/lib/bioroebe/aminoacids/codon_percentage.rb +1 -9
- data/lib/bioroebe/aminoacids/deduce_aminoacid_sequence.rb +1 -9
- data/lib/bioroebe/aminoacids/display_aminoacid_table.rb +1 -0
- data/lib/bioroebe/aminoacids/show_hydrophobicity.rb +1 -6
- data/lib/bioroebe/base/colours_for_base/colours_for_base.rb +18 -8
- data/lib/bioroebe/base/commandline_application/commandline_arguments.rb +13 -11
- data/lib/bioroebe/base/commandline_application/misc.rb +26 -9
- data/lib/bioroebe/base/commandline_application/opn.rb +8 -8
- data/lib/bioroebe/base/commandline_application/reset.rb +3 -2
- data/lib/bioroebe/base/misc.rb +35 -0
- data/lib/bioroebe/base/prototype/misc.rb +11 -1
- data/lib/bioroebe/codon_tables/frequencies/parse_frequency_table.rb +2 -10
- data/lib/bioroebe/codons/possible_codons_for_this_aminoacid.rb +1 -9
- data/lib/bioroebe/codons/show_codon_tables.rb +6 -2
- data/lib/bioroebe/codons/show_codon_usage.rb +2 -1
- data/lib/bioroebe/constants/aminoacids_and_proteins.rb +1 -0
- data/lib/bioroebe/constants/database_constants.rb +1 -1
- data/lib/bioroebe/constants/files_and_directories.rb +31 -4
- data/lib/bioroebe/constants/misc.rb +20 -0
- data/lib/bioroebe/count/count_amount_of_nucleotides.rb +3 -0
- data/lib/bioroebe/crystal/README.md +2 -0
- data/lib/bioroebe/crystal/to_rna.cr +19 -0
- data/lib/bioroebe/data/README.md +11 -8
- data/lib/bioroebe/data/electron_microscopy/pos_example.pos +396 -0
- data/lib/bioroebe/data/electron_microscopy/test_particles.star +36 -0
- data/lib/bioroebe/electron_microscopy/coordinate_analyzer.rb +15 -18
- data/lib/bioroebe/{fasta_and_fastq/parse_fasta/run.rb → electron_microscopy/electron_microscopy_module.rb} +16 -8
- data/lib/bioroebe/electron_microscopy/fix_pos_file.rb +1 -9
- data/lib/bioroebe/electron_microscopy/flipy.rb +83 -0
- data/lib/bioroebe/electron_microscopy/parse_coordinates.rb +2 -10
- data/lib/bioroebe/electron_microscopy/read_file_xmd.rb +1 -9
- data/lib/bioroebe/electron_microscopy/simple_star_file_generator.rb +4 -9
- data/lib/bioroebe/fasta_and_fastq/autocorrect_the_name_of_this_fasta_file.rb +1 -9
- data/lib/bioroebe/fasta_and_fastq/compact_fasta_file/compact_fasta_file.rb +7 -9
- data/lib/bioroebe/fasta_and_fastq/fasta_defline/fasta_defline.rb +1 -5
- data/lib/bioroebe/fasta_and_fastq/fasta_to_yaml/fasta_to_yaml.rb +81 -0
- data/lib/bioroebe/fasta_and_fastq/parse_fasta/parse_fasta.rb +1460 -7
- data/lib/bioroebe/fasta_and_fastq/return_fasta_subsection_of_this_file.rb +11 -2
- data/lib/bioroebe/fasta_and_fastq/show_fasta_headers.rb +27 -12
- data/lib/bioroebe/fasta_and_fastq/simplify_fasta_header/simplify_fasta_header.rb +1 -5
- data/lib/bioroebe/fasta_and_fastq/split_this_fasta_file_into_chromosomes/constants.rb +0 -5
- data/lib/bioroebe/genome/README.md +4 -0
- data/lib/bioroebe/genome/genome.rb +67 -0
- data/lib/bioroebe/genomes/genome_pattern.rb +3 -9
- data/lib/bioroebe/gui/gtk +1 -0
- data/lib/bioroebe/gui/gtk3/controller/controller.rb +45 -27
- data/lib/bioroebe/gui/gtk3/dna_to_aminoacid_widget/dna_to_aminoacid_widget.rb +76 -50
- data/lib/bioroebe/gui/gtk3/fasta_table_widget/fasta_table_widget.rb +99 -21
- data/lib/bioroebe/gui/gtk3/hamming_distance/hamming_distance.rb +42 -28
- data/lib/bioroebe/gui/gtk3/nucleotide_analyser/nucleotide_analyser.rb +119 -71
- data/lib/bioroebe/gui/gtk3/protein_to_DNA/protein_to_DNA.rb +18 -18
- data/lib/bioroebe/gui/gtk3/random_sequence/random_sequence.rb +19 -11
- data/lib/bioroebe/gui/libui/three_to_one/three_to_one.rb +8 -6
- data/lib/bioroebe/gui/shared_code/protein_to_DNA/protein_to_DNA_module.rb +14 -14
- data/lib/bioroebe/gui/swing/three_to_one/ThreeToOne$1.class +0 -0
- data/lib/bioroebe/gui/swing/three_to_one/ThreeToOne$CloseListener.class +0 -0
- data/lib/bioroebe/gui/swing/three_to_one/ThreeToOne.class +0 -0
- data/lib/bioroebe/gui/swing/three_to_one/ThreeToOne.java +141 -0
- data/lib/bioroebe/java/README.md +4 -0
- data/lib/bioroebe/java/bioroebe/Sequence.java +25 -1
- data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/Base.class +0 -0
- data/lib/bioroebe/java/bioroebe/{Base.java → src/main/java/bioroebe/Base.java} +15 -2
- data/lib/bioroebe/java/bioroebe/{BisulfiteTreatment.class → src/main/java/bioroebe/BisulfiteTreatment.class} +0 -0
- data/lib/bioroebe/java/bioroebe/{BisulfiteTreatment.java → src/main/java/bioroebe/BisulfiteTreatment.java} +0 -0
- data/lib/bioroebe/java/bioroebe/{Codons.class → src/main/java/bioroebe/Codons.class} +0 -0
- data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/Codons.java +34 -0
- data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/Commandline.class +0 -0
- data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/Commandline.java +95 -0
- data/lib/bioroebe/java/bioroebe/{Esystem.class → src/main/java/bioroebe/Esystem.class} +0 -0
- data/lib/bioroebe/java/bioroebe/{Esystem.java → src/main/java/bioroebe/Esystem.java} +0 -0
- data/lib/bioroebe/java/bioroebe/{GenerateRandomDnaSequence.class → src/main/java/bioroebe/GenerateRandomDnaSequence.class} +0 -0
- data/lib/bioroebe/java/bioroebe/{GenerateRandomDnaSequence.java → src/main/java/bioroebe/GenerateRandomDnaSequence.java} +8 -2
- data/lib/bioroebe/java/bioroebe/{IsPalindrome.class → src/main/java/bioroebe/IsPalindrome.class} +0 -0
- data/lib/bioroebe/java/bioroebe/{IsPalindrome.java → src/main/java/bioroebe/IsPalindrome.java} +5 -1
- data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/PartnerNucleotide.class +0 -0
- data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/PartnerNucleotide.java +56 -0
- data/lib/bioroebe/java/bioroebe/{RemoveFile.class → src/main/java/bioroebe/RemoveFile.class} +0 -0
- data/lib/bioroebe/java/bioroebe/{RemoveFile.java → src/main/java/bioroebe/RemoveFile.java} +10 -4
- data/lib/bioroebe/java/bioroebe/{RemoveNumbers.class → src/main/java/bioroebe/RemoveNumbers.class} +0 -0
- data/lib/bioroebe/java/bioroebe/{RemoveNumbers.java → src/main/java/bioroebe/RemoveNumbers.java} +1 -0
- data/lib/bioroebe/java/bioroebe/{ToCamelcase.class → src/main/java/bioroebe/ToCamelcase.class} +0 -0
- data/lib/bioroebe/java/bioroebe/{ToCamelcase.java → src/main/java/bioroebe/ToCamelcase.java} +3 -3
- data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/ToRNA.class +0 -0
- data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/ToRNA.java +42 -0
- data/lib/bioroebe/java/bioroebe/toplevel_methods/BaseComposition.class +0 -0
- data/lib/bioroebe/java/bioroebe/toplevel_methods/BaseComposition.java +73 -0
- data/lib/bioroebe/misc/ruler.rb +1 -0
- data/lib/bioroebe/nucleotides/most_likely_nucleotide_sequence_for_this_aminoacid_sequence.rb +1 -9
- data/lib/bioroebe/nucleotides/show_nucleotide_sequence.rb +7 -7
- data/lib/bioroebe/parsers/genbank_parser.rb +347 -26
- data/lib/bioroebe/parsers/gff.rb +1 -9
- data/lib/bioroebe/patterns/scan_for_repeat.rb +1 -5
- data/lib/bioroebe/pdb/fetch_fasta_sequence_from_pdb.rb +1 -9
- data/lib/bioroebe/pdb/parse_mmCIF_file.rb +1 -9
- data/lib/bioroebe/pdb/parse_pdb_file.rb +1 -9
- data/lib/bioroebe/project/project.rb +1 -1
- data/lib/bioroebe/python/README.md +1 -0
- data/lib/bioroebe/python/__pycache__/mymodule.cpython-39.pyc +0 -0
- data/lib/bioroebe/python/gui/gtk3/all_in_one.css +4 -0
- data/lib/bioroebe/python/gui/gtk3/all_in_one.py +59 -0
- data/lib/bioroebe/python/gui/gtk3/widget1.py +20 -0
- data/lib/bioroebe/python/gui/tkinter/all_in_one.py +91 -0
- data/lib/bioroebe/python/mymodule.py +8 -0
- data/lib/bioroebe/python/protein_to_dna.py +33 -0
- data/lib/bioroebe/python/shell/shell.py +19 -0
- data/lib/bioroebe/python/to_rna.py +14 -0
- data/lib/bioroebe/python/toplevel_methods/esystem.py +12 -0
- data/lib/bioroebe/python/toplevel_methods/open_in_browser.py +20 -0
- data/lib/bioroebe/python/toplevel_methods/palindromes.py +42 -0
- data/lib/bioroebe/python/toplevel_methods/rds.py +13 -0
- data/lib/bioroebe/python/toplevel_methods/shuffleseq.py +23 -0
- data/lib/bioroebe/python/toplevel_methods/three_delimiter.py +37 -0
- data/lib/bioroebe/python/toplevel_methods/time_and_date.py +43 -0
- data/lib/bioroebe/python/toplevel_methods/to_camelcase.py +21 -0
- data/lib/bioroebe/requires/require_the_bioroebe_project.rb +3 -1
- data/lib/bioroebe/sequence/nucleotide_module/nucleotide_module.rb +28 -25
- data/lib/bioroebe/sequence/protein.rb +105 -3
- data/lib/bioroebe/sequence/sequence.rb +61 -2
- data/lib/bioroebe/shell/menu.rb +3819 -3713
- data/lib/bioroebe/shell/misc.rb +51 -4311
- data/lib/bioroebe/shell/readline/readline.rb +1 -1
- data/lib/bioroebe/shell/shell.rb +11250 -28
- data/lib/bioroebe/siRNA/siRNA.rb +81 -1
- data/lib/bioroebe/string_matching/find_longest_substring.rb +3 -2
- data/lib/bioroebe/string_matching/hamming_distance.rb +1 -9
- data/lib/bioroebe/taxonomy/class_methods.rb +3 -8
- data/lib/bioroebe/taxonomy/constants.rb +4 -3
- data/lib/bioroebe/taxonomy/edit.rb +2 -1
- data/lib/bioroebe/taxonomy/help/help.rb +10 -10
- data/lib/bioroebe/taxonomy/info/check_available.rb +15 -9
- data/lib/bioroebe/taxonomy/info/info.rb +18 -11
- data/lib/bioroebe/taxonomy/info/is_dna.rb +46 -36
- data/lib/bioroebe/taxonomy/interactive.rb +140 -104
- data/lib/bioroebe/taxonomy/menu.rb +27 -18
- data/lib/bioroebe/taxonomy/parse_fasta.rb +3 -1
- data/lib/bioroebe/taxonomy/shared.rb +1 -0
- data/lib/bioroebe/taxonomy/taxonomy.rb +1 -0
- data/lib/bioroebe/toplevel_methods/aminoacids_and_proteins.rb +31 -24
- data/lib/bioroebe/toplevel_methods/colourize_related_methods.rb +164 -0
- data/lib/bioroebe/toplevel_methods/databases.rb +1 -1
- data/lib/bioroebe/toplevel_methods/fasta_and_fastq.rb +107 -63
- data/lib/bioroebe/toplevel_methods/file_and_directory_related_actions.rb +14 -2
- data/lib/bioroebe/toplevel_methods/misc.rb +118 -11
- data/lib/bioroebe/toplevel_methods/nucleotides.rb +22 -5
- data/lib/bioroebe/toplevel_methods/open_in_browser.rb +2 -0
- data/lib/bioroebe/toplevel_methods/palindromes.rb +1 -2
- data/lib/bioroebe/toplevel_methods/taxonomy.rb +2 -2
- data/lib/bioroebe/toplevel_methods/to_camelcase.rb +5 -0
- data/lib/bioroebe/utility_scripts/align_open_reading_frames.rb +1 -9
- data/lib/bioroebe/utility_scripts/check_for_mismatches/check_for_mismatches.rb +1 -9
- data/lib/bioroebe/utility_scripts/compacter.rb +1 -9
- data/lib/bioroebe/utility_scripts/compseq/compseq.rb +1 -9
- data/lib/bioroebe/utility_scripts/create_batch_entrez_file.rb +1 -9
- data/lib/bioroebe/utility_scripts/dot_alignment.rb +1 -9
- data/lib/bioroebe/utility_scripts/move_file_to_its_correct_location.rb +1 -4
- data/lib/bioroebe/utility_scripts/showorf/constants.rb +0 -5
- data/lib/bioroebe/utility_scripts/showorf/reset.rb +1 -4
- data/lib/bioroebe/version/version.rb +2 -2
- data/lib/bioroebe/www/embeddable_interface.rb +101 -52
- data/lib/bioroebe/www/sinatra/sinatra.rb +186 -70
- data/lib/bioroebe/yaml/aminoacids/amino_acids_long_name_to_one_letter.yml +2 -2
- data/lib/bioroebe/yaml/configuration/browser.yml +1 -1
- data/lib/bioroebe/yaml/genomes/README.md +3 -4
- data/lib/bioroebe/yaml/restriction_enzymes/restriction_enzymes.yml +3 -3
- metadata +69 -64
- data/doc/setup.rb +0 -1655
- data/lib/bioroebe/fasta_and_fastq/parse_fasta/constants.rb +0 -50
- data/lib/bioroebe/fasta_and_fastq/parse_fasta/initialize.rb +0 -86
- data/lib/bioroebe/fasta_and_fastq/parse_fasta/menu.rb +0 -117
- data/lib/bioroebe/fasta_and_fastq/parse_fasta/misc.rb +0 -981
- data/lib/bioroebe/fasta_and_fastq/parse_fasta/report.rb +0 -156
- data/lib/bioroebe/fasta_and_fastq/parse_fasta/reset.rb +0 -128
- data/lib/bioroebe/genbank/genbank_parser.rb +0 -291
- data/lib/bioroebe/java/bioroebe/Base.class +0 -0
- data/lib/bioroebe/java/bioroebe/Codons.java +0 -22
- data/lib/bioroebe/java/bioroebe/PartnerNucleotide.class +0 -0
- data/lib/bioroebe/java/bioroebe/PartnerNucleotide.java +0 -19
- data/lib/bioroebe/java/bioroebe.jar +0 -0
- data/lib/bioroebe/shell/add.rb +0 -108
- data/lib/bioroebe/shell/assign.rb +0 -360
- data/lib/bioroebe/shell/chop_and_cut.rb +0 -281
- data/lib/bioroebe/shell/constants.rb +0 -166
- data/lib/bioroebe/shell/download.rb +0 -335
- data/lib/bioroebe/shell/enable_and_disable.rb +0 -158
- data/lib/bioroebe/shell/enzymes.rb +0 -310
- data/lib/bioroebe/shell/fasta.rb +0 -345
- data/lib/bioroebe/shell/gtk.rb +0 -76
- data/lib/bioroebe/shell/history.rb +0 -132
- data/lib/bioroebe/shell/initialize.rb +0 -217
- data/lib/bioroebe/shell/loop.rb +0 -74
- data/lib/bioroebe/shell/prompt.rb +0 -107
- data/lib/bioroebe/shell/random.rb +0 -289
- data/lib/bioroebe/shell/reset.rb +0 -335
- data/lib/bioroebe/shell/scan_and_parse.rb +0 -135
- data/lib/bioroebe/shell/search.rb +0 -337
- data/lib/bioroebe/shell/sequences.rb +0 -200
- data/lib/bioroebe/shell/show_report_and_display.rb +0 -2901
- data/lib/bioroebe/shell/startup.rb +0 -127
- data/lib/bioroebe/shell/taxonomy.rb +0 -14
- data/lib/bioroebe/shell/tk.rb +0 -23
- data/lib/bioroebe/shell/user_input.rb +0 -88
- data/lib/bioroebe/shell/xorg.rb +0 -45
@@ -248,7 +248,7 @@ module Taxonomy
|
|
248
248
|
# ========================================================================= #
|
249
249
|
def self.project_base_dir?
|
250
250
|
"#{::Bioroebe.project_base_directory?}taxonomy/"
|
251
|
-
end
|
251
|
+
end; self.instance_eval { alias base_dir? project_base_dir? } # === Bioroebe::Taxonomy.base_dir?
|
252
252
|
|
253
253
|
# ========================================================================= #
|
254
254
|
# === Bioroebe::Taxonomy.project_yaml_dir?
|
@@ -0,0 +1 @@
|
|
1
|
+
This directory will contain some python-specific code.
|
Binary file
|
@@ -0,0 +1,59 @@
|
|
1
|
+
import gi
|
2
|
+
#import cairo
|
3
|
+
#from gi.repository import PangoCairo
|
4
|
+
|
5
|
+
gi.require_version("Gtk", "3.0")
|
6
|
+
from gi.repository import Gtk, Gdk, GLib
|
7
|
+
|
8
|
+
gi.require_version('Pango', '1.0')
|
9
|
+
from gi.repository import Pango
|
10
|
+
|
11
|
+
class MyWindow(Gtk.Window):
|
12
|
+
|
13
|
+
def __init__(self):
|
14
|
+
super().__init__(title="Hello World")
|
15
|
+
|
16
|
+
self.set_title("Bioroebe - all in one")
|
17
|
+
self.set_default_size(1400, 800)
|
18
|
+
|
19
|
+
#self.override_font(Pango.FontDescription("Times New Roman Italic 20"))
|
20
|
+
# ^^^ this is deprecated
|
21
|
+
outer_vbox = Gtk.Box.new(Gtk.Orientation.VERTICAL, spacing = 5)
|
22
|
+
|
23
|
+
top_hbox = Gtk.Box.new(Gtk.Orientation.HORIZONTAL, spacing = 5)
|
24
|
+
|
25
|
+
label = Gtk.Label(label="Time: ")
|
26
|
+
label.set_halign(Gtk.Align.END) # Right-align.
|
27
|
+
top_hbox.add(label)
|
28
|
+
outer_vbox.add(top_hbox)
|
29
|
+
|
30
|
+
self.button = Gtk.Button(label="Click Here")
|
31
|
+
self.button.connect("clicked", self.on_button_clicked)
|
32
|
+
outer_vbox.add(self.button)
|
33
|
+
# Bioroebe.return_current_day_month_year()
|
34
|
+
|
35
|
+
self.add(outer_vbox)
|
36
|
+
self.apply_css()
|
37
|
+
|
38
|
+
def apply_css(self):
|
39
|
+
screen = Gdk.Screen.get_default()
|
40
|
+
css_provider = Gtk.CssProvider()
|
41
|
+
try:
|
42
|
+
css_provider.load_from_path('all_in_one.css')
|
43
|
+
context = Gtk.StyleContext()
|
44
|
+
context.add_provider_for_screen(screen, css_provider,
|
45
|
+
Gtk.STYLE_PROVIDER_PRIORITY_USER)
|
46
|
+
except GLib.Error as e:
|
47
|
+
print(f"Error in theme: {e} ")
|
48
|
+
|
49
|
+
def en(self, i = ""):
|
50
|
+
print(i)
|
51
|
+
|
52
|
+
def on_button_clicked(self, widget):
|
53
|
+
self.en("Hello there.")
|
54
|
+
|
55
|
+
win = MyWindow()
|
56
|
+
win.move(0, 0)
|
57
|
+
win.connect("destroy", Gtk.main_quit)
|
58
|
+
win.show_all()
|
59
|
+
Gtk.main()
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import gi
|
2
|
+
|
3
|
+
gi.require_version("Gtk", "3.0")
|
4
|
+
from gi.repository import Gtk
|
5
|
+
|
6
|
+
class MyWindow(Gtk.Window):
|
7
|
+
def __init__(self):
|
8
|
+
super().__init__(title="Hello World")
|
9
|
+
|
10
|
+
self.button = Gtk.Button(label="Click Here")
|
11
|
+
self.button.connect("clicked", self.on_button_clicked)
|
12
|
+
self.add(self.button)
|
13
|
+
|
14
|
+
def on_button_clicked(self, widget):
|
15
|
+
print("Hello World")
|
16
|
+
|
17
|
+
win = MyWindow()
|
18
|
+
win.connect("destroy", Gtk.main_quit)
|
19
|
+
win.show_all()
|
20
|
+
Gtk.main()
|
@@ -0,0 +1,91 @@
|
|
1
|
+
import sys
|
2
|
+
import os
|
3
|
+
import importlib
|
4
|
+
|
5
|
+
from tkinter import *
|
6
|
+
from tkinter import ttk
|
7
|
+
from tkinter.ttk import Label
|
8
|
+
from tkinter import messagebox
|
9
|
+
|
10
|
+
sys.path.append(".")
|
11
|
+
|
12
|
+
# sys.path.append("../../") # Adds higher directory to python modules path.
|
13
|
+
|
14
|
+
# from ../.. import protein_to_dna
|
15
|
+
# module_name = "../../protein_to_dna"
|
16
|
+
# importlib.import_module(module_name, package='Bioroebe')
|
17
|
+
|
18
|
+
# sys.path.append(os.path.abspath("/home/x/programming/ruby/src/bioroebe/lib/bioroebe/python/"))
|
19
|
+
# from protein_to_dny import *
|
20
|
+
|
21
|
+
class App:
|
22
|
+
|
23
|
+
# ========================================================================= #
|
24
|
+
# === TITLE
|
25
|
+
# ========================================================================= #
|
26
|
+
TITLE = "Bioroebe: all in one"
|
27
|
+
|
28
|
+
# ========================================================================= #
|
29
|
+
# === FONT_TO_USE
|
30
|
+
# ========================================================================= #
|
31
|
+
FONT_TO_USE = 'Hack' # 'Arial'
|
32
|
+
|
33
|
+
# ========================================================================= #
|
34
|
+
# === FONT_SIZE_TO_USE
|
35
|
+
# ========================================================================= #
|
36
|
+
FONT_SIZE_TO_USE = 28
|
37
|
+
|
38
|
+
# ========================================================================= #
|
39
|
+
# === SMALLER_FONT_SIZE_TO_USE
|
40
|
+
# ========================================================================= #
|
41
|
+
SMALLER_FONT_SIZE_TO_USE = 22
|
42
|
+
|
43
|
+
# ========================================================================= #
|
44
|
+
# === __init__
|
45
|
+
# ========================================================================= #
|
46
|
+
def __init__(self, master):
|
47
|
+
# Instantiating master i.e toplevel Widget
|
48
|
+
self.master = master
|
49
|
+
self.create_and_add_header()
|
50
|
+
self.create_and_add_the_button_for_the_protein_to_DNA_conversion()
|
51
|
+
|
52
|
+
# ========================================================================= #
|
53
|
+
# === do_the_conversion_from_protein_to_DNA
|
54
|
+
# ========================================================================= #
|
55
|
+
def do_the_conversion_from_protein_to_DNA(self):
|
56
|
+
messagebox.showinfo("Message","Hey There! I hope you are doing well.")
|
57
|
+
|
58
|
+
# ========================================================================= #
|
59
|
+
# === create_and_add_the_button_for_the_protein_to_DNA_conversion()
|
60
|
+
# ========================================================================= #
|
61
|
+
def create_and_add_the_button_for_the_protein_to_DNA_conversion(self):
|
62
|
+
Button(self.master,
|
63
|
+
text="Convert from protein sequence to DNA sequence",
|
64
|
+
font = (App.FONT_TO_USE, App.SMALLER_FONT_SIZE_TO_USE),
|
65
|
+
command = lambda: self.do_the_conversion_from_protein_to_DNA()
|
66
|
+
).pack(pady = 5)
|
67
|
+
|
68
|
+
# ========================================================================= #
|
69
|
+
# === create_and_add_header
|
70
|
+
# ========================================================================= #
|
71
|
+
def create_and_add_header(self):
|
72
|
+
# Creating second label
|
73
|
+
# This label has a font-family of Arial
|
74
|
+
# and font-size of 25
|
75
|
+
Label(self.master,
|
76
|
+
text = "Protein to DNA conversion:",
|
77
|
+
font = (App.FONT_TO_USE, App.FONT_SIZE_TO_USE) # Changing font-size here
|
78
|
+
).pack(padx = 12, pady = 12, anchor = "w") # Align to the left side.
|
79
|
+
|
80
|
+
if __name__ == "__main__":
|
81
|
+
root = Tk()
|
82
|
+
root.title(App.TITLE) # Setting the title of the window
|
83
|
+
root.geometry("1400x800") # Set width and height - aka the geometry/dimensions.
|
84
|
+
app = App(root) # Calling our App
|
85
|
+
root.mainloop() # Mainloop which will cause this toplevel to run infinitely
|
86
|
+
|
87
|
+
# frm = ttk.Frame(root, padding = 12)
|
88
|
+
# frm.grid()
|
89
|
+
# ttk.Label(frm, text="Hello World!").grid(column=0, row=0)
|
90
|
+
# ttk.Button(frm, text="Quit", command=root.destroy).grid(column=1, row=0)
|
91
|
+
# root.mainloop()
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import sys
|
2
|
+
import yaml
|
3
|
+
|
4
|
+
USE_THIS_CODON_TABLE = \
|
5
|
+
'/home/x/programming/ruby/src/bioroebe/lib/bioroebe/yaml/codon_tables/1.yml'
|
6
|
+
|
7
|
+
# =========================================================================== #
|
8
|
+
# === protein_to_dna
|
9
|
+
# =========================================================================== #
|
10
|
+
def protein_to_dna(i):
|
11
|
+
output_string = ''
|
12
|
+
yaml_dataset = None
|
13
|
+
aminoacid_sequence = list(i)
|
14
|
+
|
15
|
+
with open(USE_THIS_CODON_TABLE) as file:
|
16
|
+
# The FullLoader parameter handles the conversion from YAML
|
17
|
+
# scalar values to Python the dictionary format
|
18
|
+
yaml_dataset = yaml.load(file, Loader=yaml.FullLoader)
|
19
|
+
yaml_dataset = { value: key for key, value in yaml_dataset.items() }
|
20
|
+
|
21
|
+
for this_aminoacid in aminoacid_sequence:
|
22
|
+
# Now we must obtain the DNA sequence.
|
23
|
+
# print(yaml_dataset[this_aminoacid])
|
24
|
+
output_string += yaml_dataset[this_aminoacid]
|
25
|
+
output_string += '-'
|
26
|
+
|
27
|
+
# print(yaml_dataset)
|
28
|
+
print(output_string[0: -1]) # Remove the last character.
|
29
|
+
|
30
|
+
if __name__ == '__main__':
|
31
|
+
i = sys.argv[1]
|
32
|
+
protein_to_dna(i)
|
33
|
+
# py protein_to_dna.py KKKLLL
|
@@ -0,0 +1,19 @@
|
|
1
|
+
#!/usr/bin/python
|
2
|
+
import sys
|
3
|
+
|
4
|
+
# =========================================================================== #
|
5
|
+
# === obtain_user_input
|
6
|
+
# =========================================================================== #
|
7
|
+
def obtain_user_input():
|
8
|
+
user_input = input("> ")
|
9
|
+
return user_input
|
10
|
+
|
11
|
+
shall_we_continue = True
|
12
|
+
|
13
|
+
while (shall_we_continue):
|
14
|
+
result = obtain_user_input
|
15
|
+
if result == "q":
|
16
|
+
shall_we_continue = False
|
17
|
+
# exit
|
18
|
+
else:
|
19
|
+
print(result)
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import sys
|
2
|
+
|
3
|
+
# =========================================================================== #
|
4
|
+
# === to_rna
|
5
|
+
#
|
6
|
+
# This method will simply convert the given input, such as a
|
7
|
+
# nucleotide sequence, to RNA.
|
8
|
+
# =========================================================================== #
|
9
|
+
def to_rna(i):
|
10
|
+
converted = i.replace('T','U')
|
11
|
+
print(converted)
|
12
|
+
|
13
|
+
to_rna(sys.argv[1])
|
14
|
+
# py to_rna.py ATG
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import subprocess
|
2
|
+
|
3
|
+
# =========================================================================== #
|
4
|
+
# === esystem
|
5
|
+
# =========================================================================== #
|
6
|
+
def esystem(i):
|
7
|
+
print(i)
|
8
|
+
process = subprocess.run(i)
|
9
|
+
|
10
|
+
# This is our shell command, executed in subprocess.
|
11
|
+
|
12
|
+
esystem("ls")
|
@@ -0,0 +1,20 @@
|
|
1
|
+
#!/usr/bin/python3
|
2
|
+
import sys
|
3
|
+
import os
|
4
|
+
|
5
|
+
class Bioroebe(object):
|
6
|
+
|
7
|
+
# =========================================================================== #
|
8
|
+
# === open_in_browser
|
9
|
+
# =========================================================================== #
|
10
|
+
def open_in_browser(
|
11
|
+
this_url,
|
12
|
+
use_this_browser = 'firefox'
|
13
|
+
):
|
14
|
+
cmd = use_this_browser+" -new-tab "+this_url
|
15
|
+
print(cmd)
|
16
|
+
os.system(cmd)
|
17
|
+
|
18
|
+
if __name__ == '__main__':
|
19
|
+
i = sys.argv[1]
|
20
|
+
Bioroebe.open_in_browser(i) # py open_in_browser.py "derstandard.at"
|
@@ -0,0 +1,42 @@
|
|
1
|
+
#!/usr/bin/python3
|
2
|
+
import sys
|
3
|
+
|
4
|
+
class Bioroebe(object):
|
5
|
+
|
6
|
+
# =========================================================================== #
|
7
|
+
# === is_palindrome
|
8
|
+
# =========================================================================== #
|
9
|
+
def is_palindrome(i):
|
10
|
+
result = False
|
11
|
+
reverse_string = i[::-1]
|
12
|
+
|
13
|
+
hash = {
|
14
|
+
"A": "T",
|
15
|
+
"T": "A",
|
16
|
+
"G": "C",
|
17
|
+
"C": "G"
|
18
|
+
}
|
19
|
+
|
20
|
+
for nucleotide in i:
|
21
|
+
print(nucleotide)
|
22
|
+
if hash[nucleotide] == reverse
|
23
|
+
result
|
24
|
+
# THIS IS INCOMPLETE AS OF JULY 2022.
|
25
|
+
return result
|
26
|
+
|
27
|
+
if __name__ == '__main__':
|
28
|
+
|
29
|
+
if len(sys.argv) > 1:
|
30
|
+
i = sys.argv[1]
|
31
|
+
else:
|
32
|
+
i = "malayalam"
|
33
|
+
|
34
|
+
ans = Bioroebe.is_palindrome(i)
|
35
|
+
|
36
|
+
if ans:
|
37
|
+
print(f"Yes, {i} is a palindrome.")
|
38
|
+
else:
|
39
|
+
print(f"No, {i} is NOT a palindrome.")
|
40
|
+
|
41
|
+
# py palindromes.py "OTTO"
|
42
|
+
# py palindromes.py "GAATTC"
|
@@ -0,0 +1,13 @@
|
|
1
|
+
#!/usr/bin/python3
|
2
|
+
import re
|
3
|
+
import sys
|
4
|
+
|
5
|
+
# =========================================================================== #
|
6
|
+
# === rds
|
7
|
+
# =========================================================================== #
|
8
|
+
def rds(i):
|
9
|
+
return re.sub('//', '/', i)
|
10
|
+
|
11
|
+
if __name__ == '__main__':
|
12
|
+
i = sys.argv[1]
|
13
|
+
print(rds(i)) # py rds.py "foobar//barfoo"
|
@@ -0,0 +1,23 @@
|
|
1
|
+
#!/usr/bin/python3
|
2
|
+
# =========================================================================== #
|
3
|
+
import sys
|
4
|
+
import random
|
5
|
+
|
6
|
+
# =========================================================================== #
|
7
|
+
# === shuffleseq
|
8
|
+
#
|
9
|
+
# This method will take the input string and simply re-arrange it as-is.
|
10
|
+
# =========================================================================== #
|
11
|
+
def shuffleseq(i):
|
12
|
+
l = list(i)
|
13
|
+
random.shuffle(l)
|
14
|
+
result = ''.join(l)
|
15
|
+
return result
|
16
|
+
|
17
|
+
if __name__ == '__main__':
|
18
|
+
if len(sys.argv) > 1:
|
19
|
+
i = sys.argv[1]
|
20
|
+
print(shuffleseq(i))
|
21
|
+
else:
|
22
|
+
print("Please provide an argument to this method.")
|
23
|
+
# py shuffleseq.py ATTTTTTTT
|
@@ -0,0 +1,37 @@
|
|
1
|
+
#!/usr/bin/python3
|
2
|
+
# =========================================================================== #
|
3
|
+
import sys
|
4
|
+
import re
|
5
|
+
|
6
|
+
class Bioroebe(object):
|
7
|
+
|
8
|
+
# ========================================================================= #
|
9
|
+
# === Bioroebe.three_delimiter
|
10
|
+
#
|
11
|
+
# This method will, applied onto a String, add the '|' token
|
12
|
+
# after 3 positions.
|
13
|
+
#
|
14
|
+
# Example:
|
15
|
+
#
|
16
|
+
# Bioroebe.three_delimiter('ATGGGGATGTAGGTA') # => "ATG|GGG|ATG|TAG|GTA"
|
17
|
+
#
|
18
|
+
# ========================================================================= #
|
19
|
+
def three_delimiter(i):
|
20
|
+
|
21
|
+
if isinstance(i, list):
|
22
|
+
i = ' '.join(str(e) for e in i)
|
23
|
+
|
24
|
+
i = re.sub(r'(...)', r'\1-', i)
|
25
|
+
|
26
|
+
if i[-1] == '-': # Chop of the last character if it is a '-' token.
|
27
|
+
i = i[:-1]
|
28
|
+
|
29
|
+
return i
|
30
|
+
|
31
|
+
if __name__ == '__main__':
|
32
|
+
if len(sys.argv) > 1:
|
33
|
+
i = sys.argv[1]
|
34
|
+
print(Bioroebe.three_delimiter(i))
|
35
|
+
else:
|
36
|
+
print("Please provide an argument to this method.")
|
37
|
+
# py three_delimiter.py ATGGGGATGTAGGTA
|
@@ -0,0 +1,43 @@
|
|
1
|
+
#!/usr/bin/python3
|
2
|
+
import sys
|
3
|
+
from datetime import datetime
|
4
|
+
|
5
|
+
class Bioroebe(object):
|
6
|
+
|
7
|
+
# ========================================================================= #
|
8
|
+
# === Bioroebe.return_current_day_month_year()
|
9
|
+
#
|
10
|
+
# This method will return a String such as "09.07.2022".
|
11
|
+
# ========================================================================= #
|
12
|
+
def return_current_day_month_year():
|
13
|
+
day = str(datetime.now().day).rjust(2, '0')
|
14
|
+
month = str(datetime.now().month).rjust(2, '0')
|
15
|
+
year = str(datetime.now().year)
|
16
|
+
return day+'.'+month+'.'+year
|
17
|
+
|
18
|
+
# ========================================================================= #
|
19
|
+
# === Bioroebe.return_current_hours_minutes_seconds()
|
20
|
+
#
|
21
|
+
# This method will return a String such as "20:44:20".
|
22
|
+
# ========================================================================= #
|
23
|
+
def return_current_hours_minutes_seconds():
|
24
|
+
hours = str(datetime.now().hour).rjust(2, '0')
|
25
|
+
minutes = str(datetime.now().minute).rjust(2, '0')
|
26
|
+
seconds = str(datetime.now().second).rjust(2, '0')
|
27
|
+
return hours+':'+minutes+':'+seconds
|
28
|
+
|
29
|
+
# ========================================================================= #
|
30
|
+
# === Bioroebe.show_time_now
|
31
|
+
#
|
32
|
+
# This method will show the current time. It will do so only if the
|
33
|
+
# verbosity-variable has been set to true.
|
34
|
+
# ========================================================================= #
|
35
|
+
def show_time_now(be_verbose = True):
|
36
|
+
time = Bioroebe.return_current_hours_minutes_seconds()
|
37
|
+
if be_verbose:
|
38
|
+
print("Showing the current time: "+time)
|
39
|
+
|
40
|
+
if __name__ == '__main__':
|
41
|
+
print(Bioroebe.return_current_day_month_year())
|
42
|
+
print(Bioroebe.return_current_hours_minutes_seconds())
|
43
|
+
Bioroebe.show_time_now()
|
@@ -0,0 +1,21 @@
|
|
1
|
+
from re import sub
|
2
|
+
import sys
|
3
|
+
|
4
|
+
# =========================================================================== #
|
5
|
+
# === camel_case
|
6
|
+
# =========================================================================== #
|
7
|
+
def camel_case(i):
|
8
|
+
i = sub(r"(_|-)+", " ", i).title().replace(" ", "")
|
9
|
+
return ''.join(
|
10
|
+
[
|
11
|
+
i[0].upper(),
|
12
|
+
i[1:]
|
13
|
+
]
|
14
|
+
)
|
15
|
+
|
16
|
+
if __name__ == "__main__":
|
17
|
+
print(
|
18
|
+
camel_case(
|
19
|
+
sys.argv[1]
|
20
|
+
)
|
21
|
+
) # py to_camelcase.py abcDef
|
@@ -159,4 +159,6 @@ require 'bioroebe/requires/require_all_codon_files.rb'
|
|
159
159
|
# And the sinatra-interface:
|
160
160
|
# =========================================================================== #
|
161
161
|
# require 'bioroebe/requires/require_the_bioroebe_sinatra_components.rb'
|
162
|
-
require 'bioroebe/www/sinatra/sinatra.rb'
|
162
|
+
require 'bioroebe/www/sinatra/sinatra.rb'
|
163
|
+
|
164
|
+
require 'bioroebe/sequence/protein.rb'
|
@@ -72,13 +72,6 @@ module NucleotideModule # === Bioroebe::NucleotideModule
|
|
72
72
|
i.tr('U','T')
|
73
73
|
end
|
74
74
|
|
75
|
-
# ========================================================================= #
|
76
|
-
# === to_dna
|
77
|
-
# ========================================================================= #
|
78
|
-
def to_dna
|
79
|
-
seq?.tr('U','T')
|
80
|
-
end; alias dna to_dna # === dna
|
81
|
-
|
82
75
|
# ========================================================================= #
|
83
76
|
# === n_random_dna
|
84
77
|
#
|
@@ -258,24 +251,6 @@ module NucleotideModule # === Bioroebe::NucleotideModule
|
|
258
251
|
::Bioroebe.codon_to_aminoacid(codon)
|
259
252
|
end; alias translate_aminoacid_into_dna codon_to_aminoacid # === translate_aminoacid_into_dna
|
260
253
|
|
261
|
-
# ========================================================================= #
|
262
|
-
# === to_dna
|
263
|
-
#
|
264
|
-
# This method will convert a RNA sequence into a DNA sequence.
|
265
|
-
#
|
266
|
-
# It will return the translation.
|
267
|
-
#
|
268
|
-
# bio; puts Bioroebe.new.to_dna('actgggcgagagklklklklk')
|
269
|
-
# ========================================================================= #
|
270
|
-
def to_dna(
|
271
|
-
i = sequence?, upcase_me = true
|
272
|
-
)
|
273
|
-
if is_RNA?
|
274
|
-
i = sequence? if i.nil?
|
275
|
-
::Bioroebe.to_dna(i, upcase_me)
|
276
|
-
end
|
277
|
-
end; alias dna to_dna # === dna
|
278
|
-
|
279
254
|
# ========================================================================= #
|
280
255
|
# === random
|
281
256
|
#
|
@@ -397,6 +372,34 @@ module NucleotideModule # === Bioroebe::NucleotideModule
|
|
397
372
|
end
|
398
373
|
end; alias gc_percent gc_percentage # === gc_percent
|
399
374
|
|
375
|
+
# ========================================================================= #
|
376
|
+
# === to_dna
|
377
|
+
#
|
378
|
+
# This method will convert a RNA sequence into a DNA sequence.
|
379
|
+
#
|
380
|
+
# It will return the translation.
|
381
|
+
#
|
382
|
+
# Usage example:
|
383
|
+
#
|
384
|
+
# require 'bioroebe'; puts Bioroebe::DNA.new('actgggcgagaguuuuUUUUUU').to_dna
|
385
|
+
#
|
386
|
+
# ========================================================================= #
|
387
|
+
def to_dna(
|
388
|
+
i = sequence?,
|
389
|
+
upcase_me = true
|
390
|
+
)
|
391
|
+
i = sequence? if i.nil?
|
392
|
+
i = ::Bioroebe.to_dna(i, upcase_me)
|
393
|
+
return i
|
394
|
+
end; alias dna to_dna # === dna
|
395
|
+
|
396
|
+
# ========================================================================= #
|
397
|
+
# === to_dna
|
398
|
+
# ========================================================================= #
|
399
|
+
# def to_dna
|
400
|
+
# seq?.tr('U','T')
|
401
|
+
# end; alias dna to_dna # === dna
|
402
|
+
|
400
403
|
end; end
|
401
404
|
|
402
405
|
if __FILE__ == $PROGRAM_NAME
|