bioroebe 0.10.80 → 0.12.24
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
}
|