bioroebe 0.10.80 → 0.11.32
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of bioroebe might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/README.md +3209 -2618
- data/bin/bioroebe +7 -1
- data/bioroebe.gemspec +3 -3
- data/doc/README.gen +3208 -2617
- data/doc/quality_control/commandline_applications.md +3 -3
- data/doc/todo/bioroebe_todo.md +2040 -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 +13 -11
- data/lib/bioroebe/base/commandline_application/misc.rb +26 -9
- 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/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 +2 -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/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/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/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 +1460 -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/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/libui/three_to_one/three_to_one.rb +8 -6
- 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/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/{BisulfiteTreatment.java → src/main/java/bioroebe/BisulfiteTreatment.java} +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 +95 -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/{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.class → src/main/java/bioroebe/RemoveFile.class} +0 -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/toplevel_methods/BaseComposition.class +0 -0
- data/lib/bioroebe/java/bioroebe/toplevel_methods/BaseComposition.java +73 -0
- data/lib/bioroebe/misc/ruler.rb +1 -0
- 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 +1 -9
- 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/nucleotide_module/nucleotide_module.rb +28 -25
- data/lib/bioroebe/sequence/protein.rb +105 -3
- data/lib/bioroebe/sequence/sequence.rb +61 -2
- data/lib/bioroebe/shell/menu.rb +3819 -3713
- data/lib/bioroebe/shell/misc.rb +51 -4311
- data/lib/bioroebe/shell/readline/readline.rb +1 -1
- data/lib/bioroebe/shell/shell.rb +11250 -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/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/fasta_and_fastq.rb +107 -63
- data/lib/bioroebe/toplevel_methods/file_and_directory_related_actions.rb +14 -2
- data/lib/bioroebe/toplevel_methods/misc.rb +118 -11
- data/lib/bioroebe/toplevel_methods/nucleotides.rb +22 -5
- 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/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/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 +101 -52
- 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/genomes/README.md +3 -4
- data/lib/bioroebe/yaml/restriction_enzymes/restriction_enzymes.yml +3 -3
- metadata +69 -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
@@ -4,7 +4,12 @@
|
|
4
4
|
# =========================================================================== #
|
5
5
|
# === Bioroebe::Protein
|
6
6
|
#
|
7
|
-
# This is a typical sequence of aminoacids.
|
7
|
+
# This is a typical sequence of aminoacids. It is not 100% certain whether
|
8
|
+
# this class will be retained, but for the time being it will be. Note
|
9
|
+
# that peptides should also use this class - while the name may not be
|
10
|
+
# 100% accurate (smaller proteins are typically called peptides or
|
11
|
+
# oligopeptides) I feel that this is a distinction that does not really
|
12
|
+
# make a whole lot of sense.
|
8
13
|
# =========================================================================== #
|
9
14
|
# require 'bioroebe/sequence/protein.rb'
|
10
15
|
# =========================================================================== #
|
@@ -94,6 +99,9 @@ class Protein < ::Bioroebe::Sequence # === Bioroebe::Protein
|
|
94
99
|
# This method will return true if there are at the least two
|
95
100
|
# cysteines in the aminoacid sequence of this protein.
|
96
101
|
#
|
102
|
+
# If anyone knows of a better algorithm to determine whether
|
103
|
+
# a protein can REALLY create a disulfide bond let me know.
|
104
|
+
#
|
97
105
|
# Usage example:
|
98
106
|
#
|
99
107
|
# Bioroebe::Protein.new('MLKLKNASCCEEE').can_form_disulfide_bonds? # => true
|
@@ -146,7 +154,7 @@ class Protein < ::Bioroebe::Sequence # === Bioroebe::Protein
|
|
146
154
|
chars.each {|this_aminoacid|
|
147
155
|
sum += weight_of(this_aminoacid)
|
148
156
|
}
|
149
|
-
sum
|
157
|
+
return sum
|
150
158
|
end; alias molecular_weight? weight? # === molecular_weight?
|
151
159
|
|
152
160
|
# ========================================================================= #
|
@@ -230,10 +238,99 @@ class Protein < ::Bioroebe::Sequence # === Bioroebe::Protein
|
|
230
238
|
return result
|
231
239
|
end
|
232
240
|
|
241
|
+
# ========================================================================= #
|
242
|
+
# === can_be_stained_via_coomassie?
|
243
|
+
#
|
244
|
+
# Determine whether a protein can be stained in a coomassie
|
245
|
+
# staining. This is just a simple, fairly dumb check and
|
246
|
+
# NOT guaranteed to be correct. If anyone has a better
|
247
|
+
# way to check for this let me know.
|
248
|
+
# ========================================================================= #
|
249
|
+
def can_be_stained_via_coomassie?
|
250
|
+
disallowed_aminoacids = %w( K H R W F Y)
|
251
|
+
sequence = sequence?
|
252
|
+
return sequence.chars.uniq.any? {|this_aminoacid|
|
253
|
+
disallowed_aminoacids.include? this_aminoacid
|
254
|
+
}
|
255
|
+
end
|
256
|
+
|
257
|
+
# ========================================================================= #
|
258
|
+
# === aliphatic_index
|
259
|
+
#
|
260
|
+
# This method will calculate the aliphatic acid of an aminoacid,
|
261
|
+
# aka a Protein.
|
262
|
+
#
|
263
|
+
# Usage example:
|
264
|
+
#
|
265
|
+
# require 'bioroebe'; Bioroebe::Protein.new('MVKSYDRYEYEDCLGIVNSKSSNCVFLNNA').aliphatic_index # => 71.33333
|
266
|
+
#
|
267
|
+
# ========================================================================= #
|
268
|
+
def aliphatic_index(
|
269
|
+
a = 2.9,
|
270
|
+
b = 3.9
|
271
|
+
)
|
272
|
+
composition = {}
|
273
|
+
composition.default = 0
|
274
|
+
chars = sequence?.chars
|
275
|
+
chars.each { |entry| composition[entry] += 1}
|
276
|
+
(
|
277
|
+
composition['A'] +
|
278
|
+
a * composition['V'].to_f +
|
279
|
+
b * (composition['I'] + composition['L'])
|
280
|
+
).to_f / length.to_f * 100
|
281
|
+
end
|
282
|
+
|
283
|
+
# ========================================================================= #
|
284
|
+
# === Bioroebe::Protein.one_to_three
|
285
|
+
#
|
286
|
+
# Usage example:
|
287
|
+
#
|
288
|
+
# Bioroebe::Protein.one_to_three('A') # => "Ala"
|
289
|
+
#
|
290
|
+
# ========================================================================= #
|
291
|
+
def self.one_to_three(this_aminoacid = 'A')
|
292
|
+
if this_aminoacid.is_a? Array
|
293
|
+
this_aminoacid = this_aminoacid.join(' ').strip
|
294
|
+
end
|
295
|
+
return ::Bioroebe.one_to_three(this_aminoacid)
|
296
|
+
end
|
297
|
+
|
298
|
+
# ========================================================================= #
|
299
|
+
# === Bioroebe::Protein.name
|
300
|
+
#
|
301
|
+
# Usage example:
|
302
|
+
#
|
303
|
+
# Bioroebe::Protein.name('A') # => "alanine"
|
304
|
+
#
|
305
|
+
# ========================================================================= #
|
306
|
+
def self.name(this_aminoacid = 'A')
|
307
|
+
Bioroebe.return_long_name_of_this_aminoacid(this_aminoacid).downcase
|
308
|
+
end
|
309
|
+
|
310
|
+
# ========================================================================= #
|
311
|
+
# === Bioroebe::Protein.to_1
|
312
|
+
#
|
313
|
+
# This will convert from the long name of an aminoacid, such as 'alanine',
|
314
|
+
# to the short one-letter abbreviation.
|
315
|
+
#
|
316
|
+
# Usage example:
|
317
|
+
#
|
318
|
+
# Bioroebe::Protein.to_1('alanine') # => "A"
|
319
|
+
#
|
320
|
+
# ========================================================================= #
|
321
|
+
def self.to_1(this_aminoacid = 'alanine')
|
322
|
+
if this_aminoacid.is_a? Array
|
323
|
+
this_aminoacid = this_aminoacid.join(' ').strip
|
324
|
+
end
|
325
|
+
this_aminoacid.downcase!
|
326
|
+
dataset = YAML.load_file(Bioroebe.file_amino_acids_long_name_to_one_letter)
|
327
|
+
return dataset[this_aminoacid]
|
328
|
+
end
|
329
|
+
|
233
330
|
end
|
234
331
|
|
235
332
|
# =========================================================================== #
|
236
|
-
#
|
333
|
+
# The following "alias" was added in May 2022.
|
237
334
|
# =========================================================================== #
|
238
335
|
Aminoacids = Protein
|
239
336
|
|
@@ -267,6 +364,7 @@ end
|
|
267
364
|
|
268
365
|
if __FILE__ == $PROGRAM_NAME
|
269
366
|
require 'colours/autoinclude'
|
367
|
+
require 'bioroebe/toplevel_methods/verbose.rb'
|
270
368
|
protein = Bioroebe::Protein.new(ARGV)
|
271
369
|
e protein.weight?
|
272
370
|
e Colours.rev+'For the aminoacid sequence:'
|
@@ -277,5 +375,9 @@ if __FILE__ == $PROGRAM_NAME
|
|
277
375
|
e
|
278
376
|
e " #{Colours.royalblue(protein.to_rna)}"
|
279
377
|
e
|
378
|
+
e 'Can this protein be stained via coomassie brilliant blue?:'
|
379
|
+
e
|
380
|
+
e " #{lightblue(Bioroebe::VerboseTruth[protein.can_be_stained_via_coomassie?])}"
|
381
|
+
e
|
280
382
|
end # protein MAC
|
281
383
|
# protein MACCCCAAAAAKKKKLLLLL
|
@@ -188,6 +188,27 @@ class Sequence < ::Bioroebe::RawSequence
|
|
188
188
|
@internal_hash[:type]
|
189
189
|
end; alias type type? # === type
|
190
190
|
|
191
|
+
# ========================================================================= #
|
192
|
+
# === index
|
193
|
+
# ========================================================================= #
|
194
|
+
def index(i)
|
195
|
+
@sequence.index(i)
|
196
|
+
end
|
197
|
+
|
198
|
+
# ========================================================================= #
|
199
|
+
# === map
|
200
|
+
# ========================================================================= #
|
201
|
+
def map(&block)
|
202
|
+
@sequence.map(&block)
|
203
|
+
end
|
204
|
+
|
205
|
+
# ========================================================================= #
|
206
|
+
# === size?
|
207
|
+
# ========================================================================= #
|
208
|
+
def size?
|
209
|
+
@sequence.size
|
210
|
+
end
|
211
|
+
|
191
212
|
# ========================================================================= #
|
192
213
|
# === to_regexp
|
193
214
|
#
|
@@ -334,7 +355,7 @@ class Sequence < ::Bioroebe::RawSequence
|
|
334
355
|
# ===================================================================== #
|
335
356
|
sequence?.tr!('T','U') if sequence?
|
336
357
|
end
|
337
|
-
end
|
358
|
+
end; alias normalize sanitize_dataset # === normalize
|
338
359
|
|
339
360
|
# ========================================================================= #
|
340
361
|
# === set_type
|
@@ -484,7 +505,8 @@ class Sequence < ::Bioroebe::RawSequence
|
|
484
505
|
# ===================================================================== #
|
485
506
|
# === :do_not_downcase
|
486
507
|
# ===================================================================== #
|
487
|
-
when :do_not_downcase
|
508
|
+
when :do_not_downcase,
|
509
|
+
:make_no_modification
|
488
510
|
# Make no modification in this case.
|
489
511
|
# ===================================================================== #
|
490
512
|
# === :do_upcase
|
@@ -526,6 +548,16 @@ class Sequence < ::Bioroebe::RawSequence
|
|
526
548
|
end; alias set_rna_type set_rna # === set_rna_type
|
527
549
|
alias convert_to_rna set_rna # === convert_to_rna
|
528
550
|
|
551
|
+
# ========================================================================= #
|
552
|
+
# === automatic_support_for_nucleotides
|
553
|
+
#
|
554
|
+
# This adds automatic support for RNA and DNA to this sequence object.
|
555
|
+
# ========================================================================= #
|
556
|
+
def automatic_support_for_nucleotides
|
557
|
+
require 'bioroebe/sequence/nucleotide_module/nucleotide_module.rb'
|
558
|
+
extend(Bioroebe::NucleotideModule)
|
559
|
+
end
|
560
|
+
|
529
561
|
# ========================================================================= #
|
530
562
|
# === set_dna
|
531
563
|
# ========================================================================= #
|
@@ -544,6 +576,33 @@ class Sequence < ::Bioroebe::RawSequence
|
|
544
576
|
}.join
|
545
577
|
end
|
546
578
|
|
579
|
+
# ========================================================================= #
|
580
|
+
# === remove_invalid_entries_from_the_dna_sequence!
|
581
|
+
# ========================================================================= #
|
582
|
+
def remove_invalid_entries_from_the_dna_sequence!(i = sequence?)
|
583
|
+
result = i.chars.select {|character|
|
584
|
+
DNA_NUCLEOTIDES.include? character.upcase
|
585
|
+
}.join
|
586
|
+
set_sequence(result)
|
587
|
+
end
|
588
|
+
|
589
|
+
# ========================================================================= #
|
590
|
+
# === randomize
|
591
|
+
#
|
592
|
+
# Usage example:
|
593
|
+
#
|
594
|
+
# x = Bioroebe::Sequence.new; x.randomize
|
595
|
+
#
|
596
|
+
# ========================================================================= #
|
597
|
+
def randomize(
|
598
|
+
i = { 'A'=>1,'C'=>2,'G'=>3,'T'=>4 }
|
599
|
+
)
|
600
|
+
if i.is_a? Hash
|
601
|
+
i = i.map{|key, value| "#{key * value}" }.join
|
602
|
+
end
|
603
|
+
::Bioroebe.random_dna(size?, i) # => "GGTAGGGGGGGGTAGGGGGG"
|
604
|
+
end
|
605
|
+
|
547
606
|
# ========================================================================= #
|
548
607
|
# === Bioroebe::Sequence.sequence_from_file
|
549
608
|
#
|