bioroebe 0.10.80 → 0.12.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of bioroebe might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/README.md +3612 -2781
- data/bin/bioroebe +7 -1
- data/bin/bioroebe_hash +7 -0
- data/bin/codon_to_aminoacid +1 -0
- data/bioroebe.gemspec +3 -3
- data/doc/README.gen +3612 -2742
- data/doc/quality_control/commandline_applications.md +3 -3
- data/doc/todo/bioroebe_java_todo.md +22 -0
- data/doc/todo/bioroebe_todo.md +2059 -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 +15 -11
- data/lib/bioroebe/base/commandline_application/misc.rb +66 -49
- 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/codons.rb +1 -1
- data/lib/bioroebe/codons/convert_this_codon_to_that_aminoacid.rb +192 -58
- 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 +15 -4
- data/lib/bioroebe/colours/rev.rb +4 -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/conversions/dna_to_aminoacid_sequence.rb +58 -24
- data/lib/bioroebe/count/count_amount_of_aminoacids.rb +3 -2
- 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/data/fasta/human/Homo_sapiens_hemoglobin_subunit_alpha_HBB_mRNA.fasta +9 -0
- data/lib/bioroebe/data/fasta/human/Homo_sapiens_hemoglobin_subunit_beta_HBB_mRNA.fasta +8 -0
- data/lib/bioroebe/data/fasta/human/README.md +2 -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/enzymes/has_this_restriction_enzyme.rb +10 -3
- data/lib/bioroebe/enzymes/restriction_enzyme.rb +23 -1
- data/lib/bioroebe/enzymes/restriction_enzymes/statistics.rb +65 -0
- 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 +1465 -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/alignment/alignment.rb +73 -128
- 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/jruby/alignment/alignment.rb +165 -0
- data/lib/bioroebe/gui/libui/alignment/alignment.rb +3 -1
- data/lib/bioroebe/gui/libui/controller/controller.rb +116 -0
- data/lib/bioroebe/gui/libui/random_sequence/random_sequence.rb +18 -2
- data/lib/bioroebe/gui/libui/show_codon_table/show_codon_table.rb +2 -0
- data/lib/bioroebe/gui/libui/three_to_one/three_to_one.rb +8 -6
- data/lib/bioroebe/gui/shared_code/alignment/alignment_module.rb +102 -0
- data/lib/bioroebe/gui/shared_code/levensthein_distance/levensthein_distance_module.rb +18 -16
- 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/images/FORWARD_PRIMER.png +0 -0
- data/lib/bioroebe/images/REVERSE_PRIMER.png +0 -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/{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 +101 -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.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/src/main/java/bioroebe/toplevel_methods/BaseComposition.class +0 -0
- data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/toplevel_methods/BaseComposition.java +75 -0
- data/lib/bioroebe/misc/ruler.rb +11 -2
- 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 +4 -10
- 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/alignment.rb +14 -4
- data/lib/bioroebe/sequence/dna.rb +1 -0
- 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 +87 -21
- data/lib/bioroebe/shell/menu.rb +3829 -3714
- data/lib/bioroebe/shell/misc.rb +59 -4307
- data/lib/bioroebe/shell/readline/readline.rb +1 -1
- data/lib/bioroebe/shell/shell.rb +11255 -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/help/helpline.rb +2 -2
- 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/digest.rb +18 -8
- 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/frequencies.rb +8 -1
- data/lib/bioroebe/toplevel_methods/misc.rb +142 -12
- data/lib/bioroebe/toplevel_methods/nucleotides.rb +118 -46
- 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/consensus_sequence.rb +6 -6
- 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/parse_taxonomy.rb +2 -2
- 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 +103 -54
- 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/configuration/temp_dir.yml +1 -1
- data/lib/bioroebe/yaml/genomes/README.md +3 -4
- data/lib/bioroebe/yaml/restriction_enzymes/restriction_enzymes.yml +27 -27
- metadata +81 -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
- /data/lib/bioroebe/java/bioroebe/{BisulfiteTreatment.java → src/main/java/bioroebe/BisulfiteTreatment.java} +0 -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/{RemoveFile.class → src/main/java/bioroebe/RemoveFile.class} +0 -0
@@ -19,6 +19,102 @@ module Bioroebe
|
|
19
19
|
require 'bioroebe/constants/nucleotides.rb'
|
20
20
|
require 'bioroebe/toplevel_methods/e.rb'
|
21
21
|
|
22
|
+
# ========================================================================= #
|
23
|
+
# === Bioroebe.can_base_pair_with?
|
24
|
+
#
|
25
|
+
# Usage example:
|
26
|
+
#
|
27
|
+
# Bioroebe.can_base_pair_with?('A','T') # => true
|
28
|
+
# Bioroebe.can_base_pair_with?('A','G') # => false
|
29
|
+
#
|
30
|
+
# ========================================================================= #
|
31
|
+
def self.can_base_pair_with?(a, b)
|
32
|
+
::Bioroebe.partner_nucleotide(a) == b
|
33
|
+
end
|
34
|
+
|
35
|
+
# ========================================================================= #
|
36
|
+
# === Bioroebe.partner_nucleotide
|
37
|
+
#
|
38
|
+
# This small "table" will simply return the corresponding Nucleotide
|
39
|
+
# matching the given input at hand - in other words, the corresponding
|
40
|
+
# DNA nucleotide that can base-pair with the input nucleotide.
|
41
|
+
#
|
42
|
+
# Since this is a method call this may be a bit slow if you have to
|
43
|
+
# invoke the method repeatedly. In this case, you should consider
|
44
|
+
# using the method befined below, through the method
|
45
|
+
# Bioroebe.partner_nucleotide_hash(), and then use that Hash instead.
|
46
|
+
#
|
47
|
+
# Usage example:
|
48
|
+
#
|
49
|
+
# Bioroebe.partner_nucleotide('A') # => "T"
|
50
|
+
# Bioroebe.should_match_to?('T') # => "A"
|
51
|
+
#
|
52
|
+
# ========================================================================= #
|
53
|
+
def self.partner_nucleotide(i)
|
54
|
+
i = i.first if i.is_a? Array # We only handle the first entry in an Array.
|
55
|
+
if i
|
56
|
+
i = i.dup if i.frozen?
|
57
|
+
i.upcase! # just in caase.
|
58
|
+
case i # case tag.
|
59
|
+
when 'A'
|
60
|
+
return 'T'
|
61
|
+
when 'T','U'
|
62
|
+
return 'A'
|
63
|
+
when 'G'
|
64
|
+
return 'C'
|
65
|
+
when 'C'
|
66
|
+
return 'G'
|
67
|
+
else
|
68
|
+
return nil # means illegal value.
|
69
|
+
end
|
70
|
+
end
|
71
|
+
return i # Return just in case.
|
72
|
+
end; self.instance_eval { alias complementary_nucleotide partner_nucleotide } # === Bioroebe.complementary_nucleotide
|
73
|
+
self.instance_eval { alias return_dna_match partner_nucleotide } # === Bioroebe.return_dna_match
|
74
|
+
self.instance_eval { alias should_match_to? partner_nucleotide } # === Bioroebe.should_match_to?
|
75
|
+
|
76
|
+
# ========================================================================= #
|
77
|
+
# === Bioroebe.contains_an_inverted_repeat?
|
78
|
+
#
|
79
|
+
# We assume an inverted repeat to exist if at the least 2 nucleotides
|
80
|
+
# match to one another in the reverse, so a total of 4 matching
|
81
|
+
# nucleotides. This assumption may not necessarily be correct and
|
82
|
+
# we may have to fine-tune this at a later time.
|
83
|
+
#
|
84
|
+
# For testing purpose, the sequence 'TTACGAAAAAACGTAA' can be used.
|
85
|
+
# ========================================================================= #
|
86
|
+
def self.contains_an_inverted_repeat?(
|
87
|
+
#i = 'AGCCCCGCAAAAAAGGCGGGCU'
|
88
|
+
i = 'TTACGAAAAAACGTAA' # This is in the 5'→3' direction.
|
89
|
+
)
|
90
|
+
contains_an_inverted_repeat = false
|
91
|
+
longest_stretch = 0
|
92
|
+
current_stretch = 0
|
93
|
+
halfed_position = i.size / 2
|
94
|
+
both_sides = [
|
95
|
+
i[0 .. (halfed_position-1)],
|
96
|
+
i[halfed_position .. -1]
|
97
|
+
]
|
98
|
+
# ======================================================================= #
|
99
|
+
# Now that we have both sides, we will try to match them. First reverse
|
100
|
+
# the second, though.
|
101
|
+
# ======================================================================= #
|
102
|
+
first = both_sides[0]
|
103
|
+
second = both_sides[1].reverse # Work via the reverse sequence.
|
104
|
+
first.chars.each_with_index {|this_nucleotide, index|
|
105
|
+
if can_base_pair_with?(second[index], this_nucleotide)
|
106
|
+
current_stretch += 1
|
107
|
+
longest_stretch = current_stretch if current_stretch > longest_stretch
|
108
|
+
else
|
109
|
+
current_stretch = 0
|
110
|
+
end
|
111
|
+
}
|
112
|
+
if longest_stretch >= 2
|
113
|
+
contains_an_inverted_repeat = true
|
114
|
+
end
|
115
|
+
return contains_an_inverted_repeat
|
116
|
+
end
|
117
|
+
|
22
118
|
# ========================================================================= #
|
23
119
|
# === Bioroebe.complementary_rna_strand
|
24
120
|
#
|
@@ -147,47 +243,6 @@ module Bioroebe
|
|
147
243
|
return _.flatten.uniq.sort
|
148
244
|
end
|
149
245
|
|
150
|
-
# ========================================================================= #
|
151
|
-
# === Bioroebe.partner_nucleotide
|
152
|
-
#
|
153
|
-
# This small "table" will simply return the corresponding Nucleotide
|
154
|
-
# matching the given input at hand - in other words, the corresponding
|
155
|
-
# DNA nucleotide that can base-pair with the input nucleotide.
|
156
|
-
#
|
157
|
-
# Since this is a method call this may be a bit slow if you have to
|
158
|
-
# invoke the method repeatedly. In this case, you should consider
|
159
|
-
# using the method befined below, through the method
|
160
|
-
# Bioroebe.partner_nucleotide_hash(), and then use that Hash instead.
|
161
|
-
#
|
162
|
-
# Usage example:
|
163
|
-
#
|
164
|
-
# Bioroebe.partner_nucleotide('A') # => "T"
|
165
|
-
# Bioroebe.should_match_to?('T') # => "A"
|
166
|
-
#
|
167
|
-
# ========================================================================= #
|
168
|
-
def self.partner_nucleotide(i)
|
169
|
-
i = i.first if i.is_a? Array # We only handle the first entry in an Array.
|
170
|
-
if i
|
171
|
-
i = i.dup if i.frozen?
|
172
|
-
i.upcase! # just in caase.
|
173
|
-
case i # case tag.
|
174
|
-
when 'A'
|
175
|
-
return 'T'
|
176
|
-
when 'T','U'
|
177
|
-
return 'A'
|
178
|
-
when 'G'
|
179
|
-
return 'C'
|
180
|
-
when 'C'
|
181
|
-
return 'G'
|
182
|
-
else
|
183
|
-
return nil # means illegal value.
|
184
|
-
end
|
185
|
-
end
|
186
|
-
return i # Return just in case.
|
187
|
-
end; self.instance_eval { alias complementary_nucleotide partner_nucleotide } # === Bioroebe.complementary_nucleotide
|
188
|
-
self.instance_eval { alias return_dna_match partner_nucleotide } # === Bioroebe.return_dna_match
|
189
|
-
self.instance_eval { alias should_match_to? partner_nucleotide } # === Bioroebe.should_match_to?
|
190
|
-
|
191
246
|
# ========================================================================= #
|
192
247
|
# === Bioroebe.return_all_positions_of_this_nucleotide
|
193
248
|
#
|
@@ -270,12 +325,19 @@ module Bioroebe
|
|
270
325
|
# Bioroebe.random_dna 15 # => "TTGGTAAGCTCTTTA"
|
271
326
|
# Bioroebe.random_dna 25 # => "TTAGCACAAGCATGGACGGACCAGA"
|
272
327
|
# Bioroebe.random_dna(50, { A: 10, T: 10, C: 10, G: 70}) # => "GGGGTGGGGAGGGTATGCGGAGGAAGGGCGGGAAGGGCGGGGGCTGGGCG"
|
328
|
+
# Bioroebe.random_dna(20, 'ATGGGGGGGG') # => "TGAGGGGGGGGGTGGGAGGG"
|
329
|
+
# Bioroebe.random_dna(20, 'ATGGGGGGGG') # => "GGTAGGGGGGGGTAGGGGGG"
|
273
330
|
#
|
274
331
|
# ========================================================================= #
|
275
332
|
def self.generate_random_dna_sequence(
|
276
|
-
i
|
277
|
-
optional_hash_with_the_frequencies = {}
|
333
|
+
i = ARGV,
|
334
|
+
optional_hash_with_the_frequencies = {} # ← This may be a String too, mind you.
|
278
335
|
)
|
336
|
+
# ======================================================================= #
|
337
|
+
# First define our result-String. This one will be returned by this
|
338
|
+
# method.
|
339
|
+
# ======================================================================= #
|
340
|
+
result = ''.dup
|
279
341
|
_ = Bioroebe::DNA_NUCLEOTIDES # Get a handle to the four DNA nucleotides.
|
280
342
|
if i.is_a? Array
|
281
343
|
i = i.join.strip
|
@@ -284,9 +346,19 @@ module Bioroebe
|
|
284
346
|
when :default
|
285
347
|
i = 250
|
286
348
|
end
|
287
|
-
i = i.to_i
|
288
|
-
|
289
|
-
|
349
|
+
i = i.to_i # This is "n times".
|
350
|
+
# ======================================================================= #
|
351
|
+
# First handle the case where the user passed a String:
|
352
|
+
# ======================================================================= #
|
353
|
+
if optional_hash_with_the_frequencies.is_a? String
|
354
|
+
pool = optional_hash_with_the_frequencies.dup.chars.shuffle
|
355
|
+
i.times {
|
356
|
+
if pool.size == 0
|
357
|
+
pool = optional_hash_with_the_frequencies.dup.chars.shuffle
|
358
|
+
end
|
359
|
+
result << pool.pop
|
360
|
+
}
|
361
|
+
elsif optional_hash_with_the_frequencies.empty?
|
290
362
|
# ===================================================================== #
|
291
363
|
# This is the default clause.
|
292
364
|
# ===================================================================== #
|
@@ -18,6 +18,8 @@ module Bioroebe
|
|
18
18
|
# This constant specifies the default browser to use for the
|
19
19
|
# bioroebe-project.
|
20
20
|
# ========================================================================= #
|
21
|
+
# /home/x/programming/ruby/src/bioroebe/lib/bioroebe/yaml/configuration/browser.yml
|
22
|
+
# ========================================================================= #
|
21
23
|
if File.exist? "#{project_yaml_directory?}browser.yml"
|
22
24
|
USE_THIS_BROWSER = YAML.load_file(FILE_BROWSER)
|
23
25
|
elsif ENV['BROWSER']
|
@@ -115,8 +115,7 @@ module Bioroebe
|
|
115
115
|
end
|
116
116
|
|
117
117
|
if __FILE__ == $PROGRAM_NAME
|
118
|
-
pp Bioroebe.every_reverse_palindrome_in_this_string(ARGV)
|
119
|
-
exit
|
118
|
+
pp Bioroebe.every_reverse_palindrome_in_this_string(ARGV)
|
120
119
|
if ARGV.empty?
|
121
120
|
p 'GAATTC: '+Bioroebe.is_palindrome?('GAATTC').to_s # => true
|
122
121
|
p 'GAATTCCC: '+Bioroebe.is_palindrome?('GAATTCCC').to_s # => false
|
@@ -141,8 +141,8 @@ module Taxonomy # === Bioroebe::Taxonomy
|
|
141
141
|
end
|
142
142
|
end
|
143
143
|
if be_verbose
|
144
|
-
e
|
145
|
-
::Bioroebe.sdir(this_dir)
|
144
|
+
e "Now trying to change to the base directory at "\
|
145
|
+
"#{::Bioroebe.sdir(this_dir)}."
|
146
146
|
end
|
147
147
|
cd this_dir
|
148
148
|
e N+'We will next attempt to download the file `'+
|
@@ -11,6 +11,11 @@ module Bioroebe
|
|
11
11
|
# === Bioroebe.to_camelcase
|
12
12
|
#
|
13
13
|
# Convert the given String (the input) into a camelcased variant.
|
14
|
+
#
|
15
|
+
# Usage example:
|
16
|
+
#
|
17
|
+
# Bioroebe.to_camelcase('foo_bar') # => "FooBar"
|
18
|
+
#
|
14
19
|
# ========================================================================= #
|
15
20
|
def self.to_camelcase(i)
|
16
21
|
if i.is_a? Array
|
@@ -35,11 +35,6 @@ class AlignOpenReadingFrames < ::Bioroebe::CommandlineApplication # === Bioroebe
|
|
35
35
|
require 'bioroebe/regexes/regexes.rb'
|
36
36
|
require 'bioroebe/codons/codons.rb'
|
37
37
|
|
38
|
-
# ========================================================================= #
|
39
|
-
# === NAMESPACE
|
40
|
-
# ========================================================================= #
|
41
|
-
NAMESPACE = inspect
|
42
|
-
|
43
38
|
# ========================================================================= #
|
44
39
|
# === START_CODON
|
45
40
|
# ========================================================================= #
|
@@ -67,10 +62,7 @@ class AlignOpenReadingFrames < ::Bioroebe::CommandlineApplication # === Bioroebe
|
|
67
62
|
# ========================================================================= #
|
68
63
|
def reset
|
69
64
|
super()
|
70
|
-
|
71
|
-
# === @namespace
|
72
|
-
# ======================================================================= #
|
73
|
-
@namespace = NAMESPACE
|
65
|
+
infer_the_namespace
|
74
66
|
end
|
75
67
|
|
76
68
|
# ========================================================================= #
|
@@ -19,11 +19,6 @@ module Bioroebe
|
|
19
19
|
|
20
20
|
class CheckForMismatches < ::Bioroebe::CommandlineApplication # === Bioroebe::CheckForMismatches
|
21
21
|
|
22
|
-
# ========================================================================= #
|
23
|
-
# === NAMESPACE
|
24
|
-
# ========================================================================= #
|
25
|
-
NAMESPACE = inspect
|
26
|
-
|
27
22
|
# ========================================================================= #
|
28
23
|
# === COLOUR_TO_BE_USED_FOR_A_MISMATCH
|
29
24
|
#
|
@@ -49,10 +44,7 @@ class CheckForMismatches < ::Bioroebe::CommandlineApplication # === Bioroebe::Ch
|
|
49
44
|
# ========================================================================= #
|
50
45
|
def reset
|
51
46
|
super()
|
52
|
-
|
53
|
-
# === @namespace
|
54
|
-
# ======================================================================= #
|
55
|
-
@namespace = NAMESPACE
|
47
|
+
infer_the_namespace
|
56
48
|
# ======================================================================= #
|
57
49
|
# === @first_sequence
|
58
50
|
# ======================================================================= #
|
@@ -21,11 +21,6 @@ module Bioroebe
|
|
21
21
|
|
22
22
|
class Compacter < ::Bioroebe::CommandlineApplication # === Bioroebe::Compacter
|
23
23
|
|
24
|
-
# ========================================================================= #
|
25
|
-
# === NAMESPACE
|
26
|
-
# ========================================================================= #
|
27
|
-
NAMESPACE = inspect
|
28
|
-
|
29
24
|
# ========================================================================= #
|
30
25
|
# === initialize
|
31
26
|
# ========================================================================= #
|
@@ -52,10 +47,7 @@ class Compacter < ::Bioroebe::CommandlineApplication # === Bioroebe::Compacter
|
|
52
47
|
# ========================================================================= #
|
53
48
|
def reset
|
54
49
|
super()
|
55
|
-
|
56
|
-
# === @namespace
|
57
|
-
# ======================================================================= #
|
58
|
-
@namespace = NAMESPACE
|
50
|
+
infer_the_namespace
|
59
51
|
# ======================================================================= #
|
60
52
|
# === @ask_for_user_input
|
61
53
|
# ======================================================================= #
|
@@ -47,11 +47,6 @@ class Compseq < ::Bioroebe::CommandlineApplication # === Bioroebe::Compseq
|
|
47
47
|
# ========================================================================= #
|
48
48
|
COLOURIZE_CpG_ISLANDS = true
|
49
49
|
|
50
|
-
# ========================================================================= #
|
51
|
-
# === NAMESPACE
|
52
|
-
# ========================================================================= #
|
53
|
-
NAMESPACE = inspect
|
54
|
-
|
55
50
|
# ========================================================================= #
|
56
51
|
# === EXPECTED_FREQUENCY
|
57
52
|
# ========================================================================= #
|
@@ -108,10 +103,7 @@ class Compseq < ::Bioroebe::CommandlineApplication # === Bioroebe::Compseq
|
|
108
103
|
# ========================================================================= #
|
109
104
|
def reset
|
110
105
|
super()
|
111
|
-
|
112
|
-
# === @namespace
|
113
|
-
# ======================================================================= #
|
114
|
-
@namespace = NAMESPACE
|
106
|
+
infer_the_namespace
|
115
107
|
# ======================================================================= #
|
116
108
|
# === @identifier
|
117
109
|
# ======================================================================= #
|
@@ -35,7 +35,7 @@ class ConsensusSequence < ::Bioroebe::CommandlineApplication # === Bioroebe::Con
|
|
35
35
|
# ===================================================================== #
|
36
36
|
when :do_not_run_yet_and_be_quiet
|
37
37
|
run_already = false
|
38
|
-
|
38
|
+
set_be_quiet
|
39
39
|
@report_the_frequencies = false
|
40
40
|
# ===================================================================== #
|
41
41
|
# === :do_not_run_yet
|
@@ -46,7 +46,7 @@ class ConsensusSequence < ::Bioroebe::CommandlineApplication # === Bioroebe::Con
|
|
46
46
|
# === :be_quiet
|
47
47
|
# ===================================================================== #
|
48
48
|
when :be_quiet
|
49
|
-
|
49
|
+
set_be_quiet
|
50
50
|
@report_the_frequencies = false
|
51
51
|
end
|
52
52
|
end
|
@@ -66,7 +66,7 @@ class ConsensusSequence < ::Bioroebe::CommandlineApplication # === Bioroebe::Con
|
|
66
66
|
# ======================================================================= #
|
67
67
|
# === @be_verbose
|
68
68
|
# ======================================================================= #
|
69
|
-
|
69
|
+
set_be_verbose
|
70
70
|
# ======================================================================= #
|
71
71
|
# === @report_the_frequencies
|
72
72
|
# ======================================================================= #
|
@@ -195,7 +195,7 @@ class ConsensusSequence < ::Bioroebe::CommandlineApplication # === Bioroebe::Con
|
|
195
195
|
# === report_on_which_sequences_we_will_operate
|
196
196
|
# ========================================================================= #
|
197
197
|
def report_on_which_sequences_we_will_operate(
|
198
|
-
be_verbose =
|
198
|
+
be_verbose = be_verbose?
|
199
199
|
)
|
200
200
|
case be_verbose
|
201
201
|
when :be_verbose
|
@@ -217,7 +217,7 @@ class ConsensusSequence < ::Bioroebe::CommandlineApplication # === Bioroebe::Con
|
|
217
217
|
# === report_the_consensus_sequence
|
218
218
|
# ========================================================================= #
|
219
219
|
def report_the_consensus_sequence
|
220
|
-
if
|
220
|
+
if be_verbose?
|
221
221
|
the_consensus_sequence = consensus_sequence?
|
222
222
|
erev 'The consensus sequence is: '
|
223
223
|
e
|
@@ -238,7 +238,7 @@ class ConsensusSequence < ::Bioroebe::CommandlineApplication # === Bioroebe::Con
|
|
238
238
|
try_to_find_and_report_an_even_simpler_consensus_sequence(
|
239
239
|
the_consensus_sequence
|
240
240
|
)
|
241
|
-
if
|
241
|
+
if be_verbose?
|
242
242
|
erev 'Finally, we will display the above findings in a'
|
243
243
|
erev 'shorter variant:'
|
244
244
|
report_on_which_sequences_we_will_operate
|
@@ -44,11 +44,6 @@ https://www.ncbi.nlm.nih.gov/nuccore/NZ_CP007215.2
|
|
44
44
|
https://www.ncbi.nlm.nih.gov/nuccore/NC_003197.2
|
45
45
|
'
|
46
46
|
|
47
|
-
# ========================================================================= #
|
48
|
-
# === NAMESPACE
|
49
|
-
# ========================================================================= #
|
50
|
-
NAMESPACE = inspect
|
51
|
-
|
52
47
|
# ========================================================================= #
|
53
48
|
# === initialize
|
54
49
|
# ========================================================================= #
|
@@ -66,10 +61,7 @@ https://www.ncbi.nlm.nih.gov/nuccore/NC_003197.2
|
|
66
61
|
# ========================================================================= #
|
67
62
|
def reset
|
68
63
|
super()
|
69
|
-
|
70
|
-
# === @namespace
|
71
|
-
# ======================================================================= #
|
72
|
-
@namespace = NAMESPACE
|
64
|
+
infer_the_namespace
|
73
65
|
end
|
74
66
|
|
75
67
|
# ========================================================================= #
|
@@ -21,11 +21,6 @@ module Bioroebe
|
|
21
21
|
|
22
22
|
class DotAlignment < ::Bioroebe::CommandlineApplication # === Bioroebe::DotAlignment
|
23
23
|
|
24
|
-
# ========================================================================= #
|
25
|
-
# === NAMESPACE
|
26
|
-
# ========================================================================= #
|
27
|
-
NAMESPACE = inspect
|
28
|
-
|
29
24
|
# ========================================================================= #
|
30
25
|
# === initialize
|
31
26
|
# ========================================================================= #
|
@@ -43,10 +38,7 @@ class DotAlignment < ::Bioroebe::CommandlineApplication # === Bioroebe::DotAlign
|
|
43
38
|
# ========================================================================= #
|
44
39
|
def reset
|
45
40
|
super()
|
46
|
-
|
47
|
-
# === @namespace
|
48
|
-
# ======================================================================= #
|
49
|
-
@namespace = NAMESPACE
|
41
|
+
infer_the_namespace
|
50
42
|
# ======================================================================= #
|
51
43
|
# === @may_we_continue
|
52
44
|
# ======================================================================= #
|
@@ -42,10 +42,7 @@ class MoveFileToItsCorrectLocation < ::Bioroebe::CommandlineApplication
|
|
42
42
|
# ========================================================================= #
|
43
43
|
def reset
|
44
44
|
super()
|
45
|
-
|
46
|
-
# === @namespace
|
47
|
-
# ======================================================================= #
|
48
|
-
@namespace = NAMESPACE
|
45
|
+
infer_the_namespace
|
49
46
|
# ======================================================================= #
|
50
47
|
# === @try_to_relocate_the_file_to_an_appropriate_subdirectory
|
51
48
|
#
|
@@ -64,7 +64,7 @@ class ParseTaxonomy < ::Bioroebe::CommandlineApplication # === Bioroebe::ParseTa
|
|
64
64
|
# ======================================================================= #
|
65
65
|
# === @be_verbose
|
66
66
|
# ======================================================================= #
|
67
|
-
|
67
|
+
set_be_quiet
|
68
68
|
end
|
69
69
|
|
70
70
|
# ========================================================================= #
|
@@ -112,7 +112,7 @@ class ParseTaxonomy < ::Bioroebe::CommandlineApplication # === Bioroebe::ParseTa
|
|
112
112
|
# ========================================================================= #
|
113
113
|
def read_in_url(i = @url)
|
114
114
|
require 'open-uri'
|
115
|
-
e "Reading in from #{sfancy(i.to_s)} now." if
|
115
|
+
e "Reading in from #{sfancy(i.to_s)} now." if be_verbose?
|
116
116
|
@dataset = URI.open(i).read
|
117
117
|
end
|
118
118
|
|
@@ -6,11 +6,6 @@ module Bioroebe
|
|
6
6
|
|
7
7
|
class ShowOrf < ::Bioroebe::CommandlineApplication
|
8
8
|
|
9
|
-
# ========================================================================= #
|
10
|
-
# === NAMESPACE
|
11
|
-
# ========================================================================= #
|
12
|
-
NAMESPACE = inspect
|
13
|
-
|
14
9
|
# ========================================================================= #
|
15
10
|
# === COLOURIZE_VERTICAL_TOKEN
|
16
11
|
# ========================================================================= #
|
@@ -11,10 +11,7 @@ class ShowOrf < ::Bioroebe::CommandlineApplication
|
|
11
11
|
# ========================================================================= #
|
12
12
|
def reset
|
13
13
|
super()
|
14
|
-
|
15
|
-
# === @namespace
|
16
|
-
# ======================================================================= #
|
17
|
-
@namespace = NAMESPACE
|
14
|
+
infer_the_namespace
|
18
15
|
# ======================================================================= #
|
19
16
|
# === @show_these_frames
|
20
17
|
#
|
@@ -9,7 +9,7 @@ module Bioroebe
|
|
9
9
|
# ========================================================================= #
|
10
10
|
# === VERSION
|
11
11
|
# ========================================================================= #
|
12
|
-
VERSION = '0.
|
12
|
+
VERSION = '0.12.12'
|
13
13
|
|
14
14
|
# ========================================================================= #
|
15
15
|
# === LAST_UPDATE
|
@@ -17,7 +17,7 @@ module Bioroebe
|
|
17
17
|
# This variable keeps track as to when the bioroebe project was last
|
18
18
|
# updated. The notation is: DD.MM.YYYY
|
19
19
|
# ========================================================================= #
|
20
|
-
LAST_UPDATE = '
|
20
|
+
LAST_UPDATE = '28.01.2023'
|
21
21
|
|
22
22
|
# ========================================================================= #
|
23
23
|
# === URL_TO_THE_DOCUMENTATION
|