bioroebe 0.10.80 → 0.12.24
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.
- checksums.yaml +4 -4
- data/README.md +3946 -2817
- data/bin/bioroebe +13 -2
- data/bin/bioroebe_hash +7 -0
- data/bin/codon_to_aminoacid +6 -4
- data/bin/compacter +7 -0
- data/bin/plain_palindrome +7 -0
- data/bioroebe.gemspec +3 -3
- data/doc/README.gen +3918 -2793
- data/doc/quality_control/commandline_applications.md +3 -3
- data/doc/statistics/statistics.md +7 -7
- data/doc/todo/bioroebe_GUI_todo.md +19 -14
- data/doc/todo/bioroebe_java_todo.md +22 -0
- data/doc/todo/bioroebe_todo.md +2075 -2620
- data/lib/bioroebe/C++/DNA.cpp +69 -0
- data/lib/bioroebe/C++/RNA.cpp +58 -0
- data/lib/bioroebe/C++/sequence.cpp +35 -0
- data/lib/bioroebe/abstract/README.md +1 -0
- data/lib/bioroebe/abstract/features.rb +29 -0
- 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/base_module/base_module.rb +36 -0
- data/lib/bioroebe/base/colours_for_base/colours_for_base.rb +18 -8
- data/lib/bioroebe/base/commandline_application/commandline_application.rb +13 -9
- data/lib/bioroebe/base/commandline_application/commandline_arguments.rb +24 -19
- 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 +5 -3
- data/lib/bioroebe/base/internal_hash_module/internal_hash_module.rb +42 -0
- data/lib/bioroebe/base/misc.rb +35 -0
- data/lib/bioroebe/base/prototype/misc.rb +15 -9
- data/lib/bioroebe/base/prototype/reset.rb +10 -0
- data/lib/bioroebe/cleave_and_digest/digestion.rb +10 -2
- data/lib/bioroebe/cleave_and_digest/trypsin.rb +104 -50
- 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 +208 -59
- data/lib/bioroebe/codons/possible_codons_for_this_aminoacid.rb +1 -9
- data/lib/bioroebe/codons/show_codon_tables.rb +8 -3
- 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/constants/nucleotides.rb +7 -0
- data/lib/bioroebe/conversions/dna_to_aminoacid_sequence.rb +109 -39
- 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/cpp +1 -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/dotplots/advanced_dotplot.rb +1 -1
- 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 +1518 -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 +130 -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 +106 -137
- data/lib/bioroebe/gui/gtk3/aminoacid_composition/aminoacid_composition.rb +27 -61
- data/lib/bioroebe/gui/gtk3/aminoacid_composition/customized_dialog.rb +1 -1
- data/lib/bioroebe/gui/gtk3/blosum_matrix_viewer/blosum_matrix_viewer.rb +1 -2
- data/lib/bioroebe/gui/gtk3/calculate_cell_numbers_of_bacteria/calculate_cell_numbers_of_bacteria.rb +1 -2
- data/lib/bioroebe/gui/gtk3/controller/controller.rb +46 -29
- data/lib/bioroebe/gui/gtk3/dna_to_aminoacid_widget/dna_to_aminoacid_widget.rb +77 -52
- data/lib/bioroebe/gui/gtk3/dna_to_reverse_complement_widget/dna_to_reverse_complement_widget.rb +1 -2
- data/lib/bioroebe/gui/gtk3/fasta_table_widget/fasta_table_widget.rb +100 -23
- data/lib/bioroebe/gui/gtk3/format_converter/format_converter.rb +1 -2
- data/lib/bioroebe/gui/gtk3/gene/gene.rb +1 -2
- data/lib/bioroebe/gui/gtk3/hamming_distance/hamming_distance.rb +43 -30
- data/lib/bioroebe/gui/gtk3/levensthein_distance/levensthein_distance.rb +1 -2
- data/lib/bioroebe/gui/gtk3/nucleotide_analyser/nucleotide_analyser.rb +120 -73
- data/lib/bioroebe/gui/gtk3/primer_design_widget/primer_design_widget.rb +1 -2
- data/lib/bioroebe/gui/gtk3/protein_to_DNA/protein_to_DNA.rb +19 -20
- data/lib/bioroebe/gui/gtk3/random_sequence/random_sequence.rb +20 -13
- data/lib/bioroebe/gui/gtk3/restriction_enzymes/restriction_enzymes.rb +1 -2
- data/lib/bioroebe/gui/gtk3/show_codon_table/misc.rb +97 -22
- data/lib/bioroebe/gui/gtk3/show_codon_table/show_codon_table.rb +3 -73
- data/lib/bioroebe/gui/gtk3/show_codon_usage/show_codon_usage.rb +1 -2
- data/lib/bioroebe/gui/gtk3/sizeseq/sizeseq.rb +1 -2
- data/lib/bioroebe/gui/gtk3/three_to_one/three_to_one.rb +1 -2
- data/lib/bioroebe/gui/gtk3/www_finder/www_finder.rb +1 -2
- data/lib/bioroebe/gui/javafx/bioroebe/Bioroebe.class +0 -0
- data/lib/bioroebe/gui/javafx/bioroebe/Bioroebe.java +104 -0
- data/lib/bioroebe/gui/javafx/bioroebe.jar +0 -0
- data/lib/bioroebe/gui/javafx/bioroebe.mf +1 -0
- data/lib/bioroebe/gui/javafx/module-info.class +0 -0
- data/lib/bioroebe/gui/javafx/module-info.java +5 -0
- data/lib/bioroebe/gui/jruby/alignment/alignment.rb +165 -0
- data/lib/bioroebe/gui/jruby/aminoacid_composition/aminoacid_composition.rb +166 -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/aminoacid_composition/aminoacid_composition_module.rb +94 -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/images/images.html +29845 -0
- data/lib/bioroebe/java/README.md +5 -0
- data/lib/bioroebe/java/bioroebe/AllInOne.java +1 -0
- data/lib/bioroebe/java/bioroebe/Base.class +0 -0
- data/lib/bioroebe/java/bioroebe/Base.java +39 -5
- data/lib/bioroebe/java/bioroebe/IsPalindrome.java +23 -5
- data/lib/bioroebe/java/bioroebe/SanitizeNucleotideSequence.java +0 -0
- data/lib/bioroebe/java/bioroebe/Sequence.java +28 -3
- data/lib/bioroebe/java/bioroebe/ToCamelcase.class +0 -0
- data/lib/bioroebe/java/bioroebe/ToCamelcase.java +16 -4
- data/lib/bioroebe/java/bioroebe/ToRNA.java +43 -0
- data/lib/bioroebe/java/bioroebe/ToplevelMethods.java +6 -0
- data/lib/bioroebe/java/bioroebe/{BisulfiteTreatment.class → src/BisulfiteTreatment.class} +0 -0
- data/lib/bioroebe/java/bioroebe/{Codons.class → src/Codons.class} +0 -0
- data/lib/bioroebe/java/bioroebe/src/Codons.java +35 -0
- data/lib/bioroebe/java/bioroebe/src/Commandline.class +0 -0
- data/lib/bioroebe/java/bioroebe/src/Commandline.java +101 -0
- data/lib/bioroebe/java/bioroebe/{Esystem.class → src/Esystem.class} +0 -0
- data/lib/bioroebe/java/bioroebe/{Esystem.java → src/Esystem.java} +6 -1
- data/lib/bioroebe/java/bioroebe/{GenerateRandomDnaSequence.class → src/GenerateRandomDnaSequence.class} +0 -0
- data/lib/bioroebe/java/bioroebe/{GenerateRandomDnaSequence.java → src/GenerateRandomDnaSequence.java} +8 -2
- data/lib/bioroebe/java/bioroebe/src/PartnerNucleotide.class +0 -0
- data/lib/bioroebe/java/bioroebe/src/PartnerNucleotide.java +56 -0
- data/lib/bioroebe/java/bioroebe/{RemoveFile.java → src/RemoveFile.java} +10 -4
- data/lib/bioroebe/java/bioroebe/{RemoveNumbers.class → src/RemoveNumbers.class} +0 -0
- data/lib/bioroebe/java/bioroebe/{RemoveNumbers.java → src/RemoveNumbers.java} +1 -0
- data/lib/bioroebe/java/bioroebe/src/toplevel_methods/BaseComposition.class +0 -0
- data/lib/bioroebe/java/bioroebe/src/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/sanitize_nucleotide_sequence.rb +59 -18
- 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/convert_dna_to_aminoacid_sequence.py +137 -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 +52 -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_cleave_and_digest.rb +3 -1
- 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/rna.rb +220 -0
- data/lib/bioroebe/sequence/sequence.rb +128 -40
- data/lib/bioroebe/shell/menu.rb +3815 -3696
- data/lib/bioroebe/shell/misc.rb +9019 -3133
- data/lib/bioroebe/shell/readline/readline.rb +1 -1
- data/lib/bioroebe/shell/shell.rb +1137 -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 +175 -11
- 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 +75 -47
- data/lib/bioroebe/toplevel_methods/taxonomy.rb +3 -3
- 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/compacter.rb +251 -0
- 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/permutations.rb +36 -9
- 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 +121 -58
- data/lib/bioroebe/www/sinatra/sinatra.rb +186 -71
- data/lib/bioroebe/yaml/aminoacids/amino_acids_long_name_to_one_letter.yml +2 -2
- data/lib/bioroebe/yaml/aminoacids/weight_of_common_proteins.yml +17 -17
- data/lib/bioroebe/yaml/configuration/browser.yml +1 -1
- data/lib/bioroebe/yaml/configuration/temp_dir.yml +1 -1
- data/lib/bioroebe/yaml/consensus_sequences/consensus_sequences.yml +1 -0
- data/lib/bioroebe/yaml/genomes/README.md +3 -4
- data/lib/bioroebe/yaml/nucleotides/nucleotides.yml +5 -0
- data/lib/bioroebe/yaml/restriction_enzymes/restriction_enzymes.yml +57 -57
- data/spec/README.md +6 -0
- data/spec/project_wide_specification/classes.md +5 -0
- metadata +107 -70
- 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/AllInOne.class +0 -0
- data/lib/bioroebe/java/bioroebe/Cat.class +0 -0
- data/lib/bioroebe/java/bioroebe/Codons.java +0 -22
- data/lib/bioroebe/java/bioroebe/IsPalindrome.class +0 -0
- data/lib/bioroebe/java/bioroebe/PartnerNucleotide.class +0 -0
- data/lib/bioroebe/java/bioroebe/PartnerNucleotide.java +0 -19
- data/lib/bioroebe/java/bioroebe/SanitizeNucleotideSequence.class +0 -0
- data/lib/bioroebe/java/bioroebe/ToplevelMethods.class +0 -0
- 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/utility_scripts/compacter.rb +0 -131
- /data/lib/bioroebe/java/bioroebe/{BisulfiteTreatment.java → src/BisulfiteTreatment.java} +0 -0
- /data/lib/bioroebe/java/bioroebe/{RemoveFile.class → src/RemoveFile.class} +0 -0
@@ -23,6 +23,7 @@ module Bioroebe
|
|
23
23
|
#
|
24
24
|
# Bioroebe.return_fasta_subsection_of_this_file("foobar.fa")
|
25
25
|
# Bioroebe.return_fasta_subsection_of_this_file("foobar.fa", :keep_it_flat)
|
26
|
+
# Bioroebe.return_fasta_subsection_of_this_file("/home/Temp/bioroebe/fasta/alu_elements.fasta", :keep_it_flat)
|
26
27
|
#
|
27
28
|
# ========================================================================= #
|
28
29
|
def self.return_fasta_subsection_of_this_file(
|
@@ -42,6 +43,8 @@ module Bioroebe
|
|
42
43
|
end
|
43
44
|
if File.exist? i
|
44
45
|
dataset = File.readlines(i)
|
46
|
+
pp 'DEBUG'
|
47
|
+
pp dataset
|
45
48
|
inner_array = []
|
46
49
|
size = dataset.size
|
47
50
|
dataset.each_with_index {|line, index|
|
@@ -55,16 +58,22 @@ module Bioroebe
|
|
55
58
|
end
|
56
59
|
inner_array.prepend(line)
|
57
60
|
else
|
61
|
+
# ================================================================= #
|
58
62
|
# This will be a FASTA body section.
|
63
|
+
# ================================================================= #
|
59
64
|
case extra_options
|
60
|
-
|
65
|
+
# ================================================================= #
|
66
|
+
# === :keep_body_together
|
67
|
+
# ================================================================= #
|
68
|
+
when :keep_body_together, # the default
|
69
|
+
:keep_it_flat
|
61
70
|
inner_array << line
|
62
71
|
else
|
63
72
|
# =============================================================== #
|
64
73
|
# Else we have to append it.
|
65
74
|
# =============================================================== #
|
66
75
|
previous_line = inner_array.last
|
67
|
-
if previous_line.start_with?
|
76
|
+
if previous_line and previous_line.start_with?('>')
|
68
77
|
inner_array << line
|
69
78
|
else
|
70
79
|
inner_array.last.strip!
|
@@ -86,17 +86,6 @@ class ShowFastaHeaders < Bioroebe::CommandlineApplication # === Biroebe::ShowFas
|
|
86
86
|
@input
|
87
87
|
end
|
88
88
|
|
89
|
-
# ========================================================================= #
|
90
|
-
# === report_this_header_from_that_file
|
91
|
-
# ========================================================================= #
|
92
|
-
def report_this_header_from_that_file(header, file)
|
93
|
-
if @be_verbose
|
94
|
-
erev "The file at #{sfile(file)}#{rev} has the following FASTA header:"
|
95
|
-
e
|
96
|
-
end
|
97
|
-
e " #{simp(header)}"
|
98
|
-
end
|
99
|
-
|
100
89
|
# ========================================================================= #
|
101
90
|
# === input_without_extension
|
102
91
|
# ========================================================================= #
|
@@ -116,13 +105,39 @@ class ShowFastaHeaders < Bioroebe::CommandlineApplication # === Biroebe::ShowFas
|
|
116
105
|
}
|
117
106
|
end
|
118
107
|
|
108
|
+
# ========================================================================= #
|
109
|
+
# === report_this_header_from_that_file
|
110
|
+
# ========================================================================= #
|
111
|
+
def report_this_header_from_that_file(header, file)
|
112
|
+
if @be_verbose
|
113
|
+
erev "The file at #{sfile(file)}#{rev} has the following FASTA header:"
|
114
|
+
e
|
115
|
+
end
|
116
|
+
e " #{simp(header)}"
|
117
|
+
if header.include? '|'
|
118
|
+
splitted = header.split('|')
|
119
|
+
if splitted.size > 2
|
120
|
+
assumed_name_of_the_organism = splitted[2].strip
|
121
|
+
if assumed_name_of_the_organism.include? 'OS='
|
122
|
+
assumed_name_of_the_organism = assumed_name_of_the_organism.scan(/ OS=(.+)/).flatten
|
123
|
+
assumed_name_of_the_organism = assumed_name_of_the_organism.first
|
124
|
+
if assumed_name_of_the_organism.include? ' ('
|
125
|
+
assumed_name_of_the_organism = assumed_name_of_the_organism.split(' (').first
|
126
|
+
end
|
127
|
+
end
|
128
|
+
erev 'The organism may be: '+
|
129
|
+
steelblue(assumed_name_of_the_organism)+rev
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
119
134
|
# ========================================================================= #
|
120
135
|
# === run (run tag)
|
121
136
|
# ========================================================================= #
|
122
137
|
def run
|
123
138
|
files = Dir[input?]
|
124
139
|
if files.empty?
|
125
|
-
opnn; e
|
140
|
+
opnn; e "No files could be found for #{input?}."
|
126
141
|
else
|
127
142
|
report_these_files(files)
|
128
143
|
end
|
@@ -29,11 +29,6 @@ class SimplifyFastaHeader < ::Bioroebe::CommandlineApplication # === Bioroebe::S
|
|
29
29
|
|
30
30
|
require 'bioroebe/fasta_and_fastq/parse_fasta/parse_fasta.rb'
|
31
31
|
|
32
|
-
# ========================================================================= #
|
33
|
-
# === NAMESPACE
|
34
|
-
# ========================================================================= #
|
35
|
-
NAMESPACE = inspect
|
36
|
-
|
37
32
|
# ========================================================================= #
|
38
33
|
# === initialize
|
39
34
|
# ========================================================================= #
|
@@ -53,6 +48,7 @@ class SimplifyFastaHeader < ::Bioroebe::CommandlineApplication # === Bioroebe::S
|
|
53
48
|
# ========================================================================= #
|
54
49
|
def reset
|
55
50
|
super()
|
51
|
+
infer_the_namespace
|
56
52
|
end
|
57
53
|
|
58
54
|
# ========================================================================= #
|
@@ -8,11 +8,6 @@ module Bioroebe
|
|
8
8
|
|
9
9
|
class SplitThisFastaFileIntoChromosomes < ::Bioroebe::CommandlineApplication # === Bioroebe::SplitThisFastaFileIntoChromosomes
|
10
10
|
|
11
|
-
# ========================================================================= #
|
12
|
-
# === NAMESPACE
|
13
|
-
# ========================================================================= #
|
14
|
-
NAMESPACE = inspect
|
15
|
-
|
16
11
|
# ========================================================================= #
|
17
12
|
# === ALLOWED_CHARACTERS
|
18
13
|
#
|
@@ -0,0 +1,130 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# === Bioroebe::Genome
|
6
|
+
#
|
7
|
+
# This class should be able to represent a genome.
|
8
|
+
#
|
9
|
+
# Usage example:
|
10
|
+
#
|
11
|
+
# Bioroebe::Genome.new(ARGV)
|
12
|
+
#
|
13
|
+
# =========================================================================== #
|
14
|
+
# require 'bioroebe/genome/genome.rb'
|
15
|
+
# =========================================================================== #
|
16
|
+
require 'bioroebe/base/commandline_application/commandline_application.rb'
|
17
|
+
|
18
|
+
module Bioroebe
|
19
|
+
|
20
|
+
class Genome < ::Bioroebe::CommandlineApplication # === Bioroebe::Genome
|
21
|
+
|
22
|
+
require 'bioroebe/fasta_and_fastq/parse_fasta/parse_fasta.rb'
|
23
|
+
|
24
|
+
# ========================================================================= #
|
25
|
+
# === initialize
|
26
|
+
# ========================================================================= #
|
27
|
+
def initialize(
|
28
|
+
commandline_arguments = nil,
|
29
|
+
run_already = true
|
30
|
+
)
|
31
|
+
reset
|
32
|
+
set_commandline_arguments(
|
33
|
+
commandline_arguments
|
34
|
+
)
|
35
|
+
run if run_already
|
36
|
+
end
|
37
|
+
|
38
|
+
# ========================================================================= #
|
39
|
+
# === reset (reset tag)
|
40
|
+
# ========================================================================= #
|
41
|
+
def reset
|
42
|
+
super()
|
43
|
+
infer_the_namespace
|
44
|
+
# ======================================================================= #
|
45
|
+
# All CDS shall be denoted here.
|
46
|
+
# ======================================================================= #
|
47
|
+
@internal_hash[:CDS] = []
|
48
|
+
end
|
49
|
+
|
50
|
+
# ========================================================================= #
|
51
|
+
# === add_the_lac_operon
|
52
|
+
#
|
53
|
+
# If glucose is present and lactose is absent then no transcription
|
54
|
+
# of the lac operon occurs.
|
55
|
+
# ========================================================================= #
|
56
|
+
def add_the_lac_operon
|
57
|
+
@internal_hash[:lac_operon] = true
|
58
|
+
end
|
59
|
+
|
60
|
+
# ========================================================================= #
|
61
|
+
# === is_the_lac_operon_transcribable?
|
62
|
+
# ========================================================================= #
|
63
|
+
def is_the_lac_operon_transcribable?
|
64
|
+
if !lactose_is_present?
|
65
|
+
return false
|
66
|
+
elsif glucose_is_present? and lactose_is_present?
|
67
|
+
return false
|
68
|
+
elsif glucose_is_present?
|
69
|
+
return true
|
70
|
+
else
|
71
|
+
return false
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
# ========================================================================= #
|
76
|
+
# === run (run tag)
|
77
|
+
# ========================================================================= #
|
78
|
+
def run
|
79
|
+
# add_the_lac_operon
|
80
|
+
first = first?
|
81
|
+
if first and File.exist?(first)
|
82
|
+
_ = Bioroebe.parse_fasta(first)
|
83
|
+
@internal_hash[:full_sequence] = _.sequence?
|
84
|
+
annotate(
|
85
|
+
[
|
86
|
+
[2931, 3917]
|
87
|
+
]
|
88
|
+
) # This is for the phage.
|
89
|
+
pp self
|
90
|
+
pp all_genes?
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
# ========================================================================= #
|
95
|
+
# === all_genes?
|
96
|
+
#
|
97
|
+
# This method will return all genes.
|
98
|
+
# ========================================================================= #
|
99
|
+
def all_genes?
|
100
|
+
result = []
|
101
|
+
_ = @internal_hash[:full_sequence]
|
102
|
+
@internal_hash[:CDS].map {|start_nucleotide, end_nucleotide|
|
103
|
+
result << _[start_nucleotide - 1, (end_nucleotide - start_nucleotide) + 1]
|
104
|
+
}
|
105
|
+
return result
|
106
|
+
end
|
107
|
+
|
108
|
+
# ========================================================================= #
|
109
|
+
# === annotate
|
110
|
+
#
|
111
|
+
# Annotate some genes here, or rather CDS.
|
112
|
+
# ========================================================================= #
|
113
|
+
def annotate(array)
|
114
|
+
array.each {|this_array|
|
115
|
+
@internal_hash[:CDS] << [this_array.first, this_array.last]
|
116
|
+
}
|
117
|
+
end
|
118
|
+
|
119
|
+
# ========================================================================= #
|
120
|
+
# === Bioroebe::Genome[]
|
121
|
+
# ========================================================================= #
|
122
|
+
def self.[](i = ARGV)
|
123
|
+
new(i)
|
124
|
+
end
|
125
|
+
|
126
|
+
end; end
|
127
|
+
|
128
|
+
if __FILE__ == $PROGRAM_NAME
|
129
|
+
Bioroebe::Genome.new(ARGV)
|
130
|
+
end # bioroebe_genome
|
@@ -28,11 +28,6 @@ class GenomePattern < ::Bioroebe::CommandlineApplication # === Bioroebe::GenomeP
|
|
28
28
|
|
29
29
|
require 'bioroebe/gene/gene.rb'
|
30
30
|
|
31
|
-
# ========================================================================= #
|
32
|
-
# === NAMESPACE
|
33
|
-
# ========================================================================= #
|
34
|
-
NAMESPACE = inspect
|
35
|
-
|
36
31
|
# ========================================================================= #
|
37
32
|
# === initialize
|
38
33
|
# ========================================================================= #
|
@@ -50,15 +45,14 @@ class GenomePattern < ::Bioroebe::CommandlineApplication # === Bioroebe::GenomeP
|
|
50
45
|
# ========================================================================= #
|
51
46
|
def reset
|
52
47
|
super()
|
53
|
-
|
54
|
-
# === @namespace
|
55
|
-
# ======================================================================= #
|
56
|
-
@namespace = NAMESPACE
|
48
|
+
infer_the_namespace
|
57
49
|
# ======================================================================= #
|
58
50
|
# === @hash
|
59
51
|
# ======================================================================= #
|
60
52
|
@hash = {}
|
53
|
+
# === :array_genes
|
61
54
|
@hash[:array_genes] = []
|
55
|
+
# === :be_verbose
|
62
56
|
@hash[:be_verbose] = true # If true then we tell the user what we will do.
|
63
57
|
end
|
64
58
|
|
@@ -0,0 +1 @@
|
|
1
|
+
gtk3
|
@@ -17,47 +17,40 @@ module GUI
|
|
17
17
|
|
18
18
|
module Gtk
|
19
19
|
|
20
|
-
class Alignment < ::Gtk::
|
20
|
+
class Alignment < ::Gtk::BaseModuleBox # === Bioroebe::GUI::Gtk::Alignment
|
21
21
|
|
22
|
-
require 'bioroebe/
|
22
|
+
require 'bioroebe/gui/shared_code/alignment/alignment_module.rb'
|
23
|
+
include Bioroebe::GUI::AlignmentModule
|
23
24
|
|
24
25
|
require 'bioroebe/constants/GUIs.rb'
|
25
26
|
include ::Bioroebe::GUI
|
26
27
|
|
27
|
-
require 'gtk_paradise/requires/require_the_base_module.rb'
|
28
|
-
include ::Gtk::BaseModule
|
29
|
-
|
30
28
|
# ========================================================================= #
|
31
|
-
# ===
|
29
|
+
# === TOOLTIP_HINT_FOR_THE_DO_ANALYSE_BUTTON
|
32
30
|
# ========================================================================= #
|
33
|
-
|
31
|
+
TOOLTIP_HINT_FOR_THE_DO_ANALYSE_BUTTON =
|
32
|
+
"Click on this button to analyse the given sequence. Make sure "\
|
33
|
+
"to use <b>newlines</b> in order to split the sequence at hand."
|
34
34
|
|
35
35
|
# ========================================================================= #
|
36
|
-
# ===
|
37
|
-
#
|
38
|
-
|
39
|
-
|
40
|
-
# ========================================================================= #
|
41
|
-
# === WIDTH
|
42
|
-
# ========================================================================= #
|
43
|
-
WIDTH = '60%'
|
44
|
-
|
45
|
-
# ========================================================================= #
|
46
|
-
# === HEIGHT
|
47
|
-
# ========================================================================= #
|
48
|
-
HEIGHT = '50%'
|
49
|
-
|
50
|
-
# ========================================================================= #
|
51
|
-
# === USE_THIS_FONT
|
36
|
+
# === TOOLTIP_HINT_FOR_THE_ENTRY_CONSENSUS_SEQUENCE
|
37
|
+
#
|
38
|
+
# This is the base-tooltip for the entry that retains our consensus
|
39
|
+
# sequence.
|
52
40
|
# ========================================================================= #
|
53
|
-
|
41
|
+
TOOLTIP_HINT_FOR_THE_ENTRY_CONSENSUS_SEQUENCE =
|
42
|
+
'This entry will contain the <b>consensus sequence</b>, '\
|
43
|
+
'derived from the above sequences.'
|
54
44
|
|
55
45
|
# ========================================================================= #
|
56
|
-
# ===
|
57
|
-
#
|
58
|
-
# The entries must use a mono-spaced font.
|
46
|
+
# === TOOLTIP_HINT_FOR_THE_ENTRY_CONSENSUS_SEQUENCE_TRAILING_INFORMATION
|
59
47
|
# ========================================================================= #
|
60
|
-
|
48
|
+
TOOLTIP_HINT_FOR_THE_ENTRY_CONSENSUS_SEQUENCE_TRAILING_INFORMATION =
|
49
|
+
"\n\nTake note that in the event that there is <b>an even number of "\
|
50
|
+
"input sequences</b>, the entries defined before will take precedence. "\
|
51
|
+
"So, for instance, if you have four sequences in total, where two are "\
|
52
|
+
"ATTA and the next two are ATTT, then the consensus sequence is "\
|
53
|
+
"currently assumed to be <b>ATTA</b>."
|
61
54
|
|
62
55
|
# ========================================================================= #
|
63
56
|
# === initialize
|
@@ -79,18 +72,16 @@ class Alignment < ::Gtk::Box # === Bioroebe::GUI::Gtk::Alignment
|
|
79
72
|
# ========================================================================= #
|
80
73
|
def reset
|
81
74
|
reset_the_internal_variables
|
75
|
+
infer_the_namespace
|
82
76
|
# ======================================================================= #
|
83
77
|
# === @configuration
|
84
78
|
# ======================================================================= #
|
85
|
-
@configuration = [true, __dir__,
|
79
|
+
@configuration = [true, __dir__, namespace?]
|
86
80
|
title_width_height_font(TITLE, WIDTH, HEIGHT, USE_THIS_FONT)
|
87
81
|
use_gtk_paradise_project_css_file
|
88
82
|
append_project_CSS_file
|
89
83
|
infer_the_size_automatically
|
90
|
-
|
91
|
-
# === @alignment
|
92
|
-
# ======================================================================= #
|
93
|
-
@alignment = Bioroebe::Alignment.new(nil, :do_not_run_yet)
|
84
|
+
reset_the_alignment_object
|
94
85
|
end
|
95
86
|
|
96
87
|
# ========================================================================= #
|
@@ -114,10 +105,10 @@ class Alignment < ::Gtk::Box # === Bioroebe::GUI::Gtk::Alignment
|
|
114
105
|
# ======================================================================= #
|
115
106
|
# === @scrolled_window
|
116
107
|
# ======================================================================= #
|
117
|
-
@scrolled_window =
|
108
|
+
@scrolled_window = create_scrolled_window(@text_view)
|
118
109
|
@scrolled_window.width_height(300, 400)
|
119
|
-
@scrolled_window.
|
120
|
-
@scrolled_window.
|
110
|
+
@scrolled_window.pad4px
|
111
|
+
@scrolled_window.bblack2
|
121
112
|
end
|
122
113
|
|
123
114
|
# ========================================================================= #
|
@@ -127,39 +118,13 @@ class Alignment < ::Gtk::Box # === Bioroebe::GUI::Gtk::Alignment
|
|
127
118
|
# ======================================================================= #
|
128
119
|
# === @text_buffer
|
129
120
|
# ======================================================================= #
|
130
|
-
@text_buffer =
|
121
|
+
@text_buffer = create_text_buffer
|
131
122
|
# ======================================================================= #
|
132
123
|
# === @text_view
|
133
124
|
# ======================================================================= #
|
134
|
-
@text_view =
|
125
|
+
@text_view = create_text_view(@text_buffer)
|
135
126
|
end
|
136
127
|
|
137
|
-
# ========================================================================= #
|
138
|
-
# === text_view_widget?
|
139
|
-
# ========================================================================= #
|
140
|
-
def text_view_widget?
|
141
|
-
@text_view
|
142
|
-
end
|
143
|
-
|
144
|
-
# ========================================================================= #
|
145
|
-
# === do_analyse
|
146
|
-
# ========================================================================= #
|
147
|
-
def do_analyse(
|
148
|
-
_ = @text_buffer.text?
|
149
|
-
)
|
150
|
-
if _ and !_.empty?
|
151
|
-
_.strip!
|
152
|
-
@alignment.use_this_as_input(_)
|
153
|
-
consensus_sequence = @alignment.consensus_sequence?
|
154
|
-
@entry_consensus_sequence.set_text(consensus_sequence)
|
155
|
-
else
|
156
|
-
pop_up_widget(
|
157
|
-
over_this_widget: text_view_widget?,
|
158
|
-
text: 'Please assign a sequence first.'
|
159
|
-
)
|
160
|
-
end
|
161
|
-
end; alias do_analyse_again do_analyse # === do_analyse_again
|
162
|
-
|
163
128
|
# ========================================================================= #
|
164
129
|
# === create_the_entries (entry tag, entries tag)
|
165
130
|
# ========================================================================= #
|
@@ -173,49 +138,18 @@ class Alignment < ::Gtk::Box # === Bioroebe::GUI::Gtk::Alignment
|
|
173
138
|
@entry_consensus_sequence.use_this_font = FONT_FOR_THE_ENTRIES
|
174
139
|
@entry_consensus_sequence.yellow_background
|
175
140
|
update_the_hint_for_the_entry_consequences_sequence(
|
176
|
-
|
177
|
-
|
141
|
+
TOOLTIP_HINT_FOR_THE_ENTRY_CONSENSUS_SEQUENCE+
|
142
|
+
TOOLTIP_HINT_FOR_THE_ENTRY_CONSENSUS_SEQUENCE_TRAILING_INFORMATION
|
178
143
|
)
|
179
144
|
# ======================================================================= #
|
180
145
|
# === @entry_numbers
|
181
146
|
# ======================================================================= #
|
182
|
-
@entry_numbers =
|
147
|
+
@entry_numbers = create_entry
|
148
|
+
@entry_numbers.bblack1
|
183
149
|
@entry_numbers.use_this_font = FONT_FOR_THE_ENTRIES
|
184
150
|
@entry_numbers.hint = 'This area may indicate the numbers for '\
|
185
151
|
'the alignment shown right above.'
|
186
|
-
|
187
|
-
|
188
|
-
# ========================================================================= #
|
189
|
-
# === realign_the_numbers_showing_how_long_the_consensus_sequence_is
|
190
|
-
# ========================================================================= #
|
191
|
-
def realign_the_numbers_showing_how_long_the_consensus_sequence_is
|
192
|
-
@entry_numbers.center
|
193
|
-
n_characters = @entry_consensus_sequence.text?.size
|
194
|
-
@entry_numbers.set_text(return_fill_up_to(n_characters))
|
195
|
-
end
|
196
|
-
|
197
|
-
# ========================================================================= #
|
198
|
-
# === return_fill_up_to
|
199
|
-
# ========================================================================= #
|
200
|
-
def return_fill_up_to(i)
|
201
|
-
_ = ''.dup
|
202
|
-
i.times {|counter|
|
203
|
-
counter = (counter+1) % 10
|
204
|
-
_ << counter.to_s
|
205
|
-
}
|
206
|
-
return _
|
207
|
-
end
|
208
|
-
|
209
|
-
# ========================================================================= #
|
210
|
-
# === connect_skeleton (connect tag)
|
211
|
-
# ========================================================================= #
|
212
|
-
def connect_skeleton
|
213
|
-
abort_on_exception
|
214
|
-
minimal(return_the_first_row, 5)
|
215
|
-
minimal(@scrolled_window, 2)
|
216
|
-
minimal(@button_do_analyse, 2)
|
217
|
-
minimal(@entry_consensus_sequence, 2)
|
218
|
-
minimal(@entry_numbers, 2)
|
152
|
+
@entry_numbers.very_light_yellow_background
|
219
153
|
end
|
220
154
|
|
221
155
|
# ========================================================================= #
|
@@ -223,12 +157,12 @@ class Alignment < ::Gtk::Box # === Bioroebe::GUI::Gtk::Alignment
|
|
223
157
|
# ========================================================================= #
|
224
158
|
def return_the_first_row
|
225
159
|
_ = gtk_hbox
|
226
|
-
top_label =
|
227
|
-
|
160
|
+
top_label = left_aligned_label(
|
161
|
+
TEXT_INPUT_THE_SEQUENCES
|
228
162
|
)
|
229
163
|
top_label.center
|
230
164
|
_.minimal(top_label)
|
231
|
-
event_box =
|
165
|
+
event_box = event_box(
|
232
166
|
image_document_open
|
233
167
|
)
|
234
168
|
event_box.hint = 'Click on this icon to open a local file.'
|
@@ -249,22 +183,6 @@ class Alignment < ::Gtk::Box # === Bioroebe::GUI::Gtk::Alignment
|
|
249
183
|
create_the_scrolled_window
|
250
184
|
end
|
251
185
|
|
252
|
-
# ========================================================================= #
|
253
|
-
# === update_the_hint_for_the_entry_consequences_sequence
|
254
|
-
# ========================================================================= #
|
255
|
-
def update_the_hint_for_the_entry_consequences_sequence(
|
256
|
-
i = ''
|
257
|
-
)
|
258
|
-
@entry_consensus_sequence.hint = i
|
259
|
-
end
|
260
|
-
|
261
|
-
# ========================================================================= #
|
262
|
-
# === run (run tag)
|
263
|
-
# ========================================================================= #
|
264
|
-
def run
|
265
|
-
create_skeleton_then_connect_skeleton
|
266
|
-
end
|
267
|
-
|
268
186
|
# ========================================================================= #
|
269
187
|
# === create_the_buttons (buttons tag)
|
270
188
|
# ========================================================================= #
|
@@ -273,11 +191,10 @@ class Alignment < ::Gtk::Box # === Bioroebe::GUI::Gtk::Alignment
|
|
273
191
|
# === @button_do_analyse
|
274
192
|
# ======================================================================= #
|
275
193
|
@button_do_analyse = bold_button('_Do analyse')
|
194
|
+
@button_do_analyse.clear_background
|
276
195
|
@button_do_analyse.bblack1
|
277
196
|
@button_do_analyse.on_hover(:lightblue)
|
278
|
-
@button_do_analyse.hint =
|
279
|
-
'analyse the given sequence. Make sure to use '\
|
280
|
-
'newlines in order to split the sequence at hand.'
|
197
|
+
@button_do_analyse.hint = TOOLTIP_HINT_FOR_THE_DO_ANALYSE_BUTTON
|
281
198
|
@button_do_analyse.on_clicked {
|
282
199
|
do_analyse
|
283
200
|
realign_the_numbers_showing_how_long_the_consensus_sequence_is
|
@@ -288,26 +205,13 @@ class Alignment < ::Gtk::Box # === Bioroebe::GUI::Gtk::Alignment
|
|
288
205
|
(@text_buffer.text?.count("\n")+1).to_s+" sequences.\n\nNote "\
|
289
206
|
"that only the minimal length will be compared - "\
|
290
207
|
"superfluous nucleotides will NOT be considered unless "\
|
291
|
-
"they can be aligned to other sequences."
|
208
|
+
"they can be aligned to other sequences."+
|
209
|
+
TOOLTIP_HINT_FOR_THE_ENTRY_CONSENSUS_SEQUENCE_TRAILING_INFORMATION
|
292
210
|
).squeeze(' ')
|
293
211
|
)
|
294
212
|
}
|
295
213
|
end
|
296
214
|
|
297
|
-
# ========================================================================= #
|
298
|
-
# === Bioroebe::GUI::Gtk::Alignment.run
|
299
|
-
# ========================================================================= #
|
300
|
-
def self.run(
|
301
|
-
i = ARGV
|
302
|
-
)
|
303
|
-
require 'gtk_paradise/run'
|
304
|
-
_ = ::Bioroebe::GUI::Gtk::Alignment.new(i)
|
305
|
-
r = ::Gtk.run
|
306
|
-
r << _
|
307
|
-
r.automatic_size_then_automatic_title
|
308
|
-
r.top_left_then_run
|
309
|
-
end
|
310
|
-
|
311
215
|
# ========================================================================= #
|
312
216
|
# === do_open_and_assign_a_local_file
|
313
217
|
# ========================================================================= #
|
@@ -330,6 +234,71 @@ class Alignment < ::Gtk::Box # === Bioroebe::GUI::Gtk::Alignment
|
|
330
234
|
end
|
331
235
|
end
|
332
236
|
|
237
|
+
# ========================================================================= #
|
238
|
+
# === connect_skeleton (connect tag)
|
239
|
+
# ========================================================================= #
|
240
|
+
def connect_skeleton
|
241
|
+
abort_on_exception
|
242
|
+
grid = default_grid
|
243
|
+
grid.full_row(return_the_first_row)
|
244
|
+
grid.full_row(@scrolled_window)
|
245
|
+
grid.full_row(@entry_consensus_sequence)
|
246
|
+
grid.full_row(@entry_numbers)
|
247
|
+
grid.full_row(@button_do_analyse)
|
248
|
+
grid.hcenter
|
249
|
+
maximal(grid)
|
250
|
+
end
|
251
|
+
|
252
|
+
# ========================================================================= #
|
253
|
+
# === do_analyse
|
254
|
+
#
|
255
|
+
# This method will be called whenever the user hits the "Do analyse"
|
256
|
+
# button.
|
257
|
+
# ========================================================================= #
|
258
|
+
def do_analyse(
|
259
|
+
_ = @text_buffer.text?
|
260
|
+
)
|
261
|
+
if _ and !_.empty?
|
262
|
+
_.strip!
|
263
|
+
@alignment.use_this_as_input(_)
|
264
|
+
consensus_sequence = return_the_consensus_sequence
|
265
|
+
@entry_consensus_sequence.set_text(consensus_sequence)
|
266
|
+
else
|
267
|
+
pop_up_widget(
|
268
|
+
over_this_widget: text_view_widget?,
|
269
|
+
text: 'Please assign a sequence first.'
|
270
|
+
)
|
271
|
+
end
|
272
|
+
end; alias do_analyse_again do_analyse # === do_analyse_again
|
273
|
+
|
274
|
+
# ========================================================================= #
|
275
|
+
# === update_the_hint_for_the_entry_consequences_sequence
|
276
|
+
# ========================================================================= #
|
277
|
+
def update_the_hint_for_the_entry_consequences_sequence(
|
278
|
+
i = ''
|
279
|
+
)
|
280
|
+
@entry_consensus_sequence.hint = i
|
281
|
+
end
|
282
|
+
|
283
|
+
# ========================================================================= #
|
284
|
+
# === run (run tag)
|
285
|
+
# ========================================================================= #
|
286
|
+
def run
|
287
|
+
super()
|
288
|
+
end
|
289
|
+
|
290
|
+
# ========================================================================= #
|
291
|
+
# === Bioroebe::GUI::Gtk::Alignment.run
|
292
|
+
# ========================================================================= #
|
293
|
+
def self.run(
|
294
|
+
i = ARGV
|
295
|
+
)
|
296
|
+
require 'gtk_paradise/run'
|
297
|
+
r = ::Gtk.run
|
298
|
+
r << ::Bioroebe::GUI::Gtk::Alignment.new(i)
|
299
|
+
r.automatic_top_left_then_run
|
300
|
+
end
|
301
|
+
|
333
302
|
end; end; end; end
|
334
303
|
|
335
304
|
if __FILE__ == $PROGRAM_NAME
|