bioroebe 0.10.80

Sign up to get free protection for your applications and to get access to all the features.
Files changed (802) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.md +428 -0
  3. data/README.md +9280 -0
  4. data/bin/advanced_dotplot +7 -0
  5. data/bin/align_open_reading_frames +12 -0
  6. data/bin/all_positions_of_this_nucleotide +7 -0
  7. data/bin/aminoacid_composition +7 -0
  8. data/bin/aminoacid_frequencies +12 -0
  9. data/bin/aminoacid_substitution +7 -0
  10. data/bin/automatically_rename_this_fasta_file +7 -0
  11. data/bin/base_composition +7 -0
  12. data/bin/batch_create_windows_executables +7 -0
  13. data/bin/biomart_console +11 -0
  14. data/bin/bioroebe +27 -0
  15. data/bin/bioroebe_controller +10 -0
  16. data/bin/bioshell +26 -0
  17. data/bin/blosum_2D_table +12 -0
  18. data/bin/calculate_n50_value +12 -0
  19. data/bin/chunked_display +12 -0
  20. data/bin/codon_frequency +9 -0
  21. data/bin/codon_to_aminoacid +30 -0
  22. data/bin/colourize_this_fasta_sequence +14 -0
  23. data/bin/compact_fasta_file +7 -0
  24. data/bin/complement +7 -0
  25. data/bin/complementary_dna_strand +12 -0
  26. data/bin/complementary_rna_strand +12 -0
  27. data/bin/compseq +7 -0
  28. data/bin/consensus_sequence +17 -0
  29. data/bin/count_AT +12 -0
  30. data/bin/count_GC +12 -0
  31. data/bin/create_random_aminoacids +7 -0
  32. data/bin/decode_this_aminoacid_sequence +20 -0
  33. data/bin/deduce_aminoacid_sequence +13 -0
  34. data/bin/deduce_most_likely_aminoacid_sequence +7 -0
  35. data/bin/display_aminoacid_table +12 -0
  36. data/bin/display_open_reading_frames +7 -0
  37. data/bin/dna_to_aminoacid_sequence +7 -0
  38. data/bin/dna_to_rna +7 -0
  39. data/bin/downcase_chunked_display +12 -0
  40. data/bin/download_this_pdb +7 -0
  41. data/bin/fasta_index +7 -0
  42. data/bin/fetch_data_from_uniprot +12 -0
  43. data/bin/filter_away_invalid_nucleotides +12 -0
  44. data/bin/find_substring +19 -0
  45. data/bin/genbank_to_fasta +7 -0
  46. data/bin/hamming_distance +12 -0
  47. data/bin/input_as_dna +12 -0
  48. data/bin/is_palindrome +13 -0
  49. data/bin/leading_five_prime +7 -0
  50. data/bin/levensthein +7 -0
  51. data/bin/longest_ORF +14 -0
  52. data/bin/longest_substring +12 -0
  53. data/bin/n_stop_codons_in_this_sequence +15 -0
  54. data/bin/open_reading_frames +14 -0
  55. data/bin/overwrite_fasta_header +7 -0
  56. data/bin/palindrome_2D_structure +7 -0
  57. data/bin/palindrome_generator +7 -0
  58. data/bin/parse_fasta +7 -0
  59. data/bin/partner_nucleotide +9 -0
  60. data/bin/possible_codons_for_this_aminoacid +12 -0
  61. data/bin/random_dna_sequence +12 -0
  62. data/bin/random_sequence +12 -0
  63. data/bin/raw_hamming_distance +12 -0
  64. data/bin/return_longest_substring_via_LCS_algorithm +7 -0
  65. data/bin/reverse_complement +7 -0
  66. data/bin/reverse_sequence +7 -0
  67. data/bin/ruler +12 -0
  68. data/bin/scan_this_input_for_startcodons +12 -0
  69. data/bin/short_aminoacid_letter_from_long_aminoacid_name +7 -0
  70. data/bin/show_atomic_composition +7 -0
  71. data/bin/show_codon_usage +12 -0
  72. data/bin/show_fasta_header +7 -0
  73. data/bin/show_nucleotide_sequence +7 -0
  74. data/bin/show_this_codon_table +7 -0
  75. data/bin/show_this_dna_sequence +7 -0
  76. data/bin/showorf +14 -0
  77. data/bin/simplify_fasta +7 -0
  78. data/bin/sort_aminoacid_based_on_its_hydrophobicity +7 -0
  79. data/bin/split_this_fasta_file_into_chromosomes +7 -0
  80. data/bin/strict_filter_away_invalid_aminoacids +7 -0
  81. data/bin/taxonomy +63 -0
  82. data/bin/three_to_one +7 -0
  83. data/bin/to_rna +7 -0
  84. data/bin/trailing_three_prime +7 -0
  85. data/bin/trypsin_digest +7 -0
  86. data/bin/upcase_this_aminoacid_sequence_and_remove_numbers +7 -0
  87. data/bioroebe.gemspec +97 -0
  88. data/doc/IUPAC_aminoacids_code.md +36 -0
  89. data/doc/IUPAC_nucleotide_code.md +19 -0
  90. data/doc/README.gen +9237 -0
  91. data/doc/blosum.md +5 -0
  92. data/doc/compatibility/BIO_PHP.md +37 -0
  93. data/doc/compatibility/README.md +3 -0
  94. data/doc/compatibility/emboss.md +56 -0
  95. data/doc/extensive_usage_example.md +35 -0
  96. data/doc/german_names_for_the_aminoacids.md +27 -0
  97. data/doc/instructions_for_the_taxonomy_subproject.md +504 -0
  98. data/doc/legacy_paths.md +9 -0
  99. data/doc/pdb_ATOM_entry.md +33 -0
  100. data/doc/quality_control/README.md +2 -0
  101. data/doc/quality_control/commandline_applications.md +13 -0
  102. data/doc/resources.md +23 -0
  103. data/doc/setup.rb +1655 -0
  104. data/doc/statistics/statistics.md +41 -0
  105. data/doc/todo/README.md +5 -0
  106. data/doc/todo/bioroebe_GUI_todo.md +15 -0
  107. data/doc/todo/bioroebe_todo.md +2823 -0
  108. data/doc/using_biomart.md +258 -0
  109. data/html/test.html +144 -0
  110. data/lib/bioroebe/aminoacids/aminoacid_substitution.rb +118 -0
  111. data/lib/bioroebe/aminoacids/aminoacids_mass_table.rb +118 -0
  112. data/lib/bioroebe/aminoacids/codon_percentage.rb +189 -0
  113. data/lib/bioroebe/aminoacids/colourize_hydrophilic_and_hydrophobic_aminoacids.rb +110 -0
  114. data/lib/bioroebe/aminoacids/create_random_aminoacids.rb +221 -0
  115. data/lib/bioroebe/aminoacids/deduce_aminoacid_sequence.rb +460 -0
  116. data/lib/bioroebe/aminoacids/display_aminoacid_table.rb +231 -0
  117. data/lib/bioroebe/aminoacids/show_hydrophobicity.rb +184 -0
  118. data/lib/bioroebe/annotations/README.md +2 -0
  119. data/lib/bioroebe/annotations/create_annotation_format.rb +208 -0
  120. data/lib/bioroebe/autoinclude.rb +7 -0
  121. data/lib/bioroebe/base/base.rb +35 -0
  122. data/lib/bioroebe/base/colours.rb +14 -0
  123. data/lib/bioroebe/base/colours_for_base/colours_for_base.rb +275 -0
  124. data/lib/bioroebe/base/commandline_application/README.md +7 -0
  125. data/lib/bioroebe/base/commandline_application/aminoacids.rb +33 -0
  126. data/lib/bioroebe/base/commandline_application/commandline_application.rb +37 -0
  127. data/lib/bioroebe/base/commandline_application/commandline_arguments.rb +144 -0
  128. data/lib/bioroebe/base/commandline_application/directory.rb +33 -0
  129. data/lib/bioroebe/base/commandline_application/extract.rb +22 -0
  130. data/lib/bioroebe/base/commandline_application/misc.rb +485 -0
  131. data/lib/bioroebe/base/commandline_application/opn.rb +47 -0
  132. data/lib/bioroebe/base/commandline_application/reset.rb +40 -0
  133. data/lib/bioroebe/base/commandline_application/warnings.rb +36 -0
  134. data/lib/bioroebe/base/commandline_application/write_what_into.rb +29 -0
  135. data/lib/bioroebe/base/initialize.rb +18 -0
  136. data/lib/bioroebe/base/misc.rb +94 -0
  137. data/lib/bioroebe/base/namespace.rb +16 -0
  138. data/lib/bioroebe/base/prototype/README.md +12 -0
  139. data/lib/bioroebe/base/prototype/e_and_ee.rb +24 -0
  140. data/lib/bioroebe/base/prototype/misc.rb +108 -0
  141. data/lib/bioroebe/base/prototype/mkdir.rb +20 -0
  142. data/lib/bioroebe/base/prototype/prototype.rb +21 -0
  143. data/lib/bioroebe/base/prototype/reset.rb +26 -0
  144. data/lib/bioroebe/base/reset.rb +11 -0
  145. data/lib/bioroebe/biomart/LICENSE.md +27 -0
  146. data/lib/bioroebe/biomart/attribute.rb +77 -0
  147. data/lib/bioroebe/biomart/biomart.rb +227 -0
  148. data/lib/bioroebe/biomart/database.rb +128 -0
  149. data/lib/bioroebe/biomart/dataset.rb +572 -0
  150. data/lib/bioroebe/biomart/filter.rb +97 -0
  151. data/lib/bioroebe/biomart/server.rb +152 -0
  152. data/lib/bioroebe/blosum/blosum.rb +88 -0
  153. data/lib/bioroebe/calculate/calculate_blosum_score.rb +145 -0
  154. data/lib/bioroebe/calculate/calculate_gc_content.rb +301 -0
  155. data/lib/bioroebe/calculate/calculate_levensthein_distance.rb +100 -0
  156. data/lib/bioroebe/calculate/calculate_melting_temperature.rb +398 -0
  157. data/lib/bioroebe/calculate/calculate_melting_temperature_for_more_than_thirteen_nucleotides.rb +304 -0
  158. data/lib/bioroebe/calculate/calculate_the_position_specific_scoring_matrix.rb +166 -0
  159. data/lib/bioroebe/cell/README.md +1 -0
  160. data/lib/bioroebe/cell/cell.rb +63 -0
  161. data/lib/bioroebe/cleave_and_digest/README.md +2 -0
  162. data/lib/bioroebe/cleave_and_digest/cleave.rb +80 -0
  163. data/lib/bioroebe/cleave_and_digest/digestion.rb +75 -0
  164. data/lib/bioroebe/cleave_and_digest/trypsin.rb +192 -0
  165. data/lib/bioroebe/codon_tables/README.md +9 -0
  166. data/lib/bioroebe/codon_tables/frequencies/287_Pseudomonas_aeruginosa.yml +101 -0
  167. data/lib/bioroebe/codon_tables/frequencies/3702_Arabidopsis_thaliana.yml +77 -0
  168. data/lib/bioroebe/codon_tables/frequencies/4932_Saccharomyces_cerevisiae.yml +103 -0
  169. data/lib/bioroebe/codon_tables/frequencies/7227_Drosophila_melanogaster.yml +71 -0
  170. data/lib/bioroebe/codon_tables/frequencies/83333_Escherichia_coli_K12.yml +103 -0
  171. data/lib/bioroebe/codon_tables/frequencies/9606_Homo_sapiens.yml +123 -0
  172. data/lib/bioroebe/codon_tables/frequencies/9685_Felis_catus.yml +78 -0
  173. data/lib/bioroebe/codon_tables/frequencies/README.md +10 -0
  174. data/lib/bioroebe/codon_tables/frequencies/parse_frequency_table.rb +337 -0
  175. data/lib/bioroebe/codons/README.md +28 -0
  176. data/lib/bioroebe/codons/codon_table.rb +416 -0
  177. data/lib/bioroebe/codons/codon_tables.rb +123 -0
  178. data/lib/bioroebe/codons/codons.rb +517 -0
  179. data/lib/bioroebe/codons/convert_this_codon_to_that_aminoacid.rb +102 -0
  180. data/lib/bioroebe/codons/detect_minimal_codon.rb +180 -0
  181. data/lib/bioroebe/codons/determine_optimal_codons.rb +74 -0
  182. data/lib/bioroebe/codons/possible_codons_for_this_aminoacid.rb +380 -0
  183. data/lib/bioroebe/codons/sanitize_codon_frequency.rb +144 -0
  184. data/lib/bioroebe/codons/show_codon_tables.rb +130 -0
  185. data/lib/bioroebe/codons/show_codon_usage.rb +197 -0
  186. data/lib/bioroebe/codons/show_this_codon_table.rb +573 -0
  187. data/lib/bioroebe/codons/start_codons.rb +105 -0
  188. data/lib/bioroebe/colours/colour_schemes/README.md +10 -0
  189. data/lib/bioroebe/colours/colour_schemes/array_available_colour_schemes.rb +38 -0
  190. data/lib/bioroebe/colours/colour_schemes/buried.rb +70 -0
  191. data/lib/bioroebe/colours/colour_schemes/colour_scheme.rb +101 -0
  192. data/lib/bioroebe/colours/colour_schemes/colour_scheme_demo.rb +262 -0
  193. data/lib/bioroebe/colours/colour_schemes/helix.rb +65 -0
  194. data/lib/bioroebe/colours/colour_schemes/hydropathy.rb +70 -0
  195. data/lib/bioroebe/colours/colour_schemes/nucleotide.rb +47 -0
  196. data/lib/bioroebe/colours/colour_schemes/score.rb +112 -0
  197. data/lib/bioroebe/colours/colour_schemes/simple.rb +42 -0
  198. data/lib/bioroebe/colours/colour_schemes/strand.rb +65 -0
  199. data/lib/bioroebe/colours/colour_schemes/taylor.rb +58 -0
  200. data/lib/bioroebe/colours/colour_schemes/turn.rb +65 -0
  201. data/lib/bioroebe/colours/colour_schemes/zappo.rb +59 -0
  202. data/lib/bioroebe/colours/colourize_sequence.rb +262 -0
  203. data/lib/bioroebe/colours/colours.rb +119 -0
  204. data/lib/bioroebe/colours/misc_colours.rb +80 -0
  205. data/lib/bioroebe/colours/rev.rb +41 -0
  206. data/lib/bioroebe/colours/sdir.rb +21 -0
  207. data/lib/bioroebe/colours/sfancy.rb +21 -0
  208. data/lib/bioroebe/colours/sfile.rb +21 -0
  209. data/lib/bioroebe/colours/simp.rb +21 -0
  210. data/lib/bioroebe/colours/swarn.rb +29 -0
  211. data/lib/bioroebe/colours/use_colours.rb +27 -0
  212. data/lib/bioroebe/configuration/configuration.rb +114 -0
  213. data/lib/bioroebe/configuration/constants.rb +35 -0
  214. data/lib/bioroebe/constants/GUIs.rb +79 -0
  215. data/lib/bioroebe/constants/aminoacids_and_proteins.rb +146 -0
  216. data/lib/bioroebe/constants/base_directory.rb +120 -0
  217. data/lib/bioroebe/constants/carriage_return.rb +14 -0
  218. data/lib/bioroebe/constants/codon_tables.rb +77 -0
  219. data/lib/bioroebe/constants/database_constants.rb +107 -0
  220. data/lib/bioroebe/constants/files_and_directories.rb +579 -0
  221. data/lib/bioroebe/constants/misc.rb +189 -0
  222. data/lib/bioroebe/constants/newline.rb +14 -0
  223. data/lib/bioroebe/constants/nucleotides.rb +114 -0
  224. data/lib/bioroebe/constants/regex.rb +28 -0
  225. data/lib/bioroebe/constants/roebe.rb +38 -0
  226. data/lib/bioroebe/constants/row_terminator.rb +16 -0
  227. data/lib/bioroebe/constants/tabulator.rb +14 -0
  228. data/lib/bioroebe/constants/unicode.rb +12 -0
  229. data/lib/bioroebe/constants/urls.rb +50 -0
  230. data/lib/bioroebe/conversions/README.md +3 -0
  231. data/lib/bioroebe/conversions/convert_aminoacid_to_dna.rb +298 -0
  232. data/lib/bioroebe/conversions/dna_to_aminoacid_sequence.rb +569 -0
  233. data/lib/bioroebe/count/README.md +1 -0
  234. data/lib/bioroebe/count/count_amount_of_aminoacids.rb +352 -0
  235. data/lib/bioroebe/count/count_amount_of_nucleotides.rb +491 -0
  236. data/lib/bioroebe/count/count_at.rb +39 -0
  237. data/lib/bioroebe/count/count_gc.rb +43 -0
  238. data/lib/bioroebe/css/README.md +5 -0
  239. data/lib/bioroebe/css/project.css +121 -0
  240. data/lib/bioroebe/data/README.md +10 -0
  241. data/lib/bioroebe/data/bam/README.md +1 -0
  242. data/lib/bioroebe/data/data.txt +192 -0
  243. data/lib/bioroebe/data/fasta/GFP_mutant_3_coding_sequence.fasta +12 -0
  244. data/lib/bioroebe/data/fasta/alu_elements.fasta +42 -0
  245. data/lib/bioroebe/data/fasta/lady_slippers_orchid.fasta +1197 -0
  246. data/lib/bioroebe/data/fasta/loxP.fasta +2 -0
  247. data/lib/bioroebe/data/fasta/ls_orchid.fasta +1197 -0
  248. data/lib/bioroebe/data/fasta/pax6_in_mouse.fasta +1 -0
  249. data/lib/bioroebe/data/fasta/test.fasta +7 -0
  250. data/lib/bioroebe/data/fasta/test_DNA.fasta +1 -0
  251. data/lib/bioroebe/data/fastq/fastq_example_file.fastq +32 -0
  252. data/lib/bioroebe/data/fastq/fastq_example_file_SP1.fastq +1000 -0
  253. data/lib/bioroebe/data/fastq/one_random_fastq_entry.fastq +4 -0
  254. data/lib/bioroebe/data/genbank/sample_file.genbank +15 -0
  255. data/lib/bioroebe/data/genbank/standard.fasta +3 -0
  256. data/lib/bioroebe/data/gff/Escherichia_coli_K12_plasmid_F_DNA_NC_002483.1.gff3 +345 -0
  257. data/lib/bioroebe/data/gff/sample.gff +2 -0
  258. data/lib/bioroebe/data/gff/test_gene.gff +4 -0
  259. data/lib/bioroebe/data/gff/transcripts.gff +16 -0
  260. data/lib/bioroebe/data/gtf/README.md +1 -0
  261. data/lib/bioroebe/data/json/example_config.json +48 -0
  262. data/lib/bioroebe/data/pdb/1VII.pdb +754 -0
  263. data/lib/bioroebe/data/pdb/ala_phe_ala.pdb +228 -0
  264. data/lib/bioroebe/data/pdb/rcsb_pdb_1VII.fasta +2 -0
  265. data/lib/bioroebe/data/phylip/README.md +11 -0
  266. data/lib/bioroebe/data/phylip/example.phylip +7 -0
  267. data/lib/bioroebe/data/svg/example.svg +301 -0
  268. data/lib/bioroebe/databases/README.md +1 -0
  269. data/lib/bioroebe/databases/download_taxonomy_database.rb +102 -0
  270. data/lib/bioroebe/dotplots/README.md +5 -0
  271. data/lib/bioroebe/dotplots/advanced_dotplot.rb +256 -0
  272. data/lib/bioroebe/dotplots/dotplot.rb +184 -0
  273. data/lib/bioroebe/electron_microscopy/coordinate_analyzer.rb +191 -0
  274. data/lib/bioroebe/electron_microscopy/fix_pos_file.rb +102 -0
  275. data/lib/bioroebe/electron_microscopy/generate_em2em_file.rb +122 -0
  276. data/lib/bioroebe/electron_microscopy/parse_coordinates.rb +197 -0
  277. data/lib/bioroebe/electron_microscopy/read_file_xmd.rb +282 -0
  278. data/lib/bioroebe/electron_microscopy/simple_star_file_generator.rb +131 -0
  279. data/lib/bioroebe/encoding/README.md +2 -0
  280. data/lib/bioroebe/encoding/encoding.rb +45 -0
  281. data/lib/bioroebe/enzymes/README.md +2 -0
  282. data/lib/bioroebe/enzymes/has_this_restriction_enzyme.rb +46 -0
  283. data/lib/bioroebe/enzymes/restriction_enzyme.rb +200 -0
  284. data/lib/bioroebe/enzymes/restriction_enzymes_file.rb +72 -0
  285. data/lib/bioroebe/enzymes/return_restriction_enzyme_sequence_and_cut_position.rb +80 -0
  286. data/lib/bioroebe/enzymes/return_sequence_that_is_cut_via_restriction_enzyme.rb +65 -0
  287. data/lib/bioroebe/enzymes/show_restriction_enzymes.rb +119 -0
  288. data/lib/bioroebe/exceptions/README.md +2 -0
  289. data/lib/bioroebe/exceptions/exceptions.rb +17 -0
  290. data/lib/bioroebe/ext/LICENCE.md +5 -0
  291. data/lib/bioroebe/ext/README.md +7 -0
  292. data/lib/bioroebe/ext/main.cpp +45 -0
  293. data/lib/bioroebe/ext/nucleotide.cpp +24 -0
  294. data/lib/bioroebe/ext/nussinov_algorithm.cpp +348 -0
  295. data/lib/bioroebe/ext/sequence +0 -0
  296. data/lib/bioroebe/ext/sequence.cpp +162 -0
  297. data/lib/bioroebe/fasta_and_fastq/README.md +6 -0
  298. data/lib/bioroebe/fasta_and_fastq/autocorrect_the_name_of_this_fasta_file.rb +88 -0
  299. data/lib/bioroebe/fasta_and_fastq/compact_fasta_file/compact_fasta_file.rb +151 -0
  300. data/lib/bioroebe/fasta_and_fastq/display_how_many_fasta_entries_are_in_this_directory.rb +111 -0
  301. data/lib/bioroebe/fasta_and_fastq/download_fasta.rb +248 -0
  302. data/lib/bioroebe/fasta_and_fastq/fasta_defline/README.md +2 -0
  303. data/lib/bioroebe/fasta_and_fastq/fasta_defline/fasta_defline.rb +113 -0
  304. data/lib/bioroebe/fasta_and_fastq/fasta_parser.rb +167 -0
  305. data/lib/bioroebe/fasta_and_fastq/fastq_format_explainer.rb +131 -0
  306. data/lib/bioroebe/fasta_and_fastq/length_modifier/length_modifier.rb +87 -0
  307. data/lib/bioroebe/fasta_and_fastq/parse_fasta/constants.rb +50 -0
  308. data/lib/bioroebe/fasta_and_fastq/parse_fasta/initialize.rb +86 -0
  309. data/lib/bioroebe/fasta_and_fastq/parse_fasta/menu.rb +117 -0
  310. data/lib/bioroebe/fasta_and_fastq/parse_fasta/misc.rb +981 -0
  311. data/lib/bioroebe/fasta_and_fastq/parse_fasta/parse_fasta.rb +27 -0
  312. data/lib/bioroebe/fasta_and_fastq/parse_fasta/report.rb +156 -0
  313. data/lib/bioroebe/fasta_and_fastq/parse_fasta/reset.rb +128 -0
  314. data/lib/bioroebe/fasta_and_fastq/parse_fasta/run.rb +20 -0
  315. data/lib/bioroebe/fasta_and_fastq/parse_fastq/parse_fastq.rb +83 -0
  316. data/lib/bioroebe/fasta_and_fastq/return_fasta_subsection_of_this_file.rb +112 -0
  317. data/lib/bioroebe/fasta_and_fastq/show_fasta_headers.rb +135 -0
  318. data/lib/bioroebe/fasta_and_fastq/show_fasta_statistics.rb +188 -0
  319. data/lib/bioroebe/fasta_and_fastq/simplify_fasta_header/simplify_fasta_header.rb +111 -0
  320. data/lib/bioroebe/fasta_and_fastq/split_this_fasta_file_into_chromosomes/constants.rb +26 -0
  321. data/lib/bioroebe/fasta_and_fastq/split_this_fasta_file_into_chromosomes/menu.rb +41 -0
  322. data/lib/bioroebe/fasta_and_fastq/split_this_fasta_file_into_chromosomes/misc.rb +23 -0
  323. data/lib/bioroebe/fasta_and_fastq/split_this_fasta_file_into_chromosomes/reset.rb +68 -0
  324. data/lib/bioroebe/fasta_and_fastq/split_this_fasta_file_into_chromosomes/split_this_fasta_file_into_chromosomes.rb +290 -0
  325. data/lib/bioroebe/genbank/README.md +1 -0
  326. data/lib/bioroebe/genbank/genbank_flat_file_format_generator.rb +275 -0
  327. data/lib/bioroebe/genbank/genbank_parser.rb +291 -0
  328. data/lib/bioroebe/gene/gene.rb +64 -0
  329. data/lib/bioroebe/genomes/genome_pattern.rb +165 -0
  330. data/lib/bioroebe/genomes/genome_retriever.rb +79 -0
  331. data/lib/bioroebe/gui/experimental/README.md +1 -0
  332. data/lib/bioroebe/gui/experimental/snapgene/snapgene.rb +147 -0
  333. data/lib/bioroebe/gui/gtk3/README.md +2 -0
  334. data/lib/bioroebe/gui/gtk3/alignment/alignment.rb +337 -0
  335. data/lib/bioroebe/gui/gtk3/aminoacid_composition/aminoacid_composition.rb +510 -0
  336. data/lib/bioroebe/gui/gtk3/aminoacid_composition/customized_dialog.rb +55 -0
  337. data/lib/bioroebe/gui/gtk3/anti_sense_strand/anti_sense_strand.config +6 -0
  338. data/lib/bioroebe/gui/gtk3/anti_sense_strand/anti_sense_strand.rb +29 -0
  339. data/lib/bioroebe/gui/gtk3/blosum_matrix_viewer/blosum_matrix_viewer.rb +196 -0
  340. data/lib/bioroebe/gui/gtk3/calculate_cell_numbers_of_bacteria/calculate_cell_numbers_of_bacteria.config +6 -0
  341. data/lib/bioroebe/gui/gtk3/calculate_cell_numbers_of_bacteria/calculate_cell_numbers_of_bacteria.rb +106 -0
  342. data/lib/bioroebe/gui/gtk3/controller/controller.rb +406 -0
  343. data/lib/bioroebe/gui/gtk3/dna_to_aminoacid_widget/dna_to_aminoacid_widget.rb +609 -0
  344. data/lib/bioroebe/gui/gtk3/dna_to_reverse_complement_widget/dna_to_reverse_complement_widget.config +6 -0
  345. data/lib/bioroebe/gui/gtk3/dna_to_reverse_complement_widget/dna_to_reverse_complement_widget.rb +189 -0
  346. data/lib/bioroebe/gui/gtk3/fasta_table_widget/fasta_table_widget.rb +245 -0
  347. data/lib/bioroebe/gui/gtk3/format_converter/format_converter.rb +346 -0
  348. data/lib/bioroebe/gui/gtk3/gene/gene.rb +182 -0
  349. data/lib/bioroebe/gui/gtk3/hamming_distance/hamming_distance.config +6 -0
  350. data/lib/bioroebe/gui/gtk3/hamming_distance/hamming_distance.rb +370 -0
  351. data/lib/bioroebe/gui/gtk3/levensthein_distance/levensthein_distance.config +6 -0
  352. data/lib/bioroebe/gui/gtk3/levensthein_distance/levensthein_distance.rb +175 -0
  353. data/lib/bioroebe/gui/gtk3/nucleotide_analyser/nucleotide_analyser.rb +428 -0
  354. data/lib/bioroebe/gui/gtk3/parse_pdb_file/parse_pdb_file.rb +342 -0
  355. data/lib/bioroebe/gui/gtk3/primer_design_widget/primer_design_widget.rb +580 -0
  356. data/lib/bioroebe/gui/gtk3/protein_to_DNA/protein_to_DNA.config +6 -0
  357. data/lib/bioroebe/gui/gtk3/protein_to_DNA/protein_to_DNA.rb +182 -0
  358. data/lib/bioroebe/gui/gtk3/random_sequence/random_sequence.rb +566 -0
  359. data/lib/bioroebe/gui/gtk3/restriction_enzymes/restriction_enzymes.config +6 -0
  360. data/lib/bioroebe/gui/gtk3/restriction_enzymes/restriction_enzymes.rb +329 -0
  361. data/lib/bioroebe/gui/gtk3/show_codon_table/misc.rb +556 -0
  362. data/lib/bioroebe/gui/gtk3/show_codon_table/show_codon_table.rb +171 -0
  363. data/lib/bioroebe/gui/gtk3/show_codon_usage/show_codon_usage.rb +146 -0
  364. data/lib/bioroebe/gui/gtk3/sizeseq/sizeseq.rb +207 -0
  365. data/lib/bioroebe/gui/gtk3/three_to_one/three_to_one.rb +279 -0
  366. data/lib/bioroebe/gui/gtk3/three_to_one/title.rb +23 -0
  367. data/lib/bioroebe/gui/gtk3/www_finder/www_finder.config +6 -0
  368. data/lib/bioroebe/gui/gtk3/www_finder/www_finder.rb +368 -0
  369. data/lib/bioroebe/gui/jruby/blosum_matrix_viewer/blosum_matrix_viewer.rb +82 -0
  370. data/lib/bioroebe/gui/libui/README.md +4 -0
  371. data/lib/bioroebe/gui/libui/alignment/alignment.rb +114 -0
  372. data/lib/bioroebe/gui/libui/blosum_matrix_viewer/blosum_matrix_viewer.rb +112 -0
  373. data/lib/bioroebe/gui/libui/calculate_cell_numbers_of_bacteria/calculate_cell_numbers_of_bacteria.rb +60 -0
  374. data/lib/bioroebe/gui/libui/dna_to_aminoacid_widget/dna_to_aminoacid_widget.rb +161 -0
  375. data/lib/bioroebe/gui/libui/dna_to_reverse_complement_widget/dna_to_reverse_complement_widget.rb +76 -0
  376. data/lib/bioroebe/gui/libui/hamming_distance/hamming_distance.rb +135 -0
  377. data/lib/bioroebe/gui/libui/levensthein_distance/levensthein_distance.rb +118 -0
  378. data/lib/bioroebe/gui/libui/protein_to_DNA/protein_to_DNA.rb +115 -0
  379. data/lib/bioroebe/gui/libui/random_sequence/random_sequence.rb +174 -0
  380. data/lib/bioroebe/gui/libui/show_codon_table/show_codon_table.rb +132 -0
  381. data/lib/bioroebe/gui/libui/show_codon_usage/show_codon_usage.rb +89 -0
  382. data/lib/bioroebe/gui/libui/three_to_one/three_to_one.rb +111 -0
  383. data/lib/bioroebe/gui/shared_code/blosum_matrix_viewer/blosum_matrix_viewer_module.rb +42 -0
  384. data/lib/bioroebe/gui/shared_code/calculate_cell_numbers_of_bacteria/calculate_cell_numbers_of_bacteria_module.rb +216 -0
  385. data/lib/bioroebe/gui/shared_code/dna_to_reverse_complement_widget/dna_to_reverse_complement_widget_module.rb +284 -0
  386. data/lib/bioroebe/gui/shared_code/levensthein_distance/levensthein_distance_module.rb +402 -0
  387. data/lib/bioroebe/gui/shared_code/protein_to_DNA/protein_to_DNA_module.rb +192 -0
  388. data/lib/bioroebe/gui/shared_code/show_codon_table/show_codon_table_module.rb +72 -0
  389. data/lib/bioroebe/gui/shared_code/show_codon_usage/show_codon_usage_module.rb +213 -0
  390. data/lib/bioroebe/gui/tk/aminoacid_composition/aminoacid_composition.rb +206 -0
  391. data/lib/bioroebe/gui/tk/blosum_matrix_viewer/blosum_matrix_viewer.rb +140 -0
  392. data/lib/bioroebe/gui/tk/hamming_distance/hamming_distance.rb +262 -0
  393. data/lib/bioroebe/gui/tk/levensthein_distance/levensthein_distance.rb +243 -0
  394. data/lib/bioroebe/gui/tk/three_to_one/three_to_one.rb +199 -0
  395. data/lib/bioroebe/gui/unified_widgets/anti_sense_strand/anti_sense_strand.rb +519 -0
  396. data/lib/bioroebe/images/BIOROEBE.png +0 -0
  397. data/lib/bioroebe/images/BIOROEBE_NEW_LOGO.png +0 -0
  398. data/lib/bioroebe/images/BlosumMatrixViewer.png +0 -0
  399. data/lib/bioroebe/images/DnaToAminoacidWidget.png +0 -0
  400. data/lib/bioroebe/images/PRINTED_AMINOACID_TABLE.png +0 -0
  401. data/lib/bioroebe/images/class_ConvertAminoacidToDNA.png +0 -0
  402. data/lib/bioroebe/images/class_SimpleStringComparer.png +0 -0
  403. data/lib/bioroebe/images/example_of_FASTA_coloured_output.png +0 -0
  404. data/lib/bioroebe/images/libui_hamming_distance_widget.png +0 -0
  405. data/lib/bioroebe/images/pretty_DNA_picture.png +0 -0
  406. data/lib/bioroebe/images/primer_design_widget.png +0 -0
  407. data/lib/bioroebe/images/restriction_enzyme_commandline_result.png +0 -0
  408. data/lib/bioroebe/images/ruby-gtk_three_to_one_widget.png +0 -0
  409. data/lib/bioroebe/images/small_DNA_logo.png +0 -0
  410. data/lib/bioroebe/images/small_drosophila_image.png +0 -0
  411. data/lib/bioroebe/java/README.md +6 -0
  412. data/lib/bioroebe/java/bioroebe/AllInOne.class +0 -0
  413. data/lib/bioroebe/java/bioroebe/AllInOne.java +214 -0
  414. data/lib/bioroebe/java/bioroebe/Base.class +0 -0
  415. data/lib/bioroebe/java/bioroebe/Base.java +102 -0
  416. data/lib/bioroebe/java/bioroebe/BisulfiteTreatment.class +0 -0
  417. data/lib/bioroebe/java/bioroebe/BisulfiteTreatment.java +23 -0
  418. data/lib/bioroebe/java/bioroebe/Cat.class +0 -0
  419. data/lib/bioroebe/java/bioroebe/Codons.class +0 -0
  420. data/lib/bioroebe/java/bioroebe/Codons.java +22 -0
  421. data/lib/bioroebe/java/bioroebe/Esystem.class +0 -0
  422. data/lib/bioroebe/java/bioroebe/Esystem.java +47 -0
  423. data/lib/bioroebe/java/bioroebe/GUI/BaseFrame.class +0 -0
  424. data/lib/bioroebe/java/bioroebe/GUI/BaseFrame.java +65 -0
  425. data/lib/bioroebe/java/bioroebe/GenerateRandomDnaSequence.class +0 -0
  426. data/lib/bioroebe/java/bioroebe/GenerateRandomDnaSequence.java +32 -0
  427. data/lib/bioroebe/java/bioroebe/IsPalindrome.class +0 -0
  428. data/lib/bioroebe/java/bioroebe/IsPalindrome.java +18 -0
  429. data/lib/bioroebe/java/bioroebe/PartnerNucleotide.class +0 -0
  430. data/lib/bioroebe/java/bioroebe/PartnerNucleotide.java +19 -0
  431. data/lib/bioroebe/java/bioroebe/README.md +4 -0
  432. data/lib/bioroebe/java/bioroebe/RemoveFile.class +0 -0
  433. data/lib/bioroebe/java/bioroebe/RemoveFile.java +24 -0
  434. data/lib/bioroebe/java/bioroebe/RemoveNumbers.class +0 -0
  435. data/lib/bioroebe/java/bioroebe/RemoveNumbers.java +14 -0
  436. data/lib/bioroebe/java/bioroebe/SanitizeNucleotideSequence.class +0 -0
  437. data/lib/bioroebe/java/bioroebe/SanitizeNucleotideSequence.java +20 -0
  438. data/lib/bioroebe/java/bioroebe/SaveFile.java +44 -0
  439. data/lib/bioroebe/java/bioroebe/Sequence.java +28 -0
  440. data/lib/bioroebe/java/bioroebe/ToCamelcase.class +0 -0
  441. data/lib/bioroebe/java/bioroebe/ToCamelcase.java +32 -0
  442. data/lib/bioroebe/java/bioroebe/ToplevelMethods.class +0 -0
  443. data/lib/bioroebe/java/bioroebe/ToplevelMethods.java +15 -0
  444. data/lib/bioroebe/java/bioroebe/enums/DNA.java +6 -0
  445. data/lib/bioroebe/java/bioroebe.jar +0 -0
  446. data/lib/bioroebe/matplotlib/matplotlib_generator.rb +104 -0
  447. data/lib/bioroebe/misc/quiz/README.md +6 -0
  448. data/lib/bioroebe/misc/quiz/three_letter_to_aminoacid.rb +163 -0
  449. data/lib/bioroebe/misc/ruler.rb +244 -0
  450. data/lib/bioroebe/misc/useful_formulas.rb +129 -0
  451. data/lib/bioroebe/ncbi/efetch.rb +253 -0
  452. data/lib/bioroebe/ncbi/ncbi.rb +93 -0
  453. data/lib/bioroebe/ngs/README.md +2 -0
  454. data/lib/bioroebe/ngs/phred_quality_score_table.rb +123 -0
  455. data/lib/bioroebe/nucleotides/complementary_dna_strand.rb +166 -0
  456. data/lib/bioroebe/nucleotides/molecular_weight_of_nucleotides.rb +135 -0
  457. data/lib/bioroebe/nucleotides/most_likely_nucleotide_sequence_for_this_aminoacid_sequence.rb +198 -0
  458. data/lib/bioroebe/nucleotides/sanitize_nucleotide_sequence.rb +133 -0
  459. data/lib/bioroebe/nucleotides/show_nucleotide_sequence.rb +556 -0
  460. data/lib/bioroebe/palindromes/palindrome_2D_structure.rb +139 -0
  461. data/lib/bioroebe/palindromes/palindrome_finder.rb +208 -0
  462. data/lib/bioroebe/palindromes/palindrome_generator.rb +272 -0
  463. data/lib/bioroebe/parsers/biolang_parser.rb +156 -0
  464. data/lib/bioroebe/parsers/blosum_parser.rb +222 -0
  465. data/lib/bioroebe/parsers/genbank_parser.rb +78 -0
  466. data/lib/bioroebe/parsers/gff.rb +346 -0
  467. data/lib/bioroebe/parsers/parse_embl.rb +76 -0
  468. data/lib/bioroebe/parsers/stride_parser.rb +117 -0
  469. data/lib/bioroebe/patterns/README.md +5 -0
  470. data/lib/bioroebe/patterns/analyse_glycosylation_pattern.rb +149 -0
  471. data/lib/bioroebe/patterns/is_this_sequence_a_EGF2_pattern.rb +66 -0
  472. data/lib/bioroebe/patterns/profile_pattern.rb +182 -0
  473. data/lib/bioroebe/patterns/rgg_scanner.rb +160 -0
  474. data/lib/bioroebe/patterns/scan_for_repeat.rb +157 -0
  475. data/lib/bioroebe/pdb/download_this_pdb.rb +67 -0
  476. data/lib/bioroebe/pdb/fetch_fasta_sequence_from_pdb.rb +164 -0
  477. data/lib/bioroebe/pdb/parse_mmCIF_file.rb +63 -0
  478. data/lib/bioroebe/pdb/parse_pdb_file.rb +1086 -0
  479. data/lib/bioroebe/pdb/report_secondary_structures_from_this_pdb_file.rb +225 -0
  480. data/lib/bioroebe/perl/README.md +7 -0
  481. data/lib/bioroebe/perl/local_to_global.pl +694 -0
  482. data/lib/bioroebe/project/project.rb +264 -0
  483. data/lib/bioroebe/protein_structure/alpha_helix.rb +96 -0
  484. data/lib/bioroebe/protein_structure/helical_wheel.rb +205 -0
  485. data/lib/bioroebe/raw_sequence/README.md +17 -0
  486. data/lib/bioroebe/raw_sequence/raw_sequence.rb +557 -0
  487. data/lib/bioroebe/readline/README.md +2 -0
  488. data/lib/bioroebe/readline/readline.rb +31 -0
  489. data/lib/bioroebe/regexes/README.md +2 -0
  490. data/lib/bioroebe/regexes/regexes.rb +34 -0
  491. data/lib/bioroebe/requires/commandline_application.rb +5 -0
  492. data/lib/bioroebe/requires/require_all_aminoacids_files.rb +28 -0
  493. data/lib/bioroebe/requires/require_all_calculate_files.rb +26 -0
  494. data/lib/bioroebe/requires/require_all_codon_files.rb +26 -0
  495. data/lib/bioroebe/requires/require_all_colour_scheme_files.rb +26 -0
  496. data/lib/bioroebe/requires/require_all_count_files.rb +26 -0
  497. data/lib/bioroebe/requires/require_all_dotplot_files.rb +28 -0
  498. data/lib/bioroebe/requires/require_all_electron_microscopy_files.rb +26 -0
  499. data/lib/bioroebe/requires/require_all_enzymes_files.rb +28 -0
  500. data/lib/bioroebe/requires/require_all_fasta_and_fastq_files.rb +32 -0
  501. data/lib/bioroebe/requires/require_all_nucleotides_files.rb +28 -0
  502. data/lib/bioroebe/requires/require_all_palindromes_files.rb +29 -0
  503. data/lib/bioroebe/requires/require_all_parser_files.rb +28 -0
  504. data/lib/bioroebe/requires/require_all_pattern_files.rb +29 -0
  505. data/lib/bioroebe/requires/require_all_pdb_files.rb +26 -0
  506. data/lib/bioroebe/requires/require_all_sequence_files.rb +26 -0
  507. data/lib/bioroebe/requires/require_all_string_matching_files.rb +28 -0
  508. data/lib/bioroebe/requires/require_all_svg_files.rb +12 -0
  509. data/lib/bioroebe/requires/require_all_taxonomy_files.rb +35 -0
  510. data/lib/bioroebe/requires/require_all_utility_scripts_files.rb +32 -0
  511. data/lib/bioroebe/requires/require_cleave_and_digest.rb +24 -0
  512. data/lib/bioroebe/requires/require_colours.rb +20 -0
  513. data/lib/bioroebe/requires/require_encoding.rb +7 -0
  514. data/lib/bioroebe/requires/require_sequence.rb +7 -0
  515. data/lib/bioroebe/requires/require_the_bioroebe_project.rb +162 -0
  516. data/lib/bioroebe/requires/require_the_bioroebe_shell.rb +7 -0
  517. data/lib/bioroebe/requires/require_the_bioroebe_sinatra_components.rb +7 -0
  518. data/lib/bioroebe/requires/require_the_constants.rb +23 -0
  519. data/lib/bioroebe/requires/require_the_toplevel_methods.rb +29 -0
  520. data/lib/bioroebe/requires/require_yaml.rb +94 -0
  521. data/lib/bioroebe/sequence/alignment.rb +214 -0
  522. data/lib/bioroebe/sequence/dna.rb +211 -0
  523. data/lib/bioroebe/sequence/nucleotide_module/nucleotide_module.rb +404 -0
  524. data/lib/bioroebe/sequence/protein.rb +281 -0
  525. data/lib/bioroebe/sequence/reverse_complement.rb +148 -0
  526. data/lib/bioroebe/sequence/sequence.rb +706 -0
  527. data/lib/bioroebe/shell/add.rb +108 -0
  528. data/lib/bioroebe/shell/assign.rb +360 -0
  529. data/lib/bioroebe/shell/chop_and_cut.rb +281 -0
  530. data/lib/bioroebe/shell/colours/colours.rb +235 -0
  531. data/lib/bioroebe/shell/configuration/additionally_set_xorg_buffer.yml +1 -0
  532. data/lib/bioroebe/shell/configuration/may_we_show_the_startup_information.yml +1 -0
  533. data/lib/bioroebe/shell/configuration/upcase_nucleotides.yml +1 -0
  534. data/lib/bioroebe/shell/configuration/use_silent_startup.yml +1 -0
  535. data/lib/bioroebe/shell/constants.rb +166 -0
  536. data/lib/bioroebe/shell/download.rb +335 -0
  537. data/lib/bioroebe/shell/enable_and_disable.rb +158 -0
  538. data/lib/bioroebe/shell/enzymes.rb +310 -0
  539. data/lib/bioroebe/shell/fasta.rb +345 -0
  540. data/lib/bioroebe/shell/gtk.rb +76 -0
  541. data/lib/bioroebe/shell/help/class.rb +443 -0
  542. data/lib/bioroebe/shell/help/help.rb +25 -0
  543. data/lib/bioroebe/shell/history.rb +132 -0
  544. data/lib/bioroebe/shell/initialize.rb +217 -0
  545. data/lib/bioroebe/shell/loop.rb +74 -0
  546. data/lib/bioroebe/shell/menu.rb +5320 -0
  547. data/lib/bioroebe/shell/misc.rb +4341 -0
  548. data/lib/bioroebe/shell/prompt.rb +107 -0
  549. data/lib/bioroebe/shell/random.rb +289 -0
  550. data/lib/bioroebe/shell/readline/readline.rb +91 -0
  551. data/lib/bioroebe/shell/reset.rb +335 -0
  552. data/lib/bioroebe/shell/scan_and_parse.rb +135 -0
  553. data/lib/bioroebe/shell/search.rb +337 -0
  554. data/lib/bioroebe/shell/sequences.rb +200 -0
  555. data/lib/bioroebe/shell/shell.rb +41 -0
  556. data/lib/bioroebe/shell/show_report_and_display.rb +2901 -0
  557. data/lib/bioroebe/shell/startup.rb +127 -0
  558. data/lib/bioroebe/shell/taxonomy.rb +14 -0
  559. data/lib/bioroebe/shell/tk.rb +23 -0
  560. data/lib/bioroebe/shell/user_input.rb +88 -0
  561. data/lib/bioroebe/shell/xorg.rb +45 -0
  562. data/lib/bioroebe/siRNA/README.md +2 -0
  563. data/lib/bioroebe/siRNA/siRNA.rb +93 -0
  564. data/lib/bioroebe/string_matching/README.md +13 -0
  565. data/lib/bioroebe/string_matching/find_longest_substring.rb +162 -0
  566. data/lib/bioroebe/string_matching/find_longest_substring_via_LCS_algorithm.rb +175 -0
  567. data/lib/bioroebe/string_matching/hamming_distance.rb +313 -0
  568. data/lib/bioroebe/string_matching/levensthein.rb +698 -0
  569. data/lib/bioroebe/string_matching/simple_string_comparer.rb +294 -0
  570. data/lib/bioroebe/string_matching/smith_waterman.rb +276 -0
  571. data/lib/bioroebe/svg/README.md +1 -0
  572. data/lib/bioroebe/svg/glyph.rb +719 -0
  573. data/lib/bioroebe/svg/mini_feature.rb +111 -0
  574. data/lib/bioroebe/svg/page.rb +570 -0
  575. data/lib/bioroebe/svg/primitive.rb +70 -0
  576. data/lib/bioroebe/svg/svgee.rb +326 -0
  577. data/lib/bioroebe/svg/track.rb +263 -0
  578. data/lib/bioroebe/taxonomy/README.md +1 -0
  579. data/lib/bioroebe/taxonomy/chart.rb +95 -0
  580. data/lib/bioroebe/taxonomy/class_methods.rb +181 -0
  581. data/lib/bioroebe/taxonomy/colours.rb +26 -0
  582. data/lib/bioroebe/taxonomy/constants.rb +218 -0
  583. data/lib/bioroebe/taxonomy/edit.rb +97 -0
  584. data/lib/bioroebe/taxonomy/help/help.rb +65 -0
  585. data/lib/bioroebe/taxonomy/help/helpline.rb +53 -0
  586. data/lib/bioroebe/taxonomy/info/check_available.rb +143 -0
  587. data/lib/bioroebe/taxonomy/info/info.rb +337 -0
  588. data/lib/bioroebe/taxonomy/info/is_dna.rb +150 -0
  589. data/lib/bioroebe/taxonomy/interactive.rb +1933 -0
  590. data/lib/bioroebe/taxonomy/menu.rb +905 -0
  591. data/lib/bioroebe/taxonomy/node.rb +118 -0
  592. data/lib/bioroebe/taxonomy/parse_fasta.rb +383 -0
  593. data/lib/bioroebe/taxonomy/shared.rb +287 -0
  594. data/lib/bioroebe/taxonomy/taxonomy.rb +521 -0
  595. data/lib/bioroebe/toplevel_methods/ad_hoc_task.rb +56 -0
  596. data/lib/bioroebe/toplevel_methods/aminoacids_and_proteins.rb +715 -0
  597. data/lib/bioroebe/toplevel_methods/atomic_composition.rb +198 -0
  598. data/lib/bioroebe/toplevel_methods/base_composition.rb +121 -0
  599. data/lib/bioroebe/toplevel_methods/blast.rb +153 -0
  600. data/lib/bioroebe/toplevel_methods/calculate_n50_value.rb +57 -0
  601. data/lib/bioroebe/toplevel_methods/cat.rb +71 -0
  602. data/lib/bioroebe/toplevel_methods/chunked_display.rb +92 -0
  603. data/lib/bioroebe/toplevel_methods/cliner.rb +81 -0
  604. data/lib/bioroebe/toplevel_methods/complement.rb +58 -0
  605. data/lib/bioroebe/toplevel_methods/convert_global_env.rb +39 -0
  606. data/lib/bioroebe/toplevel_methods/databases.rb +73 -0
  607. data/lib/bioroebe/toplevel_methods/delimiter.rb +19 -0
  608. data/lib/bioroebe/toplevel_methods/digest.rb +71 -0
  609. data/lib/bioroebe/toplevel_methods/download_and_fetch_data.rb +146 -0
  610. data/lib/bioroebe/toplevel_methods/e.rb +20 -0
  611. data/lib/bioroebe/toplevel_methods/editor.rb +21 -0
  612. data/lib/bioroebe/toplevel_methods/esystem.rb +22 -0
  613. data/lib/bioroebe/toplevel_methods/exponential_growth.rb +74 -0
  614. data/lib/bioroebe/toplevel_methods/extract.rb +56 -0
  615. data/lib/bioroebe/toplevel_methods/fasta_and_fastq.rb +353 -0
  616. data/lib/bioroebe/toplevel_methods/file_and_directory_related_actions.rb +257 -0
  617. data/lib/bioroebe/toplevel_methods/frequencies.rb +92 -0
  618. data/lib/bioroebe/toplevel_methods/hamming_distance.rb +60 -0
  619. data/lib/bioroebe/toplevel_methods/infer.rb +66 -0
  620. data/lib/bioroebe/toplevel_methods/is_on_roebe.rb +39 -0
  621. data/lib/bioroebe/toplevel_methods/leading_five_prime_and_trailing_three_prime.rb +101 -0
  622. data/lib/bioroebe/toplevel_methods/levensthein.rb +63 -0
  623. data/lib/bioroebe/toplevel_methods/log_directory.rb +109 -0
  624. data/lib/bioroebe/toplevel_methods/longest_common_substring.rb +55 -0
  625. data/lib/bioroebe/toplevel_methods/map_ncbi_entry_to_eutils_id.rb +88 -0
  626. data/lib/bioroebe/toplevel_methods/matches.rb +259 -0
  627. data/lib/bioroebe/toplevel_methods/misc.rb +432 -0
  628. data/lib/bioroebe/toplevel_methods/nucleotides.rb +715 -0
  629. data/lib/bioroebe/toplevel_methods/number_of_clones.rb +63 -0
  630. data/lib/bioroebe/toplevel_methods/open_in_browser.rb +77 -0
  631. data/lib/bioroebe/toplevel_methods/open_reading_frames.rb +236 -0
  632. data/lib/bioroebe/toplevel_methods/opn.rb +34 -0
  633. data/lib/bioroebe/toplevel_methods/palindromes.rb +127 -0
  634. data/lib/bioroebe/toplevel_methods/parse.rb +59 -0
  635. data/lib/bioroebe/toplevel_methods/phred_error_probability.rb +68 -0
  636. data/lib/bioroebe/toplevel_methods/rds.rb +24 -0
  637. data/lib/bioroebe/toplevel_methods/remove.rb +86 -0
  638. data/lib/bioroebe/toplevel_methods/return_source_code_of_this_method.rb +35 -0
  639. data/lib/bioroebe/toplevel_methods/return_subsequence_based_on_indices.rb +68 -0
  640. data/lib/bioroebe/toplevel_methods/rna_splicing.rb +73 -0
  641. data/lib/bioroebe/toplevel_methods/rnalfold.rb +69 -0
  642. data/lib/bioroebe/toplevel_methods/searching_and_finding.rb +116 -0
  643. data/lib/bioroebe/toplevel_methods/shuffleseq.rb +37 -0
  644. data/lib/bioroebe/toplevel_methods/statistics.rb +53 -0
  645. data/lib/bioroebe/toplevel_methods/sum_of_odd_integers.rb +62 -0
  646. data/lib/bioroebe/toplevel_methods/taxonomy.rb +187 -0
  647. data/lib/bioroebe/toplevel_methods/three_delimiter.rb +34 -0
  648. data/lib/bioroebe/toplevel_methods/time_and_date.rb +53 -0
  649. data/lib/bioroebe/toplevel_methods/to_camelcase.rb +26 -0
  650. data/lib/bioroebe/toplevel_methods/truncate.rb +48 -0
  651. data/lib/bioroebe/toplevel_methods/url.rb +36 -0
  652. data/lib/bioroebe/toplevel_methods/verbose.rb +59 -0
  653. data/lib/bioroebe/utility_scripts/align_open_reading_frames.rb +191 -0
  654. data/lib/bioroebe/utility_scripts/analyse_local_dataset.rb +119 -0
  655. data/lib/bioroebe/utility_scripts/check_for_mismatches/check_for_mismatches.rb +230 -0
  656. data/lib/bioroebe/utility_scripts/compacter.rb +131 -0
  657. data/lib/bioroebe/utility_scripts/compseq/compseq.rb +529 -0
  658. data/lib/bioroebe/utility_scripts/consensus_sequence.rb +374 -0
  659. data/lib/bioroebe/utility_scripts/create_batch_entrez_file.rb +130 -0
  660. data/lib/bioroebe/utility_scripts/determine_antigenic_areas.rb +115 -0
  661. data/lib/bioroebe/utility_scripts/determine_missing_nucleotides_percentage.rb +137 -0
  662. data/lib/bioroebe/utility_scripts/display_open_reading_frames/determine.rb +73 -0
  663. data/lib/bioroebe/utility_scripts/display_open_reading_frames/display_open_reading_frames.rb +31 -0
  664. data/lib/bioroebe/utility_scripts/display_open_reading_frames/initialize.rb +37 -0
  665. data/lib/bioroebe/utility_scripts/display_open_reading_frames/menu.rb +49 -0
  666. data/lib/bioroebe/utility_scripts/display_open_reading_frames/misc.rb +471 -0
  667. data/lib/bioroebe/utility_scripts/display_open_reading_frames/report.rb +113 -0
  668. data/lib/bioroebe/utility_scripts/display_open_reading_frames/reset.rb +56 -0
  669. data/lib/bioroebe/utility_scripts/dot_alignment.rb +177 -0
  670. data/lib/bioroebe/utility_scripts/download_files_from_rebase.rb +72 -0
  671. data/lib/bioroebe/utility_scripts/find_gene.rb +202 -0
  672. data/lib/bioroebe/utility_scripts/mirror_repeat.rb +235 -0
  673. data/lib/bioroebe/utility_scripts/move_file_to_its_correct_location.rb +151 -0
  674. data/lib/bioroebe/utility_scripts/parse_taxonomy.rb +168 -0
  675. data/lib/bioroebe/utility_scripts/pathways.rb +152 -0
  676. data/lib/bioroebe/utility_scripts/permutations.rb +145 -0
  677. data/lib/bioroebe/utility_scripts/punnet/punnet.rb +126 -0
  678. data/lib/bioroebe/utility_scripts/show_this_dna_sequence.rb +148 -0
  679. data/lib/bioroebe/utility_scripts/showorf/constants.rb +36 -0
  680. data/lib/bioroebe/utility_scripts/showorf/help.rb +33 -0
  681. data/lib/bioroebe/utility_scripts/showorf/initialize.rb +52 -0
  682. data/lib/bioroebe/utility_scripts/showorf/menu.rb +68 -0
  683. data/lib/bioroebe/utility_scripts/showorf/reset.rb +39 -0
  684. data/lib/bioroebe/utility_scripts/showorf/run.rb +152 -0
  685. data/lib/bioroebe/utility_scripts/showorf/show.rb +97 -0
  686. data/lib/bioroebe/utility_scripts/showorf/showorf.rb +488 -0
  687. data/lib/bioroebe/version/version.rb +44 -0
  688. data/lib/bioroebe/viennarna/README.md +3 -0
  689. data/lib/bioroebe/viennarna/rnafold_wrapper.rb +196 -0
  690. data/lib/bioroebe/with_gui.rb +18 -0
  691. data/lib/bioroebe/www/bioroebe.cgi +44 -0
  692. data/lib/bioroebe/www/embeddable_interface.rb +686 -0
  693. data/lib/bioroebe/www/sinatra/sinatra.rb +1013 -0
  694. data/lib/bioroebe/yaml/agarose/agarose_concentrations.yml +21 -0
  695. data/lib/bioroebe/yaml/aminoacids/amino_acids.yml +92 -0
  696. data/lib/bioroebe/yaml/aminoacids/amino_acids_abbreviations.yml +31 -0
  697. data/lib/bioroebe/yaml/aminoacids/amino_acids_average_mass_table.yml +33 -0
  698. data/lib/bioroebe/yaml/aminoacids/amino_acids_classification.yml +18 -0
  699. data/lib/bioroebe/yaml/aminoacids/amino_acids_english.yml +26 -0
  700. data/lib/bioroebe/yaml/aminoacids/amino_acids_frequency.yml +44 -0
  701. data/lib/bioroebe/yaml/aminoacids/amino_acids_long_name_to_one_letter.yml +61 -0
  702. data/lib/bioroebe/yaml/aminoacids/amino_acids_molecular_formula.yml +32 -0
  703. data/lib/bioroebe/yaml/aminoacids/amino_acids_monoisotopic_mass_table.yml +38 -0
  704. data/lib/bioroebe/yaml/aminoacids/amino_acids_reste.yml +35 -0
  705. data/lib/bioroebe/yaml/aminoacids/amino_acids_three_to_one.yml +34 -0
  706. data/lib/bioroebe/yaml/aminoacids/hydropathy_table.yml +44 -0
  707. data/lib/bioroebe/yaml/aminoacids/molecular_weight.yml +29 -0
  708. data/lib/bioroebe/yaml/aminoacids/simple_aminoacids.yml +66 -0
  709. data/lib/bioroebe/yaml/aminoacids/weight_of_common_proteins.yml +33 -0
  710. data/lib/bioroebe/yaml/antisense/antisense.yml +9 -0
  711. data/lib/bioroebe/yaml/base_composition_of_dna.yml +37 -0
  712. data/lib/bioroebe/yaml/blosum/blosum45.yml +36 -0
  713. data/lib/bioroebe/yaml/blosum/blosum50.yml +34 -0
  714. data/lib/bioroebe/yaml/blosum/blosum62.yml +35 -0
  715. data/lib/bioroebe/yaml/blosum/blosum80.yml +37 -0
  716. data/lib/bioroebe/yaml/blosum/blosum90.yml +36 -0
  717. data/lib/bioroebe/yaml/blosum/blosum_matrix.yml +200 -0
  718. data/lib/bioroebe/yaml/chromosomes/chromosome_numbers.yml +30 -0
  719. data/lib/bioroebe/yaml/codon_tables/1.yml +113 -0
  720. data/lib/bioroebe/yaml/codon_tables/10.yml +89 -0
  721. data/lib/bioroebe/yaml/codon_tables/11.yml +91 -0
  722. data/lib/bioroebe/yaml/codon_tables/12.yml +89 -0
  723. data/lib/bioroebe/yaml/codon_tables/13.yml +89 -0
  724. data/lib/bioroebe/yaml/codon_tables/14.yml +89 -0
  725. data/lib/bioroebe/yaml/codon_tables/15.yml +94 -0
  726. data/lib/bioroebe/yaml/codon_tables/16.yml +89 -0
  727. data/lib/bioroebe/yaml/codon_tables/2.yml +86 -0
  728. data/lib/bioroebe/yaml/codon_tables/21.yml +89 -0
  729. data/lib/bioroebe/yaml/codon_tables/22.yml +89 -0
  730. data/lib/bioroebe/yaml/codon_tables/23.yml +91 -0
  731. data/lib/bioroebe/yaml/codon_tables/24.yml +89 -0
  732. data/lib/bioroebe/yaml/codon_tables/25.yml +89 -0
  733. data/lib/bioroebe/yaml/codon_tables/26.yml +96 -0
  734. data/lib/bioroebe/yaml/codon_tables/27.yml +104 -0
  735. data/lib/bioroebe/yaml/codon_tables/28.yml +97 -0
  736. data/lib/bioroebe/yaml/codon_tables/29.yml +93 -0
  737. data/lib/bioroebe/yaml/codon_tables/3.yml +98 -0
  738. data/lib/bioroebe/yaml/codon_tables/30.yml +91 -0
  739. data/lib/bioroebe/yaml/codon_tables/31.yml +94 -0
  740. data/lib/bioroebe/yaml/codon_tables/33.yml +101 -0
  741. data/lib/bioroebe/yaml/codon_tables/4.yml +96 -0
  742. data/lib/bioroebe/yaml/codon_tables/5.yml +100 -0
  743. data/lib/bioroebe/yaml/codon_tables/6.yml +96 -0
  744. data/lib/bioroebe/yaml/codon_tables/9.yml +97 -0
  745. data/lib/bioroebe/yaml/codon_tables/overview.yml +42 -0
  746. data/lib/bioroebe/yaml/configuration/README.md +12 -0
  747. data/lib/bioroebe/yaml/configuration/browser.yml +1 -0
  748. data/lib/bioroebe/yaml/configuration/colourize_fasta_sequences.yml +14 -0
  749. data/lib/bioroebe/yaml/configuration/default_colours_for_the_aminoacids.yml +28 -0
  750. data/lib/bioroebe/yaml/configuration/temp_dir.yml +1 -0
  751. data/lib/bioroebe/yaml/configuration/try_to_use_matplotlib.yml +1 -0
  752. data/lib/bioroebe/yaml/configuration/use_opn.yml +1 -0
  753. data/lib/bioroebe/yaml/configuration/use_this_database.yml +1 -0
  754. data/lib/bioroebe/yaml/create_these_directories_on_startup/create_these_directories_on_startup.yml +9 -0
  755. data/lib/bioroebe/yaml/default_dna_input.yml +3 -0
  756. data/lib/bioroebe/yaml/enzymes/enzyme_classes.yml +15 -0
  757. data/lib/bioroebe/yaml/enzymes/pH-Optima.yml +11 -0
  758. data/lib/bioroebe/yaml/fasta_and_fastq/fastq_quality_schemes.yml +44 -0
  759. data/lib/bioroebe/yaml/genomes/README.md +16 -0
  760. data/lib/bioroebe/yaml/humans/README.md +2 -0
  761. data/lib/bioroebe/yaml/humans/human_chromosomes.yml +53 -0
  762. data/lib/bioroebe/yaml/laboratory/README.md +1 -0
  763. data/lib/bioroebe/yaml/laboratory/pipettes.yml +8 -0
  764. data/lib/bioroebe/yaml/mRNA/mRNA.yml +16 -0
  765. data/lib/bioroebe/yaml/nuclear_localization_sequences.yml +15 -0
  766. data/lib/bioroebe/yaml/nucleotides/abbreviations_for_nucleotides.yml +29 -0
  767. data/lib/bioroebe/yaml/nucleotides/nucleotide_density.yml +10 -0
  768. data/lib/bioroebe/yaml/nucleotides/nucleotides.yml +34 -0
  769. data/lib/bioroebe/yaml/nucleotides/nucleotides_weight.yml +12 -0
  770. data/lib/bioroebe/yaml/pathways/README.md +2 -0
  771. data/lib/bioroebe/yaml/pathways/citric_acid_cycle.yml +16 -0
  772. data/lib/bioroebe/yaml/pathways/glycolysis.yml +20 -0
  773. data/lib/bioroebe/yaml/pathways/shikimate_pathway.yml +23 -0
  774. data/lib/bioroebe/yaml/pathways/urea_cycle.yml +11 -0
  775. data/lib/bioroebe/yaml/primers/README.md +4 -0
  776. data/lib/bioroebe/yaml/primers/primers.yml +3 -0
  777. data/lib/bioroebe/yaml/promoters/35S.yml +15 -0
  778. data/lib/bioroebe/yaml/promoters/strong_promoters.yml +24 -0
  779. data/lib/bioroebe/yaml/proteases/proteases.yml +3 -0
  780. data/lib/bioroebe/yaml/proteins/ubiquitin.yml +4 -0
  781. data/lib/bioroebe/yaml/remote_urls/README.md +4 -0
  782. data/lib/bioroebe/yaml/remote_urls/remote_urls.yml +3 -0
  783. data/lib/bioroebe/yaml/restriction_enzymes/restriction_enzymes.yml +630 -0
  784. data/lib/bioroebe/yaml/sequences/JX472995_Green_fluorescent_protein_from_Aequorea_victoria.fasta +14 -0
  785. data/lib/bioroebe/yaml/sequences/README.md +2 -0
  786. data/lib/bioroebe/yaml/talens.yml +22 -0
  787. data/lib/bioroebe/yaml/viruses/ecoli_phages.yml +63 -0
  788. data/lib/bioroebe/yaml/viruses/viruses.yml +6 -0
  789. data/lib/bioroebe.rb +5 -0
  790. data/spec/testing_toplevel_method_editor.rb +20 -0
  791. data/spec/testing_toplevel_method_url.rb +15 -0
  792. data/spec/testing_toplevel_method_verbose.rb +13 -0
  793. data/test/advanced_svg_example.rb +307 -0
  794. data/test/testing_bioroebe.rb +25 -0
  795. data/test/testing_codons.rb +45 -0
  796. data/test/testing_dna_to_rna_conversion.rb +15 -0
  797. data/test/testing_parse_pdb_file.rb +23 -0
  798. data/test/testing_reverse_complement.rb +32 -0
  799. data/test/testing_svg_component_of_bioroebe.rb +311 -0
  800. data/test/testing_svg_component_of_bioroebe_from_json_dataset.rb +34 -0
  801. data/test/testing_taxonomy.rb +22 -0
  802. metadata +1059 -0
@@ -0,0 +1,2823 @@
1
+ -------------------------------------------------------------------------------
2
+ (1) → https://biopython.org/DIST/docs/tutorial/Tutorial.html#sec15
3
+
4
+ ^^^ work through the above, also integrate it + write docs
5
+
6
+ https://raw.githubusercontent.com/biopython/biopython/master/Doc/examples/ls_orchid.fasta
7
+
8
+ -------------------------------------------------------------------------------
9
+ (2) → integrate electrno microscopy slowly and also add documentation
10
+ about this AS YOU GO!!!!!
11
+ ^^^ yup add more of it
12
+ -------------------------------------------------------------------------------
13
+ (3) → Add save session support
14
+ to reload our last activity completely ...
15
+ hmmm..
16
+ This has to be well designed...
17
+ Perhaps before we do so, we will add some
18
+ class that anylizes what we have
19
+ call it:
20
+
21
+ class AnalyseLocalDataset
22
+
23
+ And it is called when the bioshell is
24
+ called. Can be enabled and disabled.
25
+ AND document it then.
26
+ The idea is to provide additional information
27
+ upon startup of the bioroebe shell.
28
+ This is in preparation for save-session support.
29
+
30
+
31
+ -------------------------------------------------------------------------------
32
+ (5) → Lys-Asp-Glu-Leu
33
+
34
+ if i.include?('-') and Bioroebe.is_in_the_three_letter_code?(i)
35
+ end
36
+
37
+ - Lys-Asp-Glu-Leu-COO-
38
+
39
+ Lys-Asp-Glu-Leu
40
+
41
+ ^^^ this is "retention in lumen of ER"
42
+ find this too
43
+
44
+ BUT!
45
+
46
+ we must verify it
47
+
48
+ ^^ yep this is also called KDEL
49
+ https://en.wikipedia.org/wiki/KDEL_(amino_acid_sequence)
50
+ -------------------------------------------------------------------------------
51
+ (6) → Add "orthologs". this shall show us the top 25 orthologs or
52
+ something. In the bioshell? Hmm. Not sure yet.
53
+ -------------------------------------------------------------------------------
54
+ (7) → clone the functionality of this:
55
+
56
+ http://www.kazusa.or.jp/codon/cgi-bin/countcodon.cgi
57
+ http://www.kazusa.or.jp/codon/countcodon.html
58
+
59
+ In other words, create a class that can generate such an output.
60
+ ^^^ This is now done.
61
+ Then add this to a GUI as well as the www output.
62
+ ^^^ This still has to be done, though. We will use a ruby-gtk3
63
+ widget first. And sinatra output too.
64
+ AND document it as well
65
+
66
+ -------------------------------------------------------------------------------
67
+ (8) → SARS genom analyisere in bioroebe
68
+ eventuell auch graphisch
69
+
70
+ Gibt es neue GUIs die wir kombinieren könnten? Hmmm.
71
+ -------------------------------------------------------------------------------
72
+ (9) → In bioroebe, generate that .ps thingy graphical thing from the
73
+ vienna RNA tutorial. Hmmm.
74
+
75
+ https://www.tbi.univie.ac.at/RNA/tutorial/
76
+ -------------------------------------------------------------------------------
77
+ (1) → get insulin squence frmo NCBI
78
+ human
79
+ then apply trypsin onto it
80
+ and try it like this:
81
+
82
+ trypsin --insulin
83
+ ^^^
84
+ also document it then. well .....
85
+
86
+ Also add:
87
+ insulin?
88
+ ^^^ to show it
89
+ Hmm. Perhaps also auto-download or something.
90
+
91
+ -------------------------------------------------------------------------------
92
+ (1) → in bioroebe: UAG?
93
+ ^^^ show all stop codons with that in the bioshell
94
+ all UAG sequences... hmm. and TAG?
95
+ Finish that.
96
+ ..........................................................................
97
+ (1) → The position of a symbol in a string is the total number of
98
+ symbols found to its left, including itself (e.g., the positions
99
+ of all occurrences of 'U' in "AUGCUUCAGAAAGGUCUUACG" are 2, 5,
100
+ 6, 15, 17, and 18). The symbol at position i
101
+ of s is denoted by s[i].
102
+
103
+ ^^^ add a solution there, a toplevel API
104
+ !!!!!
105
+ -------------------------------------------------------------------------------
106
+ (1) → http://bioruby.org/rdoc/Bio/Blast.html
107
+ ^^^ add support for BLAST
108
+ ..........................................................................
109
+ (1) → add: parse_pdb()
110
+ With this we shall just show some info, about a given
111
+ .pdb file at hand.
112
+ Also make it commandline based too + bioshell variant
113
+ here, and a sinatra interface once this all works.
114
+ Don't forget to document it!!!!!
115
+ ^^^ and google a bit how others do that
116
+ ..........................................................................
117
+ (2) → pdb 1a6m
118
+ ^^^ download this when that is used in the bioshell; we also have
119
+ to use the download directory for this, so make sure that
120
+ we do.
121
+ ^^^ And then, also document this clearly.
122
+ -------------------------------------------------------------------------------
123
+ (3) show_string
124
+ ^^^ slowly port this ... find out differences
125
+ then unify into one method. right now we used
126
+ two or something.
127
+ -------------------------------------------------------------------------------
128
+ (4) → Try to see if we can integrate this into our GUI:
129
+
130
+ https://cdn.snapgene.com/assets/7.6.11/assets/images/snapgene/homepage/homepage-hero.png
131
+ -------------------------------------------------------------------------------
132
+ (5) → Scan for leucine zipper!
133
+
134
+ This is ~25% implemented. We need to double-check what
135
+ exactly is a leucine zipper.
136
+ ..........................................................................
137
+ (6) → Extend the sinatra-interface for the Rosalind task,
138
+ perhaps add a sub-link to show which parts are solved
139
+ as-is. Hmm. I am not continuing on this though.
140
+ ^^^^
141
+ well - make rosalind anew again or something.
142
+
143
+ ...........................................................................
144
+ (7) - Add a blast interface; both via the web-interface, GUI,
145
+ and also from the commandline.
146
+ -------------------------------------------------------------------------------
147
+ (8) - Write a tutorial about primer design.
148
+ also make sure that the GUI has support for this.
149
+ ..........................................................................
150
+ (9) - In the documentation examples, show some exampls for how to work
151
+ with different organisms.
152
+ ..........................................................................
153
+ (10) - In the bioshell, if "stop?" is issued, then the colouring isn't
154
+ correct. It currently does not show any result. This has to
155
+ be fixed.
156
+ ..........................................................................
157
+ (11) → https://www.rubydoc.info/gems/biomart
158
+ ^^^ integrate biomart
159
+
160
+ p biomart.list_datasets
161
+ p biomart.datasets?
162
+ -------------------------------------------------------------------------------
163
+ (12) Add Trypsin und Trypsinogen sequences, both as FASTA
164
+ but also as shortcut via the commandline such as:
165
+ show_orf :trypsine
166
+ show_orf :trypsin
167
+ Or something like this; and document it as well.
168
+ -------------------------------------------------------------------------------
169
+ (13) → 1..60
170
+
171
+ setdna 57
172
+ append stop
173
+ 1..60
174
+
175
+ Next showing the nucleotides 1370 to 1462 (including 1370 and 1462).
176
+ The length of the fragment will be 93 nucleotides.
177
+ 5' - ATGTGCAGTCAGGTGAATTTATTGAAAAATTTGAGGCTCCTGGTGGTGCAAATCAAAGAACTGCTCCTCAGTGGATGTTGCCTTTACTTCTAG - 3'
178
+ ^^^ hier beim colourize, wenn das letzte codon ein STOP codon ist
179
+ dann colourizen wir das auch.
180
+ -------------------------------------------------------------------------------
181
+ (14) → MG1655
182
+ ^^^ input this to download the sequence. Also show it to the user.
183
+ -------------------------------------------------------------------------------
184
+ (15) → extend virus-information into the bioroebe project.
185
+ -------------------------------------------------------------------------------
186
+ (16) → Add a way to analyse the chemical structure of all
187
+ aminoacids. We wish to show the chemical formula.
188
+
189
+ E. g. if we input:
190
+
191
+ "phenylalanin"
192
+
193
+ Then the C9N should be shown, of its -R part.
194
+ ^^^ H wird aber rausgelöscht und O ebenso.
195
+ wtf?
196
+ I don't understand why it removes H and 0 so perhaps
197
+ dont remove that part. But still show the -R.
198
+
199
+ -------------------------------------------------------------------------------
200
+ (17) FIX THE COLOURIZATION BUG; THIS ONE TRIGGERED THE WHOLE
201
+ REWRITE AFTER ALL!
202
+ -------------------------------------------------------------------------------
203
+ (18) FIX TAXONOMY related-problems AS WELL
204
+ ^^^^^^ AND DOCUMENT THIS related-problems.
205
+ -------------------------------------------------------------------------------
206
+ (19) Do note that z will then be a String, not a sequence object anymore.
207
+ (This may be subject to change in the future, but for now, aka
208
+ **February 2020**, it is that way.)
209
+ ^^^^
210
+ -------------------------------------------------------------------------------
211
+ (20) ^^^ colours are appended. That should not be the case!
212
+ ADD SOMETHING NEW ... some todo entries
213
+ and some python tool
214
+ -------------------------------------------------------------------------------
215
+ (21) → rewrite the whole project anew
216
+ - improve the documentation
217
+ - focus on class Protein first and add
218
+ all_dna_combinations or somethingl ike
219
+ that, as well as:
220
+ .backtrans
221
+ .reverse_translate
222
+ -------------------------------------------------------------------------------
223
+ (22) → AND THEN test on windows as well.
224
+ ^^^^^^^^^^^^^^
225
+ -------------------------------------------------------------------------------
226
+ (23) →
227
+ Reduced alphabets for proteins | [not implemented yet]
228
+ ^^^ check this as well
229
+
230
+ require 'bioroebe/base/commandline_application/aminoacids.rb'
231
+ ^^^ verify whether we need this really in the commandline
232
+ application part. Or perhaps it should be part of
233
+ Base.
234
+
235
+ - in bioroebe, test sequel for taxonomy...
236
+
237
+
238
+ - LEARN FUCKING JAVA; combine it with bioroebe though. work through
239
+ bioroebe and as you go, also write related-problems into java.
240
+ Add restriction thingy complete in java AND bioroebe
241
+ show how many will be cut.
242
+ Improve this also in bioroebe at the same time
243
+ add a GUI in swing too, also in ruby-gtk.
244
+ document publish IMPROVE
245
+ for now just show how many segments we will
246
+ generate.
247
+
248
+ First focus on bioroebe.
249
+ ^^^^^^^^^^^^^^^
250
+
251
+ -
252
+ efetch "https://www.ncbi.nlm.nih.gov/gene/744779"
253
+ ^^^ test this. again
254
+
255
+ -------------------------------------------------------------------------------
256
+ (25) fix tk-levensthein
257
+ -------------------------------------------------------------------------------
258
+ (26) → rewrite the whole project anew
259
+ - improve the documentation
260
+ - rework the WHOLE tutorial as well
261
+ - focus on class Protein first and add
262
+ all_dna_combinations or somethingl ike
263
+ that
264
+ .backtrans
265
+ .reverse_translate
266
+ -------------------------------------------------------------------------------
267
+ (27) → analyze /Depot/Temp/Bioroebe/1CEZ.pdb
268
+
269
+ ^^^
270
+ support this. Already works half-way, we started writing a pdb parser.
271
+ this should work in general, for .fasta files as well.
272
+ ..........................................................................
273
+ (28) → SINATRA STUFF:
274
+ FIX AND EXTEND SINATRA IN BIOROEBE.
275
+ extend it too.
276
+
277
+ http://localhost:4567/random_aminoacids
278
+ ^^^ add a form there
279
+
280
+ add emboss show orf or so
281
+ and special-dispaly on sinatra kaa
282
+ where the nucleotide sequence has numbers
283
+ ^^^
284
+ -------------------------------------------------------------------------------
285
+ (29) pick any virus and begin to amass tons of data; and then when done
286
+ also connect this into a GUI for use therein.
287
+
288
+ See:
289
+ https://raw.githubusercontent.com/labsquare/fastQt/master/screenshot.gif
290
+ ^^^^^^^
291
+
292
+ begin with a circovirus
293
+
294
+ ^^^^^^^
295
+
296
+ DOCUMENT THIS AS YOU GO
297
+ research about circovirus too
298
+
299
+ https://www.ncbi.nlm.nih.gov/nuccore/NC_038391.1
300
+
301
+
302
+
303
+
304
+
305
+ -------------------------------------------------------------------------------
306
+ (1) → Fix:
307
+
308
+ require 'bioroebe/toplevel_methods/open_reading_frames.rb'
309
+
310
+ Something is wrong; it returns regions that contain
311
+ a stop codon, which can not be true.
312
+
313
+ -------------------------------------------------------------------------------
314
+ (3) → Fix: extend glycovirology parts
315
+ seek stuff in viral genomes
316
+ -------------------------------------------------------------------------------
317
+ (4) →
318
+
319
+ seq = Bio::Sequence::NA.new("atgcatgcaaaaaaa")
320
+ puts seq
321
+ puts seq.complement
322
+ puts seq.subseq(3,8)
323
+ puts seq.subseq(3,8).complement #wont work
324
+ p seq.gc_percent
325
+ p (100 - seq.gc_percent) # at_percent
326
+ p seq.composition
327
+ puts seq.translate
328
+ puts seq.translate(2)
329
+ puts seq.translate(1,11)
330
+ puts seq.translate.codes
331
+ puts seq.translate.names
332
+ puts seq.translate.composition
333
+ puts seq.translate.molecular_weight
334
+ puts seq.complement.translate
335
+ ^^^ make sure this works
336
+ seq = Bioroebe::Sequence.new("atgcatgcaaaaaaa")
337
+ puts seq
338
+ puts seq.complement
339
+ -------------------------------------------------------------------------------
340
+ (5) →
341
+ make sure we have a good fasta-showing widget
342
+ show how many nucleotides are
343
+ AND add support to modify this as-is
344
+ ^^^^
345
+ -------------------------------------------------------------------------------
346
+ (6) → In BioRoebe:
347
+
348
+ Add a table showing how compatible bioroebe is compared to the other
349
+ bio-projects, staring with biophp.
350
+
351
+ Also show the status how much is complete in each,
352
+ including Bio (ruby-bio) the main ruby project here.
353
+ And add a table which functionality is implemented
354
+ in Java already.
355
+ -------------------------------------------------------------------------------
356
+ (7) →
357
+ ********************************************************************************
358
+ Was passiert wenn wir das Lambda-Genom mit EcoRI behandeln?
359
+ ********************************************************************************
360
+
361
+ Es entstehen 3 chromosomale Fragmente.
362
+ ^^^ dies testen
363
+ also zerst lambda genom herunterladen.
364
+ download lambda
365
+ download lambda_genome
366
+ ^^^
367
+ dann:
368
+
369
+ Bioroebe.digest_this_dna(:lambda_genome, with: :EcoRI)
370
+ Bioroebe.digest_this_dna("/root/Bioroebe/fasta/NC_001416.1_Enterobacteria_phage_lambda_complete_genome.fasta", with: :EcoRI)
371
+
372
+
373
+ ^^^ test this API and document it as well.
374
+ ^^^ and say how many fragments will be created in this CIRCULAR
375
+ DNA.
376
+ ^^^ this now works kind of ... but it must be better
377
+ documented and we must test this with more data.
378
+ -------------------------------------------------------------------------------
379
+ (8) → add the bioroebe logo to sinatra, but as appropriate size,
380
+ via base64. perhaps width 50 or so. need to determine
381
+ which size fits here.
382
+ -------------------------------------------------------------------------------
383
+ (9) → Integrate http://nc2.neb.com/NEBcutter2/cutshow.php?name=ffe1d68e-
384
+
385
+ in particular the visual part.
386
+ -------------------------------------------------------------------------------
387
+ (10) → https://international.neb.com/products/r0196-ncii#Product%20Information
388
+ ^^^ autogenerate such an image, aka restriction cutting enzyme
389
+ to indicate the target sequence.
390
+ -------------------------------------------------------------------------------
391
+ (6) → how to do codon optimiation in e.coli? bioroebe must support this!
392
+
393
+ we must first get a display which codon is very commonly used in
394
+ E. coli, from some remote site ... japanese site I think.
395
+
396
+ then, we analyse all possibilities.
397
+
398
+ and then we look which codons may be improvable - display
399
+ them on the commandline
400
+
401
+ class: OptimizeCodons.new(of_this_sequence)
402
+ -------------------------------------------------------------------------------
403
+ (7) → Molekulare Grösse von "Ubiquitin"? "8.5 kd".
404
+ ^^^ das sollte automatisch ausgerechnet werden
405
+ -------------------------------------------------------------------------------
406
+ (8) → taxonomy !!!!!!!!!!!!!!!!!!
407
+ -------------------------------------------------------------------------------
408
+ (9) → Given a list of gene names that I would like to get chromosome/position
409
+ information for (in mm10). Is there some service online where I can
410
+ paste this list? ^^^ enable this
411
+ -------------------------------------------------------------------------------
412
+ (10) → Show the frequency of codons in different tables
413
+
414
+ This works quite ok, but right now the approach is to store
415
+ this in a .yml file which is not ideal.
416
+
417
+ Thus, we have to add two things:
418
+ - The ability to store this into a SQL database
419
+ - The ability to batch-download all of these codons,
420
+ which first requires that we have a way to obtain all
421
+ taxonomic ids.
422
+ -------------------------------------------------------------------------------
423
+ (11) → Add a way in bioroebe to store a gene into a yaml file
424
+ or so, and to also load it up again. Perhaps simplify
425
+ this automatically. Need some ways to describe that.
426
+ -------------------------------------------------------------------------------
427
+ (12) → Make bioroebe very useful from the www, no matter if via sinatra
428
+ or rails. It should be a tool-set project on the www as well.
429
+ -------------------------------------------------------------------------------
430
+ (13) → Suppose you have a GenBank file which you want to turn into a
431
+ Fasta file. For example, lets consider the file cor6_6.gb
432
+ which is included in the Biopython unit tests under the
433
+ GenBank directory.
434
+
435
+
436
+ need to check that this is equivalent, think about the API
437
+ document it and then remove this entry.
438
+
439
+ ^^^ also build a GUI for this.
440
+ call it format-converter or so
441
+ the GUI works somewhat but needs to be polished up.
442
+ THEN THIS CAN BE REMOVED!!!!!!!
443
+
444
+ -------------------------------------------------------------------------------
445
+ (14) → Wir brauchen eine table wo wir die starken promotoren verschiedener
446
+ Organismen zusammenstellen und vergleichen können.
447
+
448
+ strong_promoters.yml
449
+ -------------------------------------------------------------------------------
450
+ (15) → add:
451
+ start position of exons
452
+ and show the sequence based on that file
453
+
454
+ Normally there's a "gene" entry for each gene, so:
455
+ awk 'BEGIN{FS="\t"; OFS="\t"}{if($3 == "gene") print $1, $4, $5}' foo.gtf
456
+
457
+ -------------------------------------------------------------------------------
458
+ (16) → also add 30-33 to aminoacids hmmm difficult.
459
+ -------------------------------------------------------------------------------
460
+ (17) → http://bioinformatics.oxfordjournals.org/content/18/8/1135
461
+ "TFBS: Computational framework for transcription factor
462
+ binding site analysis"
463
+ study the above and see if it can be included
464
+ into bioroebe
465
+
466
+ http://tfbs.genereg.net/
467
+ -------------------------------------------------------------------------------
468
+ (18) → They include trypsin, chymotrypsin, thrombin, plasmin, papain and factor Xa.
469
+ ^^^ provide means to identify where they cut,
470
+ and show this then by simualting a digest.
471
+ return an array with the starting aminoacids.
472
+ also document this on bioroebe todo
473
+ this is done via digestion/digestions
474
+ but it's not quite perfect yet.
475
+ -------------------------------------------------------------------------------
476
+ (19) → a) add a commandline way to generate a random protein
477
+ with a specified length and then display it on the
478
+ commandline [DONE] !!!
479
+
480
+ bioroebe --random-aminoacids=33
481
+ bioroebe --n-aminoacids=33
482
+ sinatra:
483
+
484
+ random_aminoacids/33 [Implemented! 23.09.2019]
485
+
486
+ also added the gtk-GUI code here; needs to be
487
+ documented briefly, then this part is completelty
488
+ done. contiu on random_aminoacids: in particular
489
+ add a gtk_entry that specifie, no, a spin button
490
+ that states how many no... an entry or so
491
+ to state how many aminoacids to generate
492
+ randomly
493
+
494
+ b) add a way to generate a cDNA sequence from such a
495
+ protein and view all possible sequences from that
496
+ sequence. ^^^
497
+
498
+ Enable this BOTH from the commandline AND from the
499
+ interactive variant and from sinatra! Hmmmm.
500
+
501
+ -------------------------------------------------------------------------------
502
+ (1) → add an option to design a
503
+
504
+ degenerate primer
505
+ -------------------------------------------------------------------------------
506
+ (2) Add upcase to sequences and ensure that it works; also document it
507
+ internally and in the .pdf tutorial
508
+ what does that mean? upcase as method? hmmm.
509
+
510
+ ..........................................................................
511
+ (1) → http://www.biomart.org/other/user-docs.pdf
512
+ ^^^ work through this
513
+ ^^^ integrate the old .cgi part and improve as you go
514
+ ..........................................................................
515
+ (1) → Access geninfo numbers easily.
516
+ Die suchen und runterladen.
517
+ -------------------------------------------------------------------------------
518
+ - Add all of bioruby into bioroebe:
519
+
520
+ continous project
521
+ https://github.com/biopython/biopython
522
+ https://github.com/bioruby/bioruby/tree/master/lib/bio
523
+ -------------------------------------------------------------------------------
524
+ (3) → https://github.com/bioruby/bioruby/issues/134
525
+ ^^^ check this, for restriction enzymes
526
+ http://rebase.neb.com/rebase/enz/MboII.html
527
+
528
+ Bio::RestrictionEnzyme.cut(seq, 'MboII').primary rescue [seq]
529
+ => ["agaagattaggatt", "gatgat"]
530
+ > seq = seq.reverse_complement
531
+ > Bio::RestrictionEnzyme.cut(seq, 'MboII').primary rescue [seq]
532
+ => ["atcatcaatcctaatcttct"]
533
+ -------------------------------------------------------------------------------
534
+ (4) → Document how an ORF is defined for the bioroebe project.
535
+ ..........................................................................
536
+ (5) Continue with biojava in bioroebe.
537
+
538
+ → We need to make some table that tells us what is implemented
539
+ in java.
540
+ → Make it possible to randomly generate aminoacids, and then,
541
+ based on that, design degenarate DNA that matches to it) ←
542
+ this also must work standalone, and be documented.
543
+
544
+ document on bioroebe.cgi as well
545
+
546
+ We can generate degenerate primers now:
547
+
548
+ dprimer M-T-T-Y-Y-T-A-A-A-STOP
549
+
550
+ ..........................................................................
551
+ (1) → The codon tables:
552
+ → In January we added a codon-table GUI to ruby-gtk3.
553
+
554
+ also enable an inverse table.
555
+ Ala/A GCT, GCC, GCA, GCG GCN Leu/L TTA, TTG, CTT, CTC, CTA, CTG YTR, CTN
556
+ Arg/R CGT, CGC, CGA, CGG, AGA, AGG CGN, MGR Lys/K AAA, AAG AAR
557
+ Asn/N AAT, AAC AAY Met/M ATG
558
+ Asp/D GAT, GAC GAY Phe/F TTT, TTC TTY
559
+ Cys/C TGT, TGC TGY Pro/P CCT, CCC, CCA, CCG CCN
560
+ Gln/Q CAA, CAG CAR Ser/S TCT, TCC, TCA, TCG, AGT, AGC TCN, AGY
561
+ Glu/E GAA, GAG GAR Thr/T ACT, ACC, ACA, ACG ACN
562
+ Gly/G GGT, GGC, GGA, GGG GGN Trp/W TGG
563
+ His/H CAT, CAC CAY Tyr/Y TAT, TAC TAY
564
+ Ile/I ATT, ATC, ATA ATH Val/V GTT, GTC, GTA, GTG GTN
565
+ START ATG STOP TAA, TGA, TAG TAR, TRA
566
+
567
+ I think this is already stored in:
568
+ inverse_rna_codon_table.yml
569
+
570
+ table = Bio::CodonTable[1]
571
+ ^^^^ this is quite a useful feature of bioruby. We need to
572
+ add this as well. Then document it.
573
+
574
+ ^^^ document this better too
575
+ that we can now display all the different codon tables.
576
+
577
+ This now sorta works semi-ok.
578
+
579
+ -------------------------------------------------------------------------------
580
+ (1) → In the bioroebe-shell, enable input such as:
581
+
582
+ NC_000011.10
583
+
584
+ This shall quickly download this sequence into the
585
+ local file, and also rename it properly.
586
+ -------------------------------------------------------------------------------
587
+ → clone all of bioruby
588
+ -------------------------------------------------------------------------------
589
+ (1) → bioinf bücher udrhclesen und zeug inkludiere !!!
590
+ ^^^^^ mehr bilderchen hinzufügen ... auchv on den GUIs eventuell.
591
+ Und auch biopython durcharbeiten und alles wichtige nach
592
+ bioroebe übertragen.
593
+ -------------------------------------------------------------------------------
594
+ - Add: DetectMotif
595
+
596
+ This class shall be used for detecting subsequences.
597
+ -------------------------------------------------------------------------------
598
+ - Neue funktionälit rein
599
+ -------------------------------------------------------------------------------
600
+ - mehr doku!
601
+ -------------------------------------------------------------------------------
602
+ - continue on bioroebe, and when it is done, write to the guy.
603
+ -------------------------------------------------------------------------------
604
+ - Rewrite bioroebe completely - add some tests, too or so, to
605
+ test this. ^^^
606
+ That way we learn how to write tests.
607
+ AND ... we will actually start with the taxonomy project
608
+ so that it finally works again.
609
+ continue work on bioroebe
610
+ MAKE BIOROEBE EPIC because this is what I will make money with.
611
+ CONTINUE THE BIOROEBE PORT !
612
+ ^^^^
613
+ require 'bioroebe/constants/remote_urls.rb
614
+ ^^^
615
+ ncbi taxonomy databse: move this into this file.
616
+ # require 'bioroebe/constants/aminoacid_families.rb'
617
+ ^^^ also ... fix this here.
618
+ also continue bioroebe port...
619
+ hmm. and perhaps add something else, like the option to have
620
+ multiple genes and multiple proteis
621
+ and define workspaces.
622
+ but start with taxonomy first.
623
+ ^^^
624
+ Also during that rewrite, make sure that the quality of the
625
+ documentation improves. That way the whole project serves
626
+ as advertisement too.
627
+ wait with rewrite though......
628
+
629
+ clone bioroebe in java, STEP BY STEP, as means of learning java too,
630
+ for preparation at the TU Wien.
631
+ ^^^ but first read up some java tutorial because I dont know related-problems about
632
+ java
633
+
634
+ CPK: international colour scheme
635
+ add document in bioroebe + registration
636
+ https://proteopedia.org/wiki/index.php/CPK
637
+ ^^^
638
+ bioroebe erweitern... auch rosalind
639
+ ^^^
640
+ improve bioroebe so that it is supper
641
+ and add C++
642
+ extend bioroebe sinatra interface
643
+ also add a footer to show which entries are available or so
644
+ → in bioroebe, mach das die postgresql datenbank wieder funktioniert ...
645
+
646
+
647
+
648
+ ..........................................................................
649
+
650
+ → ^^^ improve this whole project a lot
651
+
652
+ before uploading then send email
653
+
654
+
655
+ - 1fat.pdb
656
+
657
+ ^^^ download this, also via bioshell
658
+ download 1fat
659
+ ^^^ notify the user about this
660
+ but put it into the dir of bioshell
661
+
662
+ → add:
663
+
664
+ set_dna :insulin
665
+ set_dna insulin
666
+
667
+ This shall allow us to use the sequence of human insulin
668
+ here. Also document this. Shall just make things more
669
+ convenient for us.
670
+
671
+ http://www.ncbi.nlm.nih.gov/gene/3630
672
+
673
+ insulin = 'ncbi_gene: 3630'
674
+ → becomes: http://www.ncbi.nlm.nih.gov/gene/3630
675
+
676
+ wtf ... better to learn how NCBI uworks
677
+ -------------------------------------------------------------------------------
678
+ - Add a seuqence table int obioroebe for GFP, YFP etc
679
+ and mae this show in both the interactio bioshell but
680
+ also the main README.md
681
+ -------------------------------------------------------------------------------
682
+ - stop_frame1?
683
+ ^^^ add support for this
684
+ and stop_frame2?
685
+ etcc
686
+ to show stop-codons in this colour
687
+ THEN UPLOAD!
688
+ ^^^ this works now but is not documented
689
+
690
+
691
+ -------------------------------------------------------------------------------
692
+
693
+ - chop to first ATG
694
+
695
+ chop :ATG
696
+
697
+ ^^^^ enable this, to chop towards the first ATG
698
+ sequence in the string
699
+
700
+ -------------------------------------------------------------------------------
701
+ → http://www.biophp.org/stats/describe_data/demo.php?show=formula
702
+
703
+ ^^^ should also add documentation like this, also via www interface
704
+ -------------------------------------------------------------------------------
705
+ → add mouse chromsoome URL, also in the bioshell
706
+ and the main README, to be of help for the
707
+ user. add a mouse subsection.
708
+ ..........................................................................
709
+ → fix the taxonomy stuff...
710
+ ..........................................................................
711
+ (1) → add 2nd_orf
712
+ → this shall scan for the 2nd orf
713
+ → and third ORF as well, then, and document it.
714
+ ..........................................................................
715
+ (2) → Add a "cutter-range example" in restriction enzymes +
716
+ table + examples + tutorial
717
+
718
+ one example each in this overview.
719
+
720
+ Also, add in the documentation where this
721
+ can be found.
722
+ ..........................................................................
723
+ (3) → Add aaruler, similar to "ruler"; in the bioshell.
724
+ But we want to do this on the dna-sequence rather
725
+ than the aminoacid sequence.
726
+ This works but the display is not ideal.
727
+ ..........................................................................
728
+ (4) → Add some codon-usage analyzer. What shall it show? It
729
+ should show how many codons are used, frequencies etc...
730
+ by an organism, and compare that to other data.
731
+ ..........................................................................
732
+ (5) → Implement a GPCR interface.
733
+
734
+ This is for "G-protein coupled receptors."
735
+ Denote which variants exist and so forth. Document it as well.
736
+ ..........................................................................
737
+ (6) → alu?
738
+
739
+ Will read from the file `/Programs/Ruby/2.3.0/lib/ruby/site_ruby/2.3.0/bioroebe/yaml/alu_elements.yml`.
740
+ Bioroebe::ParseFasta: This sequence is assumed to be a protein.
741
+ This sequence has 1317 aminoacids.
742
+
743
+ We have identified a total of 1 entries in this fasta dataset.
744
+ The ALU sequence in humans may be:
745
+
746
+ GC ...
747
+
748
+ ^^^ das stimmt aber net ... hmmm.
749
+
750
+ (3) → The .pdb file that used to be distributed via bioroebe was way
751
+ too large. Perhaps add a way to download it instead if needed
752
+ e. g.:
753
+
754
+ common_downloads:
755
+
756
+ ^^^ add this and document it or something like that
757
+ And perhaps add a small protein as an example how to
758
+ work with .pdb files instead.
759
+ -------------------------------------------------------------------------------
760
+ (4) → Extend bioroebe to allow download
761
+
762
+ PDB files
763
+
764
+ id 3030
765
+
766
+ and then display nice thingies to the user.
767
+
768
+ http://www.pdb.org/pdb/download/downloadFile.do?fileFormat=pdb&compression=NO&structureId=3030
769
+ http://www.pdb.org/pdb/download/downloadFile.do?fileFormat=pdb&compression=NO&structureId=2VEZ
770
+
771
+ in 3EML 2VTP 2VEZ
772
+ do
773
+ ..........................................................................
774
+ (1) → Fully integrate electron microscopy then remove the old entry.
775
+ Test it though.
776
+ Hmm... but ... we will first polish the main bioroebe
777
+ gem AND the taxonomy gem and THEN AFTERWARDS
778
+ integate elctron microsopcy.
779
+ ..........................................................................
780
+ (1) → ORF Finder:
781
+
782
+ We must add an ORF finder for the bioroebe project,
783
+ similar to the NCBI ORF Finder.
784
+
785
+ This works partially... start_stop works but we do not
786
+ yet find all subsequences.
787
+
788
+ ..........................................................................
789
+ (1) → must change determine whether we have protein or nucleotide or
790
+ so via a topelvel method!
791
+ ..........................................................................
792
+ (1) → there is a talens module.
793
+ we have to improve on it for a while
794
+ better docu
795
+ more testing
796
+ then we can get rid of this entry here
797
+ ..........................................................................
798
+ (1) → 33.44
799
+ Next showing the nucleotides 33 to 44 (including 33 and 44).
800
+ The length of the fragment will be 12 nucleotides.
801
+ 5' - 2;70;130;180 - 3'
802
+ ^^^ there is some problem; we somehow embed the colour codes,
803
+ which should not happen.
804
+ ..........................................................................
805
+ (1) → set_aa DTLCIGYHAN NSTDTVDTVL EKNVTVTHSV NLLEDKHNGK LCKLRGVAPL HLGKCNIAGW ILGNPECESL STASSWSYIV ETSNSDNGTC YPGDFINYEE LREQLSSVSS FERFEIFPKT SSWPNHDNKG VTAACPHAGA KSFYKNLIWL VKKGNSYPKL NQSYINDKGK EVLVLWGIHH PSTTADQQSL YQNADAYVFV GTSRYSKKFK PEIATRPKVR DQEGRMNYYW TLVEPGDKIT FEATGNLVVP RYAFMERNAG SGIIISDTPV HDCNTTCQTP EGAINTSLPF QNIHPITIGK CPKYVKSTKL RLATGLRNVP SIQSRGLFGA IAGFIEGGWT GMVDGWYGYH HQNEQGSGYA ADLKSTQNAI DKITNKVNSV IKMNTQFTAV GKEFNHLEKR IENLNKKVDD GFLDIWTYNA ELLVLLENER TLDYHDSNVK NLYEKVRNQL KNNAKEIGNG CFEFYHKCDN TCMESVKNGT YDYPKYSEEA KLNREKIDGV KLESTRIYHH HHHH
806
+
807
+ ^^^ enable copy/pasting,
808
+ then reverse_sequence
809
+ dna_sequence?
810
+
811
+ @type=:dna>
812
+
813
+ BIO SHELL> aaseq?
814
+ DTLCIGYHANNSTDTVDTVLEKNVTVTHSVNLLEDKHNGKLCKLRGVAPLHLGKCNIAGWILGNPECESLSTASSWSYIVETSNSDNGTCYPGDFINYEELREQLSSVSSFERFEIFPKTSSWPNHDNKGVTAACPHAGAKSFYKNLIWLVKKGNSYPKLNQSYINDKGKEVLVLWGIHHPSTTADQQSLYQNADAYVFVGTSRYSKKFKPEIATRPKVRDQEGRMNYYWTLVEPGDKITFEATGNLVVPRYAFMERNAGSGIIISDTPVHDCNTTCQTPEGAINTSLPFQNIHPITIGKCPKYVKSTKLRLATGLRNVPSIQSRGLFGAIAGFIEGGWTGMVDGWYGYHHQNEQGSGYAADLKSTQNAIDKITNKVNSVIKMNTQFTAVGKEFNHLEKRIENLNKKVDDGFLDIWTYNAELLVLLENERTLDYHDSNVKNLYEKVRNQLKNNAKEIGNGCFEFYHKCDNTCMESVKNGTYDYPKYSEEAKLNREKIDGVKLESTRIYHHHHHH
815
+ BIO SHELL> aasize?
816
+ This sequence has 50 aminoacids.
817
+ ^^^ das stimmt net.
818
+
819
+ ..........................................................................
820
+ (1) → add this functionality:
821
+
822
+ meting temper
823
+ melting temper
824
+ melting_temperature?
825
+
826
+ ^^^ for short primers
827
+
828
+ → 4°C for each G/C base pair
829
+ → 2°C for each A/T base pair
830
+
831
+ Also add an explanation as can be seen here:
832
+
833
+ http://comments.gmane.org/gmane.comp.lang.ruby.bio/1182
834
+
835
+ "I discovered the above discussion by accident, about two
836
+ years lateron. :)
837
+
838
+ I am not using email-discussions or usegroups/newsgroups
839
+ in general, largely because I have never been able to
840
+ keep up to date with them and deal with emails properly;
841
+ I am more a casual emails user myself, growing up in a
842
+ www-world where phpBB really made it convenient to
843
+ communicate with other people. So probably a bit after the
844
+ emails-people use emails.
845
+
846
+ At any rate, when I noticed it, I decided on my todo-list
847
+ that I will improve the melting-temperature calculation
848
+ of BioRoebe.
849
+
850
+ Note that NCBI Blast and several other sites also already
851
+ have very good algorithms in this regards, so the prime
852
+ use case for BioRoebe is to explain a bit the algorithms
853
+ and also provide a commandline-way to calculate them,
854
+ using ruby. The latter may be useful and rather easy for
855
+ scripted use.
856
+ ..........................................................................
857
+ (1) → show insulin
858
+ ^^^ to show the insulin structure
859
+ how to find it? no idea...
860
+ but we should have these structures already made available somewhere.
861
+ ..........................................................................
862
+ (1) → Todo: find family of enzymes, based on sequence structure
863
+ alone.
864
+ ..........................................................................
865
+ (1) → https://pubchem.ncbi.nlm.nih.gov/compound/16131099#section=Top
866
+
867
+ ^^^ this website is quite interesting; try to use components
868
+ from it.
869
+ -------------------------------------------------------------------------------
870
+ (1) → Add some option to show the aminoacid sequence, at the least
871
+ store it; and optionally show it.
872
+
873
+ possibly always report how many aminoacids are
874
+ part of that file; and optionally also show
875
+ the whole sequence.
876
+ -------------------------------------------------------------------------------
877
+ (1) → WORK THROUGH the PROTOCOL AT BOKU. THEN WORK THROUGH THE VARIOUST
878
+ TIDBIDS AT UNI WIEN STARTING WITH HEIKO.
879
+ ^^^ da sind wir nun.
880
+ wir sind an beginn von 1b ... hmmmm, also zerst mal das an der
881
+ BOKU durchgehen. Dann das löschen.
882
+ -------------------------------------------------------------------------------
883
+ (1) → Begin tk-bindings for bioroebe, following the gtk stuff.
884
+ -------------------------------------------------------------------------------
885
+ (2) → frame_value = position_of_the_stop_codon - position_of_the_start_codon
886
+ ^^^ continue on this ...
887
+ -------------------------------------------------------------------------------
888
+ (1) → improve both the gtk-apps parts, and the sinatra web-interface,
889
+ and other GUI-like elements. The idea is to make this software
890
+ more useful for people around the world, which should help
891
+ increase its adoption rate.
892
+ -------------------------------------------------------------------------------
893
+ (2) → Look to integrate this:
894
+
895
+ http://www.ncbi.nlm.nih.gov/nuccore/NM_007315.3?report=fasta&log$=seqview&format=text
896
+ ^^^
897
+ -------------------------------------------------------------------------------
898
+ (1) → Clone and document the getorf functionality properly.
899
+
900
+ See: http://emboss.sourceforge.net/apps/cvs/emboss/apps/getorf.html
901
+ -------------------------------------------------------------------------------
902
+ (2) → set_dna_sequence alu
903
+
904
+ ^^^ fetch random alu
905
+
906
+ ^^^ alu sequence
907
+ Ok we started this now adding more details, but we
908
+ need to become better at searching for this
909
+ sequence.
910
+ -------------------------------------------------------------------------------
911
+ (3) → We need to make available the ... thingy magick
912
+ emboss functionality. that may seem useful
913
+ but also feel free to extend these parts for
914
+ bioroebe as necessary.
915
+ -------------------------------------------------------------------------------
916
+ (4) → integrate electron_microscopy fully
917
+ This will take more time, so first we finish with the
918
+ taxonomy module instead.
919
+ -------------------------------------------------------------------------------
920
+ (5) → Improve support for BLAST up until
921
+
922
+ middle of 2015 so that I am better prepared
923
+ for work-related stuff. In order for this
924
+ to succed, we first have to understand
925
+ BLAST very well.
926
+
927
+ So, work on BLAST tutorial at bioinf page:
928
+
929
+ bl bioinf; rf bioinf
930
+ -------------------------------------------------------------------------------
931
+ (3) → integrate a "codon usage database", whatever this means.
932
+ It is a cool database anyway. Then document this.
933
+ First, create a codon-usage analyze on a per-FASTA
934
+ site basis. Meaning we download a fasta sequence
935
+ and calculate the codon usage from there.
936
+
937
+ ^^^ and add some GUI to this. hmmm
938
+ ..........................................................................
939
+ (4) → Input sequence:
940
+
941
+ MFLMVSPTAYHQNKDECFLP
942
+ TAYHQNKDECMVSPTAYHQN
943
+ KDECFLPTAYHQMVSPTAYH
944
+ QNKDECFLPTAYHQ
945
+ Reverse Translated sequence
946
+
947
+ ATG TTY YTNATGGTNWSNCCNACNGCNTAYCAYCARAAYAARGAYGARTGYTTYYTNCCN
948
+ ACNGCNTAYCAYCARAAYAARGAYGARTGYATGGTNWSNCCNACNGCNTAYCAYCARAAY
949
+ AARGAYGARTGYTTYYTNCCNACNGCNTAYCAYCARATGGTNWSNCCNACNGCNTAYCAY
950
+ CARAAYAARGAYGARTGYTTYYTNCCNACNGCNTAYCAYCAR
951
+
952
+ ^^^ we should also show this on the commandline AND the
953
+ www ... hmmm.
954
+ ..........................................................................
955
+ (5) → enable a graphical layer so that we can find out which
956
+ transcription factor activates which gene(s). This
957
+ should show e. g. a transcription factor highlighting
958
+ a target genetic area.
959
+ ..........................................................................
960
+ (2) → We should add more screenshots, make them available on imgur
961
+ as well, after storing them locally. Start with the more
962
+ important functionality.
963
+
964
+ ..........................................................................
965
+ (2) → clone serial cloner or whatever the name was, that GUI,
966
+ so that we can offer the same functionality.
967
+ ..........................................................................
968
+ (1) →
969
+
970
+ # * searching for PubMed IDs given a query string:
971
+ # * Bio::PubMed#esearch (recommended)
972
+ # * Bio::PubMed#search (only retrieves top 20 hits; will be deprecated)
973
+ ^^^ implement this
974
+
975
+
976
+ ..........................................................................
977
+ (3) → Aufgabe 16 in bioroebe lösen könnnen
978
+ ..........................................................................
979
+ (4) → The taxonomy part should be fully integrated, without it
980
+ being a standalone part anymore.
981
+ continue on the taxonomy stuff.
982
+ ne day this will work again *shake fist*
983
+ -------------------------------------------------------------------------------
984
+ (5) → re1 = Bio::RestrictionEnzyme::DoubleStranded.new(enzyme1)
985
+
986
+ ^^^ add this? hmmmm
987
+ ^^^ from here.
988
+ -------------------------------------------------------------------------------
989
+ (1) → Colourize exon/intron boundaries.
990
+ -------------------------------------------------------------------------------
991
+ (2) → In bioroebe: enhance phylogeny stuff and perhaps automatically
992
+ generate pictures here.
993
+ -------------------------------------------------------------------------------
994
+ (1) → In sinatra: add a backtranseq entry point, perhaps
995
+ alias it as well.
996
+
997
+ ^^ sync this to ruby-gtk3? hmm
998
+
999
+ bioroebe --protein-to-dna
1000
+
1001
+ ^^^ this shall start the GTK3 variant
1002
+
1003
+ -------------------------------------------------------------------------------
1004
+ (1) → require 'rubygems/text'
1005
+ include Gem::Text
1006
+ levenshtein_distance 'shevy', 'chevy' # => 1
1007
+
1008
+ ^^^ add some class that outpus, on the commandline
1009
+ the levensthein distance ont he commandline
1010
+ and also in the interactive bioshell
1011
+
1012
+ https://github.com/rubygems/rubygems/blob/master/lib/rubygems/text.rb
1013
+ ^^^ actually move that part into bioroebe itself...
1014
+
1015
+ -------------------------------------------------------------------------------
1016
+ (1) → add _source to all APIs in sinatra there. Ensure that this works
1017
+ too. The user should be able to view the source code.
1018
+ ^^^ it has been added for 2 methods so far in sinatra; we need
1019
+ to add it for the remaining ones too. Then we can remove
1020
+ this entry point.
1021
+ -------------------------------------------------------------------------------
1022
+ (2) → Check out expasy
1023
+ peptidcutter
1024
+ also offer this functionality, through commandline, GUI
1025
+ and sinatra.
1026
+ https://web.expasy.org/peptide_cutter/
1027
+ We now have added trypsin but we should add more here; and
1028
+ still have to add support for sinatra here.
1029
+ -------------------------------------------------------------------------------
1030
+ (3) → melting temperature subsection
1031
+
1032
+ hmmm .... molecular weight calculation works now ... but
1033
+ ... is it correct for a ssDNA string? hmm...
1034
+ -------------------------------------------------------------------------------
1035
+ (3) → Add useful formulas for bioshell.
1036
+
1037
+
1038
+ ...........................................................................
1039
+ (1) → Degenerate Primers
1040
+
1041
+ You can try to determine the degenerate primers via the Shell
1042
+ component. Issue the following instructions:
1043
+
1044
+ degenerate_primer
1045
+
1046
+ ^^^ epxnad that subsection
1047
+ more explanations and examples
1048
+
1049
+ -------------------------------------------------------------------------------
1050
+ (1) → Copy the functionality of plotorf:
1051
+
1052
+ See:
1053
+
1054
+ http://www.bioinformatics.nl/cgi-bin/emboss/plotorf
1055
+
1056
+ Also extend emboss info on the main homepage.
1057
+ For plotorf we also need to be able to generate images.
1058
+ We also need a simpler toplevel API here, something like
1059
+ Bioroebe.return_all_open_reading_frames(of_this_sequence, use_these_as_start_codons = start_codons?, use_these_as_stop_codons = stop_codons?)
1060
+ ^^^
1061
+ Bioroebe.return_all_ORFS
1062
+
1063
+
1064
+
1065
+ -------------------------------------------------------------------------------
1066
+ (2) → Start nucleotide position is at: 142
1067
+
1068
+ See the following example:
1069
+
1070
+ BIO SHELL> highlight AAA
1071
+ 5' - GTAACTGTTAAACTGTCAGGCAGGCGCTCAGGTGTACGTTTGATGCTCAGTAGTATTCCATTCTCGCGAGGGTCACGATACCCAAGATCTCCATGGCTTTCTGTTAGACGCAGCCGTGGACGACTAGAGCGTTTTTTTTTGGAAAGTATATGACCAGCACTCTACATCCTAACTAGAAGGTCTTCTAGGCGTACCAATATTAACGAATAGTGAGTGGTTACCCGTACCCGTCATGACGTCTATCATTAATT - 3'
1072
+ BIO SHELL>
1073
+ ^^^ this does not work; nothing is highlighted.
1074
+
1075
+ -------------------------------------------------------------------------------
1076
+ (2) → Add a myristoylierung-signal
1077
+
1078
+ Met-Gly-Xaa-Xaa-YXaa-Ser/Thr-Lys-Lys
1079
+
1080
+ 1^^ but check first.
1081
+
1082
+ -------------------------------------------------------------------------------
1083
+ (3) → integrate the bioroebe_tutorial.cgi into the .md file completely.
1084
+
1085
+ -------------------------------------------------------------------------------
1086
+ (4) → Integrate everything from the biopython tutorial, if it makes
1087
+ sense.
1088
+
1089
+ -------------------------------------------------------------------------------
1090
+ (5) → Improve the codon-optimizer in Bioroebe, including the
1091
+ documentation. We need to make this really useful.
1092
+ -------------------------------------------------------------------------------
1093
+ (6) →
1094
+ 5'- TACACGGCACAT -3'
1095
+ 3'- ATGTGCCGTGTA -5'
1096
+
1097
+ Imperfect DNA mirror repeats (IMRs) are less than 100% symmetrical.
1098
+
1099
+ ^^^ integrate mirror repeats creation
1100
+ and searching for them. Hmmm.
1101
+ -------------------------------------------------------------------------------
1102
+ (7) → continue porting bioroebe/taxonomy
1103
+
1104
+ ^^^^^^^^^^
1105
+ It has been 5 years ...
1106
+
1107
+ ^^^ taxonomy/colours/colours wird integriert
1108
+ ^^^ das ist der nächste schritt, so das
1109
+ wir das nit mehr benötigen.
1110
+
1111
+ -------------------------------------------------------------------------------
1112
+ (8) → find out which bacteria all contain the needle complex; find out
1113
+ the sequence for the needle complex as well and study it;
1114
+ find the positions of the genes responsible.
1115
+
1116
+ -------------------------------------------------------------------------------
1117
+ (9) → Add trypsin_digest, also in the shell, but possibly
1118
+ on toplevel as well (if the input is a protein sequence.
1119
+
1120
+ Also, more generally in the shell, add this:
1121
+
1122
+ digest trypsin
1123
+
1124
+ ^^^ onto the aminoacid
1125
+
1126
+ "This is the result when digsting with trypsine."
1127
+ And document it; but do not digest if a prolin
1128
+ follows !!!
1129
+ ^^^ document this too into .md
1130
+
1131
+ -------------------------------------------------------------------------------
1132
+ (10) → in bioroebe, add a commassie check... do we include
1133
+ arginine or not.
1134
+
1135
+ ..........................................................................
1136
+ (11) → add codon usage in bioroebe
1137
+ -------------------------------------------------------------------------------
1138
+ (12) → Clone the following functionality.
1139
+
1140
+ http://www.bioinformatics.nl/cgi-bin/emboss/help/sirna
1141
+ -------------------------------------------------------------------------------
1142
+ (13) → Improve the "find and scan" subsection. We must be able to find
1143
+ subsequences; check for "matches" as well, including the bioshell.
1144
+ -------------------------------------------------------------------------------
1145
+ (14) → Clone the CLUSTAL format aligment.
1146
+ -------------------------------------------------------------------------------
1147
+ (15) → We need to be able to load up a whole geneome into bioroebe,
1148
+ and then be able to manipulate it.
1149
+
1150
+ ^^^ perhaps test this with some example
1151
+ data or so...
1152
+ -------------------------------------------------------------------------------
1153
+ (16) → Restriction enzymes:
1154
+
1155
+ Add a subsection about restritction enzymes including
1156
+ examples, and also explain how to use this in bioroebe.
1157
+ Minute by minute...
1158
+
1159
+ AND add resources to useful sites.
1160
+ ^^^ start it... have to expand on it
1161
+
1162
+ Also, improve the part about restriction enzymes in
1163
+ general, so that we can reproduce and verify the
1164
+ information there.
1165
+
1166
+ -------------------------------------------------------------------------------
1167
+ (18) → clone pepinfo
1168
+
1169
+ The program "pepinfo" plots various amino acid properties in
1170
+ parallel for an input protein sequence.
1171
+
1172
+ The types of plot available are:
1173
+
1174
+ i. Hydrophobicity plots using the method of Kyte & Doolittle, the
1175
+ optimal matching hydrophobicity scale (OHM) of Sweet & Eisenberg,
1176
+ or consensus parameters (Eisenberg et al).
1177
+
1178
+ ii. Histogram of the presence of residues with the physico-chemical
1179
+ properties: Tiny, Small, Aliphatic, Aromatic, Non-polar, Polar,
1180
+ Charged, Positive, Negative.
1181
+
1182
+ The data are also written out to an output file.
1183
+
1184
+ -------------------------------------------------------------------------------
1185
+ (19) → gff?
1186
+
1187
+ There are 6 .gff3 files in the current directory.
1188
+ We will simply pass the first entry there into class Bioroebe::Parser::GFF.
1189
+ The accession id is `NZ_CP011602.1`.
1190
+ Bioroebe::Parser::GFF: We are instructed to split into standalone files, but we
1191
+ Bioroebe::Parser::GFF: can not do so, as there is not more than one accession id
1192
+ Bioroebe::Parser::GFF: in this file.
1193
+
1194
+ ^^^ we need an analyze-mode as well.
1195
+
1196
+ ..........................................................................
1197
+ (20) → ^^^^ add the ability to
1198
+ show a ruler AND highlighting as well
1199
+ ^^^ then document it.
1200
+ ..........................................................................
1201
+ (21) → https://github.com/bioperl/bioperl-live
1202
+ Look what we can take from ^^^.
1203
+
1204
+ https://github.com/bioperl/bioperl-live/tree/master/examples
1205
+
1206
+ ..........................................................................
1207
+ (23) → continue biojava, and bioroebe a bit
1208
+
1209
+ Ideally we should have biojava o a working point.
1210
+ ..........................................................................
1211
+ (24) → Clone all of Emboss. :)
1212
+ ..........................................................................
1213
+ (25) → clone the functionality found at https://web.expasy.org/protparam/
1214
+
1215
+ https://web.expasy.org/cgi-bin/protparam/protparam
1216
+ ^^^ this is halfway done...
1217
+
1218
+ ^^^^ also add pI calculation:
1219
+
1220
+ Theoretical pI: 5.78
1221
+
1222
+ -------------------------------------------------------------------------------
1223
+ (27) → NP_417539.1
1224
+
1225
+ https://www.ncbi.nlm.nih.gov/protein/NP_417539.1
1226
+ https://www.ncbi.nlm.nih.gov/protein/NP_417539.1?report=fasta
1227
+
1228
+ ^^^ if the input is exactly like the above, on the first line,
1229
+ download the sequence.
1230
+ -------------------------------------------------------------------------------
1231
+ (28) → Integrate these nice GUI parts parts:
1232
+
1233
+ https://dev.to/kojix2/introduction-to-gr-rb-data-visualization-with-ruby-2c39
1234
+
1235
+ -------------------------------------------------------------------------------
1236
+ (29) → http://insilico.ehu.es/
1237
+
1238
+ ^^^ check if we have all of this incorporated
1239
+ -------------------------------------------------------------------------------
1240
+ (30) → http://www.biostars.org/
1241
+
1242
+ ^^^ regularly work through this
1243
+ and try to help
1244
+ and extend bioruby at the same time.
1245
+ -------------------------------------------------------------------------------
1246
+ (31) → The taxonomy-submodule should work one day, and be properly
1247
+ documented as well. Perhaps integrate the parts of Taxonomy
1248
+ that can be included into the toplevel domain.
1249
+ -------------------------------------------------------------------------------
1250
+ (32) → Enable:
1251
+
1252
+ Bioroebe.set_genetic_code()
1253
+ Bioroebe.set_genetic_code(to: 'Vertebrate Mitochondrial')
1254
+
1255
+ ^^^ enable this
1256
+
1257
+ Seq("ATGGCCATTGTAATGGGCCGCTGAAAGGGTGCCCGATAG")
1258
+ coding_dna.translate(table=2)
1259
+ coding_dna.translate(table="Vertebrate Mitochondrial")
1260
+ Seq('MAIVMGRWKGAR*', HasStopCodon(IUPACProtein(), '*'))
1261
+ Seq('MAIVMGRWKGAR*')
1262
+
1263
+ ^^^ enable this as well; extent documentation too.
1264
+
1265
+ -------------------------------------------------------------------------------
1266
+ (34) → We have found a restriction enzyme called NheI.
1267
+
1268
+ The sequence this 6-cutter relates to is: `5' - GCTAGC - 3'`
1269
+
1270
+ This restriction enzyme will produce a blunt overhang.
1271
+
1272
+ ^^^ nope das ist falsch
1273
+ -------------------------------------------------------------------------------
1274
+ (35) → Sau3A?
1275
+ ^^^ enable this restriction site
1276
+
1277
+ -------------------------------------------------------------------------------
1278
+ (37) → Add matplotlib support.
1279
+
1280
+ try_to_use_matplotlib
1281
+ -------------------------------------------------------------------------------
1282
+ (38) → https://www.ncbi.nlm.nih.gov/CBBresearch/Lu/Demo/tmTools/RESTfulAPIs.html
1283
+ -------------------------------------------------------------------------------
1284
+ (39) → The following input:
1285
+
1286
+ downcase; orf?; seq?
1287
+
1288
+ leads to strange display. Something is wrong here, must be checked.
1289
+ -------------------------------------------------------------------------------
1290
+ (40) → Continue with rosalind problems.
1291
+
1292
+ These challenges can be found here:
1293
+
1294
+ http://rosalind.info/problems/sign/
1295
+
1296
+ Also integrate these rosalind-quizzes into bioroebe
1297
+ when possible.
1298
+ -------------------------------------------------------------------------------
1299
+ (41) → https://web.expasy.org/cgi-bin/peptide_mass/peptide-mass.pl
1300
+
1301
+ ^^^ make the above usable in sinaitra as well
1302
+ -------------------------------------------------------------------------------
1303
+ (42) → Integrate a way to search for commonly known promoters:
1304
+
1305
+ promoters?
1306
+ ^^^ this functionality
1307
+ ^^^ this has to be expanded
1308
+ and ...
1309
+ -------------------------------------------------------------------------------
1310
+ (43) → Integrate:
1311
+
1312
+ http://biotools.nubic.northwestern.edu/OligoCalc.html
1313
+ -------------------------------------------------------------------------------
1314
+ (44) → Extend the Java part of BioRoebe systematically..
1315
+
1316
+ What should come next? Let's make a list.
1317
+
1318
+ → remove_numbers [DONE]
1319
+ -------------------------------------------------------------------------------
1320
+ (46) → Study gnuplot; one day we have to draw graphs.
1321
+
1322
+ -------------------------------------------------------------------------------
1323
+ (47) → Add a genome browser, both ascii without GUI and also
1324
+ with. In ruby-gtk.
1325
+ -------------------------------------------------------------------------------
1326
+ (48) → Clone the functionality of:
1327
+
1328
+ http://www.biophp.org/minitools/restriction_digest/demo.php
1329
+ -------------------------------------------------------------------------------
1330
+ (50) → Add the loxP sequence to readme [DONE] and explain this
1331
+ better on the main readme; and perhaps also assign
1332
+ the sequence via the bioshell.
1333
+ -------------------------------------------------------------------------------
1334
+ (51) → 33. Cephalodiscidae Mitochondrial UAA-Tyr Code (transl_table=33)
1335
+
1336
+ AAs = FFLLSSSSYYY*CCWWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSSKVVVVAAAADDEEGGGG
1337
+ Starts = ---M-------*-------M---------------M---------------M------------
1338
+ Base1 = TTTTTTTTTTTTTTTTCCCCCCCCCCCCCCCCAAAAAAAAAAAAAAAAGGGGGGGGGGGGGGGG
1339
+ Base2 = TTTTCCCCAAAAGGGGTTTTCCCCAAAAGGGGTTTTCCCCAAAAGGGGTTTTCCCCAAAAGGGG
1340
+ Base3 = TCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAG
1341
+
1342
+ ^^^ add a parser, and document it, that can take this input
1343
+ and output the corresponding code, in a valid .yml file.
1344
+ -------------------------------------------------------------------------------
1345
+ (52) → Add to bioroebe the ability to add cloning vectors
1346
+ and molecular_weight calcuation
1347
+ for this
1348
+
1349
+ and also to show the sequence of a vector
1350
+
1351
+ and how to add them to bioroebe
1352
+
1353
+ also download sequence data for a vector - this
1354
+ should probably be some interactive table or
1355
+ something of the sort here.
1356
+
1357
+ ^^^ this works a tiny bit now, must be documented still
1358
+ via seq2? and so forth
1359
+
1360
+ "pBR322 contains the genes for resistance to ampicillin and
1361
+ tetracycline, and can be amplified with chloramphenicol.
1362
+ The molecular weight is 2.83 x 106 daltons."
1363
+
1364
+ ^^^ we also need a way to find out what resistance genes
1365
+ are carried there.
1366
+ -------------------------------------------------------------------------------
1367
+ (53) → In the lambda genome sequence there are 10 EcoB and
1368
+ 5 EcoK sites.
1369
+ ^^^ verify this too, as an example as well
1370
+ -------------------------------------------------------------------------------
1371
+ (54) → show restriction sites, composable and compatible with
1372
+ serial clone ... hmm
1373
+ -------------------------------------------------------------------------------
1374
+ (55) → enable:
1375
+ BIOROEBE_USE_COLOURS:
1376
+ can be 0 or 1
1377
+ what is this?
1378
+ -------------------------------------------------------------------------------
1379
+ (56) → Burrows-Wheeler-Transform (BWT)
1380
+
1381
+ ^^^ add some method here
1382
+ Bioroebe.burrows_wheeler_transform
1383
+ ^^^ if no '$' char is in the input, then append it
1384
+
1385
+ then, output the array of a SORTED BWT transform,
1386
+ frmo the given input string.
1387
+ document this properly as well
1388
+
1389
+ also test this against my paper-result
1390
+ with input being: "GATAG$".
1391
+ -------------------------------------------------------------------------------
1392
+ (56) → Enable working with several genes... hmm and store that somewhere.
1393
+ Something like a per-project workspace thingy.
1394
+ -------------------------------------------------------------------------------
1395
+ (57) → Add:
1396
+
1397
+ http://nar.oxfordjournals.org/content/35/suppl_2/W71.long
1398
+
1399
+ -------------------------------------------------------------------------------
1400
+ (58) → Now, you may want to translate the nucleotides up to
1401
+ the first in frame stop codon, and then stop (as
1402
+ happens in nature):
1403
+
1404
+ coding_dna.translate()
1405
+ Seq('MAIVMGR*KGAR*', HasStopCodon(IUPACProtein(), '*'))
1406
+ >>> coding_dna.translate(to_stop=True)
1407
+ Seq('MAIVMGR', IUPACProtein())
1408
+ ^^^^ support this hmmm.
1409
+
1410
+ Then continue from here:
1411
+
1412
+ https://people.duke.edu/~ccc14/pcfb/biopython/BiopythonSequences.html
1413
+ -------------------------------------------------------------------------------
1414
+ (59) → Add:
1415
+
1416
+ set_dna :Ubiquitin
1417
+ set_dna :ubiquitin
1418
+
1419
+ ^^^ we want to obtain the ubuiqitin sequence
1420
+ -------------------------------------------------------------------------------
1421
+ (59) → Telomers
1422
+
1423
+ Telomeres are listed from 5' to 3'.
1424
+
1425
+ Example for the human telomeres would be:
1426
+ 5'-TTAGGG-3
1427
+
1428
+ ^^^ stimmt das?
1429
+
1430
+ add:
1431
+ doc_telomeres
1432
+
1433
+ ^^^ add this to say the human telomere sequence
1434
+ -------------------------------------------------------------------------------
1435
+ (60) → ORF_positions?
1436
+ ^^^ change this a bit, to actually show the positions
1437
+ of the various ORFs with the start-position.
1438
+ -------------------------------------------------------------------------------
1439
+ (62) → add:
1440
+
1441
+ setgene2
1442
+ add_dna2
1443
+ dna2
1444
+ dna? <--- this one is not a setter but a query.
1445
+ -------------------------------------------------------------------------------
1446
+ (63) → improve the TM calculation. must be better, must have more
1447
+ documentation, and a small tutorial.
1448
+ -------------------------------------------------------------------------------
1449
+ (64) → Compare bioroebe to:
1450
+
1451
+ https://www.ncbi.nlm.nih.gov/orffinder
1452
+
1453
+ whether both return the same
1454
+ also possibly add a web-gui
1455
+ -------------------------------------------------------------------------------
1456
+ (65) → Find out ratios from:
1457
+
1458
+ Doolittle RF. 1989. Redundancies in protein sequences. I
1459
+
1460
+ http://onlinelibrary.wiley.com/doi/10.1110/ps.9.6.1203/pdf
1461
+ ^^^ that table perhaps
1462
+
1463
+ (1) require 'bioroebe'
1464
+
1465
+ NameError (uninitialized constant Bioroebe::Blosum)
1466
+ irb(main):003:0> module LibSSW
1467
+ irb(main):004:1> BLOSUM50 = [
1468
+ irb(main):005:2*
1469
+
1470
+
1471
+ ^^^ also enable Bioroebe::Blosum.matrix?,
1472
+ Bioroebe::Blosum.matrix?
1473
+ #^^^ add this
1474
+ Bioroebe::Blosum[50]
1475
+ ^^^ add this, and show an error if the file does not exist.
1476
+ .show_matrix
1477
+ ^^^ and so forth, also:
1478
+ Bioroebe::Blosum[50] as an API.
1479
+ and document it in general.
1480
+
1481
+ ..........................................................................
1482
+ (65) → http://www.biomart.org/other/user-docs.pdf
1483
+ ^^^ work through this
1484
+ -------------------------------------------------------------------------------
1485
+ (66) → add:
1486
+
1487
+ class Cell
1488
+ ^^^ simulate a cell
1489
+ Hmmm. Needs specific components ... and needs a better plan.
1490
+ -------------------------------------------------------------------------------
1491
+ (68) → class Protein:
1492
+
1493
+ add glycosyslation patteren
1494
+ .glycosylated? yes no
1495
+ + glycoslated?
1496
+ need to somehow add the modiication type
1497
+
1498
+ https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5358406/
1499
+ -------------------------------------------------------------------------------
1500
+ (69) → In the BioShell we must be able to do probes - completementary
1501
+ to amino acids.
1502
+ -------------------------------------------------------------------------------
1503
+ (70) → Add www-related functionality to bioroebe eventually make use
1504
+ of rails, but start with sinatra possibly. In the long run,
1505
+ make it flexible to work with as many different frameworks
1506
+ as possible, though.
1507
+ -------------------------------------------------------------------------------
1508
+ (71) → Spaltstellen anzeigen zum beispiel lambda-DNA verdau
1509
+ BgI II.
1510
+ -------------------------------------------------------------------------------
1511
+ (72) → dnaanalyze
1512
+
1513
+ In the DNA string `TCCGTCGCAACACATCGCCTCAACAAACCGACCGGGATATGCAATACCGGAATCCGATCCTTTAGAAGCTGCATTCCAAACGCTTGCAATAACACCCACTCGACTATTCAGCATTGGCAAAGGGTACGAATTCGACGAAGGGAGGGTGCTATATTTTCCAAGTTGCTCGCCGATTGATACGGAGCCTGTGGAAAGATTTCGCGGCTCTAGTCTTTAGCTTTGATGTCACCCCTGAGTAGTAACCCGGCGTGGTAGCTTTCATTAGACTTCTCGGAGAGAGTATTAAGCAAAGGTGGAGGTCCCAGGGGTCCAGTGAGCTGTATCGCACTAAAAGCATGCCTACGGGCAATGCTATTTTGCTCACAGGAACTTTGGGGGAGCCACAAACTCTCGAAGCCGGATTGTTGTGGCGGCTAACTTTCCAAAGGCGACCATTCATGGTCTGAATGGGCCCTCACCAGAAGAACGTTTTCGACGGGCATTCTTCCCCGGGGTTTCGAAGGCAAGGGTCAGCACGGCGCGGAAAAGTACGCGACGCATACCGGACTAGTCATGCAACTCCCTCGGAACTGGCGATTCCCACCCAAGAGACGCACGCTGATCATTGCCCATGCCGACTGGAGATGCTGAATTTGGTATGCGGGTCTGTTGCCAGCGCTGACATTATCGGACATTGTGGGGAGAACCGTGTGATTGATTGAGCTGGCGCATTTGTCCGCATGCTCTCCTCATGTGGACACCTTCGCAGGTTCTTTCCGCGGCCACAGTGTCGGGATCTACCCCTGGTGCGTCGCCGCGAGTACAGGTGGGGTTTCGCGCATGAGAACCAATGTTGCACGCCTCAAAACATGGCTGTAACATATTAGCGCCAATAAAAATTTTTGGCAACAAAGAAACAAGGCCAACCGAAGTGCTAAGCCGCGATCATGAAGGGGCGATGCCAGAATGGGAGTCTGCCTTTCCTGTGTGGACGTGAGATTGTACCTAGACAGAGAACGCC` we found these Nucleotides:
1514
+ ================================================================================
1515
+ Adenines: 244 | 24.40 %
1516
+ Guanines: 273 | 27.30 %
1517
+ Cytosines: 255 | 25.50 %
1518
+ Thymine: 228 | 22.80 %
1519
+
1520
+
1521
+ ^^^ created balanced composition
1522
+
1523
+ "Enter the percentage"
1524
+
1525
+ "interactive_string"
1526
+ ^^^ here we ask user input
1527
+
1528
+ otherwise, we assume it to be 25%
1529
+ Ok 25% works...
1530
+ The other part does not yet work. I am so lazy...
1531
+ ^^^ add a GUI part too. The GUI has been added;
1532
+ we need to make it so that an input sequence
1533
+ can be assigned, and dnaanalyse --GUI should
1534
+ start it too. ALSO document it once this works.
1535
+ -------------------------------------------------------------------------------
1536
+ (73) → go through the individual components slowly and improve them,
1537
+ step by step, including the documentation. Then eventually
1538
+ remove this todo-entry here.
1539
+ -------------------------------------------------------------------------------
1540
+ (74) → Add a consensus sequence for:
1541
+
1542
+ Asn-X-Ser/Thr-Conesnsus
1543
+
1544
+ first in a yaml file; also documented, then also add
1545
+ a way to scan for these something like:
1546
+ N-Glycosylation?
1547
+ NGlycosylation?
1548
+ NGlyc
1549
+ /N-?Glyc/i
1550
+ ^^^ use that regex
1551
+ -------------------------------------------------------------------------------
1552
+ (74) → make sure that newly generated files respect the
1553
+ default chmod value on the system. from bioroebe.
1554
+ right now we default to 755 which I assume is
1555
+ hardcoded but perhaps this is wrong.
1556
+
1557
+ -------------------------------------------------------------------------------
1558
+ (75) → require 'bio'
1559
+
1560
+ # creating a Bio::Sequence::NA object containing ambiguous alphabets
1561
+ ambiguous_seq = Bio::Sequence::NA.new("atgcyrwskmbdhvn")
1562
+
1563
+ # show the contents and class of the DNA sequence object
1564
+ p ambiguous_seq # => "atgcyrwskmbdhvn"
1565
+ p ambiguous_seq.class # => Bio::Sequence::NA
1566
+
1567
+ # convert the sequence to a Regexp object
1568
+ p ambiguous_seq.to_re # => /atgc[tc][ag][at][gc][tg][ac][tgc][atg][atc][agc][atgc]/
1569
+ p ambiguous_seq.to_re.class # => Regexp
1570
+
1571
+ ^^^ add .to_re to this. it must generate a regexp object.
1572
+
1573
+
1574
+
1575
+ - Also add some restirctione nzymes example
1576
+ on the bioroebe readme... and bio.cgi
1577
+
1578
+ perhaps add the restriction enyme
1579
+ part nto a standalone file
1580
+ so taht it can be used by both the .cgi and
1581
+ well rdoc...
1582
+ -------------------------------------------------------------------------------
1583
+ - Add more protein-specific thingies to bioroebe.
1584
+ -------------------------------------------------------------------------------
1585
+ - Die bioshell vorantreiben und durch std_biology.rb abarbeiten.
1586
+ Vielleicht können wir ja etwas davon auslagern in eine Klasse
1587
+ oder so.
1588
+
1589
+ Das ganze sollte auch mit Webmin (biomin) verknüpft werden, so das
1590
+ wir die Bioshell auch elegant über das www verwenden können!
1591
+ -------------------------------------------------------------------------------
1592
+ - ^^^ when we find restriction enzyme sites in a DNA
1593
+ string, colourize them RED.
1594
+
1595
+ also set it to
1596
+ set_restriction_size()
1597
+ -------------------------------------------------------------------------------
1598
+ - also ... while learning C++ we extend the project here...
1599
+ Useful C++ things will be combined.
1600
+ -------------------------------------------------------------------------------
1601
+ - As of April 2003, there were 176,890 total taxa represented.
1602
+
1603
+ ^^^ we need a way to also output how many entries we
1604
+ have there.
1605
+ -------------------------------------------------------------------------------
1606
+ - Replace bioruby with bioroebe completely!
1607
+ In order for this to work, we first need to find out
1608
+ what bioruby is able to do. :P
1609
+ -------------------------------------------------------------------------------
1610
+ - append 33
1611
+ # ^^^ in the bioshell
1612
+ Only numbers were given: Adding 33 random nucleotides to the main string next.
1613
+ Traceback (most recent call last):
1614
+ 10: from /usr/bin/bioshell:26:in `<main>'
1615
+ 9: from /home/Programs/Ruby/2.7.1/lib/ruby/site_ruby/2.7.0/bioroebe/shell/misc.rb:4121:in `shell'
1616
+ 8: from /home/Programs/Ruby/2.7.1/lib/ruby/site_ruby/2.7.0/bioroebe/shell/misc.rb:4121:in `new'
1617
+ 7: from /home/Programs/Ruby/2.7.1/lib/ruby/site_ruby/2.7.0/bioroebe/shell/initialize.rb:168:in `initialize'
1618
+ 6: from /home/Programs/Ruby/2.7.1/lib/ruby/site_ruby/2.7.0/bioroebe/shell/loop.rb:18:in `enter_main_loop'
1619
+ 5: from /home/Programs/Ruby/2.7.1/lib/ruby/site_ruby/2.7.0/bioroebe/shell/loop.rb:18:in `loop'
1620
+ 4: from /home/Programs/Ruby/2.7.1/lib/ruby/site_ruby/2.7.0/bioroebe/shell/loop.rb:30:in `block in enter_main_loop'
1621
+ 3: from /home/Programs/Ruby/2.7.1/lib/ruby/site_ruby/2.7.0/bioroebe/shell/loop.rb:30:in `each'
1622
+ 2: from /home/Programs/Ruby/2.7.1/lib/ruby/site_ruby/2.7.0/bioroebe/shell/loop.rb:31:in `block (2 levels) in enter_main_loop'
1623
+ 1: from /home/Programs/Ruby/2.7.1/lib/ruby/site_ruby/2.7.0/bioroebe/shell/menu.rb:3565:in `menu'
1624
+ /home/Programs/Ruby/2.7.1/lib/ruby/site_ruby/2.7.0/bioroebe/shell/misc.rb:3979:in `append': undefined method `return_sequence_that_is_cut_via_restriction_enzyme' for Bioroebe:Module (NoMethodError)
1625
+ Did you mean? return_random_codon_sequence_for_this_aminoacid_sequence
1626
+
1627
+
1628
+ ^^^^^ BUG!
1629
+ -------------------------------------------------------------------------------
1630
+ > rest?
1631
+
1632
+ We found these restriction sites within the sequence `TTCAGAACTCAACGCCTGGTTGGCCGTCCAGTAAGCTGACTAAGTAAGTCTATGCCCGCGATAACCAGGATACAGATATCGTGAAACCTGGTTTATCTCCTTCTATAAGAGTCTGCACATCTAGC`:
1633
+
1634
+ AccII → CGCG ( 1 times found)
1635
+ AluI → AGCT ( 1 times found)
1636
+ BfaI → CTAG ( 1 times found)
1637
+ BshI → GGCC ( 1 times found)
1638
+ Bsh1236I → CGCG ( 1 times found)
1639
+ BshFI → GGCC ( 1 times found)
1640
+ BstFNI → CGCG ( 1 times found)
1641
+ BstUI → CGCG ( 1 times found)
1642
+ BsuRI -> GGCC ( 1 times found)
1643
+ CviRI -> TGCA ( 1 times found)
1644
+ Eco32I -> GATATC ( 1 times found)
1645
+ EcoRV -> GATATC ( 1 times found)
1646
+ FnuDII -> CGCG ( 1 times found)
1647
+ HaeIII -> GGCC ( 1 times found)
1648
+ HpyCH4V -> TGCA ( 1 times found)
1649
+ MaeI -> CTAG ( 1 times found)
1650
+ MvnI -> CGCG ( 1 times found)
1651
+ PalI -> GGCC ( 1 times found)
1652
+ SelI -> CGCG ( 1 times found)
1653
+ ThaI -> CGCG ( 1 times found)
1654
+ XspI → CTAG ( 1 times found)
1655
+
1656
+ ^^^^ also show the position
1657
+
1658
+
1659
+ -------------------------------------------------------------------------------
1660
+
1661
+ PMID entries are:
1662
+
1663
+ x = 'Goldman, JM, Melo JV 2003 NEJM 349:1451 14534339
1664
+ Lewis GD 1993 Cancer Immunol Immun other 37: 255 8102322
1665
+ McShane LM 2009 Clin Canc Res 15: 1898 19276274
1666
+ Fox JL 2007 Nature Biotech 25: 489 17483821
1667
+ Bodin L 2005 Blood 106: 135 15790782'
1668
+
1669
+ require 'rubygems'
1670
+ require 'bio'
1671
+
1672
+ my_file = File.new(ARGV[0])
1673
+ refs = my_file.readlines
1674
+ ids = []
1675
+
1676
+ refs.each do |line|
1677
+ pmid = line.strip().split("\t")
1678
+ ids.push(pmid[2])
1679
+ end
1680
+
1681
+ ids.each { |id|
1682
+ entry = Bio::PubMed.query(id)
1683
+ medline = Bio::MEDLINE.new(entry)
1684
+ reference = medline.reference
1685
+ puts reference.endnote
1686
+ }
1687
+ - Clone, in bioroebe, the get_ORF functionality.
1688
+
1689
+ - in bioroebe: Find out how to count where a restriction
1690
+ enzyme was found + add it into a table, also WHEN it
1691
+ was found and by WHO.
1692
+
1693
+ We should make a good reference table there, so that
1694
+ people can reproduce where the information is kept
1695
+ or obtained from.
1696
+
1697
+ - Enable:
1698
+ download ecoli
1699
+ first fix a bug
1700
+ and then make it so that we can download the ecoli
1701
+ sequence from that file.... yaml file
1702
+ - Rewrite Bioroebe (Pending since as of September 2019 ...)
1703
+ Start with the functionality that shall decode something,
1704
+ and put this back ... as a first class citizen with
1705
+ descriptions how to work with this.
1706
+ - improve quality
1707
+ - also fix the taxonomy project as you go...
1708
+ - Add C++ wrapper stuff, starting with qt-widgets specifically
1709
+ but also extend the base part of bioroebe as far as C++ is
1710
+ concerned. Perhaps at a later time also add/embed mruby
1711
+ into the project.
1712
+
1713
+ - Need to overlay 2 exceptionally large DNA data sets and
1714
+ analyze the overlap.
1715
+
1716
+ Want to determine the frequency of one event within the DNA
1717
+ reads of the other data set. Prefer to discuss the details
1718
+ of the data sets one-on-one.
1719
+ ^^^ we need to compare two DNA data sets and analyze the overlap.
1720
+
1721
+ - Make sure that the sinatra interface has the parts of
1722
+ emboss available, too. List the progress here.
1723
+ - interactivefasta interactive_fasta
1724
+ ^^^ enable this... but I am not sure what is meant with
1725
+ that. :\
1726
+
1727
+
1728
+
1729
+
1730
+
1731
+ ..........................................................................
1732
+ Bei der Datenbanksuche werden die gemessenen Massen mit den Peptidmassen
1733
+ aller Proteine bzw. Gene in einer Datenbank (NCBI, Uniprot) verglichen. DNA-
1734
+ Sequenzen werden dazu in Proteinsequenzen übersetzt und in silico mit der beim
1735
+ Verdau benutzten Protease geschnitten.
1736
+ ^^^ enable digestions
1737
+
1738
+
1739
+
1740
+
1741
+ ..........................................................................
1742
+ Complexity of libraries:
1743
+ How many independent clones are necessary to represent a genome (plant,
1744
+ animal/fungus) or how many such clones have to be screened to have realistic
1745
+ chance of finding the gene of interest?
1746
+ This can be calculated by the formula:
1747
+ P = 1 - (1 - F/G) N
1748
+ N = ln(1 - P) / ln(1 - F/G)
1749
+ P.... Propability that a certain insert is present in library consisting of N clones
1750
+ F.... average insert size (kb)
1751
+ G... Genome size (kb) of the organism from which a library should be constructed
1752
+ N.... Number of clones in the library
1753
+ ^^^^ add this formula + documentation
1754
+
1755
+ Example: 16 kb average insert size in a replacement vector
1756
+ Genome sizes:
1757
+ Yeast:
1758
+ 16 Mb = 16 000 kb (1000 clones with 16 kb = 1 genome equivalent)
1759
+ F/G=0.001.
1760
+ ln(1-F/G)= - 0.0010005
1761
+ 95%: ln0.05= - 2.99573
1762
+ 2,99/0.001 3000
1763
+ Wheat: 16 000 Mb
1764
+ 3 .10 6 clones
1765
+ How many plaques can be screended on one 9 cm petri dish or filter?
1766
+ Plaques close to confluency: about 10 4 pfu per plate.
1767
+ While in case of yeast the whole library can be screened on 1 plate,
1768
+ 300 plates would be needed for wheat - which is impracticable!
1769
+ (BAC "bacterial artificial chromosome" libraries with 150 -300 kb inserts are used!)
1770
+ Most plants have reasonable genome size (e.g. tomato about 800 Mb) - 15 filters
1771
+ have to be hybridized.
1772
+
1773
+
1774
+
1775
+
1776
+ ..........................................................................
1777
+
1778
+ BIO SHELL> BglI?
1779
+
1780
+ We have found a restriction enzyme called BglI.
1781
+
1782
+ The sequence this 11-cutter relates to is: `5' - GCCNNNNNGGC - 3'`
1783
+
1784
+ It will specifically cut between: 5' - GCCNNNN|NGGC - 3'
1785
+ 3' - CGG(A/T/G/C)(A/T/G/C)(A/T/G/C)(A/T/G/C)(A/T/|G/C)CCG - 5'
1786
+
1787
+ ^
1788
+ also add a line to say
1789
+ "This is a blunt-end cutter."
1790
+ or
1791
+ "This enzyme cre
1792
+ ates a staggered cut."
1793
+
1794
+
1795
+ http://biopython.org/DIST/docs/api/Bio.Restriction.Restriction.Blunt-class.html
1796
+ ^^^ also add something like this... as a query thingy.
1797
+
1798
+ catalyse(cls, dna, linear=True)
1799
+ List the sequence fragments after cutting dna with enzyme. source code
1800
+
1801
+ catalyze(cls, dna, linear=True)
1802
+ List the sequence fragments after cutting dna with enzyme. source code
1803
+
1804
+ is_blunt(cls)
1805
+ Return if the enzyme produces blunt ends. source code
1806
+
1807
+ is_5overhang(cls)
1808
+ Return if the enzymes produces 5' overhanging ends. source code
1809
+
1810
+ is_3overhang(cls)
1811
+ Return if the enzyme produces 3' overhanging ends. source code
1812
+
1813
+ overhang(cls)
1814
+ Return the type of the enzyme's overhang as string. source code
1815
+
1816
+ compatible_end(cls, batch=None)
1817
+ List all enzymes that produce compatible ends for the enzyme.
1818
+ http://biopython.org/DIST/docs/api/Bio.Restriction.Restriction.Blunt-class.html
1819
+
1820
+
1821
+ ..........................................................................
1822
+ https://www.reddit.com/r/bioinformatics/comments/5o3kn8/bioinformatics_contest_2017_jan_23rd29th_solve_as/
1823
+ ..........................................................................
1824
+ (1) → Finish all of biophp integration into bioroebe.
1825
+ http://www.biophp.org/
1826
+ -------------------------------------------------------------------------------
1827
+
1828
+ locate oriC here:
1829
+
1830
+ ttcgttaagtaacttcactgcccgtagtgtaccggcattcgctagcaagagtctttctg
1831
+ ggcaagcttcacttgtgatcgcggcctgtgcccccggaatgaaacaaccacgtccctgct
1832
+ aacaacgacgggaaaagggaagtgatccgtcggcagacccagactagtgcccttctccgg
1833
+ cttccaacaccaacgagtcggaccgaattgagcactcgaatgcacggcgctttttgccgg
1834
+ ccgaaacggcgcctccgcattgatcgacgcacggcctcttttggctacagcgcatggctt
1835
+ tacactcggcatgcatttccagtgctaatcaaacagaattccttgtaaagtccttcaacc
1836
+ gtgacagactatcgctaaggagcctttccagtcgtgcctgcaatcactcgcgaaatcaac
1837
+ aaatctacatctaagcacgctcgtggttcggagtcccgccctcatgtggaccatagccgg
1838
+ ttcgcccgagtcctaggcacgatcagaggacctatctttcgccactcaactcttctgagt
1839
+ gaaacaatatcgaccgaaaccttgctcggttttgtccacaacaacgtcaggcccataagc
1840
+ agacgacattagtccgctgttgtcgcgggcgtcccatagccgtacgatgtcccgtcgga
1841
+
1842
+ ori?
1843
+
1844
+ ^^^ this shall give us all ORI in a sequence.
1845
+ DnaA protein binds to DNA-Box in an ori.
1846
+
1847
+ '9cut'
1848
+ '8cut'
1849
+ '7cut'
1850
+ ^^^ these give us slices
1851
+
1852
+ But I do not know how to locate ORIs.
1853
+
1854
+
1855
+
1856
+
1857
+
1858
+
1859
+
1860
+
1861
+ -------------------------------------------------------------------------------
1862
+ ^^^ also integrate git into bioroebe.
1863
+ -------------------------------------------------------------------------------
1864
+ WIR MÜSSEN DAS HIER EXTREM VERBESSERN.
1865
+
1866
+ DANN UPLOADEN UND ALS BASIS FÜR APPLICATIONS NUTZEN.
1867
+ -------------------------------------------------------------------------------
1868
+
1869
+ Study MetaCyc
1870
+ ^^^ study metabolic pathways.
1871
+
1872
+ http://metacyc.org/
1873
+
1874
+ → Create KuroMetaCyc, in Analogy towards Metabolic Cycle.
1875
+
1876
+ -------------------------------------------------------------------------------
1877
+
1878
+ Welcome to BioShell May 2012. Type "help" to get some help.
1879
+
1880
+ Hello and welcome to the Bio Shell Version, last updated: May 2012
1881
+
1882
+ BIO SHELL> IPEYVDWRQKGAVTPVKNQGSCGSCWAFSAVVTIEGIIKIRTGNLNQYSEQELLDCDRRSYGCNGGYPWSALQLVAQYGI
1883
+ BIO SHELL> HYRNTYPYEGVQRYCRSREKGPYAAKTDGVRQVQPYNQGALLYSIANQPVSVVLQAAGKDFQLYRGGIFVGPCGNKVDHA
1884
+ BIO SHELL> VAAVGYGPNYILIKNSWGTGWGENGYIRIKRGTGNSYGVCGLYTSSFYPVKN
1885
+ BIO SHELL>
1886
+ BIO SHELL> input?
1887
+ BIO SHELL> pdb
1888
+ BIO SHELL>
1889
+
1890
+ ^^^ (1)
1891
+ Add a pdb submodule
1892
+ When we type this, we then ask:
1893
+ "Please input your FASTA format now:"
1894
+
1895
+
1896
+
1897
+
1898
+ -------------------------------------------------------------------------------
1899
+
1900
+ http://biopython.org/DIST/docs/cookbook/Restriction.html#mozTocId101269
1901
+
1902
+ ^^^ support this also:
1903
+
1904
+ >>> from Bio import Restriction
1905
+ >>> dir()
1906
+ ['Restriction', '__builtins__', '__doc__', '__name__']
1907
+ >>> Restriction.EcoRI
1908
+ EcoRI
1909
+ >>> Restriction.EcoRI.site
1910
+ 'GAATTC'
1911
+ >>>
1912
+
1913
+ and document it somewhere; perhaps in a new .cgi page.
1914
+
1915
+ The above will return the exact site, without verbosity.
1916
+
1917
+
1918
+ Restriction.EcoRI
1919
+ Restriction.EcoRI.site
1920
+
1921
+ result = Bioroebe.restriction_enzyme 'EcoRI.site'
1922
+ # => "GAATTC"
1923
+
1924
+ ^^^ funktioniert bereits Teilweise, aber noch nit
1925
+ ausreichend.
1926
+
1927
+
1928
+
1929
+ - Clone the following functionality from Bio:
1930
+
1931
+ require 'bio'
1932
+ quality_threshold = 60
1933
+ Bio::FlatFile.open('sample.fastq').each {|entry|
1934
+ hq_seq = entry.mask(quality_threshold)
1935
+ puts hq_seq.output_fasta(entry.entry_id)
1936
+ }
1937
+
1938
+
1939
+ - Document the workflow of all scripts in a reproducible
1940
+ manner, e. g. so that others can use it...
1941
+
1942
+
1943
+ → it must also allow for different tables to be
1944
+ used! check this... so that we can search in
1945
+ standard ORF but also in different ORFs
1946
+
1947
+ und die länge angeben, zumindest vom längsten ORF
1948
+ start + stop... also so das das ergebnis auch
1949
+ passt
1950
+
1951
+
1952
+
1953
+ - Before we start to use rails for bioroebe, let's polish the GUI
1954
+ components more.
1955
+ But we really should use rails for this project too, at the
1956
+ least optionally.
1957
+ Ideally every small class has a tiny widget that can be
1958
+ interconnected. Perhaps do this via sinatra first and think
1959
+ of ways how to generalize on it.
1960
+
1961
+ We should probably be systematic about this and go through
1962
+ each class, then write a GUI for it:
1963
+ ^^^ first GUI
1964
+ ^^^ then rails
1965
+
1966
+ Ok, first task - write a lot of GUIs.
1967
+ gui/hamming_distance.rb - works ok-ish but it needs an in-widget
1968
+ notification, that is, we need to somehow colourize this thing.
1969
+
1970
+
1971
+
1972
+ - fix batch generation of .star files
1973
+
1974
+ - add script that will generate those weird
1975
+ files ... from the tch shell script
1976
+
1977
+
1978
+ - in mohitstar --help auch examples hinzufügen
1979
+ --examples
1980
+ we also need the Z coordinates into the .star file
1981
+ test.xmd
1982
+
1983
+ /home/kumar/Desktop/test_exit/InputMicrographs/
1984
+
1985
+
1986
+
1987
+
1988
+ ..........................................................................
1989
+ BioTodo - GENESIS, science fiction.
1990
+
1991
+ - create virus(:which_one, :amount) # Note the difference to the below
1992
+ - create hydra(:amount)
1993
+ - create bread
1994
+ ..........................................................................
1995
+ → both
1996
+ ^ should work, does not work right now.
1997
+ ..........................................................................
1998
+ → Taxonomy is now integrated into bioroebe. This is good but we need more
1999
+ documentation, some more tests, a rethinking of the layout and the
2000
+ structures, and a fixing of the query-part of the database.
2001
+
2002
+ Also, make sure that it does the main functions.
2003
+
2004
+ rewrite for taxonomy in bioroebe
2005
+ and while doing this, also continue with the
2006
+ protokoll in bioinformatik
2007
+ so that we can finish both related-problemsters
2008
+ at about the same time \o/
2009
+ AND document this related-problems too
2010
+ Integrate this some other day...
2011
+ ..........................................................................
2012
+ - http://www.restrictionmapper.org/cgi-bin/sitefind3.pl
2013
+
2014
+ ^^^ Das sollte man integrieren, die Funktionalität, so das
2015
+ man ALLE Restriktion-Enzymes ausprobiert ausgehend von
2016
+ einer bestimmten Sequenz.
2017
+ ..........................................................................
2018
+ → A search is essentially substring search across a database of strings
2019
+ (albeit with a smaller alphabet). Some common use cases: one,
2020
+ scientists will search for certain genes that they've used in engineered
2021
+ plasmids. Two, since multiple codons can translate to the same amino
2022
+ acid, a process called "codon optimization" might replace codons with
2023
+ equivalent ones that work better given a certain kind of organism -
2024
+ your CAA (glutamine) might become CAG (still glutamine) instead. You
2025
+ might want to search by amino acid ("glutamine") so that you find
2026
+ it regardless of whether CAA or CAG was used.
2027
+
2028
+ ^^^^ yeah enable this too.
2029
+ Perhaps start with a "codon optimizer". This shall, for a given
2030
+ organism, replace the given codons with the "optimal" ones.
2031
+ Then also add this to sinatra interafce.
2032
+
2033
+ Bioroebe::DetermineOptimalCodons
2034
+ ^^^ this is currently incomplete.
2035
+
2036
+ ..........................................................................
2037
+ → Redo restrictions enzymes completely.
2038
+ And polish this a LOT.
2039
+ This may take some days. But we want this to be REALLY good and
2040
+ lasting for a long time.
2041
+ Need to keep on working at that!
2042
+ ..........................................................................
2043
+ → Add: average_aminoacid_weight?
2044
+
2045
+
2046
+ → === LV-Nummer 300214 UE Übung III B Sequenzanalysen in der Molekularbiologie
2047
+ → Pubmed
2048
+ → Finding sequences
2049
+ → Sequence homology search (Blast, FASTA)
2050
+ → Pairwise sequence alignment
2051
+ → DNA analysis, translation
2052
+ → Gene finding in genomes
2053
+ ^^^ find genes
2054
+ → Plasmid Cloning
2055
+ → Primer for PCR
2056
+ → Protein analysis
2057
+ → PROSITE
2058
+ → EMBOSS
2059
+ ^^^ das nochmals in Ruhe durchgehen.
2060
+
2061
+ → in bioroebe viel C++ schreiben, möglichst optimieren,
2062
+ und dann irgendwann später ruby bindings dazu liefern
2063
+ → add the ability to compare two FASTA files
2064
+ can probably do so via the two sequences.
2065
+ → integrate "grundlagen der bioinfo" slides
2066
+ gleichzeitig während wir dafür lernen.
2067
+ ntSeq.each_entry do |e|
2068
+ # pep = Bio::Sequence.new(e.naseq.reverse_complement!.translate)
2069
+ pep = Bio::Sequence.new(e.naseq.translate)
2070
+ if strand == 0
2071
+ pep = Bio::Sequence.new(e.naseq.reverse_complement!.translate)
2072
+ end
2073
+ puts pep.output_fasta(e.definition,20)
2074
+ end
2075
+ ^^^ we must show this in n characters per line:
2076
+ see https://raw.githubusercontent.com/zorino/bioruby-scripts/master/transeq.rb
2077
+ → We must be able to align not only nucleotides but also aminoacids.
2078
+ But where is the alignment comparer? perhaps hamming distance?
2079
+ hmm we have to see.
2080
+ ..........................................................................
2081
+ → /Programs/Ruby/2.3.1/lib/ruby/site_ruby/2.3.0/bioroebe/bioshell/menu.rb:311:in `menu': undefined method `upcase' for ["EcoRI"]:Array (NoMethodError)
2082
+ from /Programs/Ruby/2.3.1/lib/ruby/site_ruby/2.3.0/bioroebe/bioshell/user_input.rb:31:in `block in enter_main_loop'
2083
+ from /Programs/Ruby/2.3.1/lib/ruby/site_ruby/2.3.0/bioroebe/bioshell/user_input.rb:12:in `loop'
2084
+ from /Programs/Ruby/2.3.1/lib/ruby/site_ruby/2.3.0/bioroebe/bioshell/user_input.rb:12:in `enter_main_loop'
2085
+ from /Programs/Ruby/2.3.1/lib/ruby/site_ruby/2.3.0/bioroebe/bioshell/initialize.rb:42:in `initialize'
2086
+ from /Programs/Ruby/2.3.1/lib/ruby/site_ruby/2.3.0/bioroebe/bioshell/bioshell.rb:52:in `new'
2087
+ from /Programs/Ruby/2.3.1/lib/ruby/site_ruby/2.3.0/bioroebe/bioshell/bioshell.rb:52:in `shell'
2088
+ from /System/Executables/bioshell:6:in `<main>'
2089
+
2090
+ ^^^ also fix this stupid bug.
2091
+ perhaps redo the whole restriction enzyme stuff.
2092
+
2093
+ → Taxonomy components:
2094
+
2095
+ (1) Wir wollen nur einen query machen statt vieler kleiner
2096
+ queries.
2097
+
2098
+ Taxonomy component
2099
+
2100
+ (2) Send email, also enable disable_email notification
2101
+ this should be simple if we use the email part
2102
+ of cyberweb-project.
2103
+ We send an email when everything has finished.
2104
+
2105
+ data = 'Last update... job is now finished,
2106
+ at this date.'
2107
+ SendEmail.new to: Roebe.email?, data
2108
+
2109
+ ..........................................................................
2110
+
2111
+
2112
+ → Document which parts of emboss have already been copied.
2113
+ → EMBOSS.md
2114
+ ..........................................................................
2115
+
2116
+
2117
+
2118
+
2119
+
2120
+ - Trametes_versicolor_FP-101664_SS1_pyranose_2-oxidase_partial_mRNA_XM_008046051.1.fasta
2121
+
2122
+
2123
+
2124
+
2125
+ Bioroebe::Shell: Now loading from `Trametes_versicolor_FP-101664_SS1_pyranose_2-oxidase_partial_mRNA_XM_008046051.1.fasta`.
2126
+ Bioroebe::ParseFasta: Will read from the file `Trametes_versicolor_FP-101664_SS1_pyranose_2-oxidase_partial_mRNA_XM_008046051.1.fasta`.
2127
+ This sequence is assumed to be DNA or RNA.
2128
+ The GC content of "XM_008046051.1 Trametes versicolor FP-101664 SS1 pyranose 2-oxidase partial mRNA" is:
2129
+ 60.41667 %
2130
+ This sequence has 1872 nucleotides.
2131
+ We have identified a total of 1 entry in this fasta dataset.
2132
+ Setting DNA sequence to (1872 nucleotides):
2133
+ 5'- ATGTCTACCAGCTCGAGCGACCCGTTCTTCAACTTCACGAAGTCGAGCTTCAGGAGCGCGGCGGCGCAGAAGGCCTCGGCGACTTCTCTGCCGCCGCTGCCTGGTCCCGACAAGAAAGTCCCTGGAATGGACATCAAGTACGACGTTGTCATAGTAGGCTCCGGACCGATTGGATGCACCTATGCCCGTGAGCTCGTCGAAGCCGGTTACAAGGTCGCGATGTTCGACATCGGAGAGATCGACTCCGGCCTGAAGATCGGTGCCCACAAGAAGAACACTGTCGAATACCAGAAGAACATTGACAAGTTTGTGAACGTCATTCAGGGTCAATTGATGTCTGTTTCCGTTCCCGTCAATACCCTCGTGATCGATACGCTCAGCCCGACGTCTTGGCAAGCTTCATCGTTCTTCGTCCGTAACGGCTCGAACCCAGAGCAGGACCCGCTTCGTAACCTCAGTGGTCAGGCGGTCACACGCGTCGTCGGGGGAATGTCCACGCATTGGACTTGCGCGACACCCCGCTTTGACCGCGAGCAGCGCCCACTGCTCGTGAAGGATGACACGGACGCCGACGACGCCGAGTGGGACCGGCTGTACACCAAGGCCGAGTCGTACTTCAAGACCGGGACGGACCAGTTCAAGGAGTCGATCCGCCACAACCTCGTGCTCAACAAGCTCGCGGAGGAATACAAAGGTCAGCGCGACTTCCAGCAGATCCCGCTGGCGGCAACGCGCCGCAGTCCGACCTTCGTCGAGTGGAGCTCGGCGAACACCGTGTTCGACCTCCAGAACAGGCCGAACACGGACGCGCCGAATGAGCGCTTCAACCTCTTCCCCGCGGTCGCATGTGAGCGCGTCGTGCGCAACACGTCGAACTCCGAGATCGAGAGTCTGCACATCCACGACCTCATCTCAGGCGACCGCTTCGAAATCAAGGCAGACGTGTTTGTTCTCACAGCCGGGGCGGTCCACAACGCGCAGCTTCTCGTGAACTCTGGCTTTGGACAGCTGGGCCGGCCGGACCCCGCGAACCCGCCGCGGTTGCTGCCTTCCCTGGGAAGCTACATCACCGAGCAGTCGCTCGTCTTCTGCCAGACCGTGATGAGCACCGAGCTCATCGACAGCGTCAAGTCCGACATGATCATCAGGGGCAACCCTGGTGATCCGGGGTATAGCGTCACGTACACGCCGGGCGCGTCGACCAACAAGCACCCGGACTGGTGGAACGAGAAGGTGAAGAACCACATGATGCAGCACCAGGAGGACCCGCTCCCGATCCCGTTCGAGGACCCCGAGCCCCAGGTCACCACCCTGTTCCAGCCGTCGCACCCGTGGCACACCCAGATCCACCGCGACGCTTTCAGTTACGGTGCGGTGCAGCAAAGCATCGACTCGCGTCTCATCGTCGACTGGCGCTTTTTCGGAAGGACGGAGCCCAAGGAGGAAAACAAGCTCTGGTTCTCGGACAAGATCACCGACACGTACAACATGCCGCAGCCGACGTTCGACTTCCGCTTCCCGGCAGGCCGCACGAGCAAGGAGGCGGAGGACATGATGACCGACATGTGCGTCATGTCGGCGAAGATTGGTGGCTTCCTGCCCGGCTCTCTCCCGCAATTCATGGAGCCCGGTCTTGTCCTTCACCTCGGTGGTACGCACCGCATGGGCTTCGATGAGCAGGAGGACAAGTGCTGCGTCAACACGGACTCCCGCGTGTTCGGCTTTAAGAACCTTTTCCTCGGCGGCTGCGGCAACATTCCCACCGCGTACGGCGCGAACCCGACGCTCACCGCAATGTCGCTCGCGATCAAGAGTTGCGAGTACATCAAGAACAACTTCACACCGAGCCCTTTCACAGATCAGGCTCAGTGA - 3'
2134
+ BIO SHELL> gc?
2135
+ Traceback (most recent call last):
2136
+ 12: from /System/Index/bin/bioshell:27:in `<main>'
2137
+ 11: from /Programs/Ruby/2.6.4/lib/ruby/site_ruby/2.6.0/bioroebe/shell/shell.rb:109:in `shell'
2138
+ 10: from /Programs/Ruby/2.6.4/lib/ruby/site_ruby/2.6.0/bioroebe/shell/shell.rb:109:in `new'
2139
+ 9: from /Programs/Ruby/2.6.4/lib/ruby/site_ruby/2.6.0/bioroebe/shell/initialize.rb:152:in `initialize'
2140
+ 8: from /Programs/Ruby/2.6.4/lib/ruby/site_ruby/2.6.0/bioroebe/shell/user_input.rb:18:in `enter_main_loop'
2141
+ 7: from /Programs/Ruby/2.6.4/lib/ruby/site_ruby/2.6.0/bioroebe/shell/user_input.rb:18:in `loop'
2142
+ 6: from /Programs/Ruby/2.6.4/lib/ruby/site_ruby/2.6.0/bioroebe/shell/user_input.rb:41:in `block in enter_main_loop'
2143
+ 5: from /Programs/Ruby/2.6.4/lib/ruby/site_ruby/2.6.0/bioroebe/shell/menu.rb:997:in `menu'
2144
+ 4: from /Programs/Ruby/2.6.4/lib/ruby/site_ruby/2.6.0/bioroebe/shell/shell.rb:2605:in `calculcate_gc_content'
2145
+ 3: from /Programs/Ruby/2.6.4/lib/ruby/site_ruby/2.6.0/bioroebe/shell/shell.rb:2605:in `new'
2146
+ 2: from /Programs/Ruby/2.6.4/lib/ruby/site_ruby/2.6.0/bioroebe/calculate/calculate_gc_content.rb:41:in `initialize'
2147
+ 1: from /Programs/Ruby/2.6.4/lib/ruby/site_ruby/2.6.0/bioroebe/calculate/calculate_gc_content.rb:71:in `set_data'
2148
+ /Programs/Ruby/2.6.4/lib/ruby/site_ruby/2.6.0/bioroebe/calculate/calculate_gc_content.rb:71:in `exist?': can't convert Bioroebe::Sequence to String (Bioroebe::Sequence#to_str gives Bioroebe::Sequence) (TypeError)
2149
+
2150
+
2151
+
2152
+ - require 'bio'
2153
+
2154
+ keywords = ARGV.join(' ')
2155
+ options = {
2156
+ 'retmax' => 1
2157
+ }
2158
+ entries = Bio::PubMed.esearch(keywords, options)
2159
+ Bio::PubMed.efetch(entries).each do |entry|
2160
+ medline = Bio::MEDLINE.new(entry)
2161
+ reference = medline.reference
2162
+ puts reference.bibtex
2163
+ end
2164
+ ^^^ enable BioPubMed access, similar to bioruby,
2165
+ then docment it as well.
2166
+
2167
+ - Learn from:
2168
+
2169
+ http://www.snapgene.com/products/snapgene_viewer/
2170
+
2171
+ -------------------------------------------------------------------------------
2172
+ (1) → Wir sollten GFP tagging unterstützen, also wie das
2173
+ Protein-Konstrukt aussehen soll und so weiter.
2174
+ Das geht teilweise...
2175
+ GFP? zeigt die Sequenz an.
2176
+ assign :GFP
2177
+ fügt die sequence asl main dna sequenz ein.
2178
+ Was fehlt? Hmmmm... eventuell noch mehr an
2179
+ dokumentation.
2180
+ -------------------------------------------------------------------------------
2181
+
2182
+ - in bioroebe, create subsequences for siRNA, then scan for
2183
+ submatcher + report where these are. Should be fast too.
2184
+ -------------------------------------------------------------------------------
2185
+ - Reverse complement now works quite well, also via the sinatra
2186
+ interface. We still should have a way to show 5' and
2187
+ 3', both on the commandline, and via sinatra.
2188
+ Perhaps via --fancy commandline flag or so.
2189
+ -------------------------------------------------------------------------------
2190
+ - Cn3D files?
2191
+ ^^^ add support for these; research what they are, too.
2192
+ -------------------------------------------------------------------------------
2193
+ - Consider adding graphviz, perhaps to the taxonomy project
2194
+ where we make graphs towards different nodes or so...
2195
+ -------------------------------------------------------------------------------
2196
+ - in parse fasta
2197
+ @colourize_sequence = false
2198
+ ^^^ change this lateron...
2199
+ perhaps create a toplevel method
2200
+ this method now exists, but we still have to make
2201
+ the check better whether it is a protein or a DNA/RNA
2202
+ add a toplevel method for this.
2203
+ -------------------------------------------------------------------------------
2204
+ - clone the BLast ident matcher functionality for aminacids into
2205
+ Bioroebe.
2206
+
2207
+ - fasta_download AAC76198.2
2208
+
2209
+ ^^^ enable the above in the bioshell, and perhaps also outside
2210
+ of the bioshell.
2211
+
2212
+ http://www.ncbi.nlm.nih.gov/protein/145693187?report=fasta
2213
+
2214
+ ^^^ shall use something such as the above
2215
+
2216
+
2217
+
2218
+ -------------------------------------------------------------------------------
2219
+ - Be able to mark exon/intron boundaries.
2220
+
2221
+ - Add "taxid?" to tell us the name of the organism. This works now.
2222
+
2223
+ ^^^ should also work with a local database. ← we integrate this
2224
+ at a later point.
2225
+
2226
+ - We have identified a total of 24 entries in this fasta dataset.
2227
+
2228
+ There is a total of 4038 letters/nucleotides stored in total.
2229
+ Setting DNA sequence to (1582 nucleotides):
2230
+ ^^^^ hmm should enable:
2231
+
2232
+ @seq1
2233
+ @seq2
2234
+
2235
+ and so forth
2236
+
2237
+ - SUMOylation
2238
+ "small ubiquitin modifier"
2239
+ chemistry
2240
+ SUMO proteins are small
2241
+ 100 aa / 12 kD.
2242
+
2243
+ Similar structural fold as ubiqitin
2244
+
2245
+ Most SUMO-modified proteins contain the tetrapeptide consensus motif.
2246
+ phi is a hydrophobic residue
2247
+ kappa is the lysine conjugated to SUMO
2248
+ x is any aa
2249
+ D or E is an acidic residue
2250
+ SomethingHydrophobic-K-x-D/E
2251
+
2252
+ Prediction programmes, e.g. SUMOplot http://www.abgent.com/sumoplot
2253
+
2254
+ >MYB44 LENGTH=305
2255
+ MADRIKGPWSPEEDEQLRRLVVKYGPRNWTVISKSIPGRSGKSCRLRWCNQLSPQVEHRPFSAEEDETIARAHAQFGNKWATI
2256
+ ARLLNGRTDNAVKNHWNSTLKRKCGGYDHRGYDGSEDHRPVKRSVSAGSPPVVTGLYMSPGSPTGSDVSDSSTIPILPSVELF
2257
+ KPVPRPGAVVLPLPIETSSSSDDPPTSLSLSLPGADVSEESNRSHESTNINNTTSSRHNHNNTVSFMPFSGGFRGAIEEMGKS
2258
+ FPGNGGEFMAVVQEMIKAEVRSYMTEMQRNNGGGFVGGFIDNGMIPMSQIGVGRIE
2259
+
2260
+ ^^^
2261
+ study sumoplot ...
2262
+ -------------------------------------------------------------------------------
2263
+ - http://a-little-book-of-r-for-bioinformatics.readthedocs.io/en/latest/src/chapter7.html
2264
+ -------------------------------------------------------------------------------
2265
+ - http://biopython.org/DIST/docs/tutorial/Tutorial.html#htoc22
2266
+ ^^^ continue here; "You can also specify the table using the
2267
+ NCBI table number which is shorter, and often included in
2268
+ the feature annotation of GenBank files:"
2269
+
2270
+ ^^^ work through this and see if it is good.
2271
+
2272
+ -------------------------------------------------------------------------------
2273
+
2274
+ - Clone ALL of biophp, if it us useful.
2275
+
2276
+ Then state so too, then get rid of this entry here.
2277
+
2278
+ But remember, we must also be able to do so via a webinterface!
2279
+
2280
+ Oligos now work. Hmm.
2281
+
2282
+ http://www.biophp.org/
2283
+
2284
+ Let's use a table for now to show which variants we have enabled:
2285
+
2286
+ DNA to protein | Bioroebe.to_aa
2287
+ Protein to DNA | [IMPLEMENTED FULLY] → http://www.biophp.org/minitools/protein_to_dna/
2288
+ | GTK GUI bindings now exist in a simple manner.
2289
+ Restriction digest of DNA | http://www.biophp.org/minitools/restriction_digest/demo.php
2290
+ Find Palindromic Sequences | [IMPLEMENTED FULLY]
2291
+ Sequence manipulation and data |
2292
+ Melting Temperature (Tm) Calculator |
2293
+ PCR Amplification |
2294
+ Microsatellite Repeats Finder |
2295
+ Alignment of DNA/Protein sequences | http://www.biophp.org/minitools/seq_alignment/demo.php
2296
+
2297
+ Microarray analysis: adaptive quantification |
2298
+ Protein sequence information | http://www.biophp.org/minitools/protein_properties/demo.php
2299
+ Reduced alphabets for proteins | http://www.biophp.org/minitools/reduce_protein_alphabet/ (started; implemented the first one for now)
2300
+ Chaos Game Representation |
2301
+ GC-, AT-, KETO- and oligo-skews generator |
2302
+ Oligonucleotide Frequency | [IMPLEMENTED PARTIALLY]
2303
+ ^^^ we need a way to obtain a hash with the frequencies;
2304
+ we also need to extend this to 3 or 4 etc... oligos
2305
+ Oligonucleotides for distance among sequences |
2306
+ Random sequences |
2307
+ Useful formulas
2308
+
2309
+ rf biophp
2310
+
2311
+
2312
+ Palindromic sequences finder
2313
+
2314
+ ^^^ enable this next.
2315
+
2316
+ We should also put this poart into doc/ subsection
2317
+ to keep track of what is missing and what is not.
2318
+
2319
+ -------------------------------------------------------------------------------
2320
+ (1) → sizeseq
2321
+
2322
+ ^^^ clone this functionality and describe it in detail.
2323
+ also for the www. Hmmm. Need to add this for the
2324
+ www.
2325
+
2326
+ http://www.bioinformatics.nl/cgi-bin/emboss/sizeseq
2327
+ ^^^ hmm implemented that I think.
2328
+ GTTGTTGCAAGATACAATCTGGTGTGTACTAGA
2329
+ AGCTAACTCCAGACCGATACAT
2330
+ CGGACTCGGCC
2331
+ AATACCAGCGTAGGCTGTGAGCTCGCGGCTGACAAAC
2332
+ GGAAACGTTTCCTATGTCGGGATTC
2333
+
2334
+ Output file outseq
2335
+
2336
+ >four
2337
+ ATGC
2338
+ >two
2339
+ GTTGTTGCAAGATACAATCTGGTGTGTACTAGACCGATACATCGGACTCGGCCAATACCA
2340
+ GCGTAGGCTGTGAGCTCGCGGCTGACAAACGGAAACGTTTCCTATGTCGGGAT
2341
+ >one
2342
+ GTTGTTGCAAGATACAATCTGGTGTGTACTAGAAGCTAACTCCAGACCGATACATCGGAC
2343
+ TCGGCCAATACCAGCGTAGGCTGTGAGCTCGCGGCTGACAAACGGAAACGTTTCCTATGT
2344
+ CGGGATTC
2345
+ >three
2346
+ GTTGTTGCAAGATACAATCTGGTGTGTACTAGAAGCTAACTCCAGACGTTGTTGCAAGAT
2347
+ ACAATCTGGTGTGTACTAGACGATACATCGGGTTGTTGCAAGATACAATCTGGTGTGTAC
2348
+ TAGAACTCGGCCAATACCAGCGTAGGCTGTGAGCTCGCGGCTGACAAACGGAAACGTTTC
2349
+ CTATGTCGGGATTC
2350
+
2351
+ foobar.fasta
2352
+ ^^^ demonstrate via foobar.fasta
2353
+
2354
+ ALSO ADD A GUI; sizeseq.rb was added in February 2021.
2355
+
2356
+ -------------------------------------------------------------------------------
2357
+ - In the sinatra-web-interface for Bioroebe:
2358
+ continue quiz in rosalind !!!
2359
+ also, at to_dna: default to RNA
2360
+ And improve the general quality.
2361
+ → also add the ability to tchange the codon table
2362
+ via URL through the sinatra interface
2363
+ Example:
2364
+ codon_table/1,2,3
2365
+ view it, change it, document it
2366
+ also add:
2367
+ view_codon_table
2368
+ ^^^ shall display it on-line
2369
+ and give a formatted-view
2370
+ output-view numbering
2371
+ Something like:
2372
+ → formatted_view
2373
+ 111^^^^ in ncbi format
2374
+ and document all of this.
2375
+ ..........................................................................
2376
+ -------------------------------------------------------------------------------
2377
+ - Add a ruby-GUI stuff, probably the old biology/ subsection
2378
+ will be moved into the project.
2379
+
2380
+ Also tell how to start or get this GUI stuff to run, then add
2381
+ components that can be a part of bioroebe into it.
2382
+
2383
+ ^^^ we should push this before asking for a job in the summer
2384
+ months.
2385
+
2386
+
2387
+ - http://www.biophp.org/minitools/seq_alignment/demo.php
2388
+
2389
+ ^^^ implement smith waterman alignment
2390
+
2391
+ swalign AAGGGGAGGACGATGCGGATGTTC AGGGAGGACGATGCGG
2392
+ ---
2393
+ Query: cmdline (16 nt)
2394
+ Ref : cmdline (24 nt)
2395
+
2396
+ Query: 1 A-GGGAGGACGATGCGG 16
2397
+ | |||||||||||||||
2398
+ Ref : 2 AGGGGAGGACGATGCGG 18
2399
+
2400
+ Score: 31
2401
+ Matches: 16 (94.1%)
2402
+ Mismatches: 1
2403
+ CIGAR: 1M1D15M
2404
+
2405
+ ---
2406
+
2407
+ ^^^^ also add this commandline tool
2408
+
2409
+
2410
+ bin/swalin
2411
+
2412
+ should have same output
2413
+ - Gene finding in genomes
2414
+
2415
+ ^^^ find genes;
2416
+ and add: return all genes from the ORFs
2417
+
2418
+
2419
+
2420
+ - Enable blast.
2421
+
2422
+ - fasta http://www.ncbi.nlm.nih.gov/nuccore/145337669?report=fasta
2423
+
2424
+ Input `fasta http://www.ncbi.nlm.nih.gov/nuccore/145337669?report=fasta` not found.
2425
+
2426
+ ^^^ this should work.
2427
+ fasta_header? http://www.ncbi.nlm.nih.gov/nuccore/145337669?report=fasta
2428
+
2429
+ ^^^ and this hmmm.
2430
+
2431
+
2432
+ - http://www.biophp.org/minitools/random_seqs/demo.php
2433
+
2434
+ ^^^ clone this thingy
2435
+
2436
+ composition?
2437
+
2438
+ ^^^ also calculate the percentage.... hmm
2439
+
2440
+ one part has been cloned finally BUT it has to be
2441
+ described... and we may have to show this
2442
+ in CGI too hmmmmmmm.
2443
+
2444
+ the first one has been done, the second one not quite yet
2445
+ and we lack documentation!
2446
+
2447
+ Also add this to sinatra yay!
2448
+ Well, we have cloned quite a bit so far. Need to finish
2449
+ this up eventually.
2450
+
2451
+
2452
+ - How do I write Sequences in Fasta format?
2453
+
2454
+ FASTA format is a fairly standard bioinformatics output that is convenient and easy to read. BioRuby's Sequence class has a to_fasta method for formatting sequence in FASTA format.
2455
+
2456
+ Printing any Bio::Sequence sequence object in FASTA format.
2457
+
2458
+ #!/usr/bin/env ruby
2459
+
2460
+ require 'bio'
2461
+
2462
+ # Generates a sample 100bp sequence.
2463
+ seq1 = Bio::Sequence::NA.new("aatgacccgt" * 10)
2464
+
2465
+ # Naming this sequence as "testseq" and print in FASTA format
2466
+ # (folded by 60 chars per line).
2467
+ puts seq1.to_fasta("testseq", 60)
2468
+
2469
+ ^^^^ enable this
2470
+
2471
+
2472
+
2473
+ -------------------------------------------------------------------------------
2474
+ - Identifying amino acid cleavage sites (Sigcleave)
2475
+
2476
+ For amino acid sequences we may be interested to know whether
2477
+ the amino acid sequence contains a cleavable signal sequence
2478
+ for directing the transport of the protein within the cell.
2479
+
2480
+ SigCleave is a program (originally part of the EGCG molecular
2481
+ biology package) to predict signal sequences, and to identify
2482
+ the cleavage site based on the "von Heijne" algorithm.
2483
+
2484
+ The threshold setting controls the score reporting. If no
2485
+ value for threshold is passed in by the user, the code
2486
+ defaults to a reporting value of 3.5.
2487
+
2488
+ SigCleave will only return score/position pairs which meet
2489
+ the threshold limit.
2490
+
2491
+ There are 2 accessor methods for this object.
2492
+ signals() will return a perl hash containing the
2493
+ sigcleave scores keyed by amino acid position.
2494
+ pretty_print() returns a formatted string similar
2495
+ to the output of the original sigcleave utility.
2496
+
2497
+ The syntax for using Sigcleave is as follows:
2498
+
2499
+ # create a Seq object, for example:
2500
+ $seqobj = Bio::Seq->new(-seq => "AALLHHHHHHGGGGPPRTTTTTVVVVVVVVVVVVVVV");
2501
+
2502
+ use Bio::Tools::Sigcleave;
2503
+ $sigcleave_object = new Bio::Tools::Sigcleave
2504
+ ( -seq => $seqobj,
2505
+ -threshold => 3.5,
2506
+ -description => 'test sigcleave protein seq',
2507
+ );
2508
+ %raw_results = $sigcleave_object->signals;
2509
+ $formatted_output = $sigcleave_object->pretty_print;
2510
+
2511
+ Please see Bio::Tools::Sigcleave for details.
2512
+
2513
+ ^^^ add this
2514
+ http://doc.bioperl.org/releases/bioperl-current/bioperl-live/Bio/Tools/Sigcleave.html
2515
+
2516
+ - enable drawing of images like the following:
2517
+
2518
+ http://nar.oxfordjournals.org/content/43/D1/D227/F1.large.jpg
2519
+ https://www.researchgate.net/profile/Matt_Oates/publication/268790596/figure/fig1/AS:295477619773440@1447458762108/Summary-of-all-genome-updates-and-additions-at-the-level-of-taxonomic-Class-since-the.png
2520
+
2521
+
2522
+ - add reverse showorf
2523
+
2524
+ like emboss
2525
+ document this
2526
+ then upload
2527
+ also enable in bioshell
2528
+ r1
2529
+ r2
2530
+ r3
2531
+ so wie f1
2532
+ f2 f3
2533
+ ^^^ da gibt es einen bug. später nochmals probieren.
2534
+
2535
+
2536
+ - We will read from NM_001180897.3_Saccharomyces_cerevisiae_S288c_Aga2p_AGA2.fasta
2537
+
2538
+ The file NM_001180897.3_Saccharomyces_cerevisiae_S288c_Aga2p_AGA2.fasta has this FASTA header:
2539
+
2540
+ >gi|398364826|ref|NM_001180897.3| Saccharomyces cerevisiae S288c Aga2p (AGA2), mRNA
2541
+
2542
+ ^^^ this should also (optionally) tell us the organism, via a switch.
2543
+ for this we need some way to return the taxonomic ID of an organism
2544
+
2545
+ - we have to add expasy...
2546
+ functionality to the cmdline too.
2547
+ Which one specifically? Let's see...
2548
+
2549
+ https://www.expasy.org/
2550
+ -------------------------------------------------------------------------------
2551
+ - https://biopython.org/wiki/Category%3ACookbook
2552
+ ^^^ clone that
2553
+ -------------------------------------------------------------------------------
2554
+ - include covid genome, and begin to analyse it in bioroebe
2555
+ "Das Genom von SARS-CoV-2 sei doppelt so groß wie jenes
2556
+ von Influenzaviren, daher scheinen letztere viermal
2557
+ so schnell zu mutieren, schrieb Moshiri."
2558
+ -------------------------------------------------------------------------------
2559
+ - Look at the GUIs that are part of the BioRoebe project.
2560
+
2561
+ Polish these part, at the least one widget, then
2562
+ make a screenshot, as the first one.
2563
+ Then upload the image + new release and docu!
2564
+ document also that more images will be added to this
2565
+ in the coming weeks and months. Once done, move this to the
2566
+ bottom and regularly improve on this part of the bioroebe
2567
+ project.
2568
+
2569
+ ^^^ also add java gui to it in the long run.
2570
+
2571
+ Hmmm. And then, also consider transitioning into gtk3,
2572
+ and make mroe screenshots.
2573
+ -------------------------------------------------------------------------------
2574
+
2575
+ - https://www.ebi.ac.uk/Tools/seqstats/emboss_pepstats/
2576
+ http://www.ebi.ac.uk/Tools/services/web/toolresult.ebi?jobId=emboss_pepstats-I20160208-020243-0564-53154194-oy
2577
+
2578
+ ^^^^ clone the pepstat functionality
2579
+
2580
+ printAA RLAVQYAPLSGCHSTIREDVHNLHFCRARKE*
2581
+
2582
+ - Improve on temperature content and how it is calculated
2583
+
2584
+ someone googled for it in 2014 so build on it
2585
+ -------------------------------------------------------------------------------
2586
+ - pfasta /Depot/Temp/bioroebe/NM_000539.3_Homo_sapiens_rhodopsin_RHO.fasta
2587
+
2588
+ Will read from the file `/Depot/Temp/bioroebe/NM_000539.3_Homo_sapiens_rhodopsin_RHO.fasta`.
2589
+ Bioroebe::ParseFasta: This sequence is assumed to be a protein.
2590
+ This sequence has 2768 aminoacids.
2591
+ We have identified a total of 1 entries in this fasta dataset.
2592
+ Bioroebe::BioShell: We will now assign this data to @_.
2593
+ Now assigning aminoacid sequence to:
2594
+ AGAGTCATCCAGCTGGAGCCCTGAGTGGCTGAGCTCAGGCCTTCGCAG
2595
+ AGAGTCATCCAGCTGGAGCCCTGAGTGGCTGAGCTCAGGCCTTCGCAG
2596
+ -------------------------------------------------------------------------------
2597
+
2598
+
2599
+ - Formats
2600
+
2601
+ BioPerl's SeqIO system understands lot of formats and can interconvert
2602
+ all of them. Here is a current listing of formats, as of version 1.6.
2603
+
2604
+ ^^^ must implement this too
2605
+
2606
+ Name Description File extension
2607
+ abi ABI tracefile ab[i1]
2608
+ ace Ace database ace
2609
+ agave AGAVE XML
2610
+ alf ALF tracefile alf
2611
+ asciitree write-only, to visualize features
2612
+ bsml BSML using bsm,bsml
2613
+ bsml_sax BSML, using
2614
+ chadoxml CHADO sequence format
2615
+ chaos CHAOS sequence format
2616
+ chaosxml Chaos XML
2617
+ ctf CTF tracefile ctf
2618
+ embl EMBL database embl,ebl,emb,dat
2619
+ entrezgene Entrez Gene ASN1
2620
+ excel Excel
2621
+ exp Staden EXP format exp
2622
+ fasta FASTA fasta,fast,seq,fa,fsa,nt,aa
2623
+ fastq quality score data in FASTA-like format fastq
2624
+ flybase_chadoxml variant of Chado XML
2625
+ game GAME XML
2626
+ gcg GCG gcg
2627
+ genbank GenBank gb
2628
+ interpro InterProScan XML
2629
+ kegg KEGG
2630
+ largefasta Large files, fasta format
2631
+ lasergene Lasergene format
2632
+ locuslink LocusLink
2633
+ metafasta
2634
+ phd Phred phd,phred
2635
+ pir PIR database pir
2636
+ pln PLN tracefile pln
2637
+ qual Phred
2638
+ raw plain text txt
2639
+ scf Standard Chromatogram Format scf
2640
+ seqxml SeqXML sequence format xml
2641
+ strider DNA Strider format
2642
+ swiss SwissProt swiss,sp
2643
+ tab tab-delimited
2644
+ table Table
2645
+ tigr TIGR XML
2646
+ tigrxml TIGR Coordset XML
2647
+ tinyseq NCBI TinySeq XML
2648
+ ztr ZTR tracefile ztr
2649
+
2650
+ ..........................................................................
2651
+ (1) Look at f1 display:
2652
+
2653
+
2654
+ 10 20 30 40 50 60 70 80 90 100
2655
+ ---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|
2656
+ 1 ATGCAGTTACTTCGCTGTTTTTCAATATTTTCTGTTATTGCTTCAGTTTTAGCACAGGAACTGACAACTATATGCGAGCAAATCCCCTCACCAACTTTAG 100
2657
+ F1 1 M Q L L R C F S I F S V I A S V L A Q E L T T I C E Q I P S P T L E 34
2658
+
2659
+ ^^^ when we do f1
2660
+ the aminoacid sequence position is on the next
2661
+ line. this is bad.
2662
+
2663
+
2664
+ ff1 "ATGCAGTTACTTCGCTGATTTTCTGTTATTGCTTTTTCAATATTTTCTGTTATTGCTTCAGTTTTAGCACAGGAACTGACAACTATATGCGAGCAAATCCCCTCACCAACTTTAG
2665
+ ATGCAGTTACTTCGCTTTCTGTTATTGCTTCAGTTTTAGCACAGGAACTGACAACTATATGCGAGCAAATCCCCTCACCAACTTTAG"
2666
+
2667
+ this works semi ok...
2668
+ we probably have to rewrite the whole thing
2669
+
2670
+ BEFORE we add ANY COLOURS.
2671
+ OH WELL.
2672
+
2673
+ -------------------------------------------------------------------------------
2674
+ (100) → Add a primer-design widget
2675
+
2676
+ The idea is to be able to manipulate forward and
2677
+ reverse primer areas.
2678
+
2679
+ AND research how to do this ...
2680
+ We now have a ruby-gtk3 widget for this. It's not yet
2681
+ perfect but it is a start.
2682
+
2683
+
2684
+ https://www.bioinformatics.nl/molbi/SCLResources/sequence_notation.htm
2685
+ ^^^ and check what is useful there. perhaps also add
2686
+ nicer visual cues to pretty it up a bit.
2687
+ -------------------------------------------------------------------------------
2688
+ (1) → Compare bioroebe to:
2689
+
2690
+ https://www.ncbi.nlm.nih.gov/orffinder
2691
+
2692
+ whether both return the same also possibly add a web-gui
2693
+ → it must also allow for different tables to be used!
2694
+ check this... so that we can search in standard ORF
2695
+ but also in different ORFs
2696
+ und die länge angeben, zumindest vom längsten ORF start + stop... also so das das ergebnis auch passt
2697
+ ...........................................................................
2698
+ test reverse complement in bioroebe
2699
+ ^^^
2700
+ new_WWW/
2701
+ ^^^ this should eventually become the new web-related interface.
2702
+ Ah well. Perhaps not ... ruby-cgi is soooooo annoying ...
2703
+ ...........................................................................
2704
+ (154) → the blosum-viewer should be supported in the cgi part
2705
+ and sinatra part as well.
2706
+ This now works for sinatra. Need to enable this for
2707
+ the cgi-part too eventually.
2708
+ -------------------------------------------------------------------------------
2709
+ (155) → port the sinatra stuff together in bioroebe
2710
+ create a dir: web_api
2711
+ ^^^ also make params? usable in both sinatra and cgi page
2712
+ well ...............
2713
+ this is quite tough.
2714
+ Hmmmmmm...
2715
+ perhaps as a middle-step,
2716
+ add tons of HtmlTemplate[]
2717
+ and replace the ad-hoc code otherwise...
2718
+ ^^^ yeah, finish the HtmlTemplate stuff.
2719
+ -------------------------------------------------------------------------------
2720
+ (1) → https://i.imgur.com/ptcSn12.png
2721
+ ^^^ enable such an overview; this shows mass compuation e.g
2722
+ peptide mass and such
2723
+ -------------------------------------------------------------------------------
2724
+ (80) Bioroebe.sanitize_nucleotide_sequence
2725
+ ^^^ port this into java. The code has been written for this already,
2726
+ but we currently fail to link it.
2727
+ -------------------------------------------------------------------------------
2728
+ (81) Bioroebe.base_composition
2729
+ ^^^^^^^^^ port this into java
2730
+ -------------------------------------------------------------------------------
2731
+ (82) - work a bit more on tk!!!
2732
+ in particular to start it from the bioshell as-is.
2733
+ ^^^ this is mostly done for quick
2734
+ demonstration purposes
2735
+
2736
+ - also add another ruby-tk widget hmm
2737
+ a new one...
2738
+ ^^^^^ and fix the remaining ones
2739
+
2740
+ hamming_distance [PARTIALLY IMPLEMENTED; ~80%]
2741
+ protein_to_DNA
2742
+ ^^^^ improve both while improving tk_paradise docu as well.
2743
+ -------------------------------------------------------------------------------
2744
+ (83) Batch-create the .exe files on windows for libui, once
2745
+ the first has been added. And then test it too
2746
+ AND document it. This should be done with the controller
2747
+ eventually. Once this works, we can remove this entry
2748
+ here.
2749
+ -------------------------------------------------------------------------------
2750
+ (84) port more libui stuff in bioroebe. We have two widgets ported so far;
2751
+ add more such entries.
2752
+ -------------------------------------------------------------------------------
2753
+ (85) after libui has been ported, explore how gosu works on windows.
2754
+ if possible add things to a gosu-specific UI as well, but
2755
+ we may need a common, unified GUI base for that.
2756
+ -------------------------------------------------------------------------------
2757
+ (86)
2758
+
2759
+ add libui bindings AND once done make sure the controller works in
2760
+ libui as well. Embed the various things into it.
2761
+
2762
+ Tab A set named tabs for placing items in
2763
+ ^^^ use this perhaps also in bioroebe hmmm
2764
+ yeah.
2765
+ -------------------------------------------------------------------------------
2766
+ (87) https://github.com/cnjinhao/nana/wiki/User-Works-using-Nana
2767
+
2768
+ ^^^ port the "DNA hybrid"
2769
+ https://camo.githubusercontent.com/4c27d554ca4d698d288628f21255f917c2c577e35d7e11dd67e21880d56b6b0a/687474703a2f2f6e616e6170726f2e6f72672f696d616765732f73637265656e73686f74732f746864795f7365715f6578706c2e706e67
2770
+
2771
+ -------------------------------------------------------------------------------
2772
+ (88) Bioroebe::Cell
2773
+ ^^^ think about what to do with it. If we don't need it then perhaps
2774
+ we should just remove it. Think about this more at 2022, before
2775
+ deciding what to do.
2776
+ -------------------------------------------------------------------------------
2777
+ (89) - Add emboss cgplot functionality.
2778
+
2779
+ https://www.bioinformatics.nl/cgi-bin/emboss/cpgplot
2780
+ -------------------------------------------------------------------------------
2781
+ (90) - integrate calculation of the Instability index (II)
2782
+
2783
+ The instability index provides an estimate of the
2784
+ stability of your protein in a test tube. Statistical
2785
+ analysis of 12 unstable and 32 stable proteins has
2786
+ revealed [7] that there are certain dipeptides, the
2787
+ occurence of which is significantly different in the
2788
+ unstable proteins compared with those in the stable
2789
+ ones. The authors of this method have assigned a
2790
+ weight value of instability to each of the 400
2791
+ different dipeptides (DIWV). Using these weight
2792
+ values it is possible to compute an instability
2793
+ index (II) which is defined as:
2794
+
2795
+
2796
+ i=L-1
2797
+
2798
+ II = (10/L) * Sum DIWV(x[i]x[i+1])
2799
+
2800
+ i=1
2801
+
2802
+
2803
+ where: L is the length of sequence
2804
+
2805
+ DIWV(x[i]x[i+1]) is the instability weight value for the dipeptide starting in position i.
2806
+
2807
+ A protein whose instability index is smaller than 40
2808
+ is predicted as stable, a value above 40 predicts
2809
+ that the protein may be unstable.
2810
+
2811
+ # MEKVQYLTRSAIRRASTIEMPQQARQKLQNLFINFCLILICLLLICIIVMLL
2812
+
2813
+ 52
2814
+
2815
+ The instability index (II) is computed to be 65.43
2816
+ This classifies the protein as unstable.
2817
+
2818
+ -------------------------------------------------------------------------------
2819
+ (1) → We have now added a method to show all hydrophobic amino acids, via the
2820
+ method .hydrophobic_amino_acids?. This works and has been documented
2821
+ in May 2022. However had, we also still need a way to PREDICT
2822
+ hydrophobic segments in a polypeptide sequence.
2823
+ -------------------------------------------------------------------------------