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
data/lib/bioroebe/java/README.md
CHANGED
Binary file
|
@@ -1,11 +1,14 @@
|
|
1
1
|
package bioroebe;
|
2
|
+
|
2
3
|
import bioroebe.*;
|
3
4
|
|
4
5
|
/*
|
5
6
|
* The Base class defines some constants, in particular in regards
|
6
7
|
* to colours and console-output.
|
7
8
|
*/
|
8
|
-
|
9
|
+
|
10
|
+
/* public abstract class Base { */
|
11
|
+
public class Base {
|
9
12
|
|
10
13
|
static boolean are_we_on_windows = System.getProperty("os.name").toLowerCase().
|
11
14
|
startsWith("windows");
|
@@ -29,8 +32,10 @@ public abstract class Base {
|
|
29
32
|
}
|
30
33
|
|
31
34
|
/*
|
32
|
-
*
|
33
|
-
*
|
35
|
+
* on_windows()
|
36
|
+
*
|
37
|
+
* This method determines whether the underlying OS is
|
38
|
+
* Windows or whether it is not.
|
34
39
|
*/
|
35
40
|
public static boolean on_windows() {
|
36
41
|
return are_we_on_windows;
|
@@ -51,17 +56,21 @@ public abstract class Base {
|
|
51
56
|
public static final String ANSI_WHITE = "\u001B[37m"; // ANSI_WHITE
|
52
57
|
|
53
58
|
/*
|
59
|
+
* newline()
|
60
|
+
*
|
54
61
|
* Use a newline.
|
55
62
|
*/
|
56
63
|
public static void newline() {
|
57
64
|
System.out.println();
|
58
65
|
}
|
66
|
+
|
59
67
|
/*
|
60
68
|
* The colour red.
|
61
69
|
*/
|
62
70
|
public static String red(String i) {
|
63
71
|
return ANSI_RED+i+ANSI_WHITE;
|
64
72
|
}
|
73
|
+
|
65
74
|
/*
|
66
75
|
* The colour green. (green tag)
|
67
76
|
*/
|
@@ -75,7 +84,9 @@ public abstract class Base {
|
|
75
84
|
return ANSI_YELLOW+i+ANSI_WHITE;
|
76
85
|
}
|
77
86
|
/*
|
78
|
-
*
|
87
|
+
* === blue()
|
88
|
+
*
|
89
|
+
* The colour blue., via the constant ANSI_BLUE.
|
79
90
|
*/
|
80
91
|
public static String blue(String i) {
|
81
92
|
return ANSI_BLUE+i+ANSI_WHITE;
|
@@ -99,4 +110,27 @@ public abstract class Base {
|
|
99
110
|
e(blue(i));
|
100
111
|
}
|
101
112
|
|
102
|
-
|
113
|
+
/*
|
114
|
+
* === en()
|
115
|
+
*/
|
116
|
+
public static void en(String i) {
|
117
|
+
System.out.println(i);
|
118
|
+
}
|
119
|
+
|
120
|
+
/*
|
121
|
+
* === en()
|
122
|
+
*/
|
123
|
+
public static void en(Boolean i) {
|
124
|
+
System.out.println(Boolean.toString(i));
|
125
|
+
}
|
126
|
+
|
127
|
+
/*
|
128
|
+
* The main method here is only used for testing purposes.
|
129
|
+
*/
|
130
|
+
public static void main(String[] args) {
|
131
|
+
Base x = new Base();
|
132
|
+
/* x.eblue("Blue output works."); */
|
133
|
+
x.eyellow("Yellow output works.");
|
134
|
+
}
|
135
|
+
|
136
|
+
}
|
@@ -1,18 +1,36 @@
|
|
1
1
|
package bioroebe;
|
2
2
|
|
3
|
-
|
3
|
+
import bioroebe.*;
|
4
|
+
|
5
|
+
public class IsPalindrome extends Base {
|
4
6
|
|
5
7
|
/*
|
6
|
-
*
|
8
|
+
* === Bioroebe.is_palindrome()
|
9
|
+
*
|
10
|
+
* Toplevel-method to find out whether a String is a palindrome or not.
|
11
|
+
*
|
12
|
+
* Usage example:
|
13
|
+
*
|
14
|
+
* IsPalindrome.isPalindrome("OTTO")
|
7
15
|
*
|
8
16
|
*/
|
9
|
-
public static boolean
|
10
|
-
String reversed = new StringBuffer(i).
|
17
|
+
public static boolean is_palindrome(String i) {
|
18
|
+
String reversed = new StringBuffer(i).
|
19
|
+
reverse().
|
20
|
+
toString();
|
11
21
|
return reversed.equals(i); /* Do the comparison here. */
|
12
22
|
}
|
13
23
|
|
14
24
|
public static void main(String[] args) {
|
15
|
-
|
25
|
+
String test1 = "";
|
26
|
+
if (args.length > 0) {
|
27
|
+
test1 = args[0];
|
28
|
+
}
|
29
|
+
else {
|
30
|
+
test1 = "OTTO";
|
31
|
+
}
|
32
|
+
en("Testing the String `"+test1+"` next:");
|
33
|
+
en(is_palindrome(test1)); /* Will return true. */
|
16
34
|
}
|
17
35
|
|
18
36
|
}
|
File without changes
|
@@ -1,6 +1,7 @@
|
|
1
1
|
package bioroebe;
|
2
2
|
|
3
|
-
import java.io.*;
|
3
|
+
import java.io.*;
|
4
|
+
import bioroebe.Base;
|
4
5
|
|
5
6
|
/*
|
6
7
|
* === Sequence
|
@@ -10,14 +11,38 @@ import java.io.*;
|
|
10
11
|
*/
|
11
12
|
public class Sequence extends Base {
|
12
13
|
|
14
|
+
private static final boolean SHALL_WE_UPCASE = true;
|
13
15
|
private static String sequence = "";
|
14
|
-
|
16
|
+
|
15
17
|
public static void main(String[] args) {
|
16
18
|
sequence = String.join("", args);
|
17
19
|
}
|
18
20
|
|
19
21
|
/*
|
20
|
-
*
|
22
|
+
*
|
23
|
+
* === n_uracil?
|
24
|
+
*
|
25
|
+
* Report how many Uracil can be found in the given String. This is more
|
26
|
+
* of an ad-hoc method, though.
|
27
|
+
*/
|
28
|
+
int n_uracil() {
|
29
|
+
|
30
|
+
String modified_sequence = sequence.toUpperCase().replace("T","U");
|
31
|
+
/*.count("U");*/
|
32
|
+
return modified_sequence.
|
33
|
+
chars().
|
34
|
+
filter(ch -> ch == 'U').
|
35
|
+
count(); /* This is .count('U') */
|
36
|
+
}
|
37
|
+
|
38
|
+
/*
|
39
|
+
* === shall_we_upcase()
|
40
|
+
*/
|
41
|
+
boolean shall_we_upcase() {
|
42
|
+
return SHALL_WE_UPCASE;
|
43
|
+
}
|
44
|
+
/*
|
45
|
+
* Sequence.return_sequence()
|
21
46
|
*
|
22
47
|
* Will return the sequence of our class Sequence instance.
|
23
48
|
*/
|
Binary file
|
@@ -9,17 +9,17 @@ package bioroebe;
|
|
9
9
|
class ToCamelcase extends Base {
|
10
10
|
|
11
11
|
/*
|
12
|
-
* ===
|
12
|
+
* === Bioroebe.to_camelcase()
|
13
13
|
*
|
14
14
|
* Usage example:
|
15
15
|
*
|
16
|
-
* ToCamelcase.to_camelcase("foo_bar");
|
17
|
-
|
16
|
+
* ToCamelcase.to_camelcase("foo_bar"); # => "FooBar"
|
17
|
+
|
18
18
|
*/
|
19
19
|
public static String to_camelcase(String i) {
|
20
20
|
|
21
21
|
StringBuilder sb = new StringBuilder();
|
22
|
-
|
22
|
+
|
23
23
|
for( String entry : i.toLowerCase().split("_") )
|
24
24
|
{
|
25
25
|
sb.append( entry.substring(0,1).toUpperCase() );
|
@@ -29,4 +29,16 @@ class ToCamelcase extends Base {
|
|
29
29
|
return sb.toString();
|
30
30
|
}
|
31
31
|
|
32
|
+
/*
|
33
|
+
* This is test-code which is why it is commented out:
|
34
|
+
*/
|
35
|
+
/*
|
36
|
+
public static void main(String[] args) {
|
37
|
+
String x = "foo_bar";
|
38
|
+
if (args.length > 0) {
|
39
|
+
x = args.toString();
|
40
|
+
}
|
41
|
+
en(to_camelcase(x));
|
42
|
+
}
|
43
|
+
*/
|
32
44
|
}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
/* package ToRNA; */
|
2
|
+
package bioroebe;
|
3
|
+
|
4
|
+
public class ToRNA {
|
5
|
+
|
6
|
+
static String[] commandline_arguments;
|
7
|
+
|
8
|
+
/*
|
9
|
+
* Main constructor (def initialize)
|
10
|
+
*/
|
11
|
+
public ToRNA() {
|
12
|
+
run();
|
13
|
+
}
|
14
|
+
/*
|
15
|
+
* run()
|
16
|
+
*/
|
17
|
+
void run() {
|
18
|
+
|
19
|
+
if (commandline_arguments.length > 0) {
|
20
|
+
for (String entry : commandline_arguments) {
|
21
|
+
en(entry);
|
22
|
+
}
|
23
|
+
}
|
24
|
+
else {
|
25
|
+
en("Please provide an input to this method, a DNA sequence.");
|
26
|
+
}
|
27
|
+
|
28
|
+
}
|
29
|
+
|
30
|
+
public static void e(String i) {
|
31
|
+
System.out.print(i);
|
32
|
+
}
|
33
|
+
|
34
|
+
public static void en(String i) {
|
35
|
+
System.out.println(i);
|
36
|
+
}
|
37
|
+
|
38
|
+
public static void main(String[] args) {
|
39
|
+
commandline_arguments = args;
|
40
|
+
ToRNA x = new ToRNA();
|
41
|
+
}
|
42
|
+
|
43
|
+
}
|
@@ -8,6 +8,12 @@ import java.io.*;
|
|
8
8
|
*/
|
9
9
|
class ToplevelMethods extends Base {
|
10
10
|
|
11
|
+
/*
|
12
|
+
* ToplevelMethods.bisulfite_treatment()
|
13
|
+
*
|
14
|
+
* This method will show the applied result of
|
15
|
+
* treating a sequence with bisulfite.
|
16
|
+
*/
|
11
17
|
public static String bisulfite_treatment(String i) {
|
12
18
|
return i.replace("T","U");
|
13
19
|
}
|
Binary file
|
Binary file
|
@@ -0,0 +1,35 @@
|
|
1
|
+
package bioroebe;
|
2
|
+
|
3
|
+
/*
|
4
|
+
* class Codons
|
5
|
+
*
|
6
|
+
* This class will include codon-related code.
|
7
|
+
*
|
8
|
+
* It is currently very unfinished, but should ideally
|
9
|
+
* be useable for some toplevel method calls such as:
|
10
|
+
*
|
11
|
+
* Codons.is_valid_start_codon("UUU") # => true or false
|
12
|
+
*
|
13
|
+
*/
|
14
|
+
class Codons extends Base {
|
15
|
+
|
16
|
+
/* Designate the main start codon to use. */
|
17
|
+
public static String start_codon = "ATG";
|
18
|
+
|
19
|
+
/*
|
20
|
+
* Codons.display_start_codons()
|
21
|
+
*
|
22
|
+
* This shall simply display all valid start codons.
|
23
|
+
*
|
24
|
+
* We currently miss reporting GTG and another one;
|
25
|
+
* this has to be fixed eventually.
|
26
|
+
*/
|
27
|
+
public static void display_start_codons() {
|
28
|
+
e(start_codon);
|
29
|
+
}
|
30
|
+
|
31
|
+
public static String return_start_codon() {
|
32
|
+
return start_codon;
|
33
|
+
}
|
34
|
+
|
35
|
+
}
|
Binary file
|
@@ -0,0 +1,101 @@
|
|
1
|
+
/*
|
2
|
+
* This class will handle commandline-given input.
|
3
|
+
*/
|
4
|
+
package bioroebe;
|
5
|
+
|
6
|
+
import bioroebe.*;
|
7
|
+
|
8
|
+
public class Commandline {
|
9
|
+
|
10
|
+
/*
|
11
|
+
* Main constructor (def initialize)
|
12
|
+
*/
|
13
|
+
String[] commandline_arguments;
|
14
|
+
public Commandline(String[] args) {
|
15
|
+
commandline_arguments = args;
|
16
|
+
run();
|
17
|
+
}
|
18
|
+
/*
|
19
|
+
* show_help() (help tag)
|
20
|
+
*
|
21
|
+
* show help instructions for this class.
|
22
|
+
*/
|
23
|
+
void show_help() {
|
24
|
+
en("The following commandline options are available:");
|
25
|
+
en("");
|
26
|
+
en(" --partner # complement via partner molecules");
|
27
|
+
en(" --random-dna-sequence # output a random DNA sequence");
|
28
|
+
en("");
|
29
|
+
}
|
30
|
+
/*
|
31
|
+
* run()
|
32
|
+
*/
|
33
|
+
void run() {
|
34
|
+
if (commandline_arguments.length > 0) {
|
35
|
+
for (String entry : commandline_arguments) {
|
36
|
+
/* --help */
|
37
|
+
if (entry.matches("help|--help")) {
|
38
|
+
show_help();
|
39
|
+
}
|
40
|
+
/* java bioroebe/Commandline --is-palindrome */
|
41
|
+
else if (entry.matches("is[\s_-]*palindrome|--is_palindrome")) {
|
42
|
+
System.out.println(
|
43
|
+
IsPalindrome.isPalindrome("OTTO")
|
44
|
+
);
|
45
|
+
}
|
46
|
+
/* java bioroebe/Commandline --random-dna-sequence */
|
47
|
+
else if (entry.matches("random-dna-sequence|--random-dna-sequence")) {
|
48
|
+
new GenerateRandomDnaSequence(250);
|
49
|
+
}
|
50
|
+
/* java bioroebe/Commandline --base-composition */
|
51
|
+
else if (entry.matches("base-composition|--base-composition")) {
|
52
|
+
new toplevel_methods.BaseComposition(entry);
|
53
|
+
}
|
54
|
+
/* java bioroebe/Commandline --start-codons */
|
55
|
+
else if (entry.matches("start-codons|--start-codons")) {
|
56
|
+
Codons.display_start_codons();
|
57
|
+
}
|
58
|
+
/* java bioroebe/Commandline --esystem */
|
59
|
+
else if (entry.matches("esystem|--esystem")) {
|
60
|
+
Esystem.esystem("ls");
|
61
|
+
}
|
62
|
+
/* java bioroebe/Commandline --bisulfite */
|
63
|
+
else if (entry.matches("bisulfite|--bisulfite")) {
|
64
|
+
en(
|
65
|
+
BisulfiteTreatment.bisulfite_treatment("ATGCCCCCCCC")
|
66
|
+
);
|
67
|
+
}
|
68
|
+
/* java bioroebe/Commandline --remove-numbers */
|
69
|
+
else if (entry.matches("remove-numbers|--remove-numbers")) {
|
70
|
+
en(
|
71
|
+
RemoveNumbers.remove_numbers("123A")
|
72
|
+
);
|
73
|
+
}
|
74
|
+
else if (entry.matches("partner|--partner")) {
|
75
|
+
en(
|
76
|
+
PartnerNucleotide.return_partner_nucleotide("A")
|
77
|
+
);
|
78
|
+
}
|
79
|
+
else {
|
80
|
+
en("Unsure what to do with: "+entry);
|
81
|
+
}
|
82
|
+
}
|
83
|
+
}
|
84
|
+
else {
|
85
|
+
en("Please provide input to this class.");
|
86
|
+
}
|
87
|
+
}
|
88
|
+
|
89
|
+
public static void e(String i) {
|
90
|
+
System.out.print(i);
|
91
|
+
}
|
92
|
+
|
93
|
+
public static void en(String i) {
|
94
|
+
System.out.println(i);
|
95
|
+
}
|
96
|
+
|
97
|
+
public static void main(String[] args) {
|
98
|
+
Commandline x = new Commandline(args);
|
99
|
+
}
|
100
|
+
|
101
|
+
}
|
Binary file
|
@@ -1,4 +1,5 @@
|
|
1
1
|
package bioroebe;
|
2
|
+
|
2
3
|
import java.io.*;
|
3
4
|
|
4
5
|
/*
|
@@ -7,7 +8,7 @@ import java.io.*;
|
|
7
8
|
public class Esystem extends Base {
|
8
9
|
|
9
10
|
/*
|
10
|
-
*
|
11
|
+
* Usage example:
|
11
12
|
*
|
12
13
|
* Esystem.esystem("ls");
|
13
14
|
*
|
@@ -42,6 +43,10 @@ public class Esystem extends Base {
|
|
42
43
|
// deal with ErrorStream to get error outputs
|
43
44
|
/*process.getErrorStream();*/
|
44
45
|
|
46
|
+
/* Next test code follows: */
|
47
|
+
/*
|
48
|
+
* Esystem.esystem("ls");
|
49
|
+
*/
|
45
50
|
}
|
46
51
|
|
47
52
|
}
|
Binary file
|
@@ -9,10 +9,16 @@ class GenerateRandomDnaSequence extends Base {
|
|
9
9
|
|
10
10
|
private String dna_sequence = null;
|
11
11
|
|
12
|
-
/*
|
12
|
+
/*
|
13
|
+
* The constructor for GenerateRandomDnaSequence.
|
13
14
|
*
|
14
15
|
* You input a number, such as 20, and this class
|
15
16
|
* will generate a DNA string of length 20.
|
17
|
+
*
|
18
|
+
* Usage example:
|
19
|
+
*
|
20
|
+
* new GenerateRandomDnaSequence(250);
|
21
|
+
*
|
16
22
|
*/
|
17
23
|
public GenerateRandomDnaSequence(int n_characters) {
|
18
24
|
|
@@ -26,7 +32,7 @@ class GenerateRandomDnaSequence extends Base {
|
|
26
32
|
dna_sequence += alphabet.charAt(r.nextInt(alphabet.length()));
|
27
33
|
}
|
28
34
|
|
29
|
-
e(dna_sequence);
|
35
|
+
e(dna_sequence); /* And output the DNA sequence here. */
|
30
36
|
}
|
31
37
|
|
32
38
|
}
|
Binary file
|
@@ -0,0 +1,56 @@
|
|
1
|
+
package bioroebe;
|
2
|
+
|
3
|
+
import bioroebe.*;
|
4
|
+
|
5
|
+
/*
|
6
|
+
* PartnerNucleotide.partner_nucleotide("A");
|
7
|
+
*
|
8
|
+
* This class will simply yield the corresponding nucleotide.
|
9
|
+
*
|
10
|
+
* Usage example:
|
11
|
+
*
|
12
|
+
* PartnerNucleotide.partner_nucleotide("A");
|
13
|
+
*
|
14
|
+
*/
|
15
|
+
class PartnerNucleotide extends Base {
|
16
|
+
|
17
|
+
/*
|
18
|
+
* PartnerNucleotide.partner_nucleotide()
|
19
|
+
*/
|
20
|
+
public static void partner_nucleotide(String i) {
|
21
|
+
switch(i) {
|
22
|
+
case "A": e("T"); break;
|
23
|
+
case "T": e("A"); break;
|
24
|
+
case "C": e("G"); break;
|
25
|
+
case "G": e("C"); break;
|
26
|
+
default: e("Unhandled input "+i); break;
|
27
|
+
}
|
28
|
+
}
|
29
|
+
|
30
|
+
/*
|
31
|
+
* PartnerNucleotide.return_partner_nucleotide()
|
32
|
+
*/
|
33
|
+
public static String return_partner_nucleotide(String i) {
|
34
|
+
switch(i) {
|
35
|
+
case "A": return ("T");
|
36
|
+
case "T": return ("A");
|
37
|
+
case "C": return ("G");
|
38
|
+
case "G": return ("C");
|
39
|
+
default: return ("Unhandled input "+i);
|
40
|
+
}
|
41
|
+
}
|
42
|
+
|
43
|
+
public static void main(String[] args) {
|
44
|
+
|
45
|
+
if (args.length > 0) {
|
46
|
+
for (String string : args) {
|
47
|
+
PartnerNucleotide.partner_nucleotide(string);
|
48
|
+
}
|
49
|
+
}
|
50
|
+
else {
|
51
|
+
System.out.println("Please provide input to this class, a DNA sequence.");
|
52
|
+
}
|
53
|
+
|
54
|
+
}
|
55
|
+
|
56
|
+
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
package bioroebe;
|
2
2
|
|
3
|
-
import java.io.*;
|
3
|
+
import java.io.*;
|
4
4
|
|
5
5
|
/*
|
6
6
|
* RemoveFile.remove_file("A");
|
@@ -18,7 +18,13 @@ class RemoveFile extends Base {
|
|
18
18
|
}
|
19
19
|
else {
|
20
20
|
e("The file at `"+this_file+"` could NOT be deleted");
|
21
|
-
}
|
21
|
+
}
|
22
|
+
|
23
|
+
}
|
24
|
+
}
|
25
|
+
|
26
|
+
/*
|
22
27
|
|
23
|
-
|
24
|
-
|
28
|
+
RemoveFile.remove_file("/Depot/j/test.md");
|
29
|
+
|
30
|
+
*/
|
Binary file
|
@@ -0,0 +1,75 @@
|
|
1
|
+
/* package BaseComposition; */
|
2
|
+
/*package bioroebe.toplevel_methods;*/
|
3
|
+
|
4
|
+
package bioroebe;
|
5
|
+
|
6
|
+
public class BaseComposition {
|
7
|
+
|
8
|
+
static String[] commandline_arguments;
|
9
|
+
|
10
|
+
/*
|
11
|
+
* Main constructor (def initialize)
|
12
|
+
*/
|
13
|
+
public BaseComposition() {
|
14
|
+
run();
|
15
|
+
}
|
16
|
+
/*
|
17
|
+
* run()
|
18
|
+
*/
|
19
|
+
void run() {
|
20
|
+
if (commandline_arguments.length == 0) {
|
21
|
+
en("Please provide an input argument.");
|
22
|
+
}
|
23
|
+
else {
|
24
|
+
String first_argument = commandline_arguments[0];
|
25
|
+
en(
|
26
|
+
"The base composition frequencies of this sequence "+
|
27
|
+
"(length: "+first_argument.length()+") is as follows:"
|
28
|
+
);
|
29
|
+
en("");
|
30
|
+
int total_length = first_argument.length();
|
31
|
+
int n_A = 0;
|
32
|
+
int n_T = 0;
|
33
|
+
int n_C = 0;
|
34
|
+
int n_G = 0;
|
35
|
+
|
36
|
+
for (int i = 0; i < total_length; i++) {
|
37
|
+
char this_char = first_argument.charAt(i);
|
38
|
+
if (this_char == 'A') {
|
39
|
+
n_A += 1;
|
40
|
+
}
|
41
|
+
else if (this_char == 'T') {
|
42
|
+
n_T += 1;
|
43
|
+
}
|
44
|
+
else if (this_char == 'C') {
|
45
|
+
n_C += 1;
|
46
|
+
}
|
47
|
+
else if (this_char == 'G') {
|
48
|
+
n_G += 1;
|
49
|
+
}
|
50
|
+
}
|
51
|
+
en(
|
52
|
+
" "+
|
53
|
+
"A: "+Math.round((n_A * 100.0 / total_length) * Math.pow(10, 2) ) / Math.pow(10, 2)+"% "+
|
54
|
+
"T: "+Math.round((n_T * 100.0 / total_length) * Math.pow(10, 2) ) / Math.pow(10, 2)+"% "+
|
55
|
+
"C: "+Math.round((n_C * 100.0 / total_length) * Math.pow(10, 2) ) / Math.pow(10, 2)+"% "+
|
56
|
+
"G: "+Math.round((n_G * 100.0 / total_length) * Math.pow(10, 2) ) / Math.pow(10, 2)+"% "
|
57
|
+
);
|
58
|
+
en("");
|
59
|
+
}
|
60
|
+
}
|
61
|
+
|
62
|
+
public static void e(String i) {
|
63
|
+
System.out.print(i);
|
64
|
+
}
|
65
|
+
|
66
|
+
public static void en(String i) {
|
67
|
+
System.out.println(i);
|
68
|
+
}
|
69
|
+
|
70
|
+
public static void main(String[] args) {
|
71
|
+
commandline_arguments = args;
|
72
|
+
BaseComposition x = new BaseComposition();
|
73
|
+
}
|
74
|
+
|
75
|
+
}
|