bio 1.2.1 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
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>