bioroebe 0.10.80 → 0.12.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of bioroebe might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/README.md +3612 -2781
- data/bin/bioroebe +7 -1
- data/bin/bioroebe_hash +7 -0
- data/bin/codon_to_aminoacid +1 -0
- data/bioroebe.gemspec +3 -3
- data/doc/README.gen +3612 -2742
- data/doc/quality_control/commandline_applications.md +3 -3
- data/doc/todo/bioroebe_java_todo.md +22 -0
- data/doc/todo/bioroebe_todo.md +2059 -2615
- data/lib/bioroebe/aminoacids/aminoacid_substitution.rb +1 -9
- data/lib/bioroebe/aminoacids/codon_percentage.rb +1 -9
- data/lib/bioroebe/aminoacids/deduce_aminoacid_sequence.rb +1 -9
- data/lib/bioroebe/aminoacids/display_aminoacid_table.rb +1 -0
- data/lib/bioroebe/aminoacids/show_hydrophobicity.rb +1 -6
- data/lib/bioroebe/base/colours_for_base/colours_for_base.rb +18 -8
- data/lib/bioroebe/base/commandline_application/commandline_arguments.rb +15 -11
- data/lib/bioroebe/base/commandline_application/misc.rb +66 -49
- data/lib/bioroebe/base/commandline_application/opn.rb +8 -8
- data/lib/bioroebe/base/commandline_application/reset.rb +3 -2
- data/lib/bioroebe/base/misc.rb +35 -0
- data/lib/bioroebe/base/prototype/misc.rb +11 -1
- data/lib/bioroebe/codon_tables/frequencies/parse_frequency_table.rb +2 -10
- data/lib/bioroebe/codons/codons.rb +1 -1
- data/lib/bioroebe/codons/convert_this_codon_to_that_aminoacid.rb +192 -58
- data/lib/bioroebe/codons/possible_codons_for_this_aminoacid.rb +1 -9
- data/lib/bioroebe/codons/show_codon_tables.rb +6 -2
- data/lib/bioroebe/codons/show_codon_usage.rb +15 -4
- data/lib/bioroebe/colours/rev.rb +4 -1
- data/lib/bioroebe/constants/aminoacids_and_proteins.rb +1 -0
- data/lib/bioroebe/constants/database_constants.rb +1 -1
- data/lib/bioroebe/constants/files_and_directories.rb +31 -4
- data/lib/bioroebe/constants/misc.rb +20 -0
- data/lib/bioroebe/conversions/dna_to_aminoacid_sequence.rb +58 -24
- data/lib/bioroebe/count/count_amount_of_aminoacids.rb +3 -2
- data/lib/bioroebe/count/count_amount_of_nucleotides.rb +3 -0
- data/lib/bioroebe/crystal/README.md +2 -0
- data/lib/bioroebe/crystal/to_rna.cr +19 -0
- data/lib/bioroebe/data/README.md +11 -8
- data/lib/bioroebe/data/electron_microscopy/pos_example.pos +396 -0
- data/lib/bioroebe/data/electron_microscopy/test_particles.star +36 -0
- data/lib/bioroebe/data/fasta/human/Homo_sapiens_hemoglobin_subunit_alpha_HBB_mRNA.fasta +9 -0
- data/lib/bioroebe/data/fasta/human/Homo_sapiens_hemoglobin_subunit_beta_HBB_mRNA.fasta +8 -0
- data/lib/bioroebe/data/fasta/human/README.md +2 -0
- data/lib/bioroebe/electron_microscopy/coordinate_analyzer.rb +15 -18
- data/lib/bioroebe/{fasta_and_fastq/parse_fasta/run.rb → electron_microscopy/electron_microscopy_module.rb} +16 -8
- data/lib/bioroebe/electron_microscopy/fix_pos_file.rb +1 -9
- data/lib/bioroebe/electron_microscopy/flipy.rb +83 -0
- data/lib/bioroebe/electron_microscopy/parse_coordinates.rb +2 -10
- data/lib/bioroebe/electron_microscopy/read_file_xmd.rb +1 -9
- data/lib/bioroebe/electron_microscopy/simple_star_file_generator.rb +4 -9
- data/lib/bioroebe/enzymes/has_this_restriction_enzyme.rb +10 -3
- data/lib/bioroebe/enzymes/restriction_enzyme.rb +23 -1
- data/lib/bioroebe/enzymes/restriction_enzymes/statistics.rb +65 -0
- data/lib/bioroebe/fasta_and_fastq/autocorrect_the_name_of_this_fasta_file.rb +1 -9
- data/lib/bioroebe/fasta_and_fastq/compact_fasta_file/compact_fasta_file.rb +7 -9
- data/lib/bioroebe/fasta_and_fastq/fasta_defline/fasta_defline.rb +1 -5
- data/lib/bioroebe/fasta_and_fastq/fasta_to_yaml/fasta_to_yaml.rb +81 -0
- data/lib/bioroebe/fasta_and_fastq/parse_fasta/parse_fasta.rb +1465 -7
- data/lib/bioroebe/fasta_and_fastq/return_fasta_subsection_of_this_file.rb +11 -2
- data/lib/bioroebe/fasta_and_fastq/show_fasta_headers.rb +27 -12
- data/lib/bioroebe/fasta_and_fastq/simplify_fasta_header/simplify_fasta_header.rb +1 -5
- data/lib/bioroebe/fasta_and_fastq/split_this_fasta_file_into_chromosomes/constants.rb +0 -5
- data/lib/bioroebe/genome/README.md +4 -0
- data/lib/bioroebe/genome/genome.rb +67 -0
- data/lib/bioroebe/genomes/genome_pattern.rb +3 -9
- data/lib/bioroebe/gui/gtk +1 -0
- data/lib/bioroebe/gui/gtk3/alignment/alignment.rb +73 -128
- data/lib/bioroebe/gui/gtk3/controller/controller.rb +45 -27
- data/lib/bioroebe/gui/gtk3/dna_to_aminoacid_widget/dna_to_aminoacid_widget.rb +76 -50
- data/lib/bioroebe/gui/gtk3/fasta_table_widget/fasta_table_widget.rb +99 -21
- data/lib/bioroebe/gui/gtk3/hamming_distance/hamming_distance.rb +42 -28
- data/lib/bioroebe/gui/gtk3/nucleotide_analyser/nucleotide_analyser.rb +119 -71
- data/lib/bioroebe/gui/gtk3/protein_to_DNA/protein_to_DNA.rb +18 -18
- data/lib/bioroebe/gui/gtk3/random_sequence/random_sequence.rb +19 -11
- data/lib/bioroebe/gui/jruby/alignment/alignment.rb +165 -0
- data/lib/bioroebe/gui/libui/alignment/alignment.rb +3 -1
- data/lib/bioroebe/gui/libui/controller/controller.rb +116 -0
- data/lib/bioroebe/gui/libui/random_sequence/random_sequence.rb +18 -2
- data/lib/bioroebe/gui/libui/show_codon_table/show_codon_table.rb +2 -0
- data/lib/bioroebe/gui/libui/three_to_one/three_to_one.rb +8 -6
- data/lib/bioroebe/gui/shared_code/alignment/alignment_module.rb +102 -0
- data/lib/bioroebe/gui/shared_code/levensthein_distance/levensthein_distance_module.rb +18 -16
- data/lib/bioroebe/gui/shared_code/protein_to_DNA/protein_to_DNA_module.rb +14 -14
- data/lib/bioroebe/gui/swing/three_to_one/ThreeToOne$1.class +0 -0
- data/lib/bioroebe/gui/swing/three_to_one/ThreeToOne$CloseListener.class +0 -0
- data/lib/bioroebe/gui/swing/three_to_one/ThreeToOne.class +0 -0
- data/lib/bioroebe/gui/swing/three_to_one/ThreeToOne.java +141 -0
- data/lib/bioroebe/images/FORWARD_PRIMER.png +0 -0
- data/lib/bioroebe/images/REVERSE_PRIMER.png +0 -0
- data/lib/bioroebe/java/README.md +4 -0
- data/lib/bioroebe/java/bioroebe/Sequence.java +25 -1
- data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/Base.class +0 -0
- data/lib/bioroebe/java/bioroebe/{Base.java → src/main/java/bioroebe/Base.java} +15 -2
- data/lib/bioroebe/java/bioroebe/{BisulfiteTreatment.class → src/main/java/bioroebe/BisulfiteTreatment.class} +0 -0
- data/lib/bioroebe/java/bioroebe/{Codons.class → src/main/java/bioroebe/Codons.class} +0 -0
- data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/Codons.java +34 -0
- data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/Commandline.class +0 -0
- data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/Commandline.java +101 -0
- data/lib/bioroebe/java/bioroebe/{GenerateRandomDnaSequence.class → src/main/java/bioroebe/GenerateRandomDnaSequence.class} +0 -0
- data/lib/bioroebe/java/bioroebe/{GenerateRandomDnaSequence.java → src/main/java/bioroebe/GenerateRandomDnaSequence.java} +8 -2
- data/lib/bioroebe/java/bioroebe/{IsPalindrome.class → src/main/java/bioroebe/IsPalindrome.class} +0 -0
- data/lib/bioroebe/java/bioroebe/{IsPalindrome.java → src/main/java/bioroebe/IsPalindrome.java} +5 -1
- data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/PartnerNucleotide.class +0 -0
- data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/PartnerNucleotide.java +56 -0
- data/lib/bioroebe/java/bioroebe/{RemoveFile.java → src/main/java/bioroebe/RemoveFile.java} +10 -4
- data/lib/bioroebe/java/bioroebe/{RemoveNumbers.class → src/main/java/bioroebe/RemoveNumbers.class} +0 -0
- data/lib/bioroebe/java/bioroebe/{RemoveNumbers.java → src/main/java/bioroebe/RemoveNumbers.java} +1 -0
- data/lib/bioroebe/java/bioroebe/{ToCamelcase.class → src/main/java/bioroebe/ToCamelcase.class} +0 -0
- data/lib/bioroebe/java/bioroebe/{ToCamelcase.java → src/main/java/bioroebe/ToCamelcase.java} +3 -3
- data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/ToRNA.class +0 -0
- data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/ToRNA.java +42 -0
- data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/toplevel_methods/BaseComposition.class +0 -0
- data/lib/bioroebe/java/bioroebe/src/main/java/bioroebe/toplevel_methods/BaseComposition.java +75 -0
- data/lib/bioroebe/misc/ruler.rb +11 -2
- data/lib/bioroebe/nucleotides/most_likely_nucleotide_sequence_for_this_aminoacid_sequence.rb +1 -9
- data/lib/bioroebe/nucleotides/show_nucleotide_sequence.rb +7 -7
- data/lib/bioroebe/parsers/genbank_parser.rb +347 -26
- data/lib/bioroebe/parsers/gff.rb +1 -9
- data/lib/bioroebe/patterns/scan_for_repeat.rb +1 -5
- data/lib/bioroebe/pdb/fetch_fasta_sequence_from_pdb.rb +1 -9
- data/lib/bioroebe/pdb/parse_mmCIF_file.rb +1 -9
- data/lib/bioroebe/pdb/parse_pdb_file.rb +4 -10
- data/lib/bioroebe/project/project.rb +1 -1
- data/lib/bioroebe/python/README.md +1 -0
- data/lib/bioroebe/python/__pycache__/mymodule.cpython-39.pyc +0 -0
- data/lib/bioroebe/python/gui/gtk3/all_in_one.css +4 -0
- data/lib/bioroebe/python/gui/gtk3/all_in_one.py +59 -0
- data/lib/bioroebe/python/gui/gtk3/widget1.py +20 -0
- data/lib/bioroebe/python/gui/tkinter/all_in_one.py +91 -0
- data/lib/bioroebe/python/mymodule.py +8 -0
- data/lib/bioroebe/python/protein_to_dna.py +33 -0
- data/lib/bioroebe/python/shell/shell.py +19 -0
- data/lib/bioroebe/python/to_rna.py +14 -0
- data/lib/bioroebe/python/toplevel_methods/esystem.py +12 -0
- data/lib/bioroebe/python/toplevel_methods/open_in_browser.py +20 -0
- data/lib/bioroebe/python/toplevel_methods/palindromes.py +42 -0
- data/lib/bioroebe/python/toplevel_methods/rds.py +13 -0
- data/lib/bioroebe/python/toplevel_methods/shuffleseq.py +23 -0
- data/lib/bioroebe/python/toplevel_methods/three_delimiter.py +37 -0
- data/lib/bioroebe/python/toplevel_methods/time_and_date.py +43 -0
- data/lib/bioroebe/python/toplevel_methods/to_camelcase.py +21 -0
- data/lib/bioroebe/requires/require_the_bioroebe_project.rb +3 -1
- data/lib/bioroebe/sequence/alignment.rb +14 -4
- data/lib/bioroebe/sequence/dna.rb +1 -0
- data/lib/bioroebe/sequence/nucleotide_module/nucleotide_module.rb +28 -25
- data/lib/bioroebe/sequence/protein.rb +105 -3
- data/lib/bioroebe/sequence/sequence.rb +87 -21
- data/lib/bioroebe/shell/menu.rb +3829 -3714
- data/lib/bioroebe/shell/misc.rb +59 -4307
- data/lib/bioroebe/shell/readline/readline.rb +1 -1
- data/lib/bioroebe/shell/shell.rb +11255 -28
- data/lib/bioroebe/siRNA/siRNA.rb +81 -1
- data/lib/bioroebe/string_matching/find_longest_substring.rb +3 -2
- data/lib/bioroebe/string_matching/hamming_distance.rb +1 -9
- data/lib/bioroebe/taxonomy/class_methods.rb +3 -8
- data/lib/bioroebe/taxonomy/constants.rb +4 -3
- data/lib/bioroebe/taxonomy/edit.rb +2 -1
- data/lib/bioroebe/taxonomy/help/help.rb +10 -10
- data/lib/bioroebe/taxonomy/help/helpline.rb +2 -2
- data/lib/bioroebe/taxonomy/info/check_available.rb +15 -9
- data/lib/bioroebe/taxonomy/info/info.rb +18 -11
- data/lib/bioroebe/taxonomy/info/is_dna.rb +46 -36
- data/lib/bioroebe/taxonomy/interactive.rb +140 -104
- data/lib/bioroebe/taxonomy/menu.rb +27 -18
- data/lib/bioroebe/taxonomy/parse_fasta.rb +3 -1
- data/lib/bioroebe/taxonomy/shared.rb +1 -0
- data/lib/bioroebe/taxonomy/taxonomy.rb +1 -0
- data/lib/bioroebe/toplevel_methods/aminoacids_and_proteins.rb +31 -24
- data/lib/bioroebe/toplevel_methods/colourize_related_methods.rb +164 -0
- data/lib/bioroebe/toplevel_methods/databases.rb +1 -1
- data/lib/bioroebe/toplevel_methods/digest.rb +18 -8
- data/lib/bioroebe/toplevel_methods/fasta_and_fastq.rb +107 -63
- data/lib/bioroebe/toplevel_methods/file_and_directory_related_actions.rb +14 -2
- data/lib/bioroebe/toplevel_methods/frequencies.rb +8 -1
- data/lib/bioroebe/toplevel_methods/misc.rb +142 -12
- data/lib/bioroebe/toplevel_methods/nucleotides.rb +118 -46
- data/lib/bioroebe/toplevel_methods/open_in_browser.rb +2 -0
- data/lib/bioroebe/toplevel_methods/palindromes.rb +1 -2
- data/lib/bioroebe/toplevel_methods/taxonomy.rb +2 -2
- data/lib/bioroebe/toplevel_methods/to_camelcase.rb +5 -0
- data/lib/bioroebe/utility_scripts/align_open_reading_frames.rb +1 -9
- data/lib/bioroebe/utility_scripts/check_for_mismatches/check_for_mismatches.rb +1 -9
- data/lib/bioroebe/utility_scripts/compacter.rb +1 -9
- data/lib/bioroebe/utility_scripts/compseq/compseq.rb +1 -9
- data/lib/bioroebe/utility_scripts/consensus_sequence.rb +6 -6
- data/lib/bioroebe/utility_scripts/create_batch_entrez_file.rb +1 -9
- data/lib/bioroebe/utility_scripts/dot_alignment.rb +1 -9
- data/lib/bioroebe/utility_scripts/move_file_to_its_correct_location.rb +1 -4
- data/lib/bioroebe/utility_scripts/parse_taxonomy.rb +2 -2
- data/lib/bioroebe/utility_scripts/showorf/constants.rb +0 -5
- data/lib/bioroebe/utility_scripts/showorf/reset.rb +1 -4
- data/lib/bioroebe/version/version.rb +2 -2
- data/lib/bioroebe/www/embeddable_interface.rb +103 -54
- data/lib/bioroebe/www/sinatra/sinatra.rb +186 -70
- data/lib/bioroebe/yaml/aminoacids/amino_acids_long_name_to_one_letter.yml +2 -2
- data/lib/bioroebe/yaml/configuration/browser.yml +1 -1
- data/lib/bioroebe/yaml/configuration/temp_dir.yml +1 -1
- data/lib/bioroebe/yaml/genomes/README.md +3 -4
- data/lib/bioroebe/yaml/restriction_enzymes/restriction_enzymes.yml +27 -27
- metadata +81 -64
- data/doc/setup.rb +0 -1655
- data/lib/bioroebe/fasta_and_fastq/parse_fasta/constants.rb +0 -50
- data/lib/bioroebe/fasta_and_fastq/parse_fasta/initialize.rb +0 -86
- data/lib/bioroebe/fasta_and_fastq/parse_fasta/menu.rb +0 -117
- data/lib/bioroebe/fasta_and_fastq/parse_fasta/misc.rb +0 -981
- data/lib/bioroebe/fasta_and_fastq/parse_fasta/report.rb +0 -156
- data/lib/bioroebe/fasta_and_fastq/parse_fasta/reset.rb +0 -128
- data/lib/bioroebe/genbank/genbank_parser.rb +0 -291
- data/lib/bioroebe/java/bioroebe/Base.class +0 -0
- data/lib/bioroebe/java/bioroebe/Codons.java +0 -22
- data/lib/bioroebe/java/bioroebe/PartnerNucleotide.class +0 -0
- data/lib/bioroebe/java/bioroebe/PartnerNucleotide.java +0 -19
- data/lib/bioroebe/java/bioroebe.jar +0 -0
- data/lib/bioroebe/shell/add.rb +0 -108
- data/lib/bioroebe/shell/assign.rb +0 -360
- data/lib/bioroebe/shell/chop_and_cut.rb +0 -281
- data/lib/bioroebe/shell/constants.rb +0 -166
- data/lib/bioroebe/shell/download.rb +0 -335
- data/lib/bioroebe/shell/enable_and_disable.rb +0 -158
- data/lib/bioroebe/shell/enzymes.rb +0 -310
- data/lib/bioroebe/shell/fasta.rb +0 -345
- data/lib/bioroebe/shell/gtk.rb +0 -76
- data/lib/bioroebe/shell/history.rb +0 -132
- data/lib/bioroebe/shell/initialize.rb +0 -217
- data/lib/bioroebe/shell/loop.rb +0 -74
- data/lib/bioroebe/shell/prompt.rb +0 -107
- data/lib/bioroebe/shell/random.rb +0 -289
- data/lib/bioroebe/shell/reset.rb +0 -335
- data/lib/bioroebe/shell/scan_and_parse.rb +0 -135
- data/lib/bioroebe/shell/search.rb +0 -337
- data/lib/bioroebe/shell/sequences.rb +0 -200
- data/lib/bioroebe/shell/show_report_and_display.rb +0 -2901
- data/lib/bioroebe/shell/startup.rb +0 -127
- data/lib/bioroebe/shell/taxonomy.rb +0 -14
- data/lib/bioroebe/shell/tk.rb +0 -23
- data/lib/bioroebe/shell/user_input.rb +0 -88
- data/lib/bioroebe/shell/xorg.rb +0 -45
- /data/lib/bioroebe/java/bioroebe/{BisulfiteTreatment.java → src/main/java/bioroebe/BisulfiteTreatment.java} +0 -0
- /data/lib/bioroebe/java/bioroebe/{Esystem.class → src/main/java/bioroebe/Esystem.class} +0 -0
- /data/lib/bioroebe/java/bioroebe/{Esystem.java → src/main/java/bioroebe/Esystem.java} +0 -0
- /data/lib/bioroebe/java/bioroebe/{RemoveFile.class → src/main/java/bioroebe/RemoveFile.class} +0 -0
@@ -1,335 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby -w
|
2
|
-
# Encoding: UTF-8
|
3
|
-
# frozen_string_literal: true
|
4
|
-
# =========================================================================== #
|
5
|
-
# require 'bioroebe/shell/download.rb'
|
6
|
-
# =========================================================================== #
|
7
|
-
require 'bioroebe/base/commandline_application/commandline_application.rb'
|
8
|
-
|
9
|
-
module Bioroebe
|
10
|
-
|
11
|
-
class Shell < ::Bioroebe::CommandlineApplication
|
12
|
-
|
13
|
-
require 'bioroebe/toplevel_methods/map_ncbi_entry_to_eutils_id.rb'
|
14
|
-
|
15
|
-
# ========================================================================= #
|
16
|
-
# === wget (wget tag)
|
17
|
-
#
|
18
|
-
# Simply use wget to download remote files.
|
19
|
-
# ========================================================================= #
|
20
|
-
def wget(i)
|
21
|
-
if i.is_a? Array
|
22
|
-
i.each {|entry| wget(entry) }
|
23
|
-
else
|
24
|
-
unless i.start_with? 'wget '
|
25
|
-
i = "wget #{i}"
|
26
|
-
end
|
27
|
-
esystem i
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
# ========================================================================= #
|
32
|
-
# === download (download tag)
|
33
|
-
#
|
34
|
-
# General download handler. Some sequences will be changed, such
|
35
|
-
# as lambda (for the phage called lambda), to the corresponding
|
36
|
-
# entry at NCBI.
|
37
|
-
# ========================================================================= #
|
38
|
-
def download(i)
|
39
|
-
if i.is_a? Array
|
40
|
-
i.each {|entry| download(entry) }
|
41
|
-
else
|
42
|
-
case i.to_s
|
43
|
-
# ===================================================================== #
|
44
|
-
# === The lambda phage sequence
|
45
|
-
#
|
46
|
-
# Download the lambda-sequence, via:
|
47
|
-
#
|
48
|
-
# download lambda
|
49
|
-
#
|
50
|
-
# ===================================================================== #
|
51
|
-
when 'lambda',
|
52
|
-
/^-?-?lambda(_|-)?genome$/i
|
53
|
-
i = ::Bioroebe.map_ncbi_entry_to_eutils_id('NC_001416.1.fasta')+
|
54
|
-
'.fasta'
|
55
|
-
# ===================================================================== #
|
56
|
-
# === Download the cytochrome c sequence (of humans)
|
57
|
-
#
|
58
|
-
# This should be equivalent to:
|
59
|
-
#
|
60
|
-
# https://www.ncbi.nlm.nih.gov/protein/XP_011521207.1?report=fasta
|
61
|
-
#
|
62
|
-
# ===================================================================== #
|
63
|
-
when /cytochrome_c_protein_sequence/
|
64
|
-
return Bioroebe::Ncbi.efetch_by_url('NP_061820.1')
|
65
|
-
# ===================================================================== #
|
66
|
-
# === P1
|
67
|
-
# ===================================================================== #
|
68
|
-
when 'P1'
|
69
|
-
i = ::Bioroebe.map_ncbi_entry_to_eutils_id('NC_005856.1.fasta')+
|
70
|
-
'.fasta'
|
71
|
-
# ===================================================================== #
|
72
|
-
# === P2
|
73
|
-
#
|
74
|
-
# The P2 phage, from E. coli, a temperate phage.
|
75
|
-
# ===================================================================== #
|
76
|
-
when 'P2'
|
77
|
-
i = ::Bioroebe.map_ncbi_entry_to_eutils_id('NC_041848.1.fasta')+
|
78
|
-
'.fasta'
|
79
|
-
# ===================================================================== #
|
80
|
-
# === T12
|
81
|
-
#
|
82
|
-
# This is the Streptococcus phage T12.
|
83
|
-
# ===================================================================== #
|
84
|
-
when 'T12'
|
85
|
-
i = ::Bioroebe.map_ncbi_entry_to_eutils_id('NC_028700.1.fasta')+
|
86
|
-
'.fasta'
|
87
|
-
# ===================================================================== #
|
88
|
-
# === T2
|
89
|
-
#
|
90
|
-
# This is the phage T2.
|
91
|
-
# ===================================================================== #
|
92
|
-
when 'T2'
|
93
|
-
i = ::Bioroebe.map_ncbi_entry_to_eutils_id('AP018813.1.fasta')+
|
94
|
-
'.fasta'
|
95
|
-
# ===================================================================== #
|
96
|
-
# === T4
|
97
|
-
#
|
98
|
-
# This is the phage T4.
|
99
|
-
# ===================================================================== #
|
100
|
-
when 'T4'
|
101
|
-
i = ::Bioroebe.map_ncbi_entry_to_eutils_id('NC_000866.4.fasta')+
|
102
|
-
'.fasta'
|
103
|
-
# ===================================================================== #
|
104
|
-
# === T6
|
105
|
-
#
|
106
|
-
# This is the phage T6.
|
107
|
-
# ===================================================================== #
|
108
|
-
when 'T6'
|
109
|
-
i = ::Bioroebe.map_ncbi_entry_to_eutils_id('MH550421.1.fasta')+
|
110
|
-
'.fasta'
|
111
|
-
# ===================================================================== #
|
112
|
-
# === rhinovirus
|
113
|
-
# ===================================================================== #
|
114
|
-
when /^-?-?rhinovirus/i
|
115
|
-
i = ::Bioroebe.map_ncbi_entry_to_eutils_id('NC_038311')+
|
116
|
-
'.fasta'
|
117
|
-
# ===================================================================== #
|
118
|
-
# === Handle .pdb files here
|
119
|
-
# ===================================================================== #
|
120
|
-
when /\.pdb$/
|
121
|
-
cd :download_directory
|
122
|
-
wget i
|
123
|
-
register_this_download(i)
|
124
|
-
parse_this_pdb_file(File.basename(i))
|
125
|
-
end
|
126
|
-
# ===================================================================== #
|
127
|
-
# === Handle Fasta files next
|
128
|
-
# ===================================================================== #
|
129
|
-
if i.end_with? '.fa' or i.end_with? '.fasta'
|
130
|
-
i = i.dup if i.frozen?
|
131
|
-
unless File.exist? i
|
132
|
-
_ = Bioroebe::Ncbi.efetch_by_url(
|
133
|
-
i.delete_suffix('.fasta')
|
134
|
-
)
|
135
|
-
if File.exist? _
|
136
|
-
erev "The file is now available at `#{sfile(_)}`."
|
137
|
-
end
|
138
|
-
else
|
139
|
-
# ================================================================= #
|
140
|
-
# The above download_fasta() makes use of NCBI. We need to rewrite
|
141
|
-
# this eventually. For now, we will do another, simpler approach
|
142
|
-
# here.
|
143
|
-
# ================================================================= #
|
144
|
-
what = URI.open(i).read
|
145
|
-
into = log_dir?+File.basename(i)
|
146
|
-
erev "Storing into `#{sfile(into)}#{rev}`."
|
147
|
-
write_what_into(what, into)
|
148
|
-
return into # This will also return the local path.
|
149
|
-
end
|
150
|
-
else
|
151
|
-
# erev 'Unsure what to do with '+sfancy(i)
|
152
|
-
esystem "wget #{i}"
|
153
|
-
end
|
154
|
-
end
|
155
|
-
end
|
156
|
-
|
157
|
-
require 'bioroebe/fasta_and_fastq/download_fasta.rb'
|
158
|
-
# ========================================================================= #
|
159
|
-
# === download_fasta
|
160
|
-
#
|
161
|
-
# Use this to download a fasta sequence.
|
162
|
-
# ========================================================================= #
|
163
|
-
def download_fasta(i = nil)
|
164
|
-
if i.is_a? Array
|
165
|
-
i.each {|entry|
|
166
|
-
download_fasta(entry)
|
167
|
-
}
|
168
|
-
else
|
169
|
-
# ===================================================================== #
|
170
|
-
# Delegate to a special class here.
|
171
|
-
# ===================================================================== #
|
172
|
-
stored_here = ::Bioroebe.download_fasta(i) # bl $BIOROEBE/download_fasta.rb
|
173
|
-
if stored_here
|
174
|
-
if File.exist? stored_here
|
175
|
-
assign_sequence(stored_here)
|
176
|
-
end
|
177
|
-
return stored_here
|
178
|
-
else
|
179
|
-
e crimson('No result could be found for ')+sfancy(i)+rev
|
180
|
-
end
|
181
|
-
end
|
182
|
-
end
|
183
|
-
|
184
|
-
# ========================================================================= #
|
185
|
-
# === register_this_download
|
186
|
-
#
|
187
|
-
# Simply register all downloads - we may use this information at some
|
188
|
-
# later point.
|
189
|
-
#
|
190
|
-
# The entries here typically are HTTP or HTTPS-URLs.
|
191
|
-
# ========================================================================= #
|
192
|
-
def register_this_download(i)
|
193
|
-
@internal_hash[:array_all_downloads] << i
|
194
|
-
end
|
195
|
-
|
196
|
-
# ========================================================================= #
|
197
|
-
# === set_download_directory
|
198
|
-
# ========================================================================= #
|
199
|
-
def set_download_directory(
|
200
|
-
i = ::Bioroebe.log_dir?
|
201
|
-
)
|
202
|
-
i = i.to_s
|
203
|
-
erev "Setting the download directory to #{simp(i)}#{rev} next:"
|
204
|
-
::Bioroebe.set_log_dir(i)
|
205
|
-
end
|
206
|
-
|
207
|
-
# ========================================================================= #
|
208
|
-
# === download_this_pdb_file
|
209
|
-
#
|
210
|
-
# Use this method to download a .pdb file.
|
211
|
-
#
|
212
|
-
# There seem to be at least two major methods how to use the PDB
|
213
|
-
# database:
|
214
|
-
#
|
215
|
-
# (1) http://www.rcsb.org/pdb/files/3O30.pdb
|
216
|
-
# (2) http://www.rcsb.org/pdb/explore.do?structureId=1QRI
|
217
|
-
#
|
218
|
-
# The files/ URI seems to redirect you directly to the .pdb
|
219
|
-
# file in question, so I think it is the preferred way.
|
220
|
-
# However had, the explore.do query gives additional
|
221
|
-
# information.
|
222
|
-
#
|
223
|
-
# Other useful URLs are:
|
224
|
-
#
|
225
|
-
# http://www.rcsb.org/pdb/explore.do?structureId=1ZAA
|
226
|
-
# http://dx.doi.org/10.2210/pdb1gi5/pdb
|
227
|
-
#
|
228
|
-
# Usage example:
|
229
|
-
#
|
230
|
-
# download_this_pdb_file http://www.rcsb.org/pdb/files/3O30.pdb
|
231
|
-
#
|
232
|
-
# ========================================================================= #
|
233
|
-
def download_this_pdb_file(
|
234
|
-
i = '3O30'
|
235
|
-
)
|
236
|
-
i = ['3O30'] if i.nil? # If nil, use a default value.
|
237
|
-
if i.is_a? Array
|
238
|
-
i = ['3O30'] if i.empty?
|
239
|
-
i.each {|entry| download_this_pdb_file(entry) }
|
240
|
-
else
|
241
|
-
i = i.to_s.dup
|
242
|
-
unless i.end_with? '.pdb'
|
243
|
-
i << '.pdb'
|
244
|
-
end
|
245
|
-
unless i.start_with? 'http://www.rcsb.org/pdb/files/'
|
246
|
-
i[0,0] = 'https://www.rcsb.org/pdb/files/'
|
247
|
-
end
|
248
|
-
target_dir = download_dir?
|
249
|
-
cd target_dir
|
250
|
-
# ===================================================================== #
|
251
|
-
# http://www.rcsb.org/pdb/files/3O30.pdb
|
252
|
-
# ===================================================================== #
|
253
|
-
download_this = "#{i.to_s}"
|
254
|
-
erev "Checking for the availability of "\
|
255
|
-
"#{olivedrab(download_this)}#{rev} next ..."
|
256
|
-
if does_this_remote_file_exist?(download_this)
|
257
|
-
erev 'Next downloading '+sfancy(download_this)+
|
258
|
-
rev+' into '+sfancy(target_dir)+'.'
|
259
|
-
esystem "wget #{download_this}" # We will just use wget for now.
|
260
|
-
_ = ::Bioroebe.pdb_directory?
|
261
|
-
if File.directory? _
|
262
|
-
new_target = _+File.basename(download_this)
|
263
|
-
erev 'Moving into '+sfancy(new_target)+rev+', where '\
|
264
|
-
'.pdb files are kept by default.'
|
265
|
-
mv(
|
266
|
-
target_dir+File.basename(download_this),
|
267
|
-
new_target
|
268
|
-
)
|
269
|
-
end
|
270
|
-
register_this_download(download_this)
|
271
|
-
else
|
272
|
-
erev "The remote file at #{sfile(download_this)} does not exist."
|
273
|
-
erev 'Hence, we can not download it.'
|
274
|
-
end
|
275
|
-
end
|
276
|
-
end
|
277
|
-
|
278
|
-
# ========================================================================= #
|
279
|
-
# === does_this_remote_file_exist?
|
280
|
-
#
|
281
|
-
# This method determines, based on wget, whether a remote file
|
282
|
-
# exists or whether it does not.
|
283
|
-
# ========================================================================= #
|
284
|
-
def does_this_remote_file_exist?(i)
|
285
|
-
remote_file_exists = false
|
286
|
-
# ======================================================================= #
|
287
|
-
# Use wget --spider to check if the remote file exists.
|
288
|
-
# ======================================================================= #
|
289
|
-
_ = "wget --spider -v #{i} 2>&1"
|
290
|
-
result = `#{_}`
|
291
|
-
if result.include?('Remote file exists') or # Yes, the remote file exists.
|
292
|
-
result =~ /File '.+' exists./
|
293
|
-
remote_file_exists = true
|
294
|
-
end
|
295
|
-
if result.include? '/404'
|
296
|
-
remote_file_exists = false
|
297
|
-
end
|
298
|
-
return remote_file_exists
|
299
|
-
end
|
300
|
-
|
301
|
-
# ========================================================================= #
|
302
|
-
# === handle_pdb_files
|
303
|
-
#
|
304
|
-
# This method will either show more information about .pdb files or
|
305
|
-
# it will simply attempt to download the .pdb file in question.
|
306
|
-
# ========================================================================= #
|
307
|
-
def handle_pdb_files(i)
|
308
|
-
if i.nil? or i.empty?
|
309
|
-
# In this case, we show some info.
|
310
|
-
cliner
|
311
|
-
erev '.pdb files are files in the "Protein Data Bank" format.'
|
312
|
-
e
|
313
|
-
erev 'It is a standard for files containing atomic coordinates.'
|
314
|
-
e
|
315
|
-
erev 'Each line in a .pdb file is called a "record".'
|
316
|
-
e
|
317
|
-
erev 'You can pass an ID (a number) and we will attempt to download '\
|
318
|
-
'that .pdb file.'
|
319
|
-
e
|
320
|
-
erev 'Example:'
|
321
|
-
e
|
322
|
-
erev ' pdb 333'
|
323
|
-
e
|
324
|
-
erev 'More information can be seen here:'
|
325
|
-
e
|
326
|
-
efancy ' https://www.cgl.ucsf.edu/chimera/docs/UsersGuide/tutorials/pdbintro.html'
|
327
|
-
e
|
328
|
-
print rev
|
329
|
-
cliner
|
330
|
-
else
|
331
|
-
download_this_pdb_file(i)
|
332
|
-
end
|
333
|
-
end
|
334
|
-
|
335
|
-
end; end
|
@@ -1,158 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby -w
|
2
|
-
# Encoding: UTF-8
|
3
|
-
# frozen_string_literal: true
|
4
|
-
# =========================================================================== #
|
5
|
-
# require 'bioroebe/shell/enable_and_disable.rb'
|
6
|
-
# =========================================================================== #
|
7
|
-
# Note that the method disable_colours() can be found in the file
|
8
|
-
# colours.rb
|
9
|
-
# =========================================================================== #
|
10
|
-
require 'bioroebe/base/commandline_application/commandline_application.rb'
|
11
|
-
|
12
|
-
module Bioroebe
|
13
|
-
|
14
|
-
class Shell < ::Bioroebe::CommandlineApplication
|
15
|
-
|
16
|
-
# ========================================================================= #
|
17
|
-
# === enable (enable tag)
|
18
|
-
#
|
19
|
-
# Enable-functionality can be passed through this method here.
|
20
|
-
#
|
21
|
-
# Invocation example from within the bioshell:
|
22
|
-
#
|
23
|
-
# enable colours
|
24
|
-
#
|
25
|
-
# ========================================================================= #
|
26
|
-
def enable(i)
|
27
|
-
if i.is_a? Array
|
28
|
-
i = i.join.strip
|
29
|
-
end
|
30
|
-
case i.to_s # case tag
|
31
|
-
# ======================================================================= #
|
32
|
-
# === enable cd_aliases
|
33
|
-
#
|
34
|
-
# This variant will be verbose.
|
35
|
-
# ======================================================================= #
|
36
|
-
when /^-?-?cd(-|_)?aliases$/
|
37
|
-
erev 'class '+
|
38
|
-
steelblue('Rcfiles::DirectoryAliases')+rev+' will be '\
|
39
|
-
'enabled next, allowing'
|
40
|
-
erev 'you to navigate the local filesystem '\
|
41
|
-
'more easily so.'
|
42
|
-
::Bioroebe::Configuration.do_use_expand_cd_aliases
|
43
|
-
# ======================================================================= #
|
44
|
-
# === use colours
|
45
|
-
# ======================================================================= #
|
46
|
-
when /^colou?rs$/
|
47
|
-
enable_colours
|
48
|
-
# ======================================================================= #
|
49
|
-
# === use xsel
|
50
|
-
# ======================================================================= #
|
51
|
-
when 'xsel'
|
52
|
-
enable_xsel
|
53
|
-
end
|
54
|
-
end; alias use enable # === use (use tag)
|
55
|
-
|
56
|
-
# ========================================================================= #
|
57
|
-
# === enable_configuration
|
58
|
-
# ========================================================================= #
|
59
|
-
def enable_configuration
|
60
|
-
config_dir = ::Bioroebe.project_yaml_directory?+
|
61
|
-
'/configuration/'
|
62
|
-
unless Object.const_defined?(:Roebe) and
|
63
|
-
Roebe.const_defined?(:Configuration)
|
64
|
-
begin
|
65
|
-
require 'roebe/configuration/class/configuration.rb'
|
66
|
-
rescue LoadError; end
|
67
|
-
end
|
68
|
-
if Object.const_defined?(:Roebe) and
|
69
|
-
Roebe.const_defined?(:Configuration)
|
70
|
-
# ===================================================================== #
|
71
|
-
# === Initialize @config
|
72
|
-
# ===================================================================== #
|
73
|
-
@config = ::Roebe::Configuration.new(config_dir, :do_not_run_yet)
|
74
|
-
@config.be_verbose if @config.respond_to? :be_verbose
|
75
|
-
@config.run
|
76
|
-
else
|
77
|
-
@config = nil
|
78
|
-
end
|
79
|
-
end
|
80
|
-
|
81
|
-
# ========================================================================= #
|
82
|
-
# === disable (disable tag)
|
83
|
-
# ========================================================================= #
|
84
|
-
def disable(i)
|
85
|
-
if i.is_a? Array
|
86
|
-
i = i.join(' ').strip
|
87
|
-
end
|
88
|
-
case i.to_s # case tag
|
89
|
-
# ======================================================================= #
|
90
|
-
# === disable :cd_aliases
|
91
|
-
# ======================================================================= #
|
92
|
-
when /^-?-?cd(-|_)?aliases$/i
|
93
|
-
erev 'We will no longer use class Rcfiles::DirectoryAliases'
|
94
|
-
::Bioroebe::Configuration.do_not_use_expand_cd_aliases
|
95
|
-
# ======================================================================= #
|
96
|
-
# === truncate
|
97
|
-
# ======================================================================= #
|
98
|
-
when /^truncate$/i
|
99
|
-
disable_truncate
|
100
|
-
# ======================================================================= #
|
101
|
-
# === prompt
|
102
|
-
# ======================================================================= #
|
103
|
-
when 'prompt'
|
104
|
-
set_prompt :empty # This means to use an empty prompt.
|
105
|
-
# ======================================================================= #
|
106
|
-
# === padding
|
107
|
-
# ======================================================================= #
|
108
|
-
when 'padding'
|
109
|
-
set_padding 0, :be_verbose
|
110
|
-
# ======================================================================= #
|
111
|
-
# === disable colours
|
112
|
-
# ======================================================================= #
|
113
|
-
when 'colours',
|
114
|
-
'colors',
|
115
|
-
/^col/
|
116
|
-
disable_colours
|
117
|
-
# ======================================================================= #
|
118
|
-
# === disable xsel
|
119
|
-
# ======================================================================= #
|
120
|
-
when 'xsel'
|
121
|
-
disable_xsel
|
122
|
-
else
|
123
|
-
erev "No such disable-action could be found (#{sfancy(i)}#{rev})"
|
124
|
-
end
|
125
|
-
end
|
126
|
-
|
127
|
-
# ========================================================================= #
|
128
|
-
# === disable_truncate
|
129
|
-
# ========================================================================= #
|
130
|
-
def disable_truncate
|
131
|
-
do_not_truncate
|
132
|
-
end
|
133
|
-
|
134
|
-
# ========================================================================= #
|
135
|
-
# === disable_xsel
|
136
|
-
# ========================================================================= #
|
137
|
-
def disable_xsel
|
138
|
-
if use_xsel?
|
139
|
-
e 'Now disabling xsel.'
|
140
|
-
@internal_hash[:use_xsel] = false
|
141
|
-
else
|
142
|
-
e 'xsel is already disabled.'
|
143
|
-
end
|
144
|
-
end
|
145
|
-
|
146
|
-
# ========================================================================= #
|
147
|
-
# === enable_xsel
|
148
|
-
# ========================================================================= #
|
149
|
-
def enable_xsel
|
150
|
-
if @internal_hash[:use_xsel]
|
151
|
-
e 'xsel is already enabled.'
|
152
|
-
else
|
153
|
-
e 'Now enabling xsel.'
|
154
|
-
@internal_hash[:use_xsel] = true
|
155
|
-
end
|
156
|
-
end
|
157
|
-
|
158
|
-
end; end
|