bio 0.7.0

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