bio 1.2.1 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. data/ChangeLog +3421 -0
  2. data/KNOWN_ISSUES.rdoc +88 -0
  3. data/README.rdoc +252 -0
  4. data/README_DEV.rdoc +285 -0
  5. data/Rakefile +143 -0
  6. data/bin/bioruby +0 -0
  7. data/bin/br_biofetch.rb +0 -0
  8. data/bin/br_bioflat.rb +12 -1
  9. data/bin/br_biogetseq.rb +0 -0
  10. data/bin/br_pmfetch.rb +4 -3
  11. data/bioruby.gemspec +477 -0
  12. data/bioruby.gemspec.erb +117 -0
  13. data/doc/Changes-0.7.rd +7 -0
  14. data/doc/Changes-1.3.rdoc +239 -0
  15. data/doc/Tutorial.rd +296 -184
  16. data/doc/Tutorial.rd.html +1031 -0
  17. data/doc/Tutorial.rd.ja +111 -45
  18. data/doc/Tutorial.rd.ja.html +2225 -0
  19. data/doc/bioruby.css +281 -0
  20. data/extconf.rb +2 -0
  21. data/lib/bio.rb +29 -4
  22. data/lib/bio/appl/blast.rb +306 -121
  23. data/lib/bio/appl/blast/ddbj.rb +142 -0
  24. data/lib/bio/appl/blast/format0.rb +35 -25
  25. data/lib/bio/appl/blast/format8.rb +2 -2
  26. data/lib/bio/appl/blast/genomenet.rb +263 -0
  27. data/lib/bio/appl/blast/ncbioptions.rb +220 -0
  28. data/lib/bio/appl/blast/remote.rb +106 -0
  29. data/lib/bio/appl/blast/report.rb +260 -9
  30. data/lib/bio/appl/blast/rexml.rb +12 -5
  31. data/lib/bio/appl/blast/rpsblast.rb +277 -0
  32. data/lib/bio/appl/blast/wublast.rb +133 -12
  33. data/lib/bio/appl/blast/xmlparser.rb +35 -18
  34. data/lib/bio/appl/blat/report.rb +46 -5
  35. data/lib/bio/appl/emboss.rb +62 -13
  36. data/lib/bio/appl/fasta.rb +9 -11
  37. data/lib/bio/appl/genscan/report.rb +3 -3
  38. data/lib/bio/appl/hmmer.rb +1 -1
  39. data/lib/bio/appl/hmmer/report.rb +10 -10
  40. data/lib/bio/appl/paml/baseml.rb +95 -0
  41. data/lib/bio/appl/paml/baseml/report.rb +32 -0
  42. data/lib/bio/appl/paml/codeml.rb +242 -0
  43. data/lib/bio/appl/paml/codeml/rates.rb +67 -0
  44. data/lib/bio/appl/paml/codeml/report.rb +67 -0
  45. data/lib/bio/appl/paml/common.rb +348 -0
  46. data/lib/bio/appl/paml/common_report.rb +38 -0
  47. data/lib/bio/appl/paml/yn00.rb +103 -0
  48. data/lib/bio/appl/paml/yn00/report.rb +32 -0
  49. data/lib/bio/appl/psort.rb +2 -2
  50. data/lib/bio/appl/pts1.rb +5 -5
  51. data/lib/bio/appl/tmhmm/report.rb +10 -1
  52. data/lib/bio/command.rb +297 -41
  53. data/lib/bio/compat/features.rb +157 -0
  54. data/lib/bio/compat/references.rb +128 -0
  55. data/lib/bio/db/biosql/biosql_to_biosequence.rb +67 -0
  56. data/lib/bio/db/biosql/sequence.rb +508 -0
  57. data/lib/bio/db/embl/common.rb +28 -12
  58. data/lib/bio/db/embl/embl.rb +107 -9
  59. data/lib/bio/db/embl/embl_to_biosequence.rb +85 -0
  60. data/lib/bio/db/embl/format_embl.rb +190 -0
  61. data/lib/bio/db/embl/sptr.rb +15 -16
  62. data/lib/bio/db/fantom.rb +6 -8
  63. data/lib/bio/db/fasta.rb +10 -507
  64. data/lib/bio/db/fasta/defline.rb +532 -0
  65. data/lib/bio/db/fasta/fasta_to_biosequence.rb +63 -0
  66. data/lib/bio/db/fasta/format_fasta.rb +97 -0
  67. data/lib/bio/db/genbank/common.rb +25 -8
  68. data/lib/bio/db/genbank/format_genbank.rb +187 -0
  69. data/lib/bio/db/genbank/genbank.rb +36 -1
  70. data/lib/bio/db/genbank/genbank_to_biosequence.rb +86 -0
  71. data/lib/bio/db/gff.rb +1791 -119
  72. data/lib/bio/db/kegg/glycan.rb +2 -6
  73. data/lib/bio/db/lasergene.rb +3 -3
  74. data/lib/bio/db/medline.rb +4 -1
  75. data/lib/bio/db/newick.rb +10 -10
  76. data/lib/bio/db/pdb/chain.rb +6 -2
  77. data/lib/bio/db/pdb/pdb.rb +12 -3
  78. data/lib/bio/db/rebase.rb +7 -8
  79. data/lib/bio/db/soft.rb +3 -3
  80. data/lib/bio/feature.rb +1 -88
  81. data/lib/bio/io/biosql/biodatabase.rb +64 -0
  82. data/lib/bio/io/biosql/bioentry.rb +29 -0
  83. data/lib/bio/io/biosql/bioentry_dbxref.rb +11 -0
  84. data/lib/bio/io/biosql/bioentry_path.rb +12 -0
  85. data/lib/bio/io/biosql/bioentry_qualifier_value.rb +10 -0
  86. data/lib/bio/io/biosql/bioentry_reference.rb +10 -0
  87. data/lib/bio/io/biosql/bioentry_relationship.rb +10 -0
  88. data/lib/bio/io/biosql/biosequence.rb +11 -0
  89. data/lib/bio/io/biosql/comment.rb +7 -0
  90. data/lib/bio/io/biosql/config/database.yml +20 -0
  91. data/lib/bio/io/biosql/dbxref.rb +13 -0
  92. data/lib/bio/io/biosql/dbxref_qualifier_value.rb +12 -0
  93. data/lib/bio/io/biosql/location.rb +32 -0
  94. data/lib/bio/io/biosql/location_qualifier_value.rb +11 -0
  95. data/lib/bio/io/biosql/ontology.rb +10 -0
  96. data/lib/bio/io/biosql/reference.rb +9 -0
  97. data/lib/bio/io/biosql/seqfeature.rb +32 -0
  98. data/lib/bio/io/biosql/seqfeature_dbxref.rb +11 -0
  99. data/lib/bio/io/biosql/seqfeature_path.rb +11 -0
  100. data/lib/bio/io/biosql/seqfeature_qualifier_value.rb +20 -0
  101. data/lib/bio/io/biosql/seqfeature_relationship.rb +11 -0
  102. data/lib/bio/io/biosql/taxon.rb +12 -0
  103. data/lib/bio/io/biosql/taxon_name.rb +9 -0
  104. data/lib/bio/io/biosql/term.rb +27 -0
  105. data/lib/bio/io/biosql/term_dbxref.rb +11 -0
  106. data/lib/bio/io/biosql/term_path.rb +12 -0
  107. data/lib/bio/io/biosql/term_relationship.rb +13 -0
  108. data/lib/bio/io/biosql/term_relationship_term.rb +11 -0
  109. data/lib/bio/io/biosql/term_synonym.rb +10 -0
  110. data/lib/bio/io/das.rb +7 -7
  111. data/lib/bio/io/ddbjxml.rb +57 -0
  112. data/lib/bio/io/ensembl.rb +2 -2
  113. data/lib/bio/io/fetch.rb +28 -14
  114. data/lib/bio/io/flatfile.rb +17 -853
  115. data/lib/bio/io/flatfile/autodetection.rb +545 -0
  116. data/lib/bio/io/flatfile/buffer.rb +237 -0
  117. data/lib/bio/io/flatfile/index.rb +17 -7
  118. data/lib/bio/io/flatfile/indexer.rb +30 -12
  119. data/lib/bio/io/flatfile/splitter.rb +297 -0
  120. data/lib/bio/io/hinv.rb +442 -0
  121. data/lib/bio/io/keggapi.rb +2 -2
  122. data/lib/bio/io/ncbirest.rb +733 -0
  123. data/lib/bio/io/pubmed.rb +34 -80
  124. data/lib/bio/io/registry.rb +2 -2
  125. data/lib/bio/io/sql.rb +178 -357
  126. data/lib/bio/io/togows.rb +458 -0
  127. data/lib/bio/location.rb +106 -11
  128. data/lib/bio/pathway.rb +120 -14
  129. data/lib/bio/reference.rb +115 -101
  130. data/lib/bio/sequence.rb +164 -183
  131. data/lib/bio/sequence/adapter.rb +108 -0
  132. data/lib/bio/sequence/common.rb +22 -45
  133. data/lib/bio/sequence/compat.rb +2 -2
  134. data/lib/bio/sequence/dblink.rb +54 -0
  135. data/lib/bio/sequence/format.rb +254 -77
  136. data/lib/bio/sequence/format_raw.rb +23 -0
  137. data/lib/bio/shell.rb +3 -1
  138. data/lib/bio/shell/core.rb +2 -2
  139. data/lib/bio/shell/plugin/entry.rb +33 -4
  140. data/lib/bio/shell/plugin/ncbirest.rb +64 -0
  141. data/lib/bio/shell/plugin/togows.rb +40 -0
  142. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/bioruby_generator.rb +0 -0
  143. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/_classes.rhtml +0 -0
  144. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/_log.rhtml +0 -0
  145. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/_methods.rhtml +0 -0
  146. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/_modules.rhtml +0 -0
  147. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/_variables.rhtml +0 -0
  148. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/bioruby-bg.gif +0 -0
  149. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/bioruby-gem.png +0 -0
  150. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/bioruby-link.gif +0 -0
  151. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/bioruby.css +0 -0
  152. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/bioruby.rhtml +0 -0
  153. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/bioruby_controller.rb +0 -0
  154. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/bioruby_helper.rb +0 -0
  155. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/commands.rhtml +0 -0
  156. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/history.rhtml +0 -0
  157. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/index.rhtml +0 -0
  158. data/lib/bio/shell/rails/vendor/plugins/{generators → bioruby/generators}/bioruby/templates/spinner.gif +0 -0
  159. data/lib/bio/tree.rb +4 -2
  160. data/lib/bio/util/color_scheme.rb +2 -2
  161. data/lib/bio/util/contingency_table.rb +2 -2
  162. data/lib/bio/util/restriction_enzyme.rb +2 -2
  163. data/lib/bio/util/restriction_enzyme/single_strand.rb +6 -5
  164. data/lib/bio/version.rb +25 -0
  165. data/rdoc.zsh +8 -0
  166. data/sample/any2fasta.rb +0 -0
  167. data/sample/biofetch.rb +0 -0
  168. data/sample/dbget +0 -0
  169. data/sample/demo_sequence.rb +158 -0
  170. data/sample/enzymes.rb +0 -0
  171. data/sample/fasta2tab.rb +0 -0
  172. data/sample/fastagrep.rb +72 -0
  173. data/sample/fastasort.rb +54 -0
  174. data/sample/fsplit.rb +0 -0
  175. data/sample/gb2fasta.rb +2 -3
  176. data/sample/gb2tab.rb +0 -0
  177. data/sample/gbtab2mysql.rb +0 -0
  178. data/sample/genes2nuc.rb +0 -0
  179. data/sample/genes2pep.rb +0 -0
  180. data/sample/genes2tab.rb +0 -0
  181. data/sample/genome2rb.rb +0 -0
  182. data/sample/genome2tab.rb +0 -0
  183. data/sample/goslim.rb +0 -0
  184. data/sample/gt2fasta.rb +0 -0
  185. data/sample/na2aa.rb +34 -0
  186. data/sample/pmfetch.rb +0 -0
  187. data/sample/pmsearch.rb +0 -0
  188. data/sample/ssearch2tab.rb +0 -0
  189. data/sample/tfastx2tab.rb +0 -0
  190. data/sample/vs-genes.rb +0 -0
  191. data/setup.rb +1596 -0
  192. data/test/data/blast/blastp-multi.m7 +188 -0
  193. data/test/data/command/echoarg2.bat +1 -0
  194. data/test/data/paml/codeml/control_file.txt +30 -0
  195. data/test/data/paml/codeml/output.txt +78 -0
  196. data/test/data/paml/codeml/rates +217 -0
  197. data/test/data/rpsblast/misc.rpsblast +193 -0
  198. data/test/data/soft/GDS100_partial.soft +0 -0
  199. data/test/data/soft/GSE3457_family_partial.soft +0 -0
  200. data/test/functional/bio/appl/test_pts1.rb +115 -0
  201. data/test/functional/bio/io/test_ensembl.rb +123 -80
  202. data/test/functional/bio/io/test_togows.rb +267 -0
  203. data/test/functional/bio/sequence/test_output_embl.rb +51 -0
  204. data/test/functional/bio/test_command.rb +301 -0
  205. data/test/runner.rb +17 -1
  206. data/test/unit/bio/appl/blast/test_ncbioptions.rb +112 -0
  207. data/test/unit/bio/appl/blast/test_report.rb +753 -35
  208. data/test/unit/bio/appl/blast/test_rpsblast.rb +398 -0
  209. data/test/unit/bio/appl/paml/codeml/test_rates.rb +45 -0
  210. data/test/unit/bio/appl/paml/codeml/test_report.rb +45 -0
  211. data/test/unit/bio/appl/paml/test_codeml.rb +174 -0
  212. data/test/unit/bio/appl/test_blast.rb +135 -4
  213. data/test/unit/bio/appl/test_fasta.rb +2 -2
  214. data/test/unit/bio/appl/test_pts1.rb +1 -64
  215. data/test/unit/bio/db/embl/test_common.rb +15 -15
  216. data/test/unit/bio/db/embl/test_embl.rb +4 -4
  217. data/test/unit/bio/db/embl/test_embl_rel89.rb +5 -5
  218. data/test/unit/bio/db/embl/test_embl_to_bioseq.rb +203 -0
  219. data/test/unit/bio/db/embl/test_sptr.rb +38 -1
  220. data/test/unit/bio/db/pdb/test_pdb.rb +2 -2
  221. data/test/unit/bio/db/test_gff.rb +1151 -25
  222. data/test/unit/bio/db/test_medline.rb +127 -0
  223. data/test/unit/bio/db/test_nexus.rb +5 -1
  224. data/test/unit/bio/db/test_prosite.rb +4 -4
  225. data/test/unit/bio/io/flatfile/test_autodetection.rb +375 -0
  226. data/test/unit/bio/io/flatfile/test_buffer.rb +251 -0
  227. data/test/unit/bio/io/flatfile/test_splitter.rb +369 -0
  228. data/test/unit/bio/io/test_ddbjxml.rb +8 -3
  229. data/test/unit/bio/io/test_fastacmd.rb +5 -5
  230. data/test/unit/bio/io/test_flatfile.rb +357 -106
  231. data/test/unit/bio/io/test_soapwsdl.rb +2 -2
  232. data/test/unit/bio/io/test_togows.rb +161 -0
  233. data/test/unit/bio/sequence/test_common.rb +210 -11
  234. data/test/unit/bio/sequence/test_compat.rb +3 -3
  235. data/test/unit/bio/sequence/test_dblink.rb +58 -0
  236. data/test/unit/bio/sequence/test_na.rb +2 -2
  237. data/test/unit/bio/test_command.rb +111 -50
  238. data/test/unit/bio/test_feature.rb +29 -1
  239. data/test/unit/bio/test_location.rb +566 -6
  240. data/test/unit/bio/test_pathway.rb +91 -65
  241. data/test/unit/bio/test_reference.rb +67 -13
  242. data/test/unit/bio/util/restriction_enzyme/analysis/test_calculated_cuts.rb +3 -3
  243. data/test/unit/bio/util/restriction_enzyme/analysis/test_cut_ranges.rb +3 -3
  244. data/test/unit/bio/util/restriction_enzyme/analysis/test_sequence_range.rb +3 -3
  245. data/test/unit/bio/util/restriction_enzyme/double_stranded/test_aligned_strands.rb +4 -3
  246. data/test/unit/bio/util/restriction_enzyme/double_stranded/test_cut_location_pair.rb +3 -3
  247. data/test/unit/bio/util/restriction_enzyme/double_stranded/test_cut_location_pair_in_enzyme_notation.rb +3 -3
  248. data/test/unit/bio/util/restriction_enzyme/double_stranded/test_cut_locations.rb +3 -3
  249. data/test/unit/bio/util/restriction_enzyme/double_stranded/test_cut_locations_in_enzyme_notation.rb +3 -3
  250. data/test/unit/bio/util/restriction_enzyme/single_strand/test_cut_locations_in_enzyme_notation.rb +3 -3
  251. data/test/unit/bio/util/restriction_enzyme/test_analysis.rb +3 -3
  252. data/test/unit/bio/util/restriction_enzyme/test_cut_symbol.rb +4 -4
  253. data/test/unit/bio/util/restriction_enzyme/test_double_stranded.rb +3 -3
  254. data/test/unit/bio/util/restriction_enzyme/test_single_strand.rb +3 -3
  255. data/test/unit/bio/util/restriction_enzyme/test_single_strand_complement.rb +3 -3
  256. data/test/unit/bio/util/restriction_enzyme/test_string_formatting.rb +3 -3
  257. data/test/unit/bio/util/test_restriction_enzyme.rb +3 -3
  258. metadata +202 -167
  259. data/test/unit/bio/appl/blast/test_xmlparser.rb +0 -388
@@ -1,6 +1,6 @@
1
1
  =begin
2
2
 
3
- $Id: Tutorial.rd.ja,v 1.20 2006/02/27 09:12:18 k Exp $
3
+ # $Id:$
4
4
 
5
5
  Copyright (C) 2001-2003, 2005, 2006 Toshiaki Katayama <k@bioruby.org>
6
6
  Copyright (C) 2005, 2006 Naohisa Goto <ng@bioruby.org>
@@ -39,12 +39,13 @@ Windows
39
39
 
40
40
  ruby 1.8.2 (2004-12-25) [powerpc-darwin7.7.0]
41
41
 
42
- �Τ褦�ʴ����ǥС������ɽ������ޤ����С������ 1.8.2 �ʹߤ򤪴��ᤷ�ޤ���
42
+ �Τ褦�ʴ����ǥС������ɽ������ޤ����С������ 1.8.5 �ʹߤ򤪴��ᤷ�ޤ���
43
43
 
44
44
  Ruby ɸ�������Υ��饹��᥽�åɤˤĤ��Ƥϡ�Ruby �Υ�ե���󥹥ޥ˥奢���
45
45
  ���Ȥ��Ƥ���������
46
46
 
47
47
  * ((<URL:http://www.ruby-lang.org/ja/man/>))
48
+ * ((<URL:http://doc.okkez.net/>))
48
49
 
49
50
  ���ޥ�ɥ饤��ǥإ�פ򻲾Ȥ���ˤϡ�Ruby ɸ��ź�դ� ri ���ޥ�ɤ䡢
50
51
  ���ܸ��Ǥ� refe ���ޥ�ɤ������Ǥ���
@@ -66,16 +67,15 @@ RubyGems
66
67
  === BioRuby �Υ��󥹥ȡ���
67
68
 
68
69
  BioRuby �Υ��󥹥ȡ�����ˡ�� ((<URL:http://bioruby.org/archive/>)) ����
69
- �ǿ��Ǥ�������ưʲ��Τ褦�˹Ԥ��ޤ���Ʊ������Ƥ��� README �ե�����ˤ�
70
+ �ǿ��Ǥ�������ưʲ��Τ褦�˹Ԥ��ޤ�(��1)��Ʊ������Ƥ��� README �ե�����ˤ�
70
71
  �ܤ��̤���ĺ�������ΤǤ���������ʤ��ȣ���������ˤʤ� BioPerl ����٤�
71
72
  BioRuby �Υ��󥹥ȡ���Ϥ����˽����Ϥ��Ǥ���
72
73
 
73
74
  % wget http://bioruby.org/archive/bioruby-x.x.x.tar.gz
74
75
  % tar zxvf bioruby-x.x.x.tar.gz
75
76
  % cd bioruby-x.x.x
76
- % ruby install.rb config
77
- % ruby install.rb setup
78
- # ruby install.rb install
77
+ % su
78
+ # ruby setup.rb
79
79
 
80
80
  RubyGems ���Ȥ���Ķ��Ǥ����
81
81
 
@@ -157,13 +157,13 @@ BioRuby
157
157
 
158
158
  === ����, ���ߥλ����������
159
159
 
160
- --- seq(str)
160
+ --- getseq(str)
161
161
 
162
- seq ���ޥ�ɤ�Ȥä�ʸ���󤫤��������䥢�ߥλ�������뤳�Ȥ��Ǥ��ޤ���
163
- ����ȥ��ߥλ��� ATGC �δ��̤� 90% �ʾ夫�ɤ����Ǽ�ưȽ�ꤵ��ޤ���
162
+ getseq ���ޥ��(��2)��Ȥä�ʸ���󤫤��������䥢�ߥλ�������뤳�Ȥ�
163
+ �Ǥ��ޤ�������ȥ��ߥλ��� ATGC �δ��̤� 90% �ʾ夫�ɤ����Ǽ�ưȽ�ꤵ��ޤ���
164
164
  �����Ǥϡ��Ǥ������������ dna �Ȥ����ѿ����������ޤ���
165
165
 
166
- bioruby> dna = seq("atgcatgcaaaa")
166
+ bioruby> dna = getseq("atgcatgcaaaa")
167
167
 
168
168
  �ѿ�����Ȥ��ǧ����ˤ� Ruby �� puts �᥽�åɤ�Ȥ��ޤ���
169
169
 
@@ -176,14 +176,14 @@ GenBank, EMBL, UniProt, FASTA
176
176
  �ʲ��� UniProt �ե����ޥåȤΥ���ȥ��ե����뤫���ɤ߹���Ǥ��ޤ���
177
177
  ������ˡ�Ǥϡ�ʣ���Υ���ȥ꤬������ǽ�Υ���ȥ�������ɤ߹��ޤ�ޤ���
178
178
 
179
- bioruby> cdc2 = seq("p04551.sp")
179
+ bioruby> cdc2 = getseq("p04551.sp")
180
180
  bioruby> puts cdc2
181
181
  MENYQKVEKIGEGTYGVVYKARHKLSGRIVAMKKIRLEDESEGVPSTAIREISLLKEVNDENNRSN...(ά)
182
182
 
183
183
  �ǡ����١���̾�ȥ���ȥ�̾��ʬ���äƤ���С����󥿡��ͥåȤ��̤���
184
184
  �����ưŪ�˼������뤳�Ȥ��Ǥ��ޤ���
185
185
 
186
- bioruby> psaB = seq("genbank:AB044425")
186
+ bioruby> psaB = getseq("genbank:AB044425")
187
187
  bioruby> puts psaB
188
188
  actgaccctgttcatattcgtcctattgctcacgcgatttgggatccgcactttggccaaccagca...(ά)
189
189
 
@@ -194,28 +194,61 @@ GenBank, EMBL, UniProt, FASTA
194
194
  EMBOSS �� USA ɽ���Ǥ⥨��ȥ������Ǥ��ޤ���EMBOSS �Υޥ˥奢��򻲾Ȥ�
195
195
  ~/.embossrc ��Ŭ�ڤ����ꤷ�Ƥ���������
196
196
 
197
- �ɤ���ˡ�Ǽ����������⡢seq ���ޥ�ɤˤ�ä��֤��������ϡ�
198
- DNA ����Τ���� Bio::Sequence::NA ���饹�������ߥλ�����Τ����
199
- Bio::sequence::AA ���饹�Τɤ��餫�Υ��֥������Ȥˤʤ�ޤ���
197
+ �ɤ���ˡ�Ǽ����������⡢getseq ���ޥ�ɤˤ�ä��֤��������ϡ�
198
+ ���Ѥ����󥯥饹 Bio::Sequence �ˤʤ�ޤ�(��3)��
200
199
 
201
- ���󤬤ɤ���Υ��饹��°���뤫�� Ruby �� class �᥽�åɤ��Ѥ���
200
+ ���󤬱�������ȥ��ߥλ�����Τɤ����Ƚ�ꤵ��Ƥ���Τ��ϡ�
201
+ moltype �᥽�åɤ��Ѥ���
202
202
 
203
- bioruby> p cdc2.class
203
+ bioruby> p cdc2.moltype
204
204
  Bio::Sequence::AA
205
205
 
206
- bioruby> p psaB.class
206
+ bioruby> p psaB.moltype
207
207
  Bio::Sequence::NA
208
208
 
209
209
  �Τ褦��Ĵ�٤뤳�Ȥ��Ǥ��ޤ�����ưȽ�꤬�ְ�äƤ�����ʤɤˤ�
210
- to_naseq, to_aaseq �᥽�åɤǶ���Ū���Ѵ��Ǥ��ޤ���
210
+ na, aa �᥽�åɤǶ���Ū���Ѵ��Ǥ��ޤ����ʤ��������Υ᥽�åɤ�
211
+ ���Υ��֥������Ȥ���Ū�˽񤭴����ޤ���
212
+
213
+ bioruby> dna.aa
214
+ bioruby> p dna.moltype
215
+ Bio::Sequence::AA
216
+
217
+ bioruby> dna.na
218
+ bioruby> p dna.moltype
219
+ Bio::Sequence::NA
220
+
221
+ �ޤ��ϡ�to_naseq, to_aaseq �᥽�åɤǶ���Ū���Ѵ����뤳�Ȥ�Ǥ��ޤ���
211
222
 
212
223
  bioruby> pep = dna.to_aaseq
224
+
225
+ to_naseq, to_aaseq �᥽�åɤ��֤����֥������Ȥϡ����줾�졢
226
+ DNA ����Τ���� Bio::Sequence::NA ���饹�����ߥλ�����Τ����
227
+ Bio::Sequence::AA ���饹�Υ��֥������Ȥˤʤ�ޤ���
228
+ ���󤬤ɤ���Υ��饹��°���뤫�� Ruby �� class �᥽�åɤ��Ѥ���
229
+
213
230
  bioruby> p pep.class
214
231
  Bio::Sequence::AA
215
232
 
233
+ �Τ褦��Ĵ�٤뤳�Ȥ��Ǥ��ޤ���
234
+
235
+ ����Ū���Ѵ������ˡ�Bio::Sequence::NA ���饹�ޤ��� Bio::sequence::AA ���饹
236
+ �Τɤ��餫�Υ��֥������Ȥ����������ˤ� seq �᥽�åɤ�Ȥ��ޤ�(��4)��
237
+
238
+ bioruby> pep2 = cdc2.seq
239
+ bioruby> p pep2.class
240
+ Bio::Sequence::AA
241
+
242
+ �ޤ����ʲ��Dz��⤹�� complement �� translate �ʤɤΥ᥽�åɤη�̤ϡ�
243
+ ����������֤����Ȥ����Ԥ����᥽�åɤ� Bio::Sequence::NA ���饹��
244
+ ���ߥλ�������֤����Ȥ����Ԥ����᥽�åɤ� Bio::sequence::AA ���饹
245
+ �Υ��֥������Ȥˤʤ�ޤ���
246
+
216
247
  ��������䥢�ߥλ�����Υ��饹�� Ruby ��ʸ���󥯥饹�Ǥ��� String ��
217
- �Ѿ����Ƥ��ޤ��Τǡ�length ��Ĺ����Ĵ�٤��ꡢ+ ��­����碌���ꡢ* ��
218
- �����֤�����ʤɡ�Ruby ��ʸ������Ф��ƹԤ��������������Ѳ�ǽ�Ǥ���
248
+ �Ѿ����Ƥ��ޤ����ޤ���Bio::Sequence ���饹�Υ��֥������Ȥ� String ��
249
+ ���֥������Ȥȸ�������Ʊ�ͤ�Ư���褦�˹��פ���Ƥ��ޤ������Τ��ᡢ
250
+ length ��Ĺ����Ĵ�٤��ꡢ+ ��­����碌���ꡢ* �Ƿ����֤�����ʤɡ�
251
+ Ruby ��ʸ������Ф��ƹԤ��������������Ѳ�ǽ�Ǥ���
219
252
  ���Τ褦����ħ�ϥ��֥������Ȼظ��ζ��Ϥ�¦�̤ΰ�Ĥȸ�����Ǥ��礦��
220
253
 
221
254
  bioruby> puts dna.length
@@ -414,7 +447,7 @@ randomize
414
447
  to_re �᥽�åɤϡ�ۣ��ʱ����ɽ����ޤ��������� atgc ������
415
448
  �ѥ����󤫤�ʤ�����ɽ�����Ѵ����ޤ���
416
449
 
417
- bioruby> ambiguous = seq("atgcyatgcatgcatgc")
450
+ bioruby> ambiguous = getseq("atgcyatgcatgcatgc")
418
451
 
419
452
  bioruby> p ambiguous.to_re
420
453
  /atgc[tc]atgcatgcatgc/
@@ -426,7 +459,7 @@ seq
426
459
  ۣ��ʱ���¿���ޤޤ������ξ��� to_naseq �᥽�åɤ�Ȥä�
427
460
  ����Ū�� Bio::Sequence::NA ���֥������Ȥ��Ѵ�����ɬ�פ�����ޤ���
428
461
 
429
- bioruby> s = seq("atgcrywskmbvhdn").to_naseq
462
+ bioruby> s = getseq("atgcrywskmbvhdn").to_naseq
430
463
  bioruby> p s.to_re
431
464
  /atgc[ag][tc][at][gc][tg][ac][tgc][agc][atc][atg][atgc]/
432
465
 
@@ -650,14 +683,14 @@ GenBank
650
683
  % wget ftp://ftp.hgc.jp/pub/mirror/ncbi/genbank/gbphg.seq.gz
651
684
  % gunzip gbphg.seq.gz
652
685
 
653
- --- ent(str)
686
+ --- getent(str)
654
687
 
655
- seq ���ޥ�ɤ������������ޤ���������������Ǥʤ�����ȥ����Τ��������ˤ�
656
- ent ���ޥ�ɤ�Ȥ��ޤ���seq ���ޥ��Ʊ�͡�ent ���ޥ�ɤǤ� OBDA, EMBOSS,
657
- KEGG API �Υǡ����١��������Ѳ�ǽ�Ǥ�������ˤĤ��Ƥ� seq ���ޥ�ɤ�������
658
- ���Ȥ��Ƥ���������
688
+ getseq ���ޥ�ɤ������������ޤ���������������Ǥʤ�����ȥ����Τ��������
689
+ �ˤ� getent ���ޥ��(��2)��Ȥ��ޤ���getseq ���ޥ��Ʊ�͡�getent ���ޥ�ɤǤ�
690
+ OBDA, EMBOSS, NCBI, EBI, TogoWS, KEGG API �Υǡ����١��������Ѳ�ǽ�Ǥ�(��5)��
691
+ ����ˤĤ��Ƥ� getseq ���ޥ�ɤ������򻲾Ȥ��Ƥ���������
659
692
 
660
- bioruby> entry = ent("genbank:AB044425")
693
+ bioruby> entry = getent("genbank:AB044425")
661
694
  bioruby> puts entry
662
695
  LOCUS AB044425 1494 bp DNA linear PLN 28-APR-2001
663
696
  DEFINITION Volvox carteri f. kawasakiensis chloroplast psaB gene for
@@ -665,7 +698,7 @@ KEGG API
665
698
  strain:NIES-732.
666
699
  (ά)
667
700
 
668
- ent ���ޥ�ɤΰ����ˤ� db:entry_id ������ʸ����EMBOSS �� USA��
701
+ getent ���ޥ�ɤΰ����ˤ� db:entry_id ������ʸ����EMBOSS �� USA��
669
702
  �ե����롢IO ��Ϳ����졢�ǡ����١����Σ�����ȥ�ʬ��ʸ�����֤���ޤ���
670
703
  ����ǡ����١����˸¤餺����¿���Υǡ����١�������ȥ���б����Ƥ��ޤ���
671
704
 
@@ -674,7 +707,7 @@ ent
674
707
  ������������ȥ��ѡ��������ߤ����ǡ�����Ȥ�����ˤ� flatparse
675
708
  ���ޥ�ɤ�Ȥ��ޤ���
676
709
 
677
- bioruby> entry = ent("gbphg.seq")
710
+ bioruby> entry = getent("gbphg.seq")
678
711
  bioruby> gb = flatparse(entry)
679
712
  bioruby> puts gb.entry_id
680
713
  AB000833
@@ -684,20 +717,20 @@ ent
684
717
  acggtcagacgtttggcccgaccaccgggatgaggctgacgcaggtcagaaatctttgtgacgacaaccgtatcaat
685
718
  (ά)
686
719
 
687
- --- obj(str)
720
+ --- getobj(str)
688
721
 
689
- obj ���ޥ�ɤϡ�ent �ǥ���ȥ��ʸ����Ȥ��Ƽ����� flatparse �ǥѡ�������
690
- ���֥������Ȥ��Ѵ�����Τ�Ʊ���Ǥ���ent ���ޥ�ɤ�Ʊ������������դ��ޤ���
691
- ��������������� seq������ȥ������������ ent���ѡ����������֥������Ȥ�
692
- ����������� obj ��Ȥ����Ȥˤʤ�ޤ���
722
+ getobj ���ޥ��(��2)�ϡ�getent �ǥ���ȥ��ʸ����Ȥ��Ƽ����� flatparse ��
723
+ �ѡ����������֥������Ȥ��Ѵ�����Τ�Ʊ���Ǥ���getent ���ޥ�ɤ�Ʊ��������
724
+ �����դ��ޤ������������������ getseq������ȥ������������ getent��
725
+ �ѡ����������֥������Ȥ����������� getobj ��Ȥ����Ȥˤʤ�ޤ���
693
726
 
694
- bioruby> gb = obj("gbphg.seq")
727
+ bioruby> gb = getobj("gbphg.seq")
695
728
  bioruby> puts gb.entry_id
696
729
  AB000833
697
730
 
698
731
  --- flatfile(file)
699
732
 
700
- ent ���ޥ�ɤϣ�����ȥꤷ�������ʤ����ᡢ��������Υե�����򳫤���
733
+ getent ���ޥ�ɤϣ�����ȥꤷ�������ʤ����ᡢ��������Υե�����򳫤���
701
734
  �ƥ���ȥ���˽�����Ԥ��ˤ� flatfile ���ޥ�ɤ�Ȥ��ޤ���
702
735
 
703
736
  bioruby> flatfile("gbphg.seq") do |entry|
@@ -911,7 +944,7 @@ bget
911
944
 
912
945
  bioruby> script
913
946
  -- 8< -- 8< -- 8< -- Script -- 8< -- 8< -- 8< --
914
- bioruby> seq = seq("gbphg.seq")
947
+ bioruby> seq = getseq("gbphg.seq")
915
948
  bioruby> p seq
916
949
  bioruby> p seq.translate
917
950
  bioruby> script
@@ -922,7 +955,7 @@ bget
922
955
 
923
956
  #!/usr/bin/env bioruby
924
957
 
925
- seq = seq("gbphg.seq")
958
+ seq = getseq("gbphg.seq")
926
959
  p seq
927
960
  p seq.translate
928
961
 
@@ -990,7 +1023,7 @@ bget
990
1023
 
991
1024
  �ƥ����Ȥ����äƤ����ѿ�����Ƭ�򸫤뤳�Ȥ�Ǥ��ޤ���
992
1025
 
993
- bioruby> entry = ent("gbphg.seq")
1026
+ bioruby> entry = getent("gbphg.seq")
994
1027
  bioruby> head entry, 2
995
1028
  GBPHG.SEQ Genetic Sequence Data Bank
996
1029
  October 15 2005
@@ -1125,7 +1158,7 @@ disp
1125
1158
  DNA ����򥢥����������Ȥ�ɽ�����륪�ޥ���ǽ������ޤ���
1126
1159
  Ŭ���ʱ������� seq ����������äݤ�ɽ�����Ƥߤޤ��礦��
1127
1160
 
1128
- bioruby> dna = seq("atgc" * 10).randomize
1161
+ bioruby> dna = getseq("atgc" * 10).randomize
1129
1162
  bioruby> doublehelix dna
1130
1163
  ta
1131
1164
  t--a
@@ -1915,7 +1948,7 @@ br_bioflat.rb
1915
1948
  �����ޤǤν����� BioRuby ������ǻ�Ȱʲ��Τ褦�ˤʤ�ޤ���
1916
1949
 
1917
1950
  # PDB ����ȥ� 1bl8 ��ͥåȥ����ͳ�Ǽ���
1918
- bioruby> ent_1bl8 = ent("pdb:1bl8")
1951
+ bioruby> ent_1bl8 = getent("pdb:1bl8")
1919
1952
  # ����ȥ����Ȥ��ǧ
1920
1953
  bioruby> head ent_1bl8
1921
1954
  # ����ȥ��ե��������¸
@@ -1926,8 +1959,8 @@ br_bioflat.rb
1926
1959
  bioruby> pdb_1bl8 = flatparse(ent_1bl8)
1927
1960
  # PDB �Υ���ȥ� ID ��ɽ��
1928
1961
  bioruby> pdb_1bl8.entry_id
1929
- # ent("pdb:1bl8") ���� flatparse ��������ˡ��ʲ��Ǥ�OK
1930
- bioruby> obj_1bl8 = obj("pdb:1bl8")
1962
+ # getent("pdb:1bl8") ���� flatparse ��������ˡ��ʲ��Ǥ�OK
1963
+ bioruby> obj_1bl8 = getobj("pdb:1bl8")
1931
1964
  bioruby> obj_1bl8.entry_id
1932
1965
  # �� HETEROGEN ���Ȥ˻Ĵ�̾��ɽ��
1933
1966
  bioruby> pdb_1bl8.each_heterogen { |heterogen| p heterogen.resName }
@@ -2636,5 +2669,38 @@ to be written...
2636
2669
  ¾�Υ��塼�ȥꥢ��Ū�ʥɥ�����ȤȤ��Ƥϡ�BioRuby Wiki���֤��Ƥ���
2637
2670
  BioRuby in Anger ������ޤ���
2638
2671
 
2672
+
2673
+ == ����
2674
+
2675
+ * (��1) BioRuby 1.2.1 �����ΥС������Ǥϡ�setup.rb �Τ����� install.rb
2676
+ ����Ѥ��ޤ����ޤ����ʲ��Τ褦��3�ʳ���Ƨ��ɬ�פ�����ޤ���
2677
+
2678
+ % ruby install.rb config
2679
+ % ruby install.rb setup
2680
+ # ruby install.rb install
2681
+
2682
+ * (��2) BioRuby 1.0.0 �����ΥС������Ǥϡ�getseq, getent, getobj
2683
+ �γƥ��ޥ�ɤΤ����ˡ�seq, ent, obj �γƥ��ޥ�ɤ���Ѥ��Ƥ���������
2684
+
2685
+ * (��3) BioRuby 0.7.1 �����ΥС������Ǥϡ�Bio::Sequence::NA ���饹����
2686
+ Bio::sequence::AA ���饹�Τɤ��餫�Υ��֥������Ȥˤʤ�ޤ���
2687
+ ���󤬤ɤ���Υ��饹��°���뤫�� Ruby �� class �᥽�åɤ��Ѥ���
2688
+
2689
+ bioruby> p cdc2.class
2690
+ Bio::Sequence::AA
2691
+
2692
+ bioruby> p psaB.class
2693
+ Bio::Sequence::NA
2694
+
2695
+ �Τ褦��Ĵ�٤뤳�Ȥ��Ǥ��ޤ�����ưȽ�꤬�ְ�äƤ�����ʤɤˤ�
2696
+ to_naseq, to_aaseq �᥽�åɤǶ���Ū���Ѵ��Ǥ��ޤ���
2697
+
2698
+ * (��4) seq �᥽�åɤϡ��ɤ߹�����ǡ����μ���ˤ�äƤϡ����𡦥��ߥλ���
2699
+ �ɤ���ˤ����ƤϤޤ�ʤ�����Τ���� Bio::Sequence::Generic ���饹��
2700
+ String ���饹�Υ��֥������Ȥ��֤���礬���뤫�⤷��ޤ���
2701
+
2702
+ * (��5) NCBI, EBI, TogoWS �����̤�����̵���� getseq, getent, getobj ���ޥ��
2703
+ �������Ѳ�ǽ�Ȥʤä��Τ� BioRuby 1.3.0 �ʹߤǤ���
2704
+
2639
2705
  =end
2640
2706
 
@@ -0,0 +1,2225 @@
1
+ <?xml version="1.0" ?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml">
6
+ <head>
7
+ <title>doc/Tutorial.rd.ja</title>
8
+ <link href="bioruby.css" type="text/css" rel="stylesheet" />
9
+ </head>
10
+ <body>
11
+ <pre>Copyright (C) 2001-2003, 2005, 2006 Toshiaki Katayama &lt;k@bioruby.org&gt;
12
+ Copyright (C) 2005, 2006 Naohisa Goto &lt;ng@bioruby.org&gt;</pre>
13
+ <h1><a name="label-0" id="label-0">BioRuby �λȤ���</a></h1><!-- RDLabel: "BioRuby �λȤ���" -->
14
+ <p>BioRuby �Ϲ񻺤ιⵡǽ���֥������Ȼظ�������ץȸ��� Ruby �Τ����
15
+ �����ץ󥽡����ʥХ�������ե��ޥƥ������ѥ饤�֥��Ǥ���</p>
16
+ <p>Ruby ����� Perl ����椺��ζ��Ϥʥƥ����Ƚ����ȡ�
17
+ ����ץ��ʬ����䤹��ʸˡ�����ꥢ�ʥ��֥������Ȼظ���ǽ�ˤ�ꡢ
18
+ �����Ȥ���褦�ˤʤ�ޤ�����Ruby �ˤĤ��ƾܤ����ϡ������֥�����
19
+ <a href="http://www.ruby-lang.org/">&lt;URL:http://www.ruby-lang.org/&gt;</a> ����Τν������򻲾Ȥ��Ƥ���������</p>
20
+ <h2><a name="label-1" id="label-1">�Ϥ����</a></h2><!-- RDLabel: "�Ϥ����" -->
21
+ <p>BioRuby ����Ѥ���ˤ� Ruby �� BioRuby �򥤥󥹥ȡ��뤹��ɬ�פ�����ޤ���</p>
22
+ <h3><a name="label-2" id="label-2">Ruby �Υ��󥹥ȡ���</a></h3><!-- RDLabel: "Ruby �Υ��󥹥ȡ���" -->
23
+ <p>Ruby �� Mac OS X ��Ƕ�� UNIX �ˤ��̾磻�󥹥ȡ��뤵��Ƥ��ޤ���
24
+ Windows �ξ��⣱����å����󥹥ȡ���� ActiveScriptRuby �ʤɤ�
25
+ �Ѱդ���Ƥ��ޤ����ޤ����󥹥ȡ��뤵��Ƥ��ʤ�����</p>
26
+ <ul>
27
+ <li><a href="http://jp.rubyist.net/magazine/?0002-FirstProgramming">&lt;URL:http://jp.rubyist.net/magazine/?0002-FirstProgramming&gt;</a></li>
28
+ <li><a href="http://jp.rubyist.net/magazine/?FirstStepRuby">&lt;URL:http://jp.rubyist.net/magazine/?FirstStepRuby&gt;</a></li>
29
+ </ul>
30
+ <p>�ʤɤ򻲹ͤˤ��ƥ��󥹥ȡ��뤷�ޤ��礦��</p>
31
+ <p>���ʤ��Υ���ԥ塼���ˤɤΥС������� Ruby �����󥹥ȡ��뤵��Ƥ��뤫��
32
+ �����å�����ˤ�</p>
33
+ <pre>% ruby -v</pre>
34
+ <p>�ȥ��ޥ�ɤ����Ϥ��Ƥ�������������ȡ����Ȥ���</p>
35
+ <pre>ruby 1.8.2 (2004-12-25) [powerpc-darwin7.7.0]</pre>
36
+ <p>�Τ褦�ʴ����ǥС������ɽ������ޤ����С������ 1.8.5 �ʹߤ򤪴��ᤷ�ޤ���</p>
37
+ <p>Ruby ɸ�������Υ��饹��᥽�åɤˤĤ��Ƥϡ�Ruby �Υ�ե���󥹥ޥ˥奢���
38
+ ���Ȥ��Ƥ���������</p>
39
+ <ul>
40
+ <li><a href="http://www.ruby-lang.org/ja/man/">&lt;URL:http://www.ruby-lang.org/ja/man/&gt;</a></li>
41
+ <li><a href="http://doc.okkez.net/">&lt;URL:http://doc.okkez.net/&gt;</a></li>
42
+ </ul>
43
+ <p>���ޥ�ɥ饤��ǥإ�פ򻲾Ȥ���ˤϡ�Ruby ɸ��ź�դ� ri ���ޥ�ɤ䡢
44
+ ���ܸ��Ǥ� refe ���ޥ�ɤ������Ǥ���</p>
45
+ <ul>
46
+ <li><a href="http://i.loveruby.net/ja/prog/refe.html">&lt;URL:http://i.loveruby.net/ja/prog/refe.html&gt;</a></li>
47
+ </ul>
48
+ <h3><a name="label-3" id="label-3">RubyGems �Υ��󥹥ȡ���</a></h3><!-- RDLabel: "RubyGems �Υ��󥹥ȡ���" -->
49
+ <p>RubyGems �Υڡ�������ǿ��Ǥ����������ɤ��ޤ���</p>
50
+ <ul>
51
+ <li><a href="http://rubyforge.org/projects/rubygems/">&lt;URL:http://rubyforge.org/projects/rubygems/&gt;</a></li>
52
+ </ul>
53
+ <p>Ÿ�����ƥ��󥹥ȡ��뤷�ޤ���</p>
54
+ <pre>% tar zxvf rubygems-x.x.x.tar.gz
55
+ % cd rubygems-x.x.x
56
+ % ruby setup.rb</pre>
57
+ <h3><a name="label-4" id="label-4">BioRuby �Υ��󥹥ȡ���</a></h3><!-- RDLabel: "BioRuby �Υ��󥹥ȡ���" -->
58
+ <p>BioRuby �Υ��󥹥ȡ�����ˡ�� <a href="http://bioruby.org/archive/">&lt;URL:http://bioruby.org/archive/&gt;</a> ����
59
+ �ǿ��Ǥ�������ưʲ��Τ褦�˹Ԥ��ޤ�(��1)��Ʊ������Ƥ��� README �ե�����ˤ�
60
+ �ܤ��̤���ĺ�������ΤǤ���������ʤ��ȣ���������ˤʤ� BioPerl ����٤�
61
+ BioRuby �Υ��󥹥ȡ���Ϥ����˽����Ϥ��Ǥ���</p>
62
+ <pre>% wget http://bioruby.org/archive/bioruby-x.x.x.tar.gz
63
+ % tar zxvf bioruby-x.x.x.tar.gz
64
+ % cd bioruby-x.x.x
65
+ % su
66
+ # ruby setup.rb</pre>
67
+ <p>RubyGems ���Ȥ���Ķ��Ǥ����</p>
68
+ <pre>% gem install bio</pre>
69
+ <p>�����ǥ��󥹥ȡ���Ǥ��ޤ������Τ��� README �ե�����˽񤫤�Ƥ���褦��</p>
70
+ <pre>bioruby-x.x.x/etc/bioinformatics/seqdatabase.ini</pre>
71
+ <p>�Ȥ����ե������ۡ���ǥ��쥯�ȥ�� ~/.bioinformatics �˥��ԡ�����
72
+ �����Ȥ褤�Ǥ��礦��RubyGems �ξ���</p>
73
+ <pre>/usr/local/lib/ruby/gems/1.8/gems/bio-x.x.x/</pre>
74
+ <p>�ʤɤˤ���Ϥ��Ǥ���</p>
75
+ <pre>% mkdir ~/.bioinformatics
76
+ % cp bioruby-x.x.x/etc/bioinformatics/seqdatabase.ini ~/.bioinformatics</pre>
77
+ <p>�ޤ���Emacs ���ǥ�����Ȥ��ͤ� Ruby �Υ�������Ʊ������Ƥ���
78
+ misc/ruby-mode.el �򥤥󥹥ȡ��뤷�Ƥ����Ȥ褤�Ǥ��礦��</p>
79
+ <pre>% mkdir -p ~/lib/lisp/ruby
80
+ % cp ruby-x.x.x/misc/ruby-mode.el ~/lib/lisp/ruby</pre>
81
+ <p>�ʤɤȤ��Ƥ����ơ�~/.emacs �˰ʲ���������­���ޤ���</p>
82
+ <pre>; subdirs ������
83
+ (let ((default-directory "~/lib/lisp"))
84
+ (normal-top-level-add-subdirs-to-load-path)
85
+
86
+ ; ruby-mode ������
87
+ (autoload 'ruby-mode "ruby-mode" "Mode for editing ruby source files")
88
+ (add-to-list 'auto-mode-alist '("\\.rb$" . rd-mode))
89
+ (add-to-list 'interpeter-mode-alist '("ruby" . ruby-mode))</pre>
90
+ <h2><a name="label-5" id="label-5">BioRuby ������</a></h2><!-- RDLabel: "BioRuby ������" -->
91
+ <p>BioRuby �С������ 0.7 �ʹߤǤϡ���ñ������ BioRuby �ȶ��˥��󥹥ȡ��뤵���
92
+ bioruby ���ޥ�ɤǹԤ����Ȥ��Ǥ��ޤ���bioruby ���ޥ�ɤ� Ruby ����¢����Ƥ���
93
+ ���󥿥饯�ƥ��֥����� irb �����Ѥ��Ƥ��ꡢRuby �� BioRuby �ˤǤ��뤳�Ȥ�����
94
+ ��ͳ�˼¹Ԥ��뤳�Ȥ��Ǥ��ޤ���</p>
95
+ <pre>% bioruby project1</pre>
96
+ <p>�����ǻ��ꤷ��̾���Υǥ��쥯�ȥ꤬�������졢������Dz��Ϥ�Ԥ��ޤ���
97
+ �嵭����ξ�� project1 �Ȥ����ǥ��쥯�ȥ꤬�������졢����˰ʲ���
98
+ ���֥ǥ��쥯�ȥ��ե����뤬����ޤ���</p>
99
+ <pre>data/ �桼���β��ϥե�������֤����
100
+ plugin/ ɬ�פ˱������ɲäΥץ饰������֤����
101
+ session/ ����䥪�֥������ȡ��ҥ��ȥ�ʤɤ���¸�������
102
+ session/config �桼�����������¸�����ե�����
103
+ session/history �桼�������Ϥ������ޥ�ɤΥҥ��ȥ����¸�����ե�����
104
+ session/object ��³�����줿���֥������Ȥγ�Ǽ�ե�����</pre>
105
+ <p>���Τ�����data �ǥ��쥯�ȥ�ϥ桼������ͳ�˽񤭴����ƹ����ޤ���
106
+ �ޤ���session/history �ե�����򸫤�ȡ����ĤɤΤ褦������Ԥä�����
107
+ ��ǧ���뤳�Ȥ��Ǥ��ޤ���</p>
108
+ <p>�����ܰʹߤϡ�����Ʊ�ͤ�</p>
109
+ <pre>% bioruby project1</pre>
110
+ <p>�Ȥ��Ƶ�ư���Ƥ⹽���ޤ��󤷡��������줿�ǥ��쥯�ȥ�˰�ư����</p>
111
+ <pre>% cd project1
112
+ % bioruby</pre>
113
+ <p>�Τ褦�˰����ʤ��ǵ�ư���뤳�Ȥ�Ǥ��ޤ���</p>
114
+ <p>����¾��script ���ޥ�ɤǺ�������륹����ץȥե�����䡢
115
+ web ���ޥ�ɤǺ�������� Rails �Τ��������ե�����ʤɤ�����ޤ�����
116
+ �����ˤĤ��Ƥ�ɬ�פ˱����Ƹ�Ҥ��ޤ���</p>
117
+ <p>BioRuby ������Ǥϥǥե���ȤǤ����Ĥ��������ʥ饤�֥����ɤ߹���Ǥ��ޤ���
118
+ �㤨�� readline �饤�֥�꤬�Ȥ���Ķ��Ǥ� Tab �����ǥ᥽�å�̾���ѿ�̾��
119
+ �䴰�����Ϥ��Ǥ���open-uri, pp, yaml �ʤɤ�ǽ餫���ɤ߹��ޤ�Ƥ��ޤ���</p>
120
+ <h3><a name="label-6" id="label-6">����, ���ߥλ����������</a></h3><!-- RDLabel: "����, ���ߥλ����������" -->
121
+ <dl>
122
+ <dt><a name="label-7" id="label-7"><code>getseq(<var>str</var>)</code></a></dt><!-- RDLabel: "getseq" -->
123
+ </dl>
124
+ <p>getseq ���ޥ��(��2)��Ȥä�ʸ���󤫤��������䥢�ߥλ�������뤳�Ȥ�
125
+ �Ǥ��ޤ�������ȥ��ߥλ��� ATGC �δ��̤� 90% �ʾ夫�ɤ����Ǽ�ưȽ�ꤵ��ޤ���
126
+ �����Ǥϡ��Ǥ������������ dna �Ȥ����ѿ����������ޤ���</p>
127
+ <pre>bioruby&gt; dna = getseq("atgcatgcaaaa")</pre>
128
+ <p>�ѿ�����Ȥ��ǧ����ˤ� Ruby �� puts �᥽�åɤ�Ȥ��ޤ���</p>
129
+ <pre>bioruby&gt; puts dna
130
+ atgcatgcaaaa</pre>
131
+ <p>�ե�����̾�������Ϳ����ȼ긵�ˤ���ե����뤫����������뤳�Ȥ�Ǥ��ޤ���
132
+ GenBank, EMBL, UniProt, FASTA �ʤɼ��פ�����ե����ޥåȤϼ�ưȽ�̤���ޤ�
133
+ �ʳ�ĥ�ҤʤɤΥե�����̾�ǤϤʤ�����ȥ����Ȥ�Ƚ�ꤷ�ޤ��ˡ�
134
+ �ʲ��� UniProt �ե����ޥåȤΥ���ȥ��ե����뤫���ɤ߹���Ǥ��ޤ���
135
+ ������ˡ�Ǥϡ�ʣ���Υ���ȥ꤬������ǽ�Υ���ȥ�������ɤ߹��ޤ�ޤ���</p>
136
+ <pre>bioruby&gt; cdc2 = getseq("p04551.sp")
137
+ bioruby&gt; puts cdc2
138
+ MENYQKVEKIGEGTYGVVYKARHKLSGRIVAMKKIRLEDESEGVPSTAIREISLLKEVNDENNRSN...(ά)</pre>
139
+ <p>�ǡ����١���̾�ȥ���ȥ�̾��ʬ���äƤ���С����󥿡��ͥåȤ��̤���
140
+ �����ưŪ�˼������뤳�Ȥ��Ǥ��ޤ���</p>
141
+ <pre>bioruby&gt; psaB = getseq("genbank:AB044425")
142
+ bioruby&gt; puts psaB
143
+ actgaccctgttcatattcgtcctattgctcacgcgatttgggatccgcactttggccaaccagca...(ά)</pre>
144
+ <p>�ɤ��Υǡ����١�������ɤΤ褦����ˡ�ǥ���ȥ��������뤫�ϡ�BioPerl
145
+ �ʤɤȶ��̤� OBDA ����ե����� ~/.bioinformatics/seqdatabase.ini
146
+ ���Ѥ��ƥǡ����١������Ȥ˻��ꤹ�뤳�Ȥ��Ǥ��ޤ��ʸ�ҡˡ�
147
+ �ޤ���EMBOSS �� seqret ���ޥ�ɤˤ����������ˤ��б����Ƥ��ޤ��Τǡ�
148
+ EMBOSS �� USA ɽ���Ǥ⥨��ȥ������Ǥ��ޤ���EMBOSS �Υޥ˥奢��򻲾Ȥ�
149
+ ~/.embossrc ��Ŭ�ڤ����ꤷ�Ƥ���������</p>
150
+ <p>�ɤ���ˡ�Ǽ����������⡢getseq ���ޥ�ɤˤ�ä��֤��������ϡ�
151
+ ���Ѥ����󥯥饹 Bio::Sequence �ˤʤ�ޤ�(��3)��</p>
152
+ <p>���󤬱�������ȥ��ߥλ�����Τɤ����Ƚ�ꤵ��Ƥ���Τ��ϡ�
153
+ moltype �᥽�åɤ��Ѥ���</p>
154
+ <pre>bioruby&gt; p cdc2.moltype
155
+ Bio::Sequence::AA
156
+
157
+ bioruby&gt; p psaB.moltype
158
+ Bio::Sequence::NA</pre>
159
+ <p>�Τ褦��Ĵ�٤뤳�Ȥ��Ǥ��ޤ�����ưȽ�꤬�ְ�äƤ�����ʤɤˤ�
160
+ na, aa �᥽�åɤǶ���Ū���Ѵ��Ǥ��ޤ����ʤ��������Υ᥽�åɤ�
161
+ ���Υ��֥������Ȥ���Ū�˽񤭴����ޤ���</p>
162
+ <pre>bioruby&gt; dna.aa
163
+ bioruby&gt; p dna.moltype
164
+ Bio::Sequence::AA
165
+
166
+ bioruby&gt; dna.na
167
+ bioruby&gt; p dna.moltype
168
+ Bio::Sequence::NA</pre>
169
+ <p>�ޤ��ϡ�to_naseq, to_aaseq �᥽�åɤǶ���Ū���Ѵ����뤳�Ȥ�Ǥ��ޤ���</p>
170
+ <pre>bioruby&gt; pep = dna.to_aaseq</pre>
171
+ <p>to_naseq, to_aaseq �᥽�åɤ��֤����֥������Ȥϡ����줾�졢
172
+ DNA ����Τ���� Bio::Sequence::NA ���饹�����ߥλ�����Τ����
173
+ Bio::Sequence::AA ���饹�Υ��֥������Ȥˤʤ�ޤ���
174
+ ���󤬤ɤ���Υ��饹��°���뤫�� Ruby �� class �᥽�åɤ��Ѥ���</p>
175
+ <pre>bioruby&gt; p pep.class
176
+ Bio::Sequence::AA</pre>
177
+ <p>�Τ褦��Ĵ�٤뤳�Ȥ��Ǥ��ޤ���</p>
178
+ <p>����Ū���Ѵ������ˡ�Bio::Sequence::NA ���饹�ޤ��� Bio::sequence::AA ���饹
179
+ �Τɤ��餫�Υ��֥������Ȥ����������ˤ� seq �᥽�åɤ�Ȥ��ޤ�(��4)��</p>
180
+ <pre>bioruby&gt; pep2 = cdc2.seq
181
+ bioruby&gt; p pep2.class
182
+ Bio::Sequence::AA</pre>
183
+ <p>�ޤ����ʲ��Dz��⤹�� complement �� translate �ʤɤΥ᥽�åɤη�̤ϡ�
184
+ ����������֤����Ȥ����Ԥ����᥽�åɤ� Bio::Sequence::NA ���饹��
185
+ ���ߥλ�������֤����Ȥ����Ԥ����᥽�åɤ� Bio::sequence::AA ���饹
186
+ �Υ��֥������Ȥˤʤ�ޤ���</p>
187
+ <p>��������䥢�ߥλ�����Υ��饹�� Ruby ��ʸ���󥯥饹�Ǥ��� String ��
188
+ �Ѿ����Ƥ��ޤ����ޤ���Bio::Sequence ���饹�Υ��֥������Ȥ� String ��
189
+ ���֥������Ȥȸ�������Ʊ�ͤ�Ư���褦�˹��פ���Ƥ��ޤ������Τ��ᡢ
190
+ length ��Ĺ����Ĵ�٤��ꡢ+ ��­����碌���ꡢ* �Ƿ����֤�����ʤɡ�
191
+ Ruby ��ʸ������Ф��ƹԤ��������������Ѳ�ǽ�Ǥ���
192
+ ���Τ褦����ħ�ϥ��֥������Ȼظ��ζ��Ϥ�¦�̤ΰ�Ĥȸ�����Ǥ��礦��</p>
193
+ <pre>bioruby&gt; puts dna.length
194
+ 12
195
+
196
+ bioruby&gt; puts dna + dna
197
+ atgcatgcaaaaatgcatgcaaaa
198
+
199
+ bioruby&gt; puts dna * 5
200
+ atgcatgcaaaaatgcatgcaaaaatgcatgcaaaaatgcatgcaaaaatgcatgcaaaa</pre>
201
+ <dl>
202
+ <dt><a name="label-8" id="label-8">complement</a></dt><!-- RDLabel: "complement" -->
203
+ </dl>
204
+ <p>������������亿���������ˤϱ�������� complement �᥽�åɤ�ƤӤޤ���</p>
205
+ <pre>bioruby&gt; puts dna.complement
206
+ ttttgcatgcat</pre>
207
+ <dl>
208
+ <dt><a name="label-9" id="label-9">translate</a></dt><!-- RDLabel: "translate" -->
209
+ </dl>
210
+ <p>��������򥢥ߥλ��������������ˤ� translate �᥽�åɤ�Ȥ��ޤ���
211
+ �������줿���ߥλ������ pep �Ȥ����ѿ����������Ƥߤޤ���</p>
212
+ <pre>bioruby&gt; pep = dna.translate
213
+ bioruby&gt; puts pep
214
+ MHAK</pre>
215
+ <p>�ե졼����Ѥ�����������ˤ�</p>
216
+ <pre>bioruby&gt; puts dna.translate(2)
217
+ CMQ
218
+ bioruby&gt; puts dna.translate(3)
219
+ ACK</pre>
220
+ <p>�ʤɤȤ��ޤ���</p>
221
+ <dl>
222
+ <dt><a name="label-10" id="label-10">molecular_weight</a></dt><!-- RDLabel: "molecular_weight" -->
223
+ </dl>
224
+ <p>ʬ���̤� molecular_weight �᥽�åɤ�ɽ������ޤ���</p>
225
+ <pre>bioruby&gt; puts dna.molecular_weight
226
+ 3718.66444
227
+
228
+ bioruby&gt; puts pep.molecular_weight
229
+ 485.605</pre>
230
+ <dl>
231
+ <dt><a name="label-11" id="label-11"><code>seqstat(<var>seq</var>)</code></a></dt><!-- RDLabel: "seqstat" -->
232
+ </dl>
233
+ <p>seqstat ���ޥ�ɤ�Ȥ��ȡ������ʤɤξ������٤�ɽ������ޤ���</p>
234
+ <pre>bioruby&gt; seqstat(dna)
235
+
236
+ * * * Sequence statistics * * *
237
+
238
+ 5'-&gt;3' sequence : atgcatgcaaaa
239
+ 3'-&gt;5' sequence : ttttgcatgcat
240
+ Translation 1 : MHAK
241
+ Translation 2 : CMQ
242
+ Translation 3 : ACK
243
+ Translation -1 : FCMH
244
+ Translation -2 : FAC
245
+ Translation -3 : LHA
246
+ Length : 12 bp
247
+ GC percent : 33 %
248
+ Composition : a - 6 ( 50.00 %)
249
+ c - 2 ( 16.67 %)
250
+ g - 2 ( 16.67 %)
251
+ t - 2 ( 16.67 %)
252
+ Codon usage :
253
+
254
+ *---------------------------------------------*
255
+ | | 2nd | |
256
+ | 1st |-------------------------------| 3rd |
257
+ | | U | C | A | G | |
258
+ |-------+-------+-------+-------+-------+-----|
259
+ | U U |F 0.0%|S 0.0%|Y 0.0%|C 0.0%| u |
260
+ | U U |F 0.0%|S 0.0%|Y 0.0%|C 0.0%| c |
261
+ | U U |L 0.0%|S 0.0%|* 0.0%|* 0.0%| a |
262
+ | UUU |L 0.0%|S 0.0%|* 0.0%|W 0.0%| g |
263
+ |-------+-------+-------+-------+-------+-----|
264
+ | CCCC |L 0.0%|P 0.0%|H 25.0%|R 0.0%| u |
265
+ | C |L 0.0%|P 0.0%|H 0.0%|R 0.0%| c |
266
+ | C |L 0.0%|P 0.0%|Q 0.0%|R 0.0%| a |
267
+ | CCCC |L 0.0%|P 0.0%|Q 0.0%|R 0.0%| g |
268
+ |-------+-------+-------+-------+-------+-----|
269
+ | A |I 0.0%|T 0.0%|N 0.0%|S 0.0%| u |
270
+ | A A |I 0.0%|T 0.0%|N 0.0%|S 0.0%| c |
271
+ | AAAAA |I 0.0%|T 0.0%|K 25.0%|R 0.0%| a |
272
+ | A A |M 25.0%|T 0.0%|K 0.0%|R 0.0%| g |
273
+ |-------+-------+-------+-------+-------+-----|
274
+ | GGGG |V 0.0%|A 0.0%|D 0.0%|G 0.0%| u |
275
+ | G |V 0.0%|A 0.0%|D 0.0%|G 0.0%| c |
276
+ | G GGG |V 0.0%|A 25.0%|E 0.0%|G 0.0%| a |
277
+ | GG G |V 0.0%|A 0.0%|E 0.0%|G 0.0%| g |
278
+ *---------------------------------------------*
279
+
280
+ Molecular weight : 3718.66444
281
+ Protein weight : 485.605
282
+ //</pre>
283
+ <p>���ߥλ�����ξ��ϰʲ��Τ褦�ˤʤ�ޤ���</p>
284
+ <pre>bioruby&gt; seqstat(pep)
285
+
286
+ * * * Sequence statistics * * *
287
+
288
+ N-&gt;C sequence : MHAK
289
+ Length : 4 aa
290
+ Composition : A Ala - 1 ( 25.00 %) alanine
291
+ H His - 1 ( 25.00 %) histidine
292
+ K Lys - 1 ( 25.00 %) lysine
293
+ M Met - 1 ( 25.00 %) methionine
294
+ Protein weight : 485.605
295
+ //</pre>
296
+ <dl>
297
+ <dt><a name="label-12" id="label-12">composition</a></dt><!-- RDLabel: "composition" -->
298
+ </dl>
299
+ <p>seqstat �����ɽ������Ƥ��������� composition �᥽�åɤ����뤳�Ȥ��Ǥ��ޤ���
300
+ ��̤�ʸ����ǤϤʤ� Hash ���֤����Τǡ��Ȥꤢ����ɽ�����Ƥߤ���ˤ�
301
+ puts ������� p ���ޥ�ɤ�Ȥ����ɤ��Ǥ��礦��</p>
302
+ <pre>bioruby&gt; p dna.composition
303
+ {"a"=&gt;6, "c"=&gt;2, "g"=&gt;2, "t"=&gt;2}</pre>
304
+ <h4><a name="label-13" id="label-13">�������󡢥��ߥλ�����Τ���¾�Υ᥽�å�</a></h4><!-- RDLabel: "�������󡢥��ߥλ�����Τ���¾�Υ᥽�å�" -->
305
+ <p>¾�ˤ�������󡢥��ߥλ�������Ф��ƹԤ������Ͽ����Ȥ���ޤ���</p>
306
+ <dl>
307
+ <dt><a name="label-14" id="label-14">subseq(from, to)</a></dt><!-- RDLabel: "subseq(from, to)" -->
308
+ </dl>
309
+ <p>��ʬ�������Ф��ˤ� subseq �᥽�åɤ�Ȥ��ޤ���</p>
310
+ <pre>bioruby&gt; puts dna.subseq(1, 3)
311
+ atg</pre>
312
+ <p>Ruby �ʤ�¿���Υץ�����ߥ󥰸����ʸ����� 1 ʸ���ܤ� 0 ��������ޤ�����
313
+ subseq �᥽�åɤ� 1 ����������ڤ�Ф���褦�ˤʤäƤ��ޤ���</p>
314
+ <pre>bioruby&gt; puts dna[0, 3]
315
+ atg</pre>
316
+ <p>Ruby �� String ���饹������ slice �᥽�å� str[] ��Ŭ���Ȥ�ʬ�����
317
+ �褤�Ǥ��礦��</p>
318
+ <dl>
319
+ <dt><a name="label-15" id="label-15">window_search(len, step)</a></dt><!-- RDLabel: "window_search(len, step)" -->
320
+ </dl>
321
+ <p>window_search �᥽�åɤ�Ȥ���Ĺ���������ʬ������η����֤���
322
+ ��ñ�˹Ԥ����Ȥ��Ǥ��ޤ���DNA ����򥳥ɥ���˽��������硢
323
+ ��ʸ�����Ĥ��餷�ʤ��飳ʸ�����ڤ�Ф��Ф褤�Τǰʲ��Τ褦�ˤʤ�ޤ���</p>
324
+ <pre>bioruby&gt; dna.window_search(3, 3) do |codon|
325
+ bioruby+ puts "#{codon}\t#{codon.translate}"
326
+ bioruby+ end
327
+ atg M
328
+ cat H
329
+ gca A
330
+ aaa K</pre>
331
+ <p>���Υ��������ü 1000bp �򥪡��С���åפ����ʤ��� 11000bp ���Ȥ�
332
+ �֥��ڤ�ˤ� FASTA �ե����ޥåȤ�����������ϰʲ��Τ褦�ˤʤ�ޤ���</p>
333
+ <pre>bioruby&gt; seq.window_search(11000, 10000) do |subseq|
334
+ bioruby+ puts subseq.to_fasta
335
+ bioruby+ end</pre>
336
+ <p>�Ǹ�� 10000bp �������ʤ� 3' ü��;��������֤��ͤȤ���������Τǡ�
337
+ ɬ�פʾ������Ӽ�����ä�ɽ�����ޤ���</p>
338
+ <pre>bioruby&gt; i = 1
339
+ bioruby&gt; remainder = seq.window_search(11000, 10000) do |subseq|
340
+ bioruby+ puts subseq.to_fasta("segment #{i*10000}", 60)
341
+ bioruby+ i += 1
342
+ bioruby+ end
343
+ bioruby&gt; puts remainder.to_fasta("segment #{i*10000}", 60)</pre>
344
+ <dl>
345
+ <dt><a name="label-16" id="label-16">splicing(position)</a></dt><!-- RDLabel: "splicing(position)" -->
346
+ </dl>
347
+ <p>��������� GenBank ���� position ʸ����ˤ���ڤ�Ф��� splicing
348
+ �᥽�åɤǹԤ��ޤ���</p>
349
+ <pre>bioruby&gt; puts dna
350
+ atgcatgcaaaa
351
+ bioruby&gt; puts dna.splicing("join(1..3,7..9)")
352
+ atggca</pre>
353
+ <dl>
354
+ <dt><a name="label-17" id="label-17">randomize</a></dt><!-- RDLabel: "randomize" -->
355
+ </dl>
356
+ <p>randomize �᥽�åɤϡ��������������¸�����ޤޥ�����������������ޤ���</p>
357
+ <pre>bioruby&gt; puts dna.randomize
358
+ agcaatagatac</pre>
359
+ <dl>
360
+ <dt><a name="label-18" id="label-18">to_re</a></dt><!-- RDLabel: "to_re" -->
361
+ </dl>
362
+ <p>to_re �᥽�åɤϡ�ۣ��ʱ����ɽ����ޤ��������� atgc ������
363
+ �ѥ����󤫤�ʤ�����ɽ�����Ѵ����ޤ���</p>
364
+ <pre>bioruby&gt; ambiguous = getseq("atgcyatgcatgcatgc")
365
+
366
+ bioruby&gt; p ambiguous.to_re
367
+ /atgc[tc]atgcatgcatgc/
368
+
369
+ bioruby&gt; puts ambiguous.to_re
370
+ (?-mix:atgc[tc]atgcatgcatgc)</pre>
371
+ <p>seq �᥽�åɤ� ATGC �δ�ͭ�̤� 90% �ʲ����ȥ��ߥλ�����Ȥߤʤ��Τǡ�
372
+ ۣ��ʱ���¿���ޤޤ������ξ��� to_naseq �᥽�åɤ�Ȥä�
373
+ ����Ū�� Bio::Sequence::NA ���֥������Ȥ��Ѵ�����ɬ�פ�����ޤ���</p>
374
+ <pre>bioruby&gt; s = getseq("atgcrywskmbvhdn").to_naseq
375
+ bioruby&gt; p s.to_re
376
+ /atgc[ag][tc][at][gc][tg][ac][tgc][agc][atc][atg][atgc]/
377
+
378
+ bioruby&gt; puts s.to_re
379
+ (?-mix:atgc[ag][tc][at][gc][tg][ac][tgc][agc][atc][atg][atgc])</pre>
380
+ <dl>
381
+ <dt><a name="label-19" id="label-19">names</a></dt><!-- RDLabel: "names" -->
382
+ </dl>
383
+ <p>���ޤ�Ȥ����ȤϤ���ޤ��󤬡���������̾�䥢�ߥλ�̾���Ѵ�����
384
+ �᥽�åɤǤ���</p>
385
+ <pre>bioruby&gt; p dna.names
386
+ ["adenine", "thymine", "guanine", "cytosine", "adenine", "thymine",
387
+ "guanine", "cytosine", "adenine", "adenine", "adenine", "adenine"]
388
+
389
+ bioruby&gt; p pep.names
390
+ ["methionine", "histidine", "alanine", "lysine"]</pre>
391
+ <dl>
392
+ <dt><a name="label-20" id="label-20">codes</a></dt><!-- RDLabel: "codes" -->
393
+ </dl>
394
+ <p>���ߥλ������ʸ�������ɤ��Ѵ����� names �Ȼ����᥽�åɤǤ���</p>
395
+ <pre>bioruby&gt; p pep.codes
396
+ ["Met", "His", "Ala", "Lys"]</pre>
397
+ <dl>
398
+ <dt><a name="label-21" id="label-21">gc_percent</a></dt><!-- RDLabel: "gc_percent" -->
399
+ </dl>
400
+ <p>��������� GC ���̤� gc_percent �᥽�åɤ������ޤ���</p>
401
+ <pre>bioruby&gt; p dna.gc_percent
402
+ 33</pre>
403
+ <dl>
404
+ <dt><a name="label-22" id="label-22">to_fasta</a></dt><!-- RDLabel: "to_fasta" -->
405
+ </dl>
406
+ <p>FASTA �ե����ޥåȤ��Ѵ�����ˤ� to_fasta �᥽�åɤ�Ȥ��ޤ���</p>
407
+ <pre>bioruby&gt; puts dna.to_fasta("dna sequence")
408
+ &gt;dna sequence
409
+ aaccggttacgt</pre>
410
+ <h3><a name="label-23" id="label-23">����䥢�ߥλ��Υ����ɡ����ɥ�ɽ�򤢤Ĥ���</a></h3><!-- RDLabel: "����䥢�ߥλ��Υ����ɡ����ɥ�ɽ�򤢤Ĥ���" -->
411
+ <p>���ߥλ������𡢥��ɥ�ơ��֥�����뤿��� aminoacids, nucleicacids,
412
+ codontables, codontable ���ޥ�ɤ�Ҳ𤷤ޤ���</p>
413
+ <dl>
414
+ <dt><a name="label-24" id="label-24"><code>aminoacids</code></a></dt><!-- RDLabel: "aminoacids" -->
415
+ </dl>
416
+ <p>���ߥλ��ΰ����� aminoacids ���ޥ�ɤ�ɽ���Ǥ��ޤ���</p>
417
+ <pre>bioruby&gt; aminoacids
418
+ ? Pyl pyrrolysine
419
+ A Ala alanine
420
+ B Asx asparagine/aspartic acid
421
+ C Cys cysteine
422
+ D Asp aspartic acid
423
+ E Glu glutamic acid
424
+ F Phe phenylalanine
425
+ G Gly glycine
426
+ H His histidine
427
+ I Ile isoleucine
428
+ K Lys lysine
429
+ L Leu leucine
430
+ M Met methionine
431
+ N Asn asparagine
432
+ P Pro proline
433
+ Q Gln glutamine
434
+ R Arg arginine
435
+ S Ser serine
436
+ T Thr threonine
437
+ U Sec selenocysteine
438
+ V Val valine
439
+ W Trp tryptophan
440
+ Y Tyr tyrosine
441
+ Z Glx glutamine/glutamic acid</pre>
442
+ <p>�֤��ͤ�û��ɽ�����б�����Ĺ��ɽ���Υϥå���ˤʤäƤ��ޤ���</p>
443
+ <pre>bioruby&gt; aa = aminoacids
444
+ bioruby&gt; puts aa["G"]
445
+ Gly
446
+ bioruby&gt; puts aa["Gly"]
447
+ glycine</pre>
448
+ <dl>
449
+ <dt><a name="label-25" id="label-25"><code>nucleicacids</code></a></dt><!-- RDLabel: "nucleicacids" -->
450
+ </dl>
451
+ <p>����ΰ����� nucleicacids ���ޥ�ɤ�ɽ���Ǥ��ޤ���</p>
452
+ <pre>bioruby&gt; nucleicacids
453
+ a a Adenine
454
+ t t Thymine
455
+ g g Guanine
456
+ c c Cytosine
457
+ u u Uracil
458
+ r [ag] puRine
459
+ y [tc] pYrimidine
460
+ w [at] Weak
461
+ s [gc] Strong
462
+ k [tg] Keto
463
+ m [ac] aroMatic
464
+ b [tgc] not A
465
+ v [agc] not T
466
+ h [atc] not G
467
+ d [atg] not C
468
+ n [atgc] </pre>
469
+ <p>�֤��ͤϱ���Σ�ʸ��ɽ���ȳ����������Υϥå���ˤʤäƤ��ޤ���</p>
470
+ <pre>bioruby&gt; na = nucleicacids
471
+ bioruby&gt; puts na["r"]
472
+ [ag]</pre>
473
+ <dl>
474
+ <dt><a name="label-26" id="label-26"><code>codontables</code></a></dt><!-- RDLabel: "codontables" -->
475
+ </dl>
476
+ <p>���ɥ�ơ��֥�ΰ����� codontables ���ޥ�ɤ�ɽ���Ǥ��ޤ���</p>
477
+ <pre>bioruby&gt; codontables
478
+ 1 Standard (Eukaryote)
479
+ 2 Vertebrate Mitochondrial
480
+ 3 Yeast Mitochondorial
481
+ 4 Mold, Protozoan, Coelenterate Mitochondrial and Mycoplasma/Spiroplasma
482
+ 5 Invertebrate Mitochondrial
483
+ 6 Ciliate Macronuclear and Dasycladacean
484
+ 9 Echinoderm Mitochondrial
485
+ 10 Euplotid Nuclear
486
+ 11 Bacteria
487
+ 12 Alternative Yeast Nuclear
488
+ 13 Ascidian Mitochondrial
489
+ 14 Flatworm Mitochondrial
490
+ 15 Blepharisma Macronuclear
491
+ 16 Chlorophycean Mitochondrial
492
+ 21 Trematode Mitochondrial
493
+ 22 Scenedesmus obliquus mitochondrial
494
+ 23 Thraustochytrium Mitochondrial</pre>
495
+ <p>�֤��ͤϥơ��֥��ֹ��̾���Υϥå���ˤʤäƤ��ޤ���</p>
496
+ <pre>bioruby&gt; ct = codontables
497
+ bioruby&gt; puts ct[3]
498
+ Yeast Mitochondorial</pre>
499
+ <dl>
500
+ <dt><a name="label-27" id="label-27"><code>codontable(<var>num</var>)</code></a></dt><!-- RDLabel: "codontable" -->
501
+ </dl>
502
+ <p>���ɥ�ɽ���Τ� codontable ���ޥ�ɤ�ɽ���Ǥ��ޤ���</p>
503
+ <pre>bioruby&gt; codontable(11)
504
+
505
+ = Codon table 11 : Bacteria
506
+
507
+ hydrophilic: H K R (basic), S T Y Q N S (polar), D E (acidic)
508
+ hydrophobic: F L I M V P A C W G (nonpolar)
509
+
510
+ *---------------------------------------------*
511
+ | | 2nd | |
512
+ | 1st |-------------------------------| 3rd |
513
+ | | U | C | A | G | |
514
+ |-------+-------+-------+-------+-------+-----|
515
+ | U U | Phe F | Ser S | Tyr Y | Cys C | u |
516
+ | U U | Phe F | Ser S | Tyr Y | Cys C | c |
517
+ | U U | Leu L | Ser S | STOP | STOP | a |
518
+ | UUU | Leu L | Ser S | STOP | Trp W | g |
519
+ |-------+-------+-------+-------+-------+-----|
520
+ | CCCC | Leu L | Pro P | His H | Arg R | u |
521
+ | C | Leu L | Pro P | His H | Arg R | c |
522
+ | C | Leu L | Pro P | Gln Q | Arg R | a |
523
+ | CCCC | Leu L | Pro P | Gln Q | Arg R | g |
524
+ |-------+-------+-------+-------+-------+-----|
525
+ | A | Ile I | Thr T | Asn N | Ser S | u |
526
+ | A A | Ile I | Thr T | Asn N | Ser S | c |
527
+ | AAAAA | Ile I | Thr T | Lys K | Arg R | a |
528
+ | A A | Met M | Thr T | Lys K | Arg R | g |
529
+ |-------+-------+-------+-------+-------+-----|
530
+ | GGGG | Val V | Ala A | Asp D | Gly G | u |
531
+ | G | Val V | Ala A | Asp D | Gly G | c |
532
+ | G GGG | Val V | Ala A | Glu E | Gly G | a |
533
+ | GG G | Val V | Ala A | Glu E | Gly G | g |
534
+ *---------------------------------------------*</pre>
535
+ <p>�֤��ͤ� Bio::CodonTable ���饹�Υ��֥������Ȥǡ����ɥ�ȥ��ߥλ���
536
+ �Ѵ����Ǥ�������Ǥʤ����ʲ��Τ褦�ʥǡ��������뤳�Ȥ��Ǥ��ޤ���</p>
537
+ <pre>bioruby&gt; ct = codontable(2)
538
+ bioruby&gt; p ct["atg"]
539
+ "M"</pre>
540
+ <dl>
541
+ <dt><a name="label-28" id="label-28">definition</a></dt><!-- RDLabel: "definition" -->
542
+ </dl>
543
+ <p>���ɥ�ɽ�����������</p>
544
+ <pre>bioruby&gt; puts ct.definition
545
+ Vertebrate Mitochondrial</pre>
546
+ <dl>
547
+ <dt><a name="label-29" id="label-29">start</a></dt><!-- RDLabel: "start" -->
548
+ </dl>
549
+ <p>���ϥ��ɥ����</p>
550
+ <pre>bioruby&gt; p ct.start
551
+ ["att", "atc", "ata", "atg", "gtg"]</pre>
552
+ <dl>
553
+ <dt><a name="label-30" id="label-30">stop</a></dt><!-- RDLabel: "stop" -->
554
+ </dl>
555
+ <p>���ߥ��ɥ����</p>
556
+ <pre>bioruby&gt; p ct.stop
557
+ ["taa", "tag", "aga", "agg"]</pre>
558
+ <dl>
559
+ <dt><a name="label-31" id="label-31">revtrans</a></dt><!-- RDLabel: "revtrans" -->
560
+ </dl>
561
+ <p>���ߥλ��򥳡��ɤ��륳�ɥ��Ĵ�٤�</p>
562
+ <pre>bioruby&gt; p ct.revtrans("V")
563
+ ["gtc", "gtg", "gtt", "gta"]</pre>
564
+ <h3><a name="label-32" id="label-32">�ե�åȥե�����Υ���ȥ�</a></h3><!-- RDLabel: "�ե�åȥե�����Υ���ȥ�" -->
565
+ <p>�ǡ����١����Υ���ȥ�ȡ��ե�åȥե����뤽�Τ�Τ򰷤���ˡ��Ҳ𤷤ޤ���
566
+ GenBank �ǡ����١�������Ǥϡ��ե������Υ���ȥ꤬�ޤޤ�� gbphg.seq ��
567
+ �ե����륵�������������Τǡ����Υե��������Ȥ��ƻȤ��ޤ���</p>
568
+ <pre>% wget ftp://ftp.hgc.jp/pub/mirror/ncbi/genbank/gbphg.seq.gz
569
+ % gunzip gbphg.seq.gz</pre>
570
+ <dl>
571
+ <dt><a name="label-33" id="label-33"><code>getent(<var>str</var>)</code></a></dt><!-- RDLabel: "getent" -->
572
+ </dl>
573
+ <p>getseq ���ޥ�ɤ������������ޤ���������������Ǥʤ�����ȥ����Τ��������
574
+ �ˤ� getent ���ޥ��(��2)��Ȥ��ޤ���getseq ���ޥ��Ʊ�͡�getent ���ޥ�ɤǤ�
575
+ OBDA, EMBOSS, NCBI, EBI, TogoWS, KEGG API �Υǡ����١��������Ѳ�ǽ�Ǥ�(��5)��
576
+ ����ˤĤ��Ƥ� getseq ���ޥ�ɤ������򻲾Ȥ��Ƥ���������</p>
577
+ <pre>bioruby&gt; entry = getent("genbank:AB044425")
578
+ bioruby&gt; puts entry
579
+ LOCUS AB044425 1494 bp DNA linear PLN 28-APR-2001
580
+ DEFINITION Volvox carteri f. kawasakiensis chloroplast psaB gene for
581
+ photosystem I P700 chlorophyll a apoprotein A2,
582
+ strain:NIES-732.
583
+ (ά)</pre>
584
+ <p>getent ���ޥ�ɤΰ����ˤ� db:entry_id ������ʸ����EMBOSS �� USA��
585
+ �ե����롢IO ��Ϳ����졢�ǡ����١����Σ�����ȥ�ʬ��ʸ�����֤���ޤ���
586
+ ����ǡ����١����˸¤餺����¿���Υǡ����١�������ȥ���б����Ƥ��ޤ���</p>
587
+ <dl>
588
+ <dt><a name="label-34" id="label-34"><code>flatparse(<var>str</var>)</code></a></dt><!-- RDLabel: "flatparse" -->
589
+ </dl>
590
+ <p>������������ȥ��ѡ��������ߤ����ǡ�����Ȥ�����ˤ� flatparse
591
+ ���ޥ�ɤ�Ȥ��ޤ���</p>
592
+ <pre>bioruby&gt; entry = getent("gbphg.seq")
593
+ bioruby&gt; gb = flatparse(entry)
594
+ bioruby&gt; puts gb.entry_id
595
+ AB000833
596
+ bioruby&gt; puts gb.definition
597
+ Bacteriophage Mu DNA for ORF1, sheath protein gpL, ORF2, ORF3, complete cds.
598
+ bioruby&gt; puts psaB.naseq
599
+ acggtcagacgtttggcccgaccaccgggatgaggctgacgcaggtcagaaatctttgtgacgacaaccgtatcaat
600
+ (ά)</pre>
601
+ <dl>
602
+ <dt><a name="label-35" id="label-35"><code>getobj(<var>str</var>)</code></a></dt><!-- RDLabel: "getobj" -->
603
+ </dl>
604
+ <p>getobj ���ޥ��(��2)�ϡ�getent �ǥ���ȥ��ʸ����Ȥ��Ƽ����� flatparse ��
605
+ �ѡ����������֥������Ȥ��Ѵ�����Τ�Ʊ���Ǥ���getent ���ޥ�ɤ�Ʊ��������
606
+ �����դ��ޤ������������������ getseq������ȥ������������ getent��
607
+ �ѡ����������֥������Ȥ����������� getobj ��Ȥ����Ȥˤʤ�ޤ���</p>
608
+ <pre>bioruby&gt; gb = getobj("gbphg.seq")
609
+ bioruby&gt; puts gb.entry_id
610
+ AB000833</pre>
611
+ <dl>
612
+ <dt><a name="label-36" id="label-36"><code>flatfile(<var>file</var>)</code></a></dt><!-- RDLabel: "flatfile" -->
613
+ </dl>
614
+ <p>getent ���ޥ�ɤϣ�����ȥꤷ�������ʤ����ᡢ��������Υե�����򳫤���
615
+ �ƥ���ȥ���˽�����Ԥ��ˤ� flatfile ���ޥ�ɤ�Ȥ��ޤ���</p>
616
+ <pre>bioruby&gt; flatfile("gbphg.seq") do |entry|
617
+ bioruby+ # do something on entry
618
+ bioruby+ end</pre>
619
+ <p>�֥��å�����ꤷ�ʤ����ϡ��ե�������κǽ�Υ���ȥ��������ޤ���</p>
620
+ <pre>bioruby&gt; entry = flatfile("gbphg.seq")
621
+ bioruby&gt; gb = flatparse(entry)
622
+ bioruby&gt; puts gb.entry_id</pre>
623
+ <dl>
624
+ <dt><a name="label-37" id="label-37"><code>flatauto(<var>file</var>)</code></a></dt><!-- RDLabel: "flatauto" -->
625
+ </dl>
626
+ <p>�ƥ���ȥ�� flatparse ��Ʊ�ͤ˥ѡ����������֤ǽ��֤˽������뤿��ˤϡ�
627
+ flatfile ���ޥ�ɤ������ flatauto ���ޥ�ɤ�Ȥ��ޤ���</p>
628
+ <pre>bioruby&gt; flatauto("gbphg.seq") do |entry|
629
+ bioruby+ print entry.entry_id
630
+ bioruby+ puts entry.definition
631
+ bioruby+ end</pre>
632
+ <p>flatfile Ʊ�͡��֥��å�����ꤷ�ʤ����ϡ��ե�������κǽ�Υ���ȥ��
633
+ ���������ѡ����������֥������Ȥ��֤��ޤ���</p>
634
+ <pre>bioruby&gt; gb = flatfile("gbphg.seq")
635
+ bioruby&gt; puts gb.entry_id</pre>
636
+ <h3><a name="label-38" id="label-38">�ե�åȥե�����Υ���ǥ�����</a></h3><!-- RDLabel: "�ե�åȥե�����Υ���ǥ�����" -->
637
+ <p>EMBOSS �� dbiflat �˻�����ǽ�Ȥ��ơ�BioRuby, BioPerl �ʤɤ˶��̤� BioFlat
638
+ �Ȥ�������ǥå��������������Ȥߤ�����ޤ������٥���ǥå�����
639
+ �������Ƥ����ȥ���ȥ�μ��Ф�����®�����ưפ˹Ԥ��ޤ���
640
+ ����ˤ�꼫ʬ���ѤΥǡ����١������ڤ˺�뤳�Ȥ��Ǥ��ޤ���</p>
641
+ <dl>
642
+ <dt><a name="label-39" id="label-39"><code>flatindex(<var>db_name</var>, *<var>source_file_list</var>)</code></a></dt><!-- RDLabel: "flatindex" -->
643
+ </dl>
644
+ <p>GenBank �Υե�����������ե����� gbphg.seq �����äƤ��륨��ȥ���Ф���
645
+ mydb �Ȥ����ǡ����١���̾�ǥ���ǥå�����������ޤ���</p>
646
+ <pre>bioruby&gt; flatindex("mydb", "gbphg.seq")
647
+ Creating BioFlat index (.bioruby/bioflat/mydb) ... done</pre>
648
+ <dl>
649
+ <dt><a name="label-40" id="label-40"><code>flatsearch(<var>db_name</var>, <var>entry_id</var>)</code></a></dt><!-- RDLabel: "flatsearch" -->
650
+ </dl>
651
+ <p>�������� mydb �ǡ����١������饨��ȥ��Ȥ�Ф��ˤ� flatsearch ���ޥ�ɤ�
652
+ �Ȥ��ޤ���</p>
653
+ <pre>bioruby&gt; entry = flatsearch("mydb", "AB004561")
654
+ bioruby&gt; puts entry
655
+ LOCUS AB004561 2878 bp DNA linear PHG 20-MAY-1998
656
+ DEFINITION Bacteriophage phiU gene for integrase, complete cds, integration
657
+ site.
658
+ ACCESSION AB004561
659
+ (ά)</pre>
660
+ <h3><a name="label-41" id="label-41">�͡��� DB ������� FASTA �ե����ޥåȤ��Ѵ�������¸</a></h3><!-- RDLabel: "�͡��� DB ������� FASTA �ե����ޥåȤ��Ѵ�������¸" -->
661
+ <p>FASTA �ե����ޥåȤ�����ǡ�����ɸ��Ū���Ѥ����Ƥ���ե����ޥåȤǤ���
662
+ ��&gt;�׵���ǤϤ��ޤ룱���ܤ���������������ꡢ�����ܰʹߤ����󤬤ĤŤ��ޤ���
663
+ ������ζ���ʸ����̵�뤵��ޤ���</p>
664
+ <pre>&gt;entry_id definition ...
665
+ ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
666
+ ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT</pre>
667
+ <p>����������Ԥϡ��ǽ��ñ�줬����� ID �ˤʤäƤ��뤳�Ȥ�¿���ΤǤ�����
668
+ NCBI �� BLAST �ѥǡ����١����ǤϤ���˹��٤ʹ�¤���������ʤ��Ƥ��ޤ���</p>
669
+ <ul>
670
+ <li><a href="ftp://ftp.ncbi.nih.gov/blast/documents/README.formatdb">&lt;URL:ftp://ftp.ncbi.nih.gov/blast/documents/README.formatdb&gt;</a></li>
671
+ <li><a href="http://blast.wustl.edu/doc/FAQ-Indexing.html#Identifiers">&lt;URL:http://blast.wustl.edu/doc/FAQ-Indexing.html#Identifiers&gt;</a></li>
672
+ <li>FASTA format (Wikipedia)
673
+ <a href="http://en.wikipedia.org/wiki/Fasta_format">&lt;URL:http://en.wikipedia.org/wiki/Fasta_format&gt;</a></li>
674
+ </ul>
675
+ <p>BioRuby �Υǡ����١�������ȥ�Υ��饹�ˤϥ���ȥ�ID����������ˤĤ���
676
+ ���̤Υ᥽�åɤ��Ѱդ���Ƥ��ޤ���</p>
677
+ <ul>
678
+ <li>entry_id - ����ȥ� ID �����</li>
679
+ <li>definition - ���ʸ�����</li>
680
+ <li>seq - ��������</li>
681
+ </ul>
682
+ <p>�����ζ��̥᥽�åɤ�Ȥ��ȡ��ɤ������ǡ����١�������ȥ�Ǥ�
683
+ FASTA �ե����ޥåȤ��Ѵ��Ǥ���ץ�����ब��ñ�˺��ޤ���</p>
684
+ <pre>entry.seq.to_fasta("#{entry.entry_id} #{entry.definition}", 60)</pre>
685
+ <p>����ˡ�BioRuby �Ǥ����ϥǡ����١����η�����ưȽ�̤Ǥ��ޤ��Τǡ�
686
+ GenBank, UniProt �ʤ�¿���μ��פ�����ǡ����١����Ǥ�
687
+ �ե�����̾����ꤹ������� FASTA �ե����ޥåȤ��Ѵ��Ǥ��ޤ���</p>
688
+ <dl>
689
+ <dt><a name="label-42" id="label-42"><code>flatfasta(<var>fasta_file</var>, *<var>source_file_list</var>)</code></a></dt><!-- RDLabel: "flatfasta" -->
690
+ </dl>
691
+ <p>���ϥǡ����١����Υե�����̾�Υꥹ�Ȥ��顢���ꤷ�� FASTA �ե����ޥåȤ�
692
+ �ե�������������륳�ޥ�ɤǤ��������ǤϤ����Ĥ��� GenBank �Υե������
693
+ FASTA �ե����ޥåȤ��Ѵ�����myfasta.fa �Ȥ����ե��������¸���Ƥ��ޤ���</p>
694
+ <pre>bioruby&gt; flatfasta("myfasta.fa", "gbphg.seq", "gbvrl1.seq", "gbvrl2.seq")
695
+ Saving fasta file (myfasta.fa) ...
696
+ converting -- gbphg.gbk
697
+ converting -- gbvrl1.gbk
698
+ converting -- gbvrl2.gbk
699
+ done</pre>
700
+ <h3><a name="label-43" id="label-43">KEGG API</a></h3><!-- RDLabel: "KEGG API" -->
701
+ <p>BioRuby ������Ǥ� KEGG API �Υ����֥����ӥ����ñ�����ѤǤ��ޤ���</p>
702
+ <dl>
703
+ <dt><a name="label-44" id="label-44"><code>keggdbs</code></a></dt><!-- RDLabel: "keggdbs" -->
704
+ </dl>
705
+ <p>���Υ�ͥåȤ� KEGG API ���̤������Ѳ�ǽ�ʥǡ����١����Υꥹ�Ȥ�ɽ�����ޤ���</p>
706
+ <pre>bioruby&gt; keggdbs
707
+ nt: Non-redundant nucleic acid sequence database
708
+ aa: Non-redundant protein sequence database
709
+ gb: GenBank nucleic acid sequence database
710
+ (ά)</pre>
711
+ <dl>
712
+ <dt><a name="label-45" id="label-45"><code>keggorgs</code></a></dt><!-- RDLabel: "keggorgs" -->
713
+ </dl>
714
+ <p>KEGG �˼�Ͽ����Ƥ�������ʪ��Υꥹ�Ȥ�ɽ�����ޤ���</p>
715
+ <pre>bioruby&gt; keggorgs
716
+ aae: Aquifex aeolicus
717
+ aci: Acinetobacter sp. ADP1
718
+ afu: Archaeoglobus fulgidus
719
+ (ά)</pre>
720
+ <dl>
721
+ <dt><a name="label-46" id="label-46"><code>keggpathways</code></a></dt><!-- RDLabel: "keggpathways" -->
722
+ </dl>
723
+ <p>KEGG �˼�Ͽ����Ƥ������ѥ��������Υꥹ�Ȥ�ɽ�����ޤ���</p>
724
+ <pre>bioruby&gt; keggpathways
725
+ path:map00010: Glycolysis / Gluconeogenesis - Reference pathway
726
+ path:map00020: Citrate cycle (TCA cycle) - Reference pathway
727
+ path:map00030: Pentose phosphate pathway - Reference pathway
728
+ (ά)</pre>
729
+ <p>�����ˣ�ʸ���� KEGG ��ʪ�ﵭ��򤢤�����ȡ�������ʪ�����ѤǤ���
730
+ �ѥ������������ΰ������֤��ޤ�����IJ�� eco �ξ��ʲ��Τ褦�ˤʤ�ޤ���</p>
731
+ <pre>bioruby&gt; keggpathways("eco")
732
+ path:eco00010: Glycolysis / Gluconeogenesis - Escherichia coli K-12 MG1655
733
+ path:eco00020: Citrate cycle (TCA cycle) - Escherichia coli K-12 MG1655
734
+ path:eco00030: Pentose phosphate pathway - Escherichia coli K-12 MG1655
735
+ (ά)</pre>
736
+ <dl>
737
+ <dt><a name="label-47" id="label-47"><code>keggapi</code></a></dt><!-- RDLabel: "keggapi" -->
738
+ </dl>
739
+ <p>�����ʳ��� KEGG API �Υ᥽�åɤϡ�keggapi ��³���ƸƤӽФ����Ȥ�
740
+ ���ѤǤ��ޤ���</p>
741
+ <pre>bioruby&gt; p keggapi.get_genes_by_pathway("path:eco00010")
742
+ ["eco:b0114", "eco:b0115", "eco:b0116", "eco:b0356", "eco:b0688", (ά)</pre>
743
+ <p>���Ѳ�ǽ�ʥ᥽�åɤΰ����� KEGG API �Υޥ˥奢��򻲾Ȥ��Ƥ���������</p>
744
+ <ul>
745
+ <li><a href="http://www.genome.jp/kegg/soap/doc/keggapi_manual_ja.html">&lt;URL:http://www.genome.jp/kegg/soap/doc/keggapi_manual_ja.html&gt;</a></li>
746
+ </ul>
747
+ <h3><a name="label-48" id="label-48">DBGET</a></h3><!-- RDLabel: "DBGET" -->
748
+ <p>���Υ�ͥåȤ� DBGET �Υ��ޥ�ɤǤ��� binfo, bfind, bget, btit, bconv ��
749
+ KEGG API �����Ѥ��Ƥ��Τޤ޼¹ԤǤ���褦�ˤʤäƤ��ޤ���</p>
750
+ <dl>
751
+ <dt><a name="label-49" id="label-49"><code>binfo</code></a></dt><!-- RDLabel: "binfo" -->
752
+ </dl>
753
+ <pre>bioruby&gt; binfo
754
+ *** Last database updates ***
755
+ Date Database Release #Entries #Residues</pre>
756
+ <pre>-------- ------------- ------------------------ ------------ ----------------
757
+ 05/12/06 nr-nt 05-12-04 (Dec 05) 63,078,043 111,609,773,616
758
+ 05/12/06 nr-aa 05-12-05 (Dec 05) 2,682,790 890,953,839
759
+ 05/10/25 genbank 150.0 (Oct 05) 49,152,445 53,655,236,500
760
+ 05/12/06 genbank-upd 150.0+/12-04 (Dec 05) 7,470,976 6,357,888,366
761
+ (ά)</pre>
762
+ <p>binfo ���ޥ�ɤ�³���ƥǡ����١���̾����ꤹ�뤳�ȤǤ��ܺ٤ʾ���
763
+ ɽ������ޤ���</p>
764
+ <pre>bioruby&gt; binfo "genbank"
765
+ genbank GenBank nucleic acid sequence database
766
+ gb Release 150.0, Oct 05
767
+ National Center for Biotechnology Information
768
+ 49,152,445 entries, 53,655,236,500 bases
769
+ Last update: 05/10/25
770
+ &lt;dbget&gt; &lt;fasta&gt; &lt;blast&gt;</pre>
771
+ <dl>
772
+ <dt><a name="label-50" id="label-50"><code>bfind(<var>keyword</var>)</code></a></dt><!-- RDLabel: "bfind" -->
773
+ </dl>
774
+ <p>bfind ���ޥ�ɤǥǡ����١������Ф��륭����ɥ�������Ԥ����Ȥ��Ǥ��ޤ���
775
+ �ǡ����١���̾�ȸ���������������ɤ�ʸ������Ϥ��ޤ���</p>
776
+ <pre>bioruby&gt; list = bfind "genbank ebola human"
777
+ bioruby&gt; puts list
778
+ gb:BD177378 [BD177378] A monoclonal antibody recognizing ebola virus.
779
+ gb:BD177379 [BD177379] A monoclonal antibody recognizing ebola virus.
780
+ (ά)</pre>
781
+ <dl>
782
+ <dt><a name="label-51" id="label-51"><code>bget(<var>entry_id</var>)</code></a></dt><!-- RDLabel: "bget" -->
783
+ </dl>
784
+ <p>bget ���ޥ�ɤǻ��ꤷ�� db:entry_id �Υǡ����١�������ȥ������Ǥ��ޤ���</p>
785
+ <pre>bioruby&gt; entry = bget "gb:BD177378"
786
+ bioruby&gt; puts entry
787
+ LOCUS BD177378 24 bp DNA linear PAT 16-APR-2003
788
+ DEFINITION A monoclonal antibody recognizing ebola virus.
789
+ (ά)</pre>
790
+ <h3><a name="label-52" id="label-52">������ץ�����</a></h3><!-- RDLabel: "������ץ�����" -->
791
+ <p>��ȼ��򥹥���ץȲ�������¸���Ƥ������Ȥ�Ǥ��ޤ���</p>
792
+ <pre>bioruby&gt; script
793
+ -- 8&lt; -- 8&lt; -- 8&lt; -- Script -- 8&lt; -- 8&lt; -- 8&lt; --
794
+ bioruby&gt; seq = getseq("gbphg.seq")
795
+ bioruby&gt; p seq
796
+ bioruby&gt; p seq.translate
797
+ bioruby&gt; script
798
+ -- &gt;8 -- &gt;8 -- &gt;8 -- Script -- &gt;8 -- &gt;8 -- &gt;8 --
799
+ Saving script (script.rb) ... done</pre>
800
+ <p>�������줿 script.rb �ϰʲ��Τ褦�ˤʤ�ޤ���</p>
801
+ <pre>#!/usr/bin/env bioruby
802
+
803
+ seq = getseq("gbphg.seq")
804
+ p seq
805
+ p seq.translate</pre>
806
+ <p>���Υ�����ץȤ� bioruby ���ޥ�ɤǼ¹Ԥ��뤳�Ȥ��Ǥ��ޤ���</p>
807
+ <pre>% bioruby script.rb</pre>
808
+ <h3><a name="label-53" id="label-53">�ʰץ����뵡ǽ</a></h3><!-- RDLabel: "�ʰץ����뵡ǽ" -->
809
+ <dl>
810
+ <dt><a name="label-54" id="label-54"><code>cd(<var>dir</var>)</code></a></dt><!-- RDLabel: "cd" -->
811
+ </dl>
812
+ <p>�����ȥǥ��쥯�ȥ���ѹ����ޤ���</p>
813
+ <pre>bioruby&gt; cd "/tmp"
814
+ "/tmp"</pre>
815
+ <p>�ۡ���ǥ��쥯�ȥ�����ˤϰ�����Ĥ����� cd ��¹Ԥ��ޤ���</p>
816
+ <pre>bioruby&gt; cd
817
+ "/home/k"</pre>
818
+ <dl>
819
+ <dt><a name="label-55" id="label-55"><code>pwd</code></a></dt><!-- RDLabel: "pwd" -->
820
+ </dl>
821
+ <p>�����ȥǥ��쥯�ȥ��ɽ�����ޤ���</p>
822
+ <pre>bioruby&gt; pwd
823
+ "/home/k"</pre>
824
+ <dl>
825
+ <dt><a name="label-56" id="label-56"><code>dir</code></a></dt><!-- RDLabel: "dir" -->
826
+ </dl>
827
+ <p>�����ȥǥ��쥯�ȥ�Υե���������ɽ�����ޤ���</p>
828
+ <pre>bioruby&gt; dir
829
+ UGO Date Byte File
830
+ ------ ---------------------------- ----------- ------------
831
+ 40700 Tue Dec 06 07:07:35 JST 2005 1768 "Desktop"
832
+ 40755 Tue Nov 29 16:55:20 JST 2005 2176 "bin"
833
+ 100644 Sat Oct 15 03:01:00 JST 2005 42599518 "gbphg.seq"
834
+ (ά)
835
+
836
+ bioruby&gt; dir "gbphg.seq"
837
+ UGO Date Byte File
838
+ ------ ---------------------------- ----------- ------------
839
+ 100644 Sat Oct 15 03:01:00 JST 2005 42599518 "gbphg.seq"</pre>
840
+ <dl>
841
+ <dt><a name="label-57" id="label-57"><code>head(<var>file</var>, <var>lines</var> = <var>10</var>)</code></a></dt><!-- RDLabel: "head" -->
842
+ </dl>
843
+ <p>�ƥ����ȥե�����䥪�֥������Ȥ���Ƭ 10 �Ԥ�ɽ�����ޤ���</p>
844
+ <pre>bioruby&gt; head "gbphg.seq"
845
+ GBPHG.SEQ Genetic Sequence Data Bank
846
+ October 15 2005
847
+
848
+ NCBI-GenBank Flat File Release 150.0
849
+
850
+ Phage Sequences
851
+
852
+ 2713 loci, 16892737 bases, from 2713 reported sequences</pre>
853
+ <p>ɽ������Կ�����ꤹ�뤳�Ȥ�Ǥ��ޤ���</p>
854
+ <pre>bioruby&gt; head "gbphg.seq", 2
855
+ GBPHG.SEQ Genetic Sequence Data Bank
856
+ October 15 2005</pre>
857
+ <p>�ƥ����Ȥ����äƤ����ѿ�����Ƭ�򸫤뤳�Ȥ�Ǥ��ޤ���</p>
858
+ <pre>bioruby&gt; entry = getent("gbphg.seq")
859
+ bioruby&gt; head entry, 2
860
+ GBPHG.SEQ Genetic Sequence Data Bank
861
+ October 15 2005</pre>
862
+ <dl>
863
+ <dt><a name="label-58" id="label-58"><code>disp(<var>obj</var>)</code></a></dt><!-- RDLabel: "disp" -->
864
+ </dl>
865
+ <p>�ƥ����ȥե�����䥪�֥������Ȥ���Ȥ�ڡ����㡼��ɽ�����ޤ���
866
+ �����ǻ��Ѥ���ڡ����㡼�� pager ���ޥ�ɤ��ѹ����뤳�Ȥ��Ǥ��ޤ��ʸ�ҡˡ�</p>
867
+ <pre>bioruby&gt; disp "gbphg.seq"
868
+ bioruby&gt; disp entry
869
+ bioruby&gt; disp [1, 2, 3] * 4</pre>
870
+ <h3><a name="label-59" id="label-59">�ѿ�</a></h3><!-- RDLabel: "�ѿ�" -->
871
+ <dl>
872
+ <dt><a name="label-60" id="label-60"><code>ls</code></a></dt><!-- RDLabel: "ls" -->
873
+ </dl>
874
+ <p>���å������˺��������ѿ��ʥ��֥������ȡˤΰ�����ɽ�����ޤ���</p>
875
+ <pre>bioruby&gt; ls
876
+ ["entry", "seq"]
877
+
878
+ bioruby&gt; a = 123
879
+ ["a", "entry", "seq"]</pre>
880
+ <dl>
881
+ <dt><a name="label-61" id="label-61"><code>rm(<var>symbol</var>)</code></a></dt><!-- RDLabel: "rm" -->
882
+ </dl>
883
+ <p>�ѿ���õ�ޤ���</p>
884
+ <pre>bioruby&gt; rm "a"
885
+
886
+ bioruby&gt; ls
887
+ ["entry", "seq"]</pre>
888
+ <dl>
889
+ <dt><a name="label-62" id="label-62"><code>savefile(<var>filename</var>, <var>object</var>)</code></a></dt><!-- RDLabel: "savefile" -->
890
+ </dl>
891
+ <p>�ѿ�����¸����Ƥ������Ƥ�ƥ����ȥե��������¸���ޤ���</p>
892
+ <pre>bioruby&gt; savefile "testfile.txt", entry
893
+ Saving data (testfile.txt) ... done
894
+
895
+ bioruby&gt; disp "testfile.txt"</pre>
896
+ <h3><a name="label-63" id="label-63">�Ƽ�����</a></h3><!-- RDLabel: "�Ƽ�����" -->
897
+ <p>��³���λ��ȤߤȤ��� BioRuby �����뽪λ���� session �ǥ��쥯�ȥ����
898
+ �ҥ��ȥꡢ���֥������ȡ��Ŀͤ����꤬��¸���졢����ư���˼�ưŪ��
899
+ �ɤ߹��ޤ�ޤ���</p>
900
+ <dl>
901
+ <dt><a name="label-64" id="label-64"><code>config</code></a></dt><!-- RDLabel: "config" -->
902
+ </dl>
903
+ <p>BioRuby ������γƼ������ɽ�����ޤ���</p>
904
+ <pre>bioruby&gt; config
905
+ message = "...BioRuby in the shell..."
906
+ marshal = [4, 8]
907
+ color = false
908
+ pager = nil
909
+ echo = false</pre>
910
+ <p>echo ɽ�����뤫�ɤ������ڤ��ؤ��ޤ���on �ξ��ϡ�puts �� p �ʤɤ�
911
+ �Ĥ��ʤ��Ƥ�ɾ�������ͤ����̤�ɽ������ޤ���
912
+ irb ���ޥ�ɤξ��Ͻ�����꤬ on �ˤʤäƤ��ޤ�����bioruby ���ޥ�ɤǤ�
913
+ Ĺ������䥨��ȥ�ʤ�Ĺ���ʸ����򰷤����Ȥ�¿�����ᡢ�������Ǥ�
914
+ off �ˤ��Ƥ��ޤ���</p>
915
+ <pre>bioruby&gt; config :echo
916
+ Echo on
917
+ ==&gt; nil
918
+
919
+ bioruby&gt; config :echo
920
+ Echo off</pre>
921
+ <p>���ɥ�ɽ�ʤɡ���ǽ�ʾ��˥��顼ɽ�����뤫�ɤ������ڤ��ؤ��ޤ���
922
+ ���顼ɽ���ξ�硢�ץ���ץȤˤ⿧���Ĥ��ޤ��Τ�Ƚ�̤Ǥ��ޤ���</p>
923
+ <pre>bioruby&gt; config :color
924
+ bioruby&gt; codontable
925
+ (���դ�)</pre>
926
+ <p>�¹Ԥ��뤿�Ӥ����꤬�ڤ��ؤ��ޤ���</p>
927
+ <pre>bioruby&gt; config :color
928
+ bioruby&gt; codontable
929
+ (���ʤ�)</pre>
930
+ <p>BioRuby �����뵯ư����ɽ������륹�ץ�å����å�������㤦ʸ�����
931
+ �ѹ����ޤ������β��ϥץ����������ѤΥǥ��쥯�ȥ꤫����ꤷ�Ƥ����Τ�
932
+ �褤�Ǥ��礦��</p>
933
+ <pre>bioruby&gt; config :message, "Kumamushi genome project"
934
+
935
+ K u m a m u s h i g e n o m e p r o j e c t
936
+
937
+ Version : BioRuby 0.8.0 / Ruby 1.8.4</pre>
938
+ <p>�ǥե���Ȥ�ʸ������᤹�ˤϡ������ʤ��Ǽ¹Ԥ��ޤ���</p>
939
+ <pre>bioruby&gt; config :message</pre>
940
+ <p>BioRuby �����뵯ư����ɽ������륹�ץ�å����å��ݥ���
941
+ ���˥᡼�����ɽ�����뤫�ɤ������ڤ��ؤ��ޤ���
942
+ �������¹Ԥ��뤿�Ӥ����꤬�ڤ��ؤ��ޤ���</p>
943
+ <pre>bioruby&gt; config :splash
944
+ Splash on</pre>
945
+ <dl>
946
+ <dt><a name="label-65" id="label-65"><code>pager(<var>command</var>)</code></a></dt><!-- RDLabel: "pager" -->
947
+ </dl>
948
+ <p>disp ���ޥ�ɤǼºݤ����Ѥ���ڡ����㡼���ڤ��ؤ��ޤ���</p>
949
+ <pre>bioruby&gt; pager "lv"
950
+ Pager is set to 'lv'
951
+
952
+ bioruby&gt; pager "less -S"
953
+ Pager is set to 'less -S'</pre>
954
+ <p>�ڡ����㡼����Ѥ��ʤ�����ˤ�����ϰ����ʤ��Ǽ¹Ԥ��ޤ���</p>
955
+ <pre>bioruby&gt; pager
956
+ Pager is set to 'off'</pre>
957
+ <p>�ڡ����㡼�� off �λ��˰����ʤ��Ǽ¹Ԥ���ȴĶ��ѿ� PAGER ���ͤ����Ѥ��ޤ���</p>
958
+ <pre>bioruby&gt; pager
959
+ Pager is set to 'less'</pre>
960
+ <h3><a name="label-66" id="label-66">�����ҥ�������������</a></h3><!-- RDLabel: "�����ҥ�������������" -->
961
+ <dl>
962
+ <dt><a name="label-67" id="label-67"><code>doublehelix(<var>sequence</var>)</code></a></dt><!-- RDLabel: "doublehelix" -->
963
+ </dl>
964
+ <p>DNA ����򥢥����������Ȥ�ɽ�����륪�ޥ���ǽ������ޤ���
965
+ Ŭ���ʱ������� seq ����������äݤ�ɽ�����Ƥߤޤ��礦��</p>
966
+ <pre>bioruby&gt; dna = getseq("atgc" * 10).randomize
967
+ bioruby&gt; doublehelix dna
968
+ ta
969
+ t--a
970
+ a---t
971
+ a----t
972
+ a----t
973
+ t---a
974
+ g--c
975
+ cg
976
+ gc
977
+ a--t
978
+ g---c
979
+ c----g
980
+ c----g
981
+ (ά)</pre>
982
+ <h3><a name="label-68" id="label-68">�����Ҳ���</a></h3><!-- RDLabel: "�����Ҳ���" -->
983
+ <dl>
984
+ <dt><a name="label-69" id="label-69"><code>midifile(<var>midifile</var>, <var>sequence</var>)</code></a></dt><!-- RDLabel: "midifile" -->
985
+ </dl>
986
+ <p>DNA ����� MIDI �ե�������Ѵ����륪�ޥ���ǽ������ޤ���
987
+ Ŭ���ʱ������� seq ��Ȥä��������� midifile.mid ��
988
+ MIDI �ץ쥤�䡼�DZ��դ��Ƥߤޤ��礦��</p>
989
+ <pre>bioruby&gt; midifile("midifile.mid", seq)
990
+ Saving MIDI file (midifile.mid) ... done</pre>
991
+ <p>�ʾ�� BioRuby ������β���򽪤�ꡢ�ʲ��Ǥ� BioRuby �饤�֥�꼫�Τ�
992
+ �����Ԥ��ޤ���</p>
993
+ <h2><a name="label-70" id="label-70">���𡦥��ߥλ������������� (Bio::Sequence ���饹)</a></h2><!-- RDLabel: "���𡦥��ߥλ������������� (Bio::Sequence ���饹)" -->
994
+ <p>Bio::Sequence ���饹�ϡ�������Ф����͡�������Ԥ����Ȥ��Ǥ��ޤ���
995
+ ��ñ����Ȥ��ơ�û���������� atgcatgcaaaa ��Ȥäơ���������ؤ��Ѵ���
996
+ ��ʬ������ڤ�Ф������������η׻������ߥλ��ؤ�������ʬ���̷׻��ʤɤ�
997
+ �ԤʤäƤߤޤ������ߥλ��ؤ������Ǥϡ�ɬ�פ˱����Ʋ������ܤ���������
998
+ �Ϥ��뤫�ե졼�����ꤷ���ꡢcodontable.rb ���������Ƥ��륳�ɥ�ơ�
999
+ �֥���椫����Ѥ����Τ���ꤷ���ꤹ������Ǥ��ޤ��ʥ��ɥ�ơ��֥��
1000
+ �ֹ�� <a href="http://www.ncbi.nlm.nih.gov/Taxonomy/Utils/wprintgc.cgi">&lt;URL:http://www.ncbi.nlm.nih.gov/Taxonomy/Utils/wprintgc.cgi&gt;</a>
1001
+ �򻲾ȡˡ�</p>
1002
+ <pre>#!/usr/bin/env ruby
1003
+
1004
+ require 'bio'
1005
+
1006
+ seq = Bio::Sequence::NA.new("atgcatgcaaaa")
1007
+
1008
+ puts seq # ��������
1009
+ puts seq.complement # �������� (Bio::Sequence::NA)
1010
+ puts seq.subseq(3,8) # 3 �����ܤ��� 8 �����ܤޤ�
1011
+
1012
+ p seq.gc_percent # GC ����� (Integer)
1013
+ p seq.composition # ���������� (Hash)
1014
+
1015
+ puts seq.translate # �������� (Bio::Sequence::AA)
1016
+ puts seq.translate(2) # ��ʸ���ܤ������������̤ϣ������
1017
+ puts seq.translate(1,9) # ���֤Υ��ɥ�ơ��֥�����
1018
+
1019
+ p seq.translate.codes # ���ߥλ���ʸ�������ɤ�ɽ�� (Array)
1020
+ p seq.translate.names # ���ߥλ���̾����ɽ�� (Array)
1021
+ p seq.translate.composition # ���ߥλ����� (Hash)
1022
+ p seq.translate.molecular_weight # ʬ���̤�׻� (Float)
1023
+
1024
+ puts seq.complement.translate # �������������</pre>
1025
+ <p>print, puts, p �����Ƥ���̤�ɽ�����뤿��� Ruby ɸ��᥽�åɤǤ���
1026
+ ���ܤȤʤ� print ����٤ơ�puts �ϲ��Ԥ�ư�ǤĤ��Ƥ���롢
1027
+ p ��ʸ���������ʳ��Υ��֥������Ȥ�ʹ֤����䤹���褦��ɽ�����Ƥ���롢
1028
+ �Ȥ�����ħ������ޤ��Τ�Ŭ���Ȥ�ʬ���ޤ�������ˡ�</p>
1029
+ <pre>require 'pp'</pre>
1030
+ <p>�Ȥ���лȤ���褦�ˤʤ� pp �᥽�åɤϡ�p ����ɽ�������䤹���ʤ�ޤ���</p>
1031
+ <p>��������� Bio::Sequence::NA ���饹�Ρ����ߥλ������ Bio::Sequence::AA
1032
+ ���饹�Υ��֥������Ȥˤʤ�ޤ������줾�� Bio::Sequence ���饹��Ѿ���
1033
+ �Ƥ��뤿�ᡢ¿���Υ᥽�åɤ϶��̤Ǥ���</p>
1034
+ <p>����� Bio::Sequence::NA, AA ���饹�� Ruby �� String ���饹��Ѿ����Ƥ���Τ�
1035
+ String ���饹�����ĥ᥽�åɤ�Ȥ������Ǥ��ޤ����㤨����ʬ������ڤ�Ф��ˤ�
1036
+ Bio::Sequence ���饹�� subseq(from,to) �᥽�åɤ�¾�ˡ�String ���饹��
1037
+ [] �᥽�åɤ�Ȥ����Ȥ�Ǥ��ޤ���</p>
1038
+ <p>Ruby ��ʸ����� 1 ʸ���ܤ� 0 ���ܤȤ��ƿ��������ˤ����դ�ɬ�פǤ������Ȥ��С�</p>
1039
+ <pre>puts seq.subseq(1, 3)
1040
+ puts seq[0, 3]</pre>
1041
+ <p>�Ϥɤ���� seq �κǽ�Σ�ʸ�� atg ��ɽ�����ޤ���</p>
1042
+ <p>���Τ褦�ˡ�String �Υ᥽�åɤ�Ȥ����ϡ���ʪ�ؤ����̻��Ѥ���� 1 ʸ���ܤ�
1043
+ 1 ���ܤȤ��ƿ�������������� 1 �����ɬ�פ�����ޤ���subseq �᥽�åɤ�
1044
+ ����������Ǥ�äƤ��ޤ����ޤ���from, to �Τɤ��餫�Ǥ� 0 �ʲ��ξ���
1045
+ �㳰��ȯ������褦�ˤʤäƤ��ޤ��ˡ�</p>
1046
+ <p>�����ޤǤν����� BioRuby ������ǻ�Ȱʲ��Τ褦�ˤʤ�ޤ���</p>
1047
+ <pre># ���ιԤ� seq = seq("atgcatgcaaaa") �Ǥ�褤
1048
+ bioruby&gt; seq = Bio::Sequence::NA.new("atgcatgcaaaa")
1049
+ # �������������ɽ��
1050
+ bioruby&gt; puts seq
1051
+ atgcatgcaaaa
1052
+ # ���������ɽ��
1053
+ bioruby&gt; puts seq.complement
1054
+ ttttgcatgcat
1055
+ # ��ʬ�����ɽ���ʣ������ܤ��飸�����ܤޤǡ�
1056
+ bioruby&gt; puts seq.subseq(3,8)
1057
+ gcatgc
1058
+ # ����� GC% ��ɽ��
1059
+ bioruby&gt; p seq.gc_percent
1060
+ 33
1061
+ # �����������ɽ��
1062
+ bioruby&gt; p seq.composition
1063
+ {"a"=&gt;6, "c"=&gt;2, "g"=&gt;2, "t"=&gt;2}
1064
+ # ���ߥλ�����ؤ�����
1065
+ bioruby&gt; puts seq.translate
1066
+ MHAK
1067
+ # ������򳫻ϱ���Ȥ�������
1068
+ bioruby&gt; puts seq.translate(2)
1069
+ CMQ
1070
+ # ���֤Υ��ɥ�ơ��֥����Ѥ�������
1071
+ bioruby&gt; puts seq.translate(1,9)
1072
+ MHAN
1073
+ # �������줿���ߥλ������ʸ�������ɤ�ɽ��
1074
+ bioruby&gt; p seq.translate.codes
1075
+ ["Met", "His", "Ala", "Lys"]
1076
+ # �������줿���ߥλ�����򥢥ߥλ���̾����ɽ��
1077
+ bioruby&gt; p seq.translate.names
1078
+ ["methionine", "histidine", "alanine", "lysine"]
1079
+ # �������줿���ߥλ������������ɽ��
1080
+ bioruby&gt; p seq.translate.composition
1081
+ {"K"=&gt;1, "A"=&gt;1, "M"=&gt;1, "H"=&gt;1}
1082
+ # �������줿���ߥλ������ʬ���̤�ɽ��
1083
+ bioruby&gt; p seq.translate.molecular_weight
1084
+ 485.605
1085
+ # �������������
1086
+ bioruby&gt; puts seq.complement.translate
1087
+ FCMH
1088
+ # ��ʬ����ʣ������ܤ��飳�����ܤޤǡ�
1089
+ bioruby&gt; puts seq.subseq(1, 3)
1090
+ atg
1091
+ # ��ʬ����ʣ������ܤ��飳�����ܤޤǡ�
1092
+ bioruby&gt; puts seq[0, 3]
1093
+ atg</pre>
1094
+ <p>window_search(window_size, step_size) �᥽�åɤ�Ȥ��ȡ�������Ф��ƥ���
1095
+ ��ɥ��򤺤餷�ʤ��餽�줾�����ʬ������Ф��������Ԥ����Ȥ��Ǥ��ޤ���
1096
+ Ruby ����Ĺ�ΤҤȤĤǤ���֥֥��å��פˤ�äơ��֤��줾����Ф�������פ�
1097
+ �ʷ餫�����Ƥ˽񤯤��Ȥ���ǽ�Ǥ����ʲ�����Ǥϡ�subseq �Ȥ����ѿ��ˤ��줾��
1098
+ ��ʬ������������ʤ���֥��å��򷫤��֤��¹Ԥ��뤳�Ȥˤʤ�ޤ���</p>
1099
+ <ul>
1100
+ <li><p>100 ���𤴤Ȥˡ�1���𤺤Ĥ��餷�ʤ����ʿ�� GC% ��׻�����ɽ������</p>
1101
+ <pre>seq.window_search(100) do |subseq|
1102
+ puts subseq.gc_percent
1103
+ end</pre></li>
1104
+ </ul>
1105
+ <p>�֥��å�����Ǽ��������ʬ����⡢����Ʊ�� Bio::Sequence::NA �ޤ���
1106
+ Bio::Sequence::AA ���饹�Υ��֥������ȤʤΤǡ����󥯥饹�λ������ƤΥ�
1107
+ ���åɤ�¹Ԥ��뤳�Ȥ��Ǥ��ޤ���</p>
1108
+ <p>�ޤ��������ܤΰ����˰�ư������ꤹ�뤳�Ȥ������褦�ˤʤäƤ���Τǡ�</p>
1109
+ <ul>
1110
+ <li><p>���ɥ�ñ�̤Ǥ��餷�ʤ��� 15 ����� 5 �Ĵ�Υڥץ��ɤ���������ɽ������</p>
1111
+ <pre>seq.window_search(15, 3) do |subseq|
1112
+ puts subseq.translate
1113
+ end</pre></li>
1114
+ </ul>
1115
+ <p>�Ȥ��ä����Ȥ��Ǥ��ޤ�������˰�ư���������ʤ���ü����ʬ�����᥽�å�
1116
+ ���Τ��֤��ͤȤ����᤹�褦�ˤʤäƤ���Τǡ�</p>
1117
+ <ul>
1118
+ <li><p>���Υ������ 10000bp ���Ȥ˥֥��ڤ�ˤ��� FASTA �ե����ޥåȤ�������
1119
+ ���ΤȤ���ü 1000bp �ϥ����С���åפ�����10000bp �������ʤ� 3' ü��
1120
+ ���Ӽ�����ä�ɽ������</p>
1121
+ <pre>i = 1
1122
+ remainder = seq.window_search(10000, 9000) do |subseq|
1123
+ puts subseq.to_fasta("segment #{i}", 60)
1124
+ i += 1
1125
+ end
1126
+ puts remainder.to_fasta("segment #{i}", 60)</pre></li>
1127
+ </ul>
1128
+ <p>�Τ褦�ʻ�����ȴ�ñ�ˤǤ��ޤ���</p>
1129
+ <p>������ɥ������Ȱ�ư����Ʊ���ˤ���ȥ����С���åפ��ʤ�������ɥ�����
1130
+ �����Ǥ���Τǡ�</p>
1131
+ <ul>
1132
+ <li><p>���ɥ����٤������</p>
1133
+ <pre>codon_usage = Hash.new(0)
1134
+ seq.window_search(3, 3) do |subseq|
1135
+ codon_usage[subseq] += 1
1136
+ end</pre></li>
1137
+ <li><p>10 �Ĵ𤺤�ʬ���̤�׻�</p>
1138
+ <pre>seq.window_search(10, 10) do |subseq|
1139
+ puts subseq.molecular_weight
1140
+ end</pre></li>
1141
+ </ul>
1142
+ <p>�Ȥ��ä����Ѥ�ͤ����ޤ���</p>
1143
+ <p>�ºݤˤ� Bio::Sequence::NA ���֥������Ȥϥե����뤫���ɤ߹����ʸ����
1144
+ �����������ꡢ�ǡ����١����������������Τ�Ȥä��ꤷ�ޤ������Ȥ��С�</p>
1145
+ <pre>#!/usr/bin/env ruby
1146
+
1147
+ require 'bio'
1148
+
1149
+ input_seq = ARGF.read # ������Ϳ����줿�ե���������Ԥ��ɤ߹���
1150
+
1151
+ my_naseq = Bio::Sequence::NA.new(input_seq)
1152
+ my_aaseq = my_naseq.translate
1153
+
1154
+ puts my_aaseq</pre>
1155
+ <p>���Υץ������� na2aa.rb �Ȥ��ơ��ʲ��α�������</p>
1156
+ <pre>gtggcgatctttccgaaagcgatgactggagcgaagaaccaaagcagtgacatttgtctg
1157
+ atgccgcacgtaggcctgataagacgcggacagcgtcgcatcaggcatcttgtgcaaatg
1158
+ tcggatgcggcgtga</pre>
1159
+ <p>��񤤤��ե����� my_naseq.txt ���ɤ߹�������������</p>
1160
+ <pre>% ./na2aa.rb my_naseq.txt
1161
+ VAIFPKAMTGAKNQSSDICLMPHVGLIRRGQRRIRHLVQMSDAA*</pre>
1162
+ <p>�Τ褦�ˤʤ�ޤ������ʤߤˡ����Τ��餤����ʤ�û������ȣ��Ԥǽ񤱤ޤ���</p>
1163
+ <pre>% ruby -r bio -e 'p Bio::Sequence::NA.new($&lt;.read).translate' my_naseq.txt</pre>
1164
+ <p>�����������������ե��������Τ����ݤʤΤǡ����ϥǡ����١�������ɬ�פ�
1165
+ �����������Ƥߤޤ���</p>
1166
+ <h2><a name="label-71" id="label-71">GenBank �Υѡ��� (Bio::GenBank ���饹)</a></h2><!-- RDLabel: "GenBank �Υѡ��� (Bio::GenBank ���饹)" -->
1167
+ <p>GenBank �����Υե�������Ѱդ��Ƥ��������ʼ긵�ˤʤ����ϡ�
1168
+ ftp://ftp.ncbi.nih.gov/genbank/ ���� .seq �ե���������������ɤ��ޤ��ˡ�</p>
1169
+ <pre>% wget ftp://ftp.hgc.jp/pub/mirror/ncbi/genbank/gbphg.seq.gz
1170
+ % gunzip gbphg.seq.gz</pre>
1171
+ <p>�ޤ��ϡ��ƥ���ȥ꤫�� ID ������ʸ���������Ф��� FASTA �������Ѵ�����
1172
+ �ߤޤ��礦��</p>
1173
+ <p>Bio::GenBank::DELIMITER �� GenBank ���饹���������Ƥ�������ǡ�
1174
+ �ǡ����١������Ȥ˰ۤʤ륨��ȥ�ζ��ڤ�ʸ���ʤ��Ȥ��� GenBank �ξ��� //��
1175
+ ��Ф��Ƥ��ʤ��Ƥ��ɤ��褦�ˤʤäƤ��ޤ���</p>
1176
+ <pre>#!/usr/bin/env ruby
1177
+
1178
+ require 'bio'
1179
+
1180
+ while entry = gets(Bio::GenBank::DELIMITER)
1181
+ gb = Bio::GenBank.new(entry) # GenBank ���֥�������
1182
+
1183
+ print "&gt;#{gb.accession} " # ACCESSION �ֹ�
1184
+ puts gb.definition # DEFINITION ��
1185
+ puts gb.naseq # ���������Sequence::NA ���֥������ȡ�
1186
+ end</pre>
1187
+ <p>�����������ν����Ǥ� GenBank �ե�����Υǡ�����¤�˰�¸���Ƥ��ޤ���
1188
+ �ե����뤫��Υǡ������Ϥ򰷤����饹 Bio::FlatFile ����Ѥ��뤳�Ȥǡ�
1189
+ �ʲ��Τ褦�˶��ڤ�ʸ���ʤɤ򵤤ˤ����񤯤��Ȥ��Ǥ��ޤ���</p>
1190
+ <pre>#!/usr/bin/env ruby
1191
+
1192
+ require 'bio'
1193
+
1194
+ ff = Bio::FlatFile.new(Bio::GenBank, ARGF)
1195
+ ff.each_entry do |gb|
1196
+ definition = "#{gb.accession} #{gb.definition}"
1197
+ puts gb.naseq.to_fasta(definition, 60)
1198
+ end</pre>
1199
+ <p>�����ΰ㤦�ǡ��������Ȥ���FASTA�ե����ޥåȤΥե�������ɤ߹���Ȥ��Ǥ⡢</p>
1200
+ <pre>#!/usr/bin/env ruby
1201
+
1202
+ require 'bio'
1203
+
1204
+ ff = Bio::FlatFile.new(Bio::FastaFormat, ARGF)
1205
+ ff.each_entry do |f|
1206
+ puts "definition : " + f.definition
1207
+ puts "nalen : " + f.nalen.to_s
1208
+ puts "naseq : " + f.naseq
1209
+ end</pre>
1210
+ <p>�Τ褦�ˡ�Ʊ���褦�ʽ����ǺѤޤ����ޤ���</p>
1211
+ <p>����ˡ��� Bio::DB ���饹�� open �᥽�åɤ�Ʊ�ͤΤ��Ȥ��Ǥ��ޤ������Ȥ��С�</p>
1212
+ <pre>#!/usr/bin/env ruby
1213
+
1214
+ require 'bio'
1215
+
1216
+ ff = Bio::GenBank.open("gbvrl1.seq")
1217
+ ff.each_entry do |gb|
1218
+ definition = "#{gb.accession} #{gb.definition}"
1219
+ puts gb.naseq.to_fasta(definition, 60)
1220
+ end</pre>
1221
+ <p>�ʤɤȽ񤯤��Ȥ��Ǥ��ޤ��ʤ����������ν����Ϥ��ޤ�Ȥ��Ƥ��ޤ���)��</p>
1222
+ <p>���ˡ�GenBank ��ʣ���� FEATURES �����ѡ�������ɬ�פʾ������Ф��ޤ���
1223
+ �ޤ��� /tranlation="���ߥλ�����" �Ȥ��� Qualifier �����������
1224
+ ���ߥλ��������Ф���ɽ�����Ƥߤޤ���</p>
1225
+ <pre>#!/usr/bin/env ruby
1226
+
1227
+ require 'bio'
1228
+
1229
+ ff = Bio::FlatFile.new(Bio::GenBank, ARGF)
1230
+
1231
+ # GenBank �Σ�����ȥꤴ�Ȥ�
1232
+ ff.each_entry do |gb|
1233
+
1234
+ # FEATURES �����Ǥ��Ĥ��Ľ���
1235
+ gb.features.each do |feature|
1236
+
1237
+ # Feature �˴ޤޤ�� Qualifier �����ƥϥå�����Ѵ�
1238
+ hash = feature.to_hash
1239
+
1240
+ # Qualifier �� translation �����������
1241
+ if hash['translation']
1242
+ # ����ȥ�Υ������å�����ֹ�����������ɽ��
1243
+ puts "&gt;#{gb.accession}
1244
+ puts hash['translation']
1245
+ end
1246
+ end
1247
+ end</pre>
1248
+ <p>����ˡ�Feature �Υݥ������˽񤫤�Ƥ�����󤫤饨��ȥ�α��������
1249
+ ���ץ饤���󥰤������������������Τ� /translation= �˽񤫤�Ƥ��������
1250
+ ξ��ɽ��������٤Ƥߤޤ��礦��</p>
1251
+ <pre>#!/usr/bin/env ruby
1252
+
1253
+ require 'bio'
1254
+
1255
+ ff = Bio::FlatFile.new(Bio::GenBank, ARGF)
1256
+
1257
+ # GenBank �Σ�����ȥꤴ�Ȥ�
1258
+ ff.each_entry do |gb|
1259
+
1260
+ # ACCESSION �ֹ����ʪ��̾��ɽ��
1261
+ puts "### #{gb.accession} - #{gb.organism}"
1262
+
1263
+ # FEATURES �����Ǥ��Ĥ��Ľ���
1264
+ gb.features.each do |feature|
1265
+
1266
+ # Feature �� position (join ...�ʤ�) ����Ф�
1267
+ position = feature.position
1268
+
1269
+ # Feature �˴ޤޤ�� Qualifier �����ƥϥå�����Ѵ�
1270
+ hash = feature.to_hash
1271
+
1272
+ # /translation= ���ʤ���Х����å�
1273
+ next unless hash['translation']
1274
+
1275
+ # /gene=, /product= �ʤɤ� Qualifier ���������̾�ʤɤξ���򽸤��
1276
+ gene_info = [
1277
+ hash['gene'], hash['product'], hash['note'], hash['function']
1278
+ ].compact.join(', ')
1279
+ puts "## #{gene_info}"
1280
+
1281
+ # ���������position �ξ���ˤ�äƥ��ץ饤���󥰡�
1282
+ puts "&gt;NA splicing('#{position}')"
1283
+ puts gb.naseq.splicing(position)
1284
+
1285
+ # ���ߥλ�����ʥ��ץ饤���󥰤����������󤫤�������
1286
+ puts "&gt;AA translated by splicing('#{position}').translate"
1287
+ puts gb.naseq.splicing(position).translate
1288
+
1289
+ # ���ߥλ������/translation= �˽񤫤�Ƥ����Τ�Ρ�
1290
+ puts "&gt;AA original translation"
1291
+ puts hash['translation']
1292
+ end
1293
+ end</pre>
1294
+ <p>�⤷�����Ѥ���Ƥ��륳�ɥ�ơ��֥뤬�ǥե���� (universal) �Ȱ�ä��ꡢ
1295
+ �ǽ�Υ��ɥ� "atg" �ʳ����ä��ꡢ����Υ����ƥ��󤬴ޤޤ�Ƥ����ꡢ
1296
+ ���뤤�� BioRuby �˥Х�������С�������ɽ������룲�ĤΥ��ߥλ������
1297
+ �ۤʤ���ˤʤ�ޤ���</p>
1298
+ <p>������ǻ��Ѥ���Ƥ��� Bio::Sequence#splicing �᥽�åɤϡ�GenBank, EMBL,
1299
+ DDBJ �ե����ޥåȤǻȤ��Ƥ��� Location ��ɽ���򸵤ˡ��������󤫤�
1300
+ ��ʬ������ڤ�Ф����Ϥʥ᥽�åɤǤ���</p>
1301
+ <p>���� splicing �᥽�åɤΰ����ˤ� GenBank ���� Location ��ʸ����ʳ���
1302
+ BioRuby �� Bio::Locations ���֥������Ȥ��Ϥ����Ȥ��ǽ�Ǥ�����
1303
+ �̾�ϸ�����Ƥ��� Location ʸ���������ʬ����䤹�������Τ�ޤ���
1304
+ Location ʸ����Υե����ޥåȤ� Bio::Locations �ˤĤ��ƾܤ����Τꤿ������
1305
+ BioRuby �� bio/location.rb �򸫤Ƥ���������</p>
1306
+ <ul>
1307
+ <li><p>GenBank �����Υǡ����� Feature �ǻȤ��Ƥ��� Location ʸ�������</p>
1308
+ <pre>naseq.splicing('join(2035..2050,complement(1775..1818),13..345')</pre></li>
1309
+ <li><p>���餫���� Locations ���֥������Ȥ��Ѵ����Ƥ����Ϥ��Ƥ�褤</p>
1310
+ <pre>locs = Bio::Locations.new('join((8298.8300)..10206,1..855)')
1311
+ naseq.splicing(locs)</pre></li>
1312
+ </ul>
1313
+ <p>���ʤߤˡ����ߥλ����� (Bio::Sequence::AA) �ˤĤ��Ƥ� splicing �᥽�å�
1314
+ ����Ѥ�����ʬ�������Ф����Ȥ���ǽ�Ǥ���</p>
1315
+ <ul>
1316
+ <li><p>���ߥλ��������ʬ������ڤ�Ф��ʥ����ʥ�ڥץ��ɤʤɡ�</p>
1317
+ <pre>aaseq.splicing('21..119')</pre></li>
1318
+ </ul>
1319
+ <h3><a name="label-72" id="label-72">GenBank �ʳ��Υǡ����١���</a></h3><!-- RDLabel: "GenBank �ʳ��Υǡ����١���" -->
1320
+ <p>BioRuby �Ǥϡ�GenBank �ʳ��Υǡ����١����ˤĤ��Ƥ����Ū�ʰ�������Ʊ���ǡ�
1321
+ �ǡ����١����Σ�����ȥ�ʬ��ʸ������б�����ǡ����١����Υ��饹���Ϥ��С�
1322
+ �ѡ������줿��̤����֥������Ȥˤʤä��֤äƤ��ޤ���</p>
1323
+ <p>�ǡ����١����Υե�åȥե����뤫�飱����ȥꤺ�ļ��Ф��ƥѡ������줿
1324
+ ���֥������Ȥ���Ф��ˤϡ���ˤ�ФƤ��� Bio::FlatFile ��Ȥ��ޤ���
1325
+ Bio::FlatFile.new �ΰ����ˤϥǡ����١������б����� BioRuby �ǤΥ��饹
1326
+ ̾ (Bio::GenBank �� Bio::KEGG::GENES �ʤ�) ����ꤷ�ޤ���</p>
1327
+ <pre>ff = Bio::FlatFile.new(Bio::�ǡ����١������饹̾, ARGF)</pre>
1328
+ <p>�����������Ф餷�����Ȥˡ��¤� FlatFile ���饹�ϥǡ����١����μ�ưǧ����
1329
+ �Ǥ��ޤ��Τǡ�</p>
1330
+ <pre>ff = Bio::FlatFile.auto(ARGF)</pre>
1331
+ <p>��Ȥ��Τ����ִ�ñ�Ǥ���</p>
1332
+ <pre>#!/usr/bin/env ruby
1333
+
1334
+ require 'bio'
1335
+
1336
+ ff = Bio::FlatFile.auto(ARGF)
1337
+
1338
+ ff.each_entry do |entry|
1339
+ p entry.entry_id # ����ȥ�� ID
1340
+ p entry.definition # ����ȥ������ʸ
1341
+ p entry.seq # ����ǡ����١����ξ��
1342
+ end
1343
+
1344
+ ff.close</pre>
1345
+ <p>����ˡ��������ǡ����١������Ĥ�˺���ʤ�������ˤ� Ruby �Υ֥��å���
1346
+ ���Ѥ��ưʲ��Τ褦�˽񤯤Τ��褤�Ǥ��礦��</p>
1347
+ <pre>#!/usr/bin/env ruby
1348
+
1349
+ require 'bio'
1350
+
1351
+ Bio::FlatFile.auto(ARGF) do |ff|
1352
+ ff.each_entry do |entry|
1353
+ p entry.entry_id # ����ȥ�� ID
1354
+ p entry.definition # ����ȥ������ʸ
1355
+ p entry.seq # ����ǡ����١����ξ��
1356
+ end
1357
+ end</pre>
1358
+ <p>�ѡ������줿���֥������Ȥ��顢����ȥ���Τ��줾�����ʬ����Ф������
1359
+ �᥽�åɤϥǡ����١�����˰ۤʤ�ޤ����褯������ܤˤĤ��Ƥ�</p>
1360
+ <ul>
1361
+ <li>entry_id �᥽�å� �� ����ȥ�� ID �ֹ椬�֤�</li>
1362
+ <li>definition �᥽�å� �� ����ȥ������Ԥ��֤�</li>
1363
+ <li>reference �᥽�å� �� ��ե���󥹥��֥������Ȥ��֤�</li>
1364
+ <li>organism �᥽�å� �� ��ʪ��̾</li>
1365
+ <li>seq �� naseq �� aaseq �᥽�å� �� �б��������󥪥֥������Ȥ��֤�</li>
1366
+ </ul>
1367
+ <p>�ʤɤΤ褦�˶��̲����褦�Ȥ��Ƥ��ޤ��������ƤΥ᥽�åɤ���������Ƥ����
1368
+ ���ǤϤ���ޤ���ʶ��̲��λؿˤ� bio/db.rb ���ȡˡ��ޤ����٤�����ʬ�ϳ�
1369
+ �ǡ����١����ѡ�����˰ۤʤ�Τǡ����줾��Υɥ�����Ȥ˽����ޤ���</p>
1370
+ <p>��§�Ȥ��ơ��᥽�å�̾��ʣ�����ξ��ϡ����֥������Ȥ�����Ȥ����֤�ޤ���
1371
+ ���Ȥ��� references �᥽�åɤ���ĥ��饹��ʣ���� Bio::Reference ���֥���
1372
+ ���Ȥ� Array �ˤ����֤��ޤ������̤Υ��饹�Ǥ�ñ������ reference �᥽�å�
1373
+ �����ʤ������Ĥ� Bio::Reference ���֥������Ȥ������֤����Ȥ��ä������Ǥ���</p>
1374
+ <h2><a name="label-73" id="label-73">PDB �Υѡ��� (Bio::PDB ���饹)</a></h2><!-- RDLabel: "PDB �Υѡ��� (Bio::PDB ���饹)" -->
1375
+ <p>Bio::PDB �ϡ�PDB �������ɤ߹��ि��Υ��饹�Ǥ���PDB �ǡ����١�����
1376
+ PDB, mmCIF, XML (PDBML) �Σ�����Υե����ޥåȤ��󶡤���Ƥ��ޤ�����
1377
+ �����Τ��� BioRuby ���б����Ƥ���Τ� PDB �ե����ޥåȤǤ���</p>
1378
+ <p>PDB �ե����ޥåȤλ��ͤϡ��ʲ��� Protein Data Bank Contents Guide ��
1379
+ ���Ȥ��Ƥ���������</p>
1380
+ <ul>
1381
+ <li><a href="http://www.rcsb.org/pdb/file_formats/pdb/pdbguide2.2/guide2.2_frame.html">&lt;URL:http://www.rcsb.org/pdb/file_formats/pdb/pdbguide2.2/guide2.2_frame.html&gt;</a></li>
1382
+ </ul>
1383
+ <h3><a name="label-74" id="label-74">PDB �ǡ������ɤ߹���</a></h3><!-- RDLabel: "PDB �ǡ������ɤ߹���" -->
1384
+ <p>PDB �Σ�����ȥ꤬ 1bl8.pdb �Ȥ����ե�����˳�Ǽ����Ƥ�����ϡ�
1385
+ Ruby �Υե������ɤ߹��ߵ�ǽ��Ȥä�</p>
1386
+ <pre>entry = File.read("1bl8.pdb")</pre>
1387
+ <p>�Τ褦�ˤ��뤳�Ȥǡ�����ȥ�����Ƥ�ʸ����Ȥ��� entry �Ȥ����ѿ���
1388
+ �������뤳�Ȥ��Ǥ��ޤ�������ȥ�����Ƥ�ѡ�������ˤ�</p>
1389
+ <pre>pdb = Bio::PDB.new(entry)</pre>
1390
+ <p>�Ȥ��ޤ�������ǥ���ȥ꤬ Bio::PDB ���֥������ȤȤʤꡢǤ�դΥǡ�����
1391
+ ���Ф���褦�ˤʤ�ޤ���</p>
1392
+ <p>PDB �ե����ޥåȤ� Bio::FlatFile �ˤ�뼫ưǧ�����ǽ�Ǥ��������ߤ�
1393
+ ���ե������ʣ������ȥ��ޤ���ˤ��б����Ƥ��ޤ���
1394
+ Bio::FlatFile ��Ȥäƣ�����ȥ�ʬ�����ɤ߹���ˤϡ�</p>
1395
+ <pre>pdb = Bio::FlatFile.auto("1bl8.pdb") { |ff| ff.next_entry }</pre>
1396
+ <p>�Ȥ��ޤ����ɤ������ˡ�Ǥ��ѿ� pdb �ˤ�Ʊ����̤������ޤ���</p>
1397
+ <h3><a name="label-75" id="label-75">���֥������Ȥγ��ع�¤</a></h3><!-- RDLabel: "���֥������Ȥγ��ع�¤" -->
1398
+ <p>�� PDB ����ȥ�ϡ��ѿ�����ʸ������ʤ� ID ���դ����Ƥ��ޤ���
1399
+ Bio::PDB ���֥������Ȥ��� ID ����Ф��ˤ� entry_id �᥽�åɤ�Ȥ��ޤ���</p>
1400
+ <pre>p pdb.entry_id # =&gt; "1BL8"</pre>
1401
+ <p>����ȥ�γ��פ˴ؤ��������б�����᥽�åɤǼ��Ф����Ȥ��Ǥ��ޤ���</p>
1402
+ <pre>p pdb.definition # =&gt; "POTASSIUM CHANNEL (KCSA) FROM STREPTOMYCES LIVIDANS"
1403
+ p pdb.keywords # =&gt; ["POTASSIUM CHANNEL", "INTEGRAL MEMBRANE PROTEIN"]</pre>
1404
+ <p>¾�ˡ���Ͽ�Ԥ�ʸ�����¸���ˡ�ʤɤξ��������Ǥ��ޤ��ʤ��줾��
1405
+ authors, jrnl, method �᥽�åɡˡ�</p>
1406
+ <p>PDB �ǡ����ϡ�����Ū�ˤϣ��Ԥ����ĤΥ쥳���ɤ�������Ƥ��ޤ���
1407
+ ���Ԥ����꤭��ʤ��ǡ�����ʣ���Ԥ˳�Ǽ���� continuation �Ȥ���
1408
+ ���Ȥߤ��Ѱդ���Ƥ��ޤ��������ܤϣ��ԣ��쥳���ɤǤ���</p>
1409
+ <p>�ƹԤ���Ƭ��ʸ�������ιԤΥǡ����μ���򼨤�̾���ʥ쥳���ɡˤˤʤ�ޤ���
1410
+ BioRuby �Ǥϡ�HEADER �쥳���ɤ��Ф��Ƥ� Bio::PDB::Record::HEADER ���饹��
1411
+ TITLE �쥳���ɤ��Ф��Ƥ� Bio::PDB::Record::TITLE ���饹���Ȥ����褦��
1412
+ ����Ū�ˤϳƥ쥳���ɤ��б����륯�饹�򣱤��Ѱդ��Ƥ��ޤ���
1413
+ ��������REMARK �� JRNL �쥳���ɤ˴ؤ��Ƥϡ����줾��ʣ���Υե����ޥåȤ�
1414
+ ¸�ߤ��뤿�ᡢʣ���Υ��饹���Ѱդ��Ƥ��ޤ���</p>
1415
+ <p>�ƥ쥳���ɤ˥������������äȤ�ñ�����ˡ�� record �᥽�åɤǤ���</p>
1416
+ <pre>pdb.record("HELIX")</pre>
1417
+ <p>�Τ褦�ˤ���ȡ����� PDB ����ȥ�˴ޤޤ�����Ƥ� HELIX �쥳���ɤ�
1418
+ Bio::PDB::Record::HELIX ���饹�Υ��֥������Ȥ�����Ȥ��Ƽ����Ǥ��ޤ���</p>
1419
+ <p>���Τ��Ȥ�դޤ����ʲ��Ǥϡ�PDB ����ȥ�Υᥤ������ƤǤ���Ω�ι�¤��
1420
+ �ؤ���ǡ�����¤�ΰ������򸫤Ƥ����ޤ���</p>
1421
+ <h4><a name="label-76" id="label-76">����: Bio::PDB::Record::ATOM, Bio::PDB::Record::HETATM ���饹</a></h4><!-- RDLabel: "����: Bio::PDB::Record::ATOM, Bio::PDB::Record::HETATM ���饹" -->
1422
+ <p>PDB ����ȥ�ϡ�����ѥ������˻���DNA,RNA�ˤ䤽��¾��ʬ�Ҥ�Ω�ι�¤��
1423
+ ����Ū�ˤϸ��ҤΣ�������ɸ��ޤ�Ǥ��ޤ���</p>
1424
+ <p>����ѥ����ޤ��ϳ˻��θ��Ҥκ�ɸ�ϡ�ATOM �쥳���ɤ˳�Ǽ����Ƥ��ޤ���
1425
+ �б����륯�饹�ϡ�Bio::PDB::Record::ATOM ���饹�Ǥ���</p>
1426
+ <p>����ѥ������˻��ʳ��θ��Ҥκ�ɸ�ϡ�HETATM �쥳���ɤ˳�Ǽ����Ƥ��ޤ���
1427
+ �б����륯�饹�ϡ�Bio::PDB::Record::HETATM ���饹�Ǥ���</p>
1428
+ <p>HETATM�����饹�� ATOM ���饹��Ѿ����Ƥ��뤿�ᡢATOM �� HETATM ��
1429
+ �᥽�åɤλȤ����Ϥޤä���Ʊ���Ǥ���</p>
1430
+ <h4><a name="label-77" id="label-77">���ߥλ��Ĵ�ʤޤ��ϱ����: Bio::PDB::Residue ���饹</a></h4><!-- RDLabel: "���ߥλ��Ĵ�ʤޤ��ϱ����: Bio::PDB::Residue ���饹" -->
1431
+ <p>�����ߥλ��ޤ��ϣ�����ñ�̤Ǹ��Ҥ�ޤȤ᤿�Τ� Bio::PDB::Residue �Ǥ���
1432
+ Bio::PDB::Residue ���֥������Ȥϡ����İʾ�� Bio::PDB::Record::ATOM
1433
+ ���֥������Ȥ�ޤߤޤ���</p>
1434
+ <h4><a name="label-78" id="label-78">����ʪ: Bio::PDB::Heterogen ���饹</a></h4><!-- RDLabel: "����ʪ: Bio::PDB::Heterogen ���饹" -->
1435
+ <p>����ѥ������˻��ʳ���ʬ�Ҥθ��Ҥϡ�����Ū�ˤ�ʬ��ñ�̤�
1436
+ Bio::PDB::Heterogen �ˤޤȤ���Ƥ��ޤ���
1437
+ Bio::PDB::Heterogen ���֥������Ȥϡ����İʾ��
1438
+ Bio::PDB::Record::HETATM ���֥������Ȥ�ޤߤޤ���</p>
1439
+ <h4><a name="label-79" id="label-79">���ʥ��������: Bio::PDB::Chain ���饹</a></h4><!-- RDLabel: "���ʥ��������: Bio::PDB::Chain ���饹" -->
1440
+ <p>Bio::PDB::Chain �ϡ�ʣ���� Bio::PDB::Residue ���֥������Ȥ���ʤ�
1441
+ ���ĤΥ���ѥ����ޤ��ϳ˻��ȡ�ʣ���� Bio::PDB::Heterogen ���֥�������
1442
+ ����ʤ룱�İʾ�Τ���ʳ���ʬ�Ҥ��Ǽ����ǡ�����¤�Ǥ���</p>
1443
+ <p>�ʤ�����Ⱦ�ξ��ϡ�����ѥ������˻���Bio::PDB::Residue�ˤ���
1444
+ ����ʳ���ʬ�ҡ�Bio::PDB::Heterogen�ˤΤɤ��餫����ष�������ޤ���
1445
+ Chain ��ҤȤĤ����ޤޤʤ� PDB ����ȥ�Ǥ�ξ�����ľ�礬����褦�Ǥ���</p>
1446
+ <p>�� Chain �ˤϡ��ѿ�����ʸ���� ID ���դ��Ƥ��ޤ���Chain ��ҤȤĤ���
1447
+ �ޤޤʤ� PDB ����ȥ�ξ��϶���ʸ���ΤȤ��⤢��ޤ��ˡ�</p>
1448
+ <h4><a name="label-80" id="label-80">��ǥ�: Bio::PDB::Model</a></h4><!-- RDLabel: "��ǥ�: Bio::PDB::Model" -->
1449
+ <p>���İʾ�� Bio::PDB::Chain �����ޤä���Τ� Bio::PDB::Model �Ǥ���
1450
+ �����뾽��¤�ξ�硢Model ���̾�Ĥ����Ǥ�����NMR ��¤�ξ�硢
1451
+ ʣ���� Model ��¸�ߤ��뤳�Ȥ�����ޤ���
1452
+ ʣ���� Model ��¸�ߤ����硢�� Model �ˤϥ��ꥢ���ֹ椬�դ��ޤ���</p>
1453
+ <p>�����ơ����İʾ�� Model �����ޤä���Τ���Bio::PDB ���֥������Ȥˤʤ�ޤ���</p>
1454
+ <h3><a name="label-81" id="label-81">���Ҥ˥�����������᥽�å�</a></h3><!-- RDLabel: "���Ҥ˥�����������᥽�å�" -->
1455
+ <p>Bio::PDB#each_atom �����Ƥ� ATOM ����֤ˣ��Ĥ���é�륤�ƥ졼���Ǥ���</p>
1456
+ <pre>pdb.each_atom do |atom|
1457
+ p atom.xyz
1458
+ end</pre>
1459
+ <p>���� each_atom �᥽�åɤ� Model, Chain, Residue ���֥������Ȥ��Ф��Ƥ�
1460
+ ���Ѥ��뤳�Ȥ��Ǥ������줾�졢���� Model, Chain, Residue �����Τ��٤Ƥ�
1461
+ ATOM �򤿤ɤ륤�ƥ졼���Ȥ���Ư���ޤ���</p>
1462
+ <p>Bio::PDB#atoms �����Ƥ� ATOM ������Ȥ����֤��᥽�åɤǤ���</p>
1463
+ <pre>p pdb.atoms.size # =&gt; 2820 �Ĥ� ATOM ���ޤޤ�뤳�Ȥ��狼��</pre>
1464
+ <p>each_atom ��Ʊ�ͤ� atoms �᥽�åɤ� Model, Chain, Residue ���֥�������
1465
+ ���Ф��ƻ��Ѳ�ǽ�Ǥ���</p>
1466
+ <pre>pdb.chains.each do |chain|
1467
+ p chain.atoms.size # =&gt; �� Chain ��� ATOM ����ɽ�������
1468
+ end</pre>
1469
+ <p>Bio::PDB#each_hetatm �ϡ����Ƥ� HETATM ����֤ˣ��Ĥ���é�륤�ƥ졼���Ǥ���</p>
1470
+ <pre>pdb.each_hetatm do |hetatm|
1471
+ p hetatm.xyz
1472
+ end</pre>
1473
+ <p>Bio::PDB#hetatms ���Ƥ� HETATM ������Ȥ����֤��Τ� hetatms �᥽�åɤǤ���</p>
1474
+ <pre>p pdb.hetatms.size</pre>
1475
+ <p>������ atoms �ξ���Ʊ�ͤˡ�Model, Chain, Heterogen ���֥������Ȥ�
1476
+ �Ф��ƻ��Ѳ�ǽ�Ǥ���</p>
1477
+ <h4><a name="label-82" id="label-82">Bio::PDB::Record::ATOM, Bio::PDB::Record::HETATM ���饹�λȤ���</a></h4><!-- RDLabel: "Bio::PDB::Record::ATOM, Bio::PDB::Record::HETATM ���饹�λȤ���" -->
1478
+ <p>ATOM �ϥ���ѥ������˻���DNA��RNA�ˤ������븶�ҡ�HETATM �Ϥ���ʳ���
1479
+ ���Ҥ��Ǽ���뤿��Υ��饹�Ǥ�����HETATM �� ATOM ���饹��Ѿ����Ƥ��뤿��
1480
+ �����Υ��饹�ǥ᥽�åɤλȤ����Ϥޤä���Ʊ���Ǥ���</p>
1481
+ <pre>p atom.serial # ���ꥢ���ֹ�
1482
+ p atom.name # ̾��
1483
+ p atom.altLoc # Alternate location indicator
1484
+ p atom.resName # ���ߥλ�������̾�ޤ��ϲ���ʪ̾
1485
+ p atom.chainID # Chain �� ID
1486
+ p atom.resSeq # ���ߥλ��Ĵ�Υ��������ֹ�
1487
+ p atom.iCode # Code for insertion of residues
1488
+ p atom.x # X ��ɸ
1489
+ p atom.y # Y ��ɸ
1490
+ p atom.z # Z ��ɸ
1491
+ p atom.occupancy # Occupancy
1492
+ p atom.tempFactor # Temperature factor
1493
+ p atom.segID # Segment identifier
1494
+ p atom.element # Element symbol
1495
+ p atom.charge # Charge on the atom</pre>
1496
+ <p>�����Υ᥽�å�̾�ϡ���§�Ȥ��� Protein Data Bank Contents Guide ��
1497
+ ���ܤ˹�碌�Ƥ��ޤ����᥽�å�̾�� resName �� resSeq �Ȥ��ä���̾ˡ
1498
+ ��CamelCase�ˤ���Ѥ��Ƥ���ΤϤ��Τ���Ǥ���
1499
+ ���줾��Υ᥽�åɤ��֤��ǡ����ΰ�̣�ϡ����ͽ�򻲹ͤˤ��Ƥ���������</p>
1500
+ <p>����¾�ˤ⡢�����Ĥ��������ʥ᥽�åɤ��Ѱդ��Ƥ��ޤ���
1501
+ xyz �᥽�åɤϡ���ɸ�򣳼����Υ٥��ȥ�Ȥ����֤��᥽�åɤǤ���
1502
+ ���Υ᥽�åɤϡ�Ruby �� Vector ���饹��Ѿ����ƣ������Υ٥��ȥ��
1503
+ �ò������� Bio::PDB::Coordinate ���饹�Υ��֥������Ȥ��֤��ޤ�
1504
+ ����: Vector��Ѿ��������饹���������ΤϤ��ޤ�侩����ʤ��褦�ʤΤǡ�
1505
+ ���衢Vector���饹�Υ��֥������Ȥ��֤��褦�����ѹ����뤫�⤷��ޤ���ˡ�</p>
1506
+ <pre>p atom.xyz</pre>
1507
+ <p>�٥��ȥ�ʤΤǡ�­�����������������Ѥʤɤ���뤳�Ȥ��Ǥ��ޤ���</p>
1508
+ <pre># ���Ҵ֤ε�Υ�����
1509
+ p (atom1.xyz - atom2.xyz).r # r �ϥ٥��ȥ�������ͤ����᥽�å�
1510
+
1511
+ # ���Ѥ����
1512
+ p atom1.xyz.inner_product(atom2.xyz)</pre>
1513
+ <p>¾�ˤϡ����θ��Ҥ��б����� TER, SIGATM, ANISOU �쥳���ɤ��������
1514
+ ter, sigatm, anisou �᥽�åɤ��Ѱդ���Ƥ��ޤ���</p>
1515
+ <h3><a name="label-83" id="label-83">���ߥλ��Ĵ� (Residue) �˥�����������᥽�å�</a></h3><!-- RDLabel: "���ߥλ��Ĵ� (Residue) �˥�����������᥽�å�" -->
1516
+ <p>Bio::PDB#each_residue �ϡ����Ƥ� Residue ����֤�é�륤�ƥ졼���Ǥ���
1517
+ each_residue �᥽�åɤϡ�Model, Chain ���֥������Ȥ��Ф��Ƥ�
1518
+ ���Ѥ��뤳�Ȥ��Ǥ������줾��� Model, Chain �˴ޤޤ�����Ƥ�
1519
+ Residue ��é�륤�ƥ졼���Ȥ���Ư���ޤ���</p>
1520
+ <pre>pdb.each_residue do |residue|
1521
+ p residue.resName
1522
+ end</pre>
1523
+ <p>Bio::PDB#residues �ϡ����Ƥ� Residue ������Ȥ����֤��᥽�åɤǤ���
1524
+ each_residue ��Ʊ�ͤˡ�Model, Chain ���֥������Ȥ��Ф��Ƥ���Ѳ�ǽ�Ǥ���</p>
1525
+ <pre>p pdb.residues.size</pre>
1526
+ <h3><a name="label-84" id="label-84">����ʪ (Heterogen) �˥�����������᥽�å�</a></h3><!-- RDLabel: "����ʪ (Heterogen) �˥�����������᥽�å�" -->
1527
+ <p>Bio::PDB#each_heterogen �����Ƥ� Heterogen ����֤ˤ��ɤ륤�ƥ졼����
1528
+ Bio::PDB#heterogens �����Ƥ� Heterogen ������Ȥ����֤��᥽�åɤǤ���</p>
1529
+ <pre>pdb.each_heterogen do |heterogeon|
1530
+ p heterogen.resName
1531
+ end
1532
+
1533
+ p pdb.heterogens.size</pre>
1534
+ <p>�����Υ᥽�åɤ� Residue ��Ʊ�ͤ� Model, Chain ���֥������Ȥ��Ф��Ƥ�
1535
+ ���Ѳ�ǽ�Ǥ���</p>
1536
+ <h3><a name="label-85" id="label-85">Chain, Model �˥�����������᥽�å�</a></h3><!-- RDLabel: "Chain, Model �˥�����������᥽�å�" -->
1537
+ <p>Ʊ�ͤˡ�Bio::PDB#each_chain �����Ƥ� Chain ����֤ˤ��ɤ륤�ƥ졼����
1538
+ Bio::PDB#chains �����Ƥ� Chain ������Ȥ����֤��᥽�åɤǤ���
1539
+ �����Υ᥽�åɤ� Model ���֥������Ȥ��Ф��Ƥ���Ѳ�ǽ�Ǥ���</p>
1540
+ <p>Bio::PDB#each_model �����Ƥ� Model ����֤ˤ��ɤ륤�ƥ졼����
1541
+ Bio::PDB#models �����Ƥ� Model ������Ȥ����֤��᥽�åɤǤ���</p>
1542
+ <h3><a name="label-86" id="label-86">PDB Chemical Component Dictionary �Υǡ������ɤ߹���</a></h3><!-- RDLabel: "PDB Chemical Component Dictionary �Υǡ������ɤ߹���" -->
1543
+ <p>Bio::PDB::ChemicalComponent ���饹�ϡ�PDB Chemical Component Dictionary
1544
+ �ʵ�̾�� HET Group Dictionary�ˤΥѡ����Ǥ���</p>
1545
+ <p>PDB Chemical Component Dictionary �ˤĤ��Ƥϰʲ��Υڡ����򻲾Ȥ��Ƥ���������</p>
1546
+ <ul>
1547
+ <li><a href="http://deposit.pdb.org/cc_dict_tut.html">&lt;URL:http://deposit.pdb.org/cc_dict_tut.html&gt;</a></li>
1548
+ </ul>
1549
+ <p>�ǡ����ϰʲ��ǥ���������ɤǤ��ޤ���</p>
1550
+ <ul>
1551
+ <li><a href="http://deposit.pdb.org/het_dictionary.txt">&lt;URL:http://deposit.pdb.org/het_dictionary.txt&gt;</a></li>
1552
+ </ul>
1553
+ <p>���Υ��饹�ϡ�RESIDUE ����Ϥޤäƶ��Ԥǽ���룱����ȥ��ѡ������ޤ�
1554
+ ��PDB �ե����ޥåȤˤΤ��б����Ƥ��ޤ��ˡ�</p>
1555
+ <p>Bio::FlatFile �ˤ��ե����������ưȽ�̤��б����Ƥ��ޤ���
1556
+ ���Υ��饹���Τ� ID ���鲽��ʪ�򸡺������ꤹ�뵡ǽ�ϻ��äƤ��ޤ���
1557
+ br_bioflat.rb �ˤ�륤��ǥå��������ˤ��б����Ƥ��ޤ��Τǡ�
1558
+ ɬ�פʤ餽�������Ѥ��Ƥ���������</p>
1559
+ <pre>Bio::FlatFile.auto("het_dictionary.txt") |ff|
1560
+ ff.each do |het|
1561
+ p het.entry_id # ID
1562
+ p het.hetnam # HETNAM �쥳���ɡʲ���ʪ��̾�Ρ�
1563
+ p het.hetsyn # HETSYM �쥳���ɡʲ���ʪ����̾�������
1564
+ p het.formul # FORMUL �쥳���ɡʲ���ʪ����������
1565
+ p het.conect # CONECT �쥳����
1566
+ end
1567
+ end</pre>
1568
+ <p>�Ǹ�� conect �᥽�åɤϡ�����ʪ�η��� Hash �Ȥ����֤��ޤ���
1569
+ ���Ȥ��С������Ρ���Υ���ȥ�ϼ��Τ褦�ˤʤ�ޤ�����</p>
1570
+ <pre>RESIDUE EOH 9
1571
+ CONECT C1 4 C2 O 1H1 2H1
1572
+ CONECT C2 4 C1 1H2 2H2 3H2
1573
+ CONECT O 2 C1 HO
1574
+ CONECT 1H1 1 C1
1575
+ CONECT 2H1 1 C1
1576
+ CONECT 1H2 1 C2
1577
+ CONECT 2H2 1 C2
1578
+ CONECT 3H2 1 C2
1579
+ CONECT HO 1 O
1580
+ END
1581
+ HET EOH 9
1582
+ HETNAM EOH ETHANOL
1583
+ FORMUL EOH C2 H6 O1</pre>
1584
+ <p>���Υ���ȥ���Ф��� conect �᥽�åɤ�Ƥ֤�</p>
1585
+ <pre>{ "C1" =&gt; [ "C2", "O", "1H1", "2H1" ],
1586
+ "C2" =&gt; [ "C1", "1H2", "2H2", "3H2" ],
1587
+ "O" =&gt; [ "C1", "HO" ],
1588
+ "1H1" =&gt; [ "C1" ],
1589
+ "1H2" =&gt; [ "C2" ],
1590
+ "2H1" =&gt; [ "C1" ],
1591
+ "2H2" =&gt; [ "C2" ],
1592
+ "3H2" =&gt; [ "C2" ],
1593
+ "HO" =&gt; [ "O" ] }</pre>
1594
+ <p>�Ȥ��� Hash ���֤��ޤ���</p>
1595
+ <p>�����ޤǤν����� BioRuby ������ǻ�Ȱʲ��Τ褦�ˤʤ�ޤ���</p>
1596
+ <pre># PDB ����ȥ� 1bl8 ��ͥåȥ����ͳ�Ǽ���
1597
+ bioruby&gt; ent_1bl8 = getent("pdb:1bl8")
1598
+ # ����ȥ����Ȥ��ǧ
1599
+ bioruby&gt; head ent_1bl8
1600
+ # ����ȥ��ե��������¸
1601
+ bioruby&gt; savefile("1bl8.pdb", ent_1bl8)
1602
+ # ��¸���줿�ե��������Ȥ��ǧ
1603
+ bioruby&gt; disp "data/1bl8.pdb"
1604
+ # PDB ����ȥ��ѡ���
1605
+ bioruby&gt; pdb_1bl8 = flatparse(ent_1bl8)
1606
+ # PDB �Υ���ȥ� ID ��ɽ��
1607
+ bioruby&gt; pdb_1bl8.entry_id
1608
+ # getent("pdb:1bl8") ���� flatparse ��������ˡ��ʲ��Ǥ�OK
1609
+ bioruby&gt; obj_1bl8 = getobj("pdb:1bl8")
1610
+ bioruby&gt; obj_1bl8.entry_id
1611
+ # �� HETEROGEN ���Ȥ˻Ĵ�̾��ɽ��
1612
+ bioruby&gt; pdb_1bl8.each_heterogen { |heterogen| p heterogen.resName }
1613
+
1614
+ # PDB Chemical Component Dictionary �����
1615
+ bioruby&gt; het_dic = open("http://deposit.pdb.org/het_dictionary.txt").read
1616
+ # ���������ե�����ΥХ��ȿ����ǧ
1617
+ bioruby&gt; het_dic.size
1618
+ # ���������ե��������¸
1619
+ bioruby&gt; savefile("data/het_dictionary.txt", het_dic)
1620
+ # �ե��������Ȥ��ǧ
1621
+ bioruby&gt; disp "data/het_dictionary.txt"
1622
+ # �����Τ���˥���ǥå������� het_dic �Ȥ����ǡ����١��������
1623
+ bioruby&gt; flatindex("het_dic", "data/het_dictionary.txt")
1624
+ # ID �� EOH �Υ����Ρ���Υ���ȥ�򸡺�
1625
+ bioruby&gt; ethanol = flatsearch("het_dic", "EOH")
1626
+ # ������������ȥ��ѡ���
1627
+ bioruby&gt; osake = flatparse(ethanol)
1628
+ # ���Ҵ֤η��ơ��֥��ɽ��
1629
+ bioruby&gt; sake.conect</pre>
1630
+ <h2><a name="label-87" id="label-87">���饤���� (Bio::Alignment ���饹)</a></h2><!-- RDLabel: "���饤���� (Bio::Alignment ���饹)" -->
1631
+ <p>Bio::Alignment ���饹������Υ��饤���Ȥ��Ǽ���뤿��Υ���ƥʤǤ���
1632
+ Ruby �� Hash �� Array �˻�������ǽ�ǡ�BioPerl �� Bio::SimpleAlign ��
1633
+ ���������ˤʤäƤ��ޤ����ʲ��˴�ñ�ʻȤ����򼨤��ޤ���</p>
1634
+ <pre>require 'bio'
1635
+
1636
+ seqs = [ 'atgca', 'aagca', 'acgca', 'acgcg' ]
1637
+ seqs = seqs.collect{ |x| Bio::Sequence::NA.new(x) }
1638
+
1639
+ # ���饤���ȥ��֥������Ȥ����
1640
+ a = Bio::Alignment.new(seqs)
1641
+
1642
+ # ���󥻥󥵥������ɽ��
1643
+ p a.consensus # ==&gt; "a?gc?"
1644
+
1645
+ # IUPAC ɸ���ۣ��ʱ������Ѥ������󥻥󥵥������ɽ��
1646
+ p a.consensus_iupac # ==&gt; "ahgcr"
1647
+
1648
+ # ������ˤĤ��Ʒ����֤�
1649
+ a.each { |x| p x }
1650
+ # ==&gt;
1651
+ # "atgca"
1652
+ # "aagca"
1653
+ # "acgca"
1654
+ # "acgcg"
1655
+
1656
+ # �ƥ����ȤˤĤ��Ʒ����֤�
1657
+ a.each_site { |x| p x }
1658
+ # ==&gt;
1659
+ # ["a", "a", "a", "a"]
1660
+ # ["t", "a", "c", "c"]
1661
+ # ["g", "g", "g", "g"]
1662
+ # ["c", "c", "c", "c"]
1663
+ # ["a", "a", "a", "g"]
1664
+
1665
+ # Clustal W ����Ѥ��ƥ��饤���Ȥ�Ԥ���
1666
+ # 'clustalw' ���ޥ�ɤ������ƥ�˥��󥹥ȡ��뤵��Ƥ���ɬ�פ����롣
1667
+ factory = Bio::ClustalW.new
1668
+ a2 = a.do_align(factory)</pre>
1669
+ <h2><a name="label-88" id="label-88">FASTA �ˤ����Ʊ��������Ԥ���Bio::Fasta ���饹��</a></h2><!-- RDLabel: "FASTA �ˤ����Ʊ��������Ԥ���Bio::Fasta ���饹��" -->
1670
+ <p>FASTA ����������ե����� query.pep ���Ф��ơ���ʬ�Υޥ���(��������)���뤤��
1671
+ ���󥿡��ͥåȾ�Υ�����(��⡼��)�� FASTA �ˤ����Ʊ��������Ԥ���ˡ�Ǥ���
1672
+ ��������ξ��� SSEARCH �ʤɤ�Ʊ�ͤ˻Ȥ����Ȥ��Ǥ��ޤ���</p>
1673
+ <h3><a name="label-89" id="label-89">���������</a></h3><!-- RDLabel: "���������" -->
1674
+ <p>FASTA �����󥹥ȡ��뤵��Ƥ��뤳�Ȥ��ǧ���Ƥ����������ʲ�����Ǥϡ�
1675
+ ���ޥ��̾�� fasta34 �ǥѥ����̤ä��ǥ��쥯�ȥ�˥��󥹥ȡ���
1676
+ ����Ƥ���������ꤷ�Ƥ��ޤ���</p>
1677
+ <ul>
1678
+ <li><a href="ftp://ftp.virginia.edu/pub/fasta/">&lt;URL:ftp://ftp.virginia.edu/pub/fasta/&gt;</a></li>
1679
+ </ul>
1680
+ <p>�����оݤȤ��� FASTA �����Υǡ����١����ե����� target.pep �ȡ�FASTA
1681
+ �������䤤��碌���󤬤����Ĥ����ä��ե����� query.pep ��������ޤ���</p>
1682
+ <p>������Ǥϡ����䤤��碌���󤴤Ȥ� FASTA ������¹Ԥ����ҥåȤ��������
1683
+ evalue �� 0.0001 �ʲ��Τ�Τ�����ɽ�����ޤ���</p>
1684
+ <pre>#!/usr/bin/env ruby
1685
+
1686
+ require 'bio'
1687
+
1688
+ # FASTA ��¹Ԥ���Ķ����֥������Ȥ����ssearch �ʤɤǤ��ɤ���
1689
+ factory = Bio::Fasta.local('fasta34', ARGV.pop)
1690
+
1691
+ # �ե�åȥե�������ɤ߹��ߡ�FastaFormat ���֥������ȤΥꥹ�Ȥˤ���
1692
+ ff = Bio::FlatFile.new(Bio::FastaFormat, ARGF)
1693
+
1694
+ # ������ȥꤺ�Ĥ� FastaFormat ���֥������Ȥ��Ф�
1695
+ ff.each do |entry|
1696
+ # '&gt;' �ǻϤޤ륳���ȹԤ����Ƥ�ʹԾ���������ɸ�२�顼���Ϥ�ɽ��
1697
+ $stderr.puts "Searching ... " + entry.definition
1698
+
1699
+ # FASTA �ˤ����Ʊ��������¹ԡ���̤� Fasta::Report ���֥�������
1700
+ report = factory.query(entry)
1701
+
1702
+ # �ҥåȤ�����Τ��줾����Ф�
1703
+ report.each do |hit|
1704
+ # evalue �� 0.0001 �ʲ��ξ��
1705
+ if hit.evalue &lt; 0.0001
1706
+ # ���� evalue �ȡ�̾���������С���å��ΰ��ɽ��
1707
+ print "#{hit.query_id} : evalue #{hit.evalue}\t#{hit.target_id} at "
1708
+ p hit.lap_at
1709
+ end
1710
+ end
1711
+ end</pre>
1712
+ <p>������ factory �Ϸ����֤� FASTA ��¹Ԥ��뤿��ˡ����餫�����äƤ���
1713
+ �¹ԴĶ��Ǥ���</p>
1714
+ <p>�嵭�Υ�����ץȤ� search.rb �Ȥ���ȡ��䤤��碌����ȥǡ����١��������
1715
+ �ե�����̾������ˤ��ơ��ʲ��Τ褦�˼¹Ԥ��ޤ���</p>
1716
+ <pre>% ruby search.rb query.pep target.pep &gt; search.out</pre>
1717
+ <p>FASTA ���ޥ�ɤ˥��ץ�����Ϳ��������硢�����ܤΰ����� FASTA ��
1718
+ ���ޥ�ɥ饤�󥪥ץ�����񤤤��Ϥ��ޤ�����������ktup �ͤ�����
1719
+ �᥽�åɤ�Ȥäƻ��ꤹ�뤳�ȤˤʤäƤ��ޤ���
1720
+ ���Ȥ��� ktup �ͤ� 1 �ˤ��ơ��ȥå� 10 �̰���ΥҥåȤ��������
1721
+ ���ץ����ϡ��ʲ��Τ褦�ˤʤ�ޤ���</p>
1722
+ <pre>factory = Bio::Fasta.local('fasta34', 'target.pep', '-b 10')
1723
+ factory.ktup = 1</pre>
1724
+ <p>Bio::Fasta#query �᥽�åɤʤɤ��֤��ͤ� Bio::Fasta::Report ���֥�������
1725
+ �Ǥ������� Report ���֥������Ȥ��顢�͡��ʥ᥽�åɤ� FASTA �ν��Ϸ�̤�
1726
+ �ۤ����Ƥ�ͳ�˼��Ф���褦�ˤʤäƤ��ޤ������Ȥ��С��ҥåȤ˴ؤ���
1727
+ �������ʤɤμ�ʾ���ϡ�</p>
1728
+ <pre>report.each do |hit|
1729
+ puts hit.evalue # E-value
1730
+ puts hit.sw # Smith-Waterman ������ (*)
1731
+ puts hit.identity # % identity
1732
+ puts hit.overlap # �����С���åפ��Ƥ����ΰ��Ĺ��
1733
+ puts hit.query_id # �䤤��碌����� ID
1734
+ puts hit.query_def # �䤤��碌����Υ�����
1735
+ puts hit.query_len # �䤤��碌�����Ĺ��
1736
+ puts hit.query_seq # �䤤��碌����
1737
+ puts hit.target_id # �ҥåȤ�������� ID
1738
+ puts hit.target_def # �ҥåȤ�������Υ�����
1739
+ puts hit.target_len # �ҥåȤ��������Ĺ��
1740
+ puts hit.target_seq # �ҥåȤ�������
1741
+ puts hit.query_start # ��Ʊ�ΰ���䤤��碌����Ǥγ��ϻĴ����
1742
+ puts hit.query_end # ��Ʊ�ΰ���䤤��碌����Ǥν�λ�Ĵ����
1743
+ puts hit.target_start # ��Ʊ�ΰ�Υ������å�����Ǥγ��ϻĴ����
1744
+ puts hit.target_end # ��Ʊ�ΰ�Υ������å�����Ǥν�λ�Ĵ����
1745
+ puts hit.lap_at # �嵭�����֤ο��ͤ�����
1746
+ end</pre>
1747
+ <p>�ʤɤΥ᥽�åɤǸƤӽФ��ޤ��������Υ᥽�åɤ�¿���ϸ����������
1748
+ Bio::Blast::Report ���饹�ȶ��̤ˤ��Ƥ���ޤ����嵭�ʳ��Υ᥽�åɤ�
1749
+ FASTA ��ͭ���ͤ���Ф��᥽�åɤ�ɬ�פʾ��ϡ�Bio::Fasta::Report
1750
+ ���饹�Υɥ�����Ȥ򻲾Ȥ��Ƥ���������</p>
1751
+ <p>�⤷���ѡ����������μ��ä��Ƥ��ʤ� fasta ���ޥ�ɤμ¹Է�̤�ɬ�פ�
1752
+ ���ˤϡ�</p>
1753
+ <pre>report = factory.query(entry)
1754
+ puts factory.output</pre>
1755
+ <p>�Τ褦�ˡ�query �᥽�åɤ�¹Ԥ������ factory ���֥������Ȥ� output
1756
+ �᥽�åɤ�ȤäƼ��Ф����Ȥ��Ǥ��ޤ���</p>
1757
+ <h3><a name="label-90" id="label-90">��⡼�Ȥξ��</a></h3><!-- RDLabel: "��⡼�Ȥξ��" -->
1758
+ <p>���ΤȤ��� GenomeNet (fasta.genome.jp) �Ǥθ����Τߥ��ݡ��Ȥ��Ƥ��ޤ���
1759
+ ��⡼�Ȥξ��ϻ��Ѳ�ǽ�ʸ����оݥǡ����١�������ޤäƤ��ޤ����������
1760
+ �������ˤĤ��Ƥ� Bio::Fasta.remote �� Bio::Fasta.local ��Ʊ���褦�˻Ȥ�
1761
+ ���Ȥ��Ǥ��ޤ���</p>
1762
+ <p>GenomeNet �ǻ��Ѳ�ǽ�ʸ����оݥǡ����١�����</p>
1763
+ <ul>
1764
+ <li>���ߥλ�����ǡ����١���
1765
+ <ul>
1766
+ <li>nr-aa, genes, vgenes.pep, swissprot, swissprot-upd, pir, prf, pdbstr</li>
1767
+ </ul></li>
1768
+ <li>��������ǡ����١���
1769
+ <ul>
1770
+ <li>nr-nt, genbank-nonst, gbnonst-upd, dbest, dbgss, htgs, dbsts,
1771
+ embl-nonst, embnonst-upd, genes-nt, genome, vgenes.nuc</li>
1772
+ </ul></li>
1773
+ </ul>
1774
+ <p>�ޤ��������椫�鸡���������ǡ����١��������򤷤ޤ����䤤��碌����μ���
1775
+ �ȸ�������ǡ����١����μ���ˤ�äƥץ������Ϸ�ޤ�ޤ���</p>
1776
+ <ul>
1777
+ <li>�䤤��碌���󤬥��ߥλ��ΤȤ�
1778
+ <ul>
1779
+ <li>�оݥǡ����١��������ߥλ�����ǡ����١����ξ�硢program �� 'fasta'</li>
1780
+ <li>�оݥǡ����١������˻�����ǡ����١����ξ�硢program �� 'tfasta'</li>
1781
+ </ul></li>
1782
+ <li>�䤤��碌���󤬳˻�����ΤȤ�
1783
+ <ul>
1784
+ <li>�оݥǡ����١������˻�����ǡ����١����ξ�硢program �� 'fasta'</li>
1785
+ <li>(�оݥǡ����١��������ߥλ�����ǡ����١����ξ��ϸ�����ǽ?)</li>
1786
+ </ul></li>
1787
+ </ul>
1788
+ <p>�ץ������ȥǡ����١������Ȥ߹礻����ޤä���</p>
1789
+ <pre>program = 'fasta'
1790
+ database = 'genes'
1791
+
1792
+ factory = Bio::Fasta.remote(program, database)</pre>
1793
+ <p>�Ȥ��ƥե����ȥ꡼���ꡢ��������ξ���Ʊ���褦�� factory.query �ʤ�
1794
+ �Υ᥽�åɤǸ�����¹Ԥ��ޤ���</p>
1795
+ <h2><a name="label-91" id="label-91">BLAST �ˤ����Ʊ��������Ԥ���Bio::Blast ���饹��</a></h2><!-- RDLabel: "BLAST �ˤ����Ʊ��������Ԥ���Bio::Blast ���饹��" -->
1796
+ <p>BLAST ���������� GenomeNet (blast.genome.jp) �Ǥθ����򥵥ݡ��Ȥ���
1797
+ ���ޤ����Ǥ������ Bio::Fasta �� API ���̤ˤ��Ƥ��ޤ��Τǡ��嵭�����
1798
+ Bio::Blast �Ƚ񤭴����������Ǥ�����פʾ�礬¿���Ǥ���</p>
1799
+ <p>���Ȥ��С���� f_search.rb ��</p>
1800
+ <pre># BLAST ��¹Ԥ���Ķ����֥������Ȥ���
1801
+ factory = Bio::Blast.local('blastp', ARGV.pop) </pre>
1802
+ <p>���ѹ����������Ʊ���褦�˼¹ԤǤ��ޤ���</p>
1803
+ <p>Ʊ�ͤˡ�GenomeNet ����Ѥ���BLAST��Ԥ����ˤ� Bio::Blast.remote ��Ȥ��ޤ���
1804
+ ���ξ�硢program�λ������Ƥ� FASTA �Ȱۤʤ�ޤ���</p>
1805
+ <ul>
1806
+ <li>�䤤��碌���󤬥��ߥλ��ΤȤ�
1807
+ <ul>
1808
+ <li>�оݥǡ����١��������ߥλ�����ǡ����١����ξ�硢program �� 'blastp'</li>
1809
+ <li>�оݥǡ����١������˻�����ǡ����١����ξ�硢program �� 'tblastn'</li>
1810
+ </ul></li>
1811
+ <li>�䤤��碌���󤬱�������ΤȤ�
1812
+ <ul>
1813
+ <li>�оݥǡ����١��������ߥλ�����ǡ����١����ξ�硢program �� 'blastx'</li>
1814
+ <li>�оݥǡ����١�������������ǡ����١����ξ�硢program �� 'blastn'</li>
1815
+ <li>(�䤤��碌���ǡ����١�������6�ե졼��������Ԥ����� 'tblastx')</li>
1816
+ </ul></li>
1817
+ </ul>
1818
+ <p>�򤽤줾����ꤷ�ޤ���</p>
1819
+ <p>�Ȥ����ǡ�BLAST �Ǥ� "-m 7" ���ץ����ˤ�� XML ���ϥե����ޥååȤ�����
1820
+ ���������˭�٤ʤ��ᡢBio::Blast �� Ruby �Ѥ� XML �饤�֥��Ǥ���
1821
+ XMLParser �ޤ��� REXML �����Ѳ�ǽ�ʾ��ϡ�XML ���Ϥ����Ѥ��ޤ���
1822
+ ξ�����Ѳ�ǽ�ʾ�硢XMLParser �Τۤ�����®�ʤΤ�ͥ��Ū�˻��Ѥ���ޤ���
1823
+ �ʤ���Ruby 1.8.0 �ʹߤǤ� REXML �� Ruby ���Τ�ɸ��ź�դ���Ƥ��ޤ���
1824
+ �⤷ XML �饤�֥�꤬���󥹥ȡ��뤵��Ƥ��ʤ����� "-m 8" �Υ��ֶ��ڤ��
1825
+ ���Ϸ����򰷤��褦�ˤ��Ƥ��ޤ��������������Υե����ޥåȤǤ�������
1826
+ �ǡ������¤���Τǡ�"-m 7" �� XML �����ν��Ϥ�Ȥ����Ȥ򤪴��ᤷ�ޤ���</p>
1827
+ <p>���Ǥ˸����褦�� Bio::Fasta::Report �� Bio::Blast::Report �� Hit ���֥���
1828
+ ���ȤϤ����Ĥ����̤Υ᥽�åɤ���äƤ��ޤ���BLAST ��ͭ�Υ᥽�åɤ��ɤ���
1829
+ �������ʤ�Τˤ� bit_score �� midline �ʤɤ�����ޤ���</p>
1830
+ <pre>report.each do |hit|
1831
+ puts hit.bit_score # bit ������ (*)
1832
+ puts hit.query_seq # �䤤��碌����
1833
+ puts hit.midline # ���饤���Ȥ� midline ʸ���� (*)
1834
+ puts hit.target_seq # �ҥåȤ�������
1835
+
1836
+ puts hit.evalue # E-value
1837
+ puts hit.identity # % identity
1838
+ puts hit.overlap # �����С���åפ��Ƥ����ΰ��Ĺ��
1839
+ puts hit.query_id # �䤤��碌����� ID
1840
+ puts hit.query_def # �䤤��碌����Υ�����
1841
+ puts hit.query_len # �䤤��碌�����Ĺ��
1842
+ puts hit.target_id # �ҥåȤ�������� ID
1843
+ puts hit.target_def # �ҥåȤ�������Υ�����
1844
+ puts hit.target_len # �ҥåȤ��������Ĺ��
1845
+ puts hit.query_start # ��Ʊ�ΰ���䤤��碌����Ǥγ��ϻĴ����
1846
+ puts hit.query_end # ��Ʊ�ΰ���䤤��碌����Ǥν�λ�Ĵ����
1847
+ puts hit.target_start # ��Ʊ�ΰ�Υ������å�����Ǥγ��ϻĴ����
1848
+ puts hit.target_end # ��Ʊ�ΰ�Υ������å�����Ǥν�λ�Ĵ����
1849
+ puts hit.lap_at # �嵭�����֤ο��ͤ�����
1850
+ end</pre>
1851
+ <p>FASTA�Ȥ�API���̲��Τ���ȴ��ؤΤ��ᡢ�������ʤɤ����Ĥ��ξ����1���ܤ�
1852
+ Hsp (High-scoring segment pair) ���ͤ�Hit���֤��褦�ˤ��Ƥ��ޤ���</p>
1853
+ <p>Bio::Blast::Report ���֥������Ȥϡ��ʲ��˼����褦�ʡ�BLAST�η�̽��Ϥ�
1854
+ �ǡ�����¤�򤽤Τޤ�ȿ�Ǥ�������Ū�ʥǡ�����¤����äƤ��ޤ�������Ū�ˤ�</p>
1855
+ <ul>
1856
+ <li>Bio::Blast::Report ���֥������Ȥ� @iteratinos ��
1857
+ <ul>
1858
+ <li>Bio::Blast::Report::Iteration ���֥������Ȥ� Array �����äƤ���
1859
+ Bio::Blast::Report::Iteration ���֥������Ȥ� @hits ��
1860
+ <ul>
1861
+ <li>Bio::Blast::Report::Hits ���֥������Ȥ� Array �����äƤ���
1862
+ Bio::Blast::Report::Hits ���֥������Ȥ� @hsps ��
1863
+ <ul>
1864
+ <li>Bio::Blast::Report::Hsp ���֥������Ȥ� Array �����äƤ���</li>
1865
+ </ul></li>
1866
+ </ul></li>
1867
+ </ul></li>
1868
+ </ul>
1869
+ <p>�Ȥ������ع�¤�ˤʤäƤ��ꡢ���줾�줬�������ͤ���Ф�����Υ᥽�åɤ�
1870
+ ���äƤ��ޤ��������Υ᥽�åɤξܺ٤䡢BLAST �¹Ԥ����׾���ʤɤ��ͤ�
1871
+ ɬ�פʾ��ˤϡ� bio/appl/blast/*.rb ��Υɥ�����Ȥ�ƥ��ȥ����ɤ�
1872
+ ���Ȥ��Ƥ���������</p>
1873
+ <h3><a name="label-92" id="label-92">��¸�� BLAST ���ϥե������ѡ�������</a></h3><!-- RDLabel: "��¸�� BLAST ���ϥե������ѡ�������" -->
1874
+ <p>BLAST ��¹Ԥ�����̥ե����뤬���Ǥ���¸���Ƥ��äơ��������Ϥ��������
1875
+ �ˤϡ�Bio::Blast ���֥������Ȥ��餺�ˡ� Bio::Blast::Report ���֥�����
1876
+ �Ȥ��ꤿ�����Ȥ������Ȥˤʤ�ޤ�������ˤ� Bio::Blast.reports �᥽�å�
1877
+ ��Ȥ��ޤ����б����Ƥ���Τ� �ǥե���Ƚ��ϥե����ޥå�("-m 0") �ޤ���
1878
+ "-m 7" ���ץ����� XML �ե����ޥåȽ��ϤǤ���</p>
1879
+ <pre>#!/usr/bin/env ruby
1880
+
1881
+ require 'bio'
1882
+
1883
+ # BLAST���Ϥ��˥ѡ������� Bio::Blast::Report ���֥������Ȥ��֤�
1884
+ Bio::Blast.reports(ARGF) do |report|
1885
+ puts "Hits for " + report.query_def + " against " + report.db
1886
+ report.each do |hit|
1887
+ print hit.target_id, "\t", hit.evalue, "\n" if hit.evalue &lt; 0.001
1888
+ end
1889
+ end</pre>
1890
+ <p>�Τ褦�ʥ�����ץ� hits_under_0.001.rb ��񤤤ơ�</p>
1891
+ <pre>% ./hits_under_0.001.rb *.xml</pre>
1892
+ <p>�ʤɤȼ¹Ԥ���С�������Ϳ���� BLAST �η�̥ե����� *.xml ����֤˽�����
1893
+ ���ޤ���</p>
1894
+ <p>Blast �ΥС������� OS �ʤɤˤ�äƽ��Ϥ���� XML �η������ۤʤ��ǽ��
1895
+ �����ꡢ���� XML �Υѡ��������ޤ��Ȥ��ʤ����Ȥ�����褦�Ǥ������ξ���
1896
+ Blast 2.2.5 �ʹߤΥС������򥤥󥹥ȡ��뤹�뤫 -D �� -m �ʤɤΥ��ץ���
1897
+ ����Ȥ߹礻���Ѥ��ƻ�ƤߤƤ���������</p>
1898
+ <h3><a name="label-93" id="label-93">��⡼�ȸ��������Ȥ��ɲä���ˤ�</a></h3><!-- RDLabel: "��⡼�ȸ��������Ȥ��ɲä���ˤ�" -->
1899
+ <p>��: ���Υ��������Ͼ��桼�������Ǥ�����ǽ�Ǥ���� SOAP �ʤɤˤ��
1900
+ �����֥����ӥ������Ѥ��������褤�Ǥ��礦��</p>
1901
+ <p>Blast ������ NCBI ��Ϥ����͡��ʥ����Ȥǥ����ӥ�����Ƥ��ޤ��������ΤȤ�
1902
+ �� BioRuby �Ǥ� GenomeNet �ʳ��ˤ��б����Ƥ��ޤ��󡣤����Υ����Ȥϡ�</p>
1903
+ <ul>
1904
+ <li>CGI ��ƤӽФ��ʥ��ޥ�ɥ饤�󥪥ץ����Ϥ��Υ������Ѥ˽��������</li>
1905
+ <li>-m 8 �ʤ� BioRuby ���ѡ�������äƤ�����ϥե����ޥåȤ� blast ��
1906
+ ���Ϥ���Ф�</li>
1907
+ </ul>
1908
+ <p>���Ȥ����Ǥ���С�query �������äƸ�����̤� Bio::Blast::Report.new ��
1909
+ �Ϥ��褦�ʥ᥽�åɤ������������ǻȤ���褦�ˤʤ�ޤ�������Ū�ˤϡ�����
1910
+ �᥽�åɤ��exec_������̾�פΤ褦��̾���� Bio::Blast �� private �᥽�å�
1911
+ �Ȥ�����Ͽ����ȡ������ܤΰ����ˡ֥�����̾�פ���ꤷ��</p>
1912
+ <pre>factory = Bio::Blast.remote(program, db, option, '������̾')</pre>
1913
+ <p>�Τ褦�˸ƤӽФ���褦�ˤʤäƤ��ޤ������������� BioRuby �ץ��������Ȥ�
1914
+ �����äƤ�館��м����ޤ���ĺ���ޤ���</p>
1915
+ <h2><a name="label-94" id="label-94">PubMed ������ư���ʸ���ꥹ�Ȥ��� (Bio::PubMed ���饹)</a></h2><!-- RDLabel: "PubMed ������ư���ʸ���ꥹ�Ȥ��� (Bio::PubMed ���饹)" -->
1916
+ <p>���ϡ�NCBI ��ʸ���ǡ����١��� PubMed �򸡺����ư���ʸ���ꥹ�Ȥ����������Ǥ���</p>
1917
+ <pre>#!/usr/bin/env ruby
1918
+
1919
+ require 'bio'
1920
+
1921
+ ARGV.each do |id|
1922
+ entry = Bio::PubMed.query(id) # PubMed ��������륯�饹�᥽�å�
1923
+ medline = Bio::MEDLINE.new(entry) # Bio::MEDLINE ���֥�������
1924
+ reference = medline.reference # Bio::Reference ���֥�������
1925
+ puts reference.bibtex # BibTeX �ե����ޥåȤǽ���
1926
+ end</pre>
1927
+ <p>���Υ�����ץȤ� pmfetch.rb �ʤɹ�����̾������¸����</p>
1928
+ <pre>% ./pmfetch.rb 11024183 10592278 10592173</pre>
1929
+ <p>�ʤɰ��Ѥ�������ʸ�� PubMed ID (PMID) ��������¤٤�� NCBI �˥���������
1930
+ �� MEDLINE �ե����ޥåȤ�ѡ����� BibTeX �ե����ޥåȤ��Ѵ����ƽ��Ϥ���
1931
+ �����Ϥ��Ǥ���</p>
1932
+ <p>¾�ˡ�������ɤǸ������뵡ǽ�⤢��ޤ���</p>
1933
+ <pre>#!/usr/bin/env ruby
1934
+
1935
+ require 'bio'
1936
+
1937
+ # ���ޥ�ɥ饤���Ϳ����������ɤΥꥹ�Ȥ򣱤Ĥ�ʸ����ˤ���
1938
+ keywords = ARGV.join(' ')
1939
+
1940
+ # PubMed �򥭡���ɤǸ���
1941
+ entries = Bio::PubMed.search(keywords)
1942
+
1943
+ entries.each do |entry|
1944
+ medline = Bio::MEDLINE.new(entry) # Bio::MEDLINE ���֥�������
1945
+ reference = medline.reference # Bio::Reference ���֥�������
1946
+ puts reference.bibtex # BibTeX �ե����ޥåȤǽ���
1947
+ end</pre>
1948
+ <p>���Υ�����ץȤ� pmsearch.rb �ʤɹ�����̾������¸��</p>
1949
+ <pre>% ./pmsearch.rb genome bioinformatics</pre>
1950
+ <p>�ʤɸ���������������ɤ�������¤٤Ƽ¹Ԥ���ȡ�PubMed �򥭡����
1951
+ �������ƥҥåȤ�����ʸ�Υꥹ�Ȥ� BibTeX �ե����ޥåȤǽ��Ϥ��ޤ���</p>
1952
+ <p>�Ƕ�Ǥϡ�NCBI �� E-Utils �Ȥ��������֥��ץꥱ��������Ȥ����Ȥ�
1953
+ �侩����Ƥ���Τǡ������ Bio::PubMed.esearch �᥽�åɤ����
1954
+ Bio::PubMed.efetch �᥽�åɤ�Ȥ������ɤ��Ǥ��礦��</p>
1955
+ <pre>#!/usr/bin/env ruby
1956
+
1957
+ require 'bio'
1958
+
1959
+ keywords = ARGV.join(' ')
1960
+
1961
+ options = {
1962
+ 'maxdate' =&gt; '2003/05/31',
1963
+ 'retmax' =&gt; 1000,
1964
+ }
1965
+
1966
+ entries = Bio::PubMed.esearch(keywords, options)
1967
+
1968
+ Bio::PubMed.efetch(entries).each do |entry|
1969
+ medline = Bio::MEDLINE.new(entry)
1970
+ reference = medline.reference
1971
+ puts reference.bibtex
1972
+ end</pre>
1973
+ <p>���Υ�����ץȤǤϡ��嵭�� pmsearch.rb �Ȥۤ�Ʊ���褦��ư���ޤ�������ˡ�
1974
+ NCBI E-Utils ����Ѥ��뤳�Ȥˤ�ꡢ�����оݤ����դ����ҥåȷ���ʤɤ�
1975
+ ����Ǥ���褦�ˤʤäƤ���Τǡ����ⵡǽ�Ǥ������ץ�����Ϳ������
1976
+ �����ˤĤ��Ƥ� <a href="http://eutils.ncbi.nlm.nih.gov/entrez/query/static/eutils_help.html">E-Utils �Υإ�ץڡ���</a> �򻲾Ȥ��Ƥ���������</p>
1977
+ <p>���ʤߤˡ������Ǥ� bibtex �᥽�åɤ� BibTeX �ե����ޥåȤ��Ѵ����Ƥ��ޤ�
1978
+ ������ҤΤ褦�� bibitem �᥽�åɤ�Ȥ���¾���ʶ�Ĵ�䥤����å��ʤ�
1979
+ ʸ���ν����ϤǤ��ޤ��󤬡�nature �᥽�åɤ� nar �ʤɡ������Ĥ��λ����
1980
+ �ե����ޥåȤˤ��б����Ƥ��ޤ���</p>
1981
+ <h3><a name="label-95" id="label-95">BibTeX �λȤ����Υ��</a></h3><!-- RDLabel: "BibTeX �λȤ����Υ��" -->
1982
+ <p>�嵭����ǽ��᤿ BibTeX �ե����ޥåȤΥꥹ�Ȥ� TeX �ǻȤ���ˡ���ñ�ˤ�
1983
+ �Ȥ�Ƥ����ޤ������Ѥ�������ʸ����</p>
1984
+ <pre>% ./pmfetch.rb 10592173 &gt;&gt; genoinfo.bib
1985
+ % ./pmsearch.rb genome bioinformatics &gt;&gt; genoinfo.bib</pre>
1986
+ <p>�ʤɤȤ��� genoinfo.bib �ե�����˽������¸���Ƥ�����</p>
1987
+ <pre>\documentclass{jarticle}
1988
+ \begin{document}
1989
+ \bibliographystyle{plain}
1990
+ �ۤˤ��� KEGG �ǡ����١���~\cite{PMID:10592173}�Ϥդ��ۤ��Ǥ��롣
1991
+ \bibliography{genoinfo}
1992
+ \end{document}</pre>
1993
+ <p>�Ȥ����ե����� hoge.tex ��񤤤ơ�</p>
1994
+ <pre>% platex hoge
1995
+ % bibtex hoge # �� genoinfo.bib ���
1996
+ % platex hoge # �� ʸ���ꥹ�Ȥκ���
1997
+ % platex hoge # �� ʸ���ֹ�</pre>
1998
+ <p>�Ȥ����̵�� hoge.dvi ���Ǥ�������ޤ���</p>
1999
+ <h3><a name="label-96" id="label-96">bibitem �λȤ����Υ��</a></h3><!-- RDLabel: "bibitem �λȤ����Υ��" -->
2000
+ <p>ʸ���Ѥ��̤� .bib �ե�������ꤿ���ʤ����� Reference#bibitem �᥽��
2001
+ �ɤν��Ϥ�Ȥ��ޤ����嵭�� pmfetch.rb �� pmsearch.rb ��</p>
2002
+ <pre>puts reference.bibtex</pre>
2003
+ <p>�ιԤ�</p>
2004
+ <pre>puts reference.bibitem</pre>
2005
+ <p>�˽񤭴�����ʤɤ��ơ����Ϸ�̤�</p>
2006
+ <pre>\documentclass{jarticle}
2007
+ \begin{document}
2008
+ �ۤˤ��� KEGG �ǡ����١���~\cite{PMID:10592173}�Ϥդ��ۤ��Ǥ��롣
2009
+
2010
+ \begin{thebibliography}{00}
2011
+
2012
+ \bibitem{PMID:10592173}
2013
+ Kanehisa, M., Goto, S.
2014
+ KEGG: kyoto encyclopedia of genes and genomes.,
2015
+ {\em Nucleic Acids Res}, 28(1):27--30, 2000.
2016
+
2017
+ \end{thebibliography}
2018
+ \end{document}</pre>
2019
+ <p>�Τ褦�� \begin{thebibliography} �ǰϤߤޤ�������� hoge.tex �Ȥ����</p>
2020
+ <pre>% platex hoge # �� ʸ���ꥹ�Ȥκ���
2021
+ % platex hoge # �� ʸ���ֹ�</pre>
2022
+ <p>�ȣ����������ФǤ�������Ǥ���</p>
2023
+ <h1><a name="label-97" id="label-97">OBDA</a></h1><!-- RDLabel: "OBDA" -->
2024
+ <p>OBDA (Open Bio Database Access) �Ȥϡ�Open Bioinformatics Foundation
2025
+ �ˤ�ä����ꤵ�줿������ǡ����١����ؤζ��̥���������ˡ�Ǥ�������ϡ�
2026
+ 2002 ǯ��1���2��� Arizona �� Cape Town �ˤƳ��Ť��줿 BioHackathon
2027
+ �ˤ����ơ�BioPerl, BioJava, BioPython, BioRuby �ʤɤγƥץ��������Ȥ�
2028
+ ���С������ä��ƺ�������ޤ�����</p>
2029
+ <ul>
2030
+ <li>BioRegistry (Directory)
2031
+ <ul>
2032
+ <li>�ǡ����١�����������ɤ��ˤɤΤ褦�˼��˹Ԥ�������ꤹ����Ȥ�</li>
2033
+ </ul></li>
2034
+ <li>BioFlat
2035
+ <ul>
2036
+ <li>�ե�åȥե������ 2 ʬ�ڤޤ��� BDB ��Ȥä�����ǥå�������</li>
2037
+ </ul></li>
2038
+ <li>BioFetch
2039
+ <ul>
2040
+ <li>HTTP ��ͳ�ǥǡ����١������饨��ȥ��������륵���Фȥ��饤�����</li>
2041
+ </ul></li>
2042
+ <li>BioSQL
2043
+ <ul>
2044
+ <li>MySQL �� PostgreSQL �ʤɤδط��ǡ����١���������ǡ������Ǽ����
2045
+ ����� schema �ȡ�����ȥ����Ф�����Υ᥽�å�</li>
2046
+ </ul></li>
2047
+ </ul>
2048
+ <p>�ܺ٤� <a href="http://obda.open-bio.org/">&lt;URL:http://obda.open-bio.org/&gt;</a> �򻲾Ȥ��Ƥ���������
2049
+ ���줾��λ��ͽ�� cvs.open-bio.org �� CVS��ݥ��ȥ���֤��Ƥ���ޤ���
2050
+ �ޤ��ϡ�<a href="http://cvs.open-bio.org/cgi-bin/viewcvs/viewcvs.cgi/obda-specs/?cvsroot=obf-common">&lt;URL:http://cvs.open-bio.org/cgi-bin/viewcvs/viewcvs.cgi/obda-specs/?cvsroot=obf-common&gt;</a> ���黲�ȤǤ��ޤ���</p>
2051
+ <h2><a name="label-98" id="label-98">BioRegistry</a></h2><!-- RDLabel: "BioRegistry" -->
2052
+ <p>BioRegistry�Ȥϡ�����ե�����ˤ�äƳƥǡ����١����Υ���ȥ������ˡ��
2053
+ ���ꤹ�뤳�Ȥˤ�ꡢ�ɤ����ˡ��ȤäƤ��뤫��ۤȤ�ɰռ������ǡ�����
2054
+ �������뤳�Ȥ��ǽ�Ȥ��뤿��λ��ȤߤǤ���
2055
+ ����ե������ͥ���̤�</p>
2056
+ <ul>
2057
+ <li>(�᥽�åɤΥѥ�᡼����)���ꤷ���ե�����</li>
2058
+ <li>~/.bioinformatics/seqdatabase.ini</li>
2059
+ <li>/etc/bioinformatics/seqdatabase.ini</li>
2060
+ <li>http://www.open-bio.org/registry/seqdatabase.ini</li>
2061
+ </ul>
2062
+ <p>�Ǹ�� open-bio.org ������ϡ��������������ե����뤬���Ĥ���ʤ�����
2063
+ �������Ȥ��ޤ���</p>
2064
+ <p>BioRuby �θ��ߤμ����Ǥϡ����٤ƤΥ������������ե�������ɤ߹��ߡ�
2065
+ Ʊ��̾�������꤬ʣ��¸�ߤ������ϡ��ǽ�˸��Ĥ��ä�������������Ѥ���ޤ���
2066
+ ��������Ѥ���ȡ����Ȥ��С������ƥ�����Ԥ� /etc/bioinformatics/ ���֤���
2067
+ ����Τ����Ŀ�Ū���ѹ���������Τ��� ~/.bioinformatics/ �Ǿ�񤭤��뤳�Ȥ�
2068
+ �Ǥ��ޤ�������ץ�� seqdatabase.ini �ե����뤬 bioruby �Υ������˴ޤޤ��
2069
+ ���ޤ��Τǻ��Ȥ��Ƥ���������</p>
2070
+ <p>����ե��������Ȥ� stanza �ե����ޥåȤȸƤФ��񼰤ǵ��Ҥ��ޤ���</p>
2071
+ <pre>[�ǡ����١���̾]
2072
+ protocol=�ץ��ȥ���̾
2073
+ location=������̾</pre>
2074
+ <p>���Τ褦�ʥ���ȥ��ƥǡ����١����ˤĤ��Ƶ��Ҥ��뤳�Ȥˤʤ�ޤ���
2075
+ �ǡ����١���̾�ϡ���ʬ�����Ѥ��뤿��Υ�٥�ʤΤ�ʬ����䤹����Τ�
2076
+ �Ĥ�����ɤ����ºݤΥǡ����١�����̾���ȰۤʤäƤ��Ƥ⹽��ʤ��褦�Ǥ���
2077
+ Ʊ��̾���Υǡ����١�����ʣ������Ȥ��Ϻǽ�˽񤫤�Ƥ����Τ�����
2078
+ ��³���褦�˻��ͽ�Ǥ���Ƥ���Ƥ��ޤ��������ΤȤ��� BioRuby �Ǥ�
2079
+ ����ˤ��б����Ƥ��ޤ���</p>
2080
+ <p>�ޤ����ץ��ȥ���μ���ˤ�äƤ� location �ʳ��ˤ��MySQL �Υ桼��̾�ʤɡ�
2081
+ �ɲäΥ��ץ����򵭽Ҥ���ɬ�פ�����ޤ������ߤΤȤ��������ͽ�ǵ��ꤵ��
2082
+ �Ƥ��� protocol �Ȥ��Ƥϰʲ��Τ�Τ�����ޤ���</p>
2083
+ <ul>
2084
+ <li>index-flat</li>
2085
+ <li>index-berkeleydb</li>
2086
+ <li>biofetch</li>
2087
+ <li>biosql</li>
2088
+ <li>bsane-corba</li>
2089
+ <li>xembl</li>
2090
+ </ul>
2091
+ <p>���ΤȤ��� BioRuby �ǻ��Ѳ�ǽ�ʤΤ� index-flat, index-berkleydb, biofetch
2092
+ �� biosql �����Ǥ����ޤ���BioRegistry��ƥץ��ȥ���λ��ͤ��ѹ�����뤳��
2093
+ ������ޤ�����BioRuby�Ϥ�����ɽ��Ǥ��Ƥ��ʤ����⤷��ޤ���</p>
2094
+ <p>BioRegistry ��Ȥ��ˤϡ��ޤ� Bio::Registry���֥������Ȥ�������ޤ���
2095
+ ����ȡ�����ե����뤬�ɤ߹��ޤ�ޤ���</p>
2096
+ <pre>reg = Bio::Registry.new
2097
+
2098
+ # ����ե�����˽񤤤��ǡ����١���̾�ǥ����Ф���³
2099
+ serv = reg.get_database('genbank')
2100
+
2101
+ # ID ����ꤷ�ƥ���ȥ�����
2102
+ entry = serv.get_by_id('AA2CG')</pre>
2103
+ <p>������ serv ������ե������ [genbank] ����ǻ��ꤷ�� protocol �ץ��ȥ�
2104
+ ����б����륵���Х��֥������Ȥǡ�Bio::SQL �� Bio::Fetch �ʤɤΥ��󥹥�
2105
+ �󥹤��֤äƤ���Ϥ��Ǥ��ʥǡ����١���̾�����Ĥ���ʤ��ä����� nil�ˡ�</p>
2106
+ <p>���Ȥ� OBDA ���̤Υ���ȥ�����᥽�å� get_by_id ��Ƥ���ꡢ�����Х�
2107
+ �֥���������˸�ͭ�Υ᥽�åɤ�Ƥ֤��Ȥˤʤ�ޤ��Τǡ��ʲ��� BioFetch ��
2108
+ BioSQL �β���򻲾Ȥ��Ƥ���������</p>
2109
+ <h2><a name="label-99" id="label-99">BioFlat</a></h2><!-- RDLabel: "BioFlat" -->
2110
+ <p>BioFlat �ϥե�åȥե�������Ф��ƥ���ǥå����������������ȥ���®��
2111
+ ���Ф����ȤߤǤ�������ǥå����μ���ϡ�RUby�γ�ĥ�饤�֥��˰�¸���ʤ�
2112
+ index-flat �� Berkeley DB (bdb) ��Ȥä� index-berkeleydb ��2���ब¸��
2113
+ ���ޤ����ʤ���index-berkeleydb ����Ѥ���ˤϡ�BDB �Ȥ��� Ruby �γ�ĥ
2114
+ �饤�֥������ӥ��󥹥ȡ��뤹��ɬ�פ�����ޤ�������ǥå����κ����ˤ�
2115
+ bioruby �ѥå���������°���� br_bioflat.rb ���ޥ�ɤ�Ȥäơ�</p>
2116
+ <pre>% br_bioflat.rb --makeindex �ǡ����١���̾ [--format ���饹̾] �ե�����̾</pre>
2117
+ <p>�Τ褦�ˤ��ޤ���BioRuby�ϥǡ����ե����ޥåȤμ�ưǧ����ǽ����ܤ��Ƥ���
2118
+ �Τ� --format ���ץ����Ͼ�ά��ǽ�Ǥ��������줦�ޤ�ǧ�����ʤ��ä�����
2119
+ BioRuby �γƥǡ����١����Υ��饹̾����ꤷ�Ƥ��������������ϡ�</p>
2120
+ <pre>% bioflat �ǡ����١���̾ ����ȥ�ID</pre>
2121
+ <p>�Ȥ��ޤ�������Ū�� GenBank �� gbbct*.seq �ե�����˥���ǥå����������
2122
+ �Ƹ��������硢</p>
2123
+ <pre>% bioflat --makeindex my_bctdb --format GenBank gbbct*.seq
2124
+ % bioflat my_bctdb A16STM262</pre>
2125
+ <p>�Τ褦�ʴ����ˤʤ�ޤ���</p>
2126
+ <p>Ruby �� bdb ��ĥ�⥸�塼��(�ܺ٤� http://raa.ruby-lang.org/project/bdb/ ����)
2127
+ �����󥹥ȡ��뤵��Ƥ������ Berkeley DB �����Ѥ��ƥ���ǥå������������
2128
+ ���Ȥ��Ǥ��ޤ������ξ�硢</p>
2129
+ <pre>% bioflat --makeindex-bdb �ǡ����١���̾ [--format ���饹̾] �ե�����̾</pre>
2130
+ <p>�Τ褦�� "--makeindex" �Τ����� "--makeindex-bdb" ����ꤷ�ޤ���</p>
2131
+ <h2><a name="label-100" id="label-100">BioFetch</a></h2><!-- RDLabel: "BioFetch" -->
2132
+ <p>BioFetch �� CGI ���ͳ���ƥ����Ф���ǡ����١����Υ���ȥ������������
2133
+ �ǡ������Ф�������� CGI �Υ��ץ����̾�����顼�����ɤʤɤ������Ƥ�
2134
+ �ޤ������饤����Ȥ� HTTP ��Ȥäƥǡ����١�����ID���ե����ޥåȤʤɤ��
2135
+ �ꤷ������ȥ��������ޤ���</p>
2136
+ <p>BioRuby �ץ��������ȤǤ� GenomeNet �� DBGET �����ƥ��Хå�����ɤȤ���
2137
+ BioFetch �����Ф�������Ƥ��ꡢbioruby.org �DZ��Ѥ��Ƥ��ޤ������Υ����Ф�
2138
+ �����������ɤ� BioRuby �� sample/ �ǥ��쥯�ȥ�����äƤ��ޤ������ߤΤȤ���
2139
+ BioFetch �����ФϤ��� bioruby.org �Τ�Τ� EBI ���󤫽ꤷ������ޤ���</p>
2140
+ <p>BioFetch ��Ȥäƥ���ȥ���������ˤϡ������Ĥ�����ˡ������ޤ���</p>
2141
+ <ol>
2142
+ <li><p>�����֥֥饦�����鸡��������ˡ�ʰʲ��Υڡ����򳫤���</p>
2143
+ <pre>http://bioruby.org/cgi-bin/biofetch.rb</pre></li>
2144
+ <li><p>BioRuby��°�� br_biofetch.rb ���ޥ�ɤ��Ѥ�����ˡ</p>
2145
+ <pre>% br_biofetch.rb db_name entry_id</pre></li>
2146
+ <li><p>������ץȤ��椫�� Bio::Fetch ���饹��ľ�ܻȤ���ˡ</p>
2147
+ <pre>serv = Bio::Fetch.new(server_url)
2148
+ entry = serv.fetch(db_name, entry_id)</pre></li>
2149
+ <li><p>������ץȤ���� BioRegistry ��ͳ�� Bio::Fetch ���饹�����Ū�˻Ȥ���ˡ</p>
2150
+ <pre>reg = Bio::Registry.new
2151
+ serv = reg.get_database('genbank')
2152
+ entry = serv.get_by_id('AA2CG')</pre></li>
2153
+ </ol>
2154
+ <p>�⤷ (4) ��Ȥ��������� seqdatabase.ini ��</p>
2155
+ <pre>[genbank]
2156
+ protocol=biofetch
2157
+ location=http://bioruby.org/cgi-bin/biofetch.rb
2158
+ biodbname=genbank</pre>
2159
+ <p>�ʤɤȻ��ꤷ�Ƥ���ɬ�פ�����ޤ���</p>
2160
+ <h3><a name="label-101" id="label-101">BioFetch �� Bio::KEGG::GENES, Bio::AAindex1 ���Ȥ߹�碌����</a></h3><!-- RDLabel: "BioFetch �� Bio::KEGG::GENES, Bio::AAindex1 ���Ȥ߹�碌����" -->
2161
+ <p>���Υץ������ϡ�BioFetch ��Ȥä� KEGG �� GENES �ǡ����١�������źٶ�
2162
+ Halobacterium �ΥХ��ƥꥢ���ɥץ�������� (VNG1467G) ���äƤ��ơ�Ʊ��
2163
+ �褦�˥��ߥλ���ɸ�ǡ����١����Ǥ��� AAindex ��������������إ�å�����
2164
+ ��ɸ (BURA740101) ��Ȥäơ��� 15 �Ĵ�Υ�����ɥ��������򤹤���Ǥ���</p>
2165
+ <pre>#!/usr/bin/env ruby
2166
+
2167
+ require 'bio'
2168
+
2169
+ entry = Bio::Fetch.query('hal', 'VNG1467G')
2170
+ aaseq = Bio::KEGG::GENES.new(entry).aaseq
2171
+
2172
+ entry = Bio::Fetch.query('aax1', 'BURA740101')
2173
+ helix = Bio::AAindex1.new(entry).index
2174
+
2175
+ position = 1
2176
+ win_size = 15
2177
+
2178
+ aaseq.window_search(win_size) do |subseq|
2179
+ score = subseq.total(helix)
2180
+ puts [ position, score ].join("\t")
2181
+ position += 1
2182
+ end</pre>
2183
+ <p>�����ǻȤäƤ��륯�饹�᥽�å� Bio::Fetch.query �ϰ��ۤ� bioruby.org ��
2184
+ BioFetch �����Ф�Ȥ����ѤΥ��硼�ȥ��åȤǤ����ʤ��Υ����Ф�����Ū�ˤ�
2185
+ ���Υ�ͥåȤ���ǡ�����������Ƥ��ޤ���KEGG/GENES �ǡ����١����� hal ��
2186
+ AAindex �ǡ����١��� aax1 �Υ���ȥ�ϡ�¾�� BioFetch �����ФǤϼ����Ǥ�
2187
+ �ʤ����Ȥ⤢�äơ������� query �᥽�åɤ�ȤäƤ��ޤ�����</p>
2188
+ <h2><a name="label-102" id="label-102">BioSQL</a></h2><!-- RDLabel: "BioSQL" -->
2189
+ <p>to be written...</p>
2190
+ <h2><a name="label-103" id="label-103">BioRuby �Υ���ץ�ץ������λȤ���</a></h2><!-- RDLabel: "BioRuby �Υ���ץ�ץ������λȤ���" -->
2191
+ <p>BioRuby �Υѥå������ˤ� samples/ �ǥ��쥯�ȥ�ʲ��ˤ����Ĥ��Υ���ץ��
2192
+ ������ब�ޤޤ�Ƥ��ޤ����Ť���Τ⺮���äƤ��ޤ������̤�ȤƤ⽽ʬ�Ȥ�
2193
+ �����ʤ��Τǡ�����Ū�����򤤥���ץ���󶡤ϴ��ޤǤ���</p>
2194
+ <p>to be written...</p>
2195
+ <h2><a name="label-104" id="label-104">����ʤ����</a></h2><!-- RDLabel: "����ʤ����" -->
2196
+ <p>¾�Υ��塼�ȥꥢ��Ū�ʥɥ�����ȤȤ��Ƥϡ�BioRuby Wiki���֤��Ƥ���
2197
+ BioRuby in Anger ������ޤ���</p>
2198
+ <h2><a name="label-105" id="label-105">����</a></h2><!-- RDLabel: "����" -->
2199
+ <ul>
2200
+ <li><p>(��1) BioRuby 1.2.1 �����ΥС������Ǥϡ�setup.rb �Τ����� install.rb
2201
+ ����Ѥ��ޤ����ޤ����ʲ��Τ褦��3�ʳ���Ƨ��ɬ�פ�����ޤ���</p>
2202
+ <pre>% ruby install.rb config
2203
+ % ruby install.rb setup
2204
+ # ruby install.rb install</pre></li>
2205
+ <li>(��2) BioRuby 1.0.0 �����ΥС������Ǥϡ�getseq, getent, getobj
2206
+ �γƥ��ޥ�ɤΤ����ˡ�seq, ent, obj �γƥ��ޥ�ɤ���Ѥ��Ƥ���������</li>
2207
+ <li><p>(��3) BioRuby 0.7.1 �����ΥС������Ǥϡ�Bio::Sequence::NA ���饹����
2208
+ Bio::sequence::AA ���饹�Τɤ��餫�Υ��֥������Ȥˤʤ�ޤ���
2209
+ ���󤬤ɤ���Υ��饹��°���뤫�� Ruby �� class �᥽�åɤ��Ѥ���</p>
2210
+ <pre>bioruby&gt; p cdc2.class
2211
+ Bio::Sequence::AA
2212
+
2213
+ bioruby&gt; p psaB.class
2214
+ Bio::Sequence::NA</pre>
2215
+ <p>�Τ褦��Ĵ�٤뤳�Ȥ��Ǥ��ޤ�����ưȽ�꤬�ְ�äƤ�����ʤɤˤ�
2216
+ to_naseq, to_aaseq �᥽�åɤǶ���Ū���Ѵ��Ǥ��ޤ���</p></li>
2217
+ <li>(��4) seq �᥽�åɤϡ��ɤ߹�����ǡ����μ���ˤ�äƤϡ����𡦥��ߥλ���
2218
+ �ɤ���ˤ����ƤϤޤ�ʤ�����Τ���� Bio::Sequence::Generic ���饹��
2219
+ String ���饹�Υ��֥������Ȥ��֤���礬���뤫�⤷��ޤ���</li>
2220
+ <li>(��5) NCBI, EBI, TogoWS �����̤�����̵���� getseq, getent, getobj ���ޥ��
2221
+ �������Ѳ�ǽ�Ȥʤä��Τ� BioRuby 1.3.0 �ʹߤǤ���</li>
2222
+ </ul>
2223
+
2224
+ </body>
2225
+ </html>