bio 0.7.0

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