bio 1.4.3.0001 → 1.5.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 (158) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +39 -33
  3. data/BSDL +22 -0
  4. data/COPYING +2 -2
  5. data/COPYING.ja +36 -36
  6. data/ChangeLog +2404 -1025
  7. data/KNOWN_ISSUES.rdoc +15 -55
  8. data/README.rdoc +17 -23
  9. data/RELEASE_NOTES.rdoc +246 -183
  10. data/Rakefile +3 -2
  11. data/bin/br_biofetch.rb +29 -5
  12. data/bioruby.gemspec +15 -32
  13. data/bioruby.gemspec.erb +10 -20
  14. data/doc/ChangeLog-1.4.3 +1478 -0
  15. data/doc/RELEASE_NOTES-1.4.3.rdoc +204 -0
  16. data/doc/Tutorial.rd +0 -6
  17. data/doc/Tutorial.rd.html +7 -12
  18. data/doc/Tutorial.rd.ja +960 -1064
  19. data/doc/Tutorial.rd.ja.html +977 -1067
  20. data/gemfiles/Gemfile.travis-jruby1.8 +2 -1
  21. data/gemfiles/Gemfile.travis-jruby1.9 +2 -4
  22. data/gemfiles/Gemfile.travis-rbx +13 -0
  23. data/gemfiles/Gemfile.travis-ruby1.8 +2 -1
  24. data/gemfiles/Gemfile.travis-ruby1.9 +2 -4
  25. data/gemfiles/Gemfile.travis-ruby2.2 +9 -0
  26. data/lib/bio.rb +10 -43
  27. data/lib/bio/alignment.rb +8 -14
  28. data/lib/bio/appl/blast.rb +1 -2
  29. data/lib/bio/appl/blast/format0.rb +18 -7
  30. data/lib/bio/appl/blast/remote.rb +0 -9
  31. data/lib/bio/appl/blast/report.rb +1 -1
  32. data/lib/bio/appl/clustalw/report.rb +3 -1
  33. data/lib/bio/appl/genscan/report.rb +1 -2
  34. data/lib/bio/appl/iprscan/report.rb +1 -2
  35. data/lib/bio/appl/meme/mast.rb +4 -4
  36. data/lib/bio/appl/meme/mast/report.rb +1 -1
  37. data/lib/bio/appl/paml/codeml.rb +2 -2
  38. data/lib/bio/appl/paml/codeml/report.rb +1 -0
  39. data/lib/bio/appl/paml/common.rb +1 -1
  40. data/lib/bio/appl/sosui/report.rb +1 -2
  41. data/lib/bio/command.rb +62 -2
  42. data/lib/bio/data/aa.rb +13 -31
  43. data/lib/bio/data/codontable.rb +1 -2
  44. data/lib/bio/db/biosql/biosql_to_biosequence.rb +1 -0
  45. data/lib/bio/db/biosql/sequence.rb +1 -1
  46. data/lib/bio/db/embl/common.rb +1 -1
  47. data/lib/bio/db/embl/embl.rb +5 -4
  48. data/lib/bio/db/embl/format_embl.rb +3 -3
  49. data/lib/bio/db/embl/sptr.rb +9 -1444
  50. data/lib/bio/db/embl/swissprot.rb +12 -29
  51. data/lib/bio/db/embl/trembl.rb +13 -30
  52. data/lib/bio/db/embl/uniprot.rb +12 -29
  53. data/lib/bio/db/embl/uniprotkb.rb +1455 -0
  54. data/lib/bio/db/fasta.rb +17 -0
  55. data/lib/bio/db/fasta/defline.rb +1 -3
  56. data/lib/bio/db/fastq.rb +1 -1
  57. data/lib/bio/db/genbank/ddbj.rb +9 -5
  58. data/lib/bio/db/genbank/refseq.rb +11 -3
  59. data/lib/bio/db/gff.rb +3 -4
  60. data/lib/bio/db/go.rb +5 -6
  61. data/lib/bio/db/kegg/module.rb +4 -5
  62. data/lib/bio/db/kegg/pathway.rb +4 -5
  63. data/lib/bio/db/kegg/reaction.rb +1 -1
  64. data/lib/bio/db/nexus.rb +3 -2
  65. data/lib/bio/db/pdb/pdb.rb +2 -2
  66. data/lib/bio/db/phyloxml/phyloxml_elements.rb +82 -59
  67. data/lib/bio/db/phyloxml/phyloxml_parser.rb +2 -2
  68. data/lib/bio/db/phyloxml/phyloxml_writer.rb +1 -2
  69. data/lib/bio/db/sanger_chromatogram/chromatogram.rb +1 -2
  70. data/lib/bio/db/transfac.rb +1 -1
  71. data/lib/bio/io/das.rb +40 -41
  72. data/lib/bio/io/fastacmd.rb +0 -16
  73. data/lib/bio/io/fetch.rb +111 -55
  74. data/lib/bio/io/flatfile/buffer.rb +4 -5
  75. data/lib/bio/io/hinv.rb +2 -3
  76. data/lib/bio/io/ncbirest.rb +43 -6
  77. data/lib/bio/io/pubmed.rb +76 -81
  78. data/lib/bio/io/togows.rb +33 -10
  79. data/lib/bio/map.rb +1 -1
  80. data/lib/bio/pathway.rb +1 -1
  81. data/lib/bio/sequence/compat.rb +1 -1
  82. data/lib/bio/sequence/na.rb +63 -12
  83. data/lib/bio/shell.rb +0 -2
  84. data/lib/bio/shell/core.rb +5 -6
  85. data/lib/bio/shell/interface.rb +3 -4
  86. data/lib/bio/shell/irb.rb +1 -2
  87. data/lib/bio/shell/plugin/entry.rb +2 -3
  88. data/lib/bio/shell/plugin/seq.rb +7 -6
  89. data/lib/bio/shell/setup.rb +1 -2
  90. data/lib/bio/tree.rb +2 -2
  91. data/lib/bio/util/contingency_table.rb +0 -2
  92. data/lib/bio/util/restriction_enzyme/range/sequence_range.rb +2 -2
  93. data/lib/bio/util/sirna.rb +76 -16
  94. data/lib/bio/version.rb +8 -9
  95. data/sample/benchmark_clustalw_report.rb +47 -0
  96. data/sample/biofetch.rb +248 -151
  97. data/setup.rb +6 -7
  98. data/test/data/clustalw/example1-seqnos.aln +58 -0
  99. data/test/network/bio/appl/blast/test_remote.rb +1 -15
  100. data/test/network/bio/appl/test_blast.rb +0 -12
  101. data/test/network/bio/io/test_pubmed.rb +49 -0
  102. data/test/network/bio/io/test_togows.rb +0 -1
  103. data/test/network/bio/test_command.rb +65 -2
  104. data/test/unit/bio/appl/bl2seq/test_report.rb +0 -1
  105. data/test/unit/bio/appl/blast/test_report.rb +110 -48
  106. data/test/unit/bio/appl/clustalw/test_report.rb +67 -51
  107. data/test/unit/bio/appl/sim4/test_report.rb +46 -17
  108. data/test/unit/bio/appl/test_blast.rb +2 -2
  109. data/test/unit/bio/db/embl/test_embl.rb +0 -1
  110. data/test/unit/bio/db/embl/test_embl_rel89.rb +0 -1
  111. data/test/unit/bio/db/embl/{test_sptr.rb → test_uniprotkb.rb} +111 -115
  112. data/test/unit/bio/db/embl/{test_uniprot_new_part.rb → test_uniprotkb_new_part.rb} +11 -11
  113. data/test/unit/bio/db/genbank/test_genbank.rb +10 -4
  114. data/test/unit/bio/db/pdb/test_pdb.rb +14 -8
  115. data/test/unit/bio/db/test_fasta.rb +41 -1
  116. data/test/unit/bio/db/test_fastq.rb +14 -4
  117. data/test/unit/bio/db/test_gff.rb +2 -2
  118. data/test/unit/bio/db/test_phyloxml.rb +30 -30
  119. data/test/unit/bio/db/test_phyloxml_writer.rb +2 -2
  120. data/test/unit/bio/io/flatfile/test_autodetection.rb +1 -2
  121. data/test/unit/bio/io/flatfile/test_buffer.rb +7 -1
  122. data/test/unit/bio/io/flatfile/test_splitter.rb +1 -1
  123. data/test/unit/bio/io/test_togows.rb +3 -2
  124. data/test/unit/bio/sequence/test_dblink.rb +1 -1
  125. data/test/unit/bio/sequence/test_na.rb +3 -1
  126. data/test/unit/bio/test_alignment.rb +1 -2
  127. data/test/unit/bio/test_command.rb +5 -4
  128. data/test/unit/bio/test_db.rb +4 -2
  129. data/test/unit/bio/test_pathway.rb +25 -10
  130. data/test/unit/bio/util/test_sirna.rb +22 -22
  131. metadata +656 -1430
  132. data/doc/KEGG_API.rd +0 -1843
  133. data/doc/KEGG_API.rd.ja +0 -1834
  134. data/extconf.rb +0 -2
  135. data/lib/bio/appl/blast/ddbj.rb +0 -131
  136. data/lib/bio/db/kegg/taxonomy.rb +0 -280
  137. data/lib/bio/io/dbget.rb +0 -194
  138. data/lib/bio/io/ddbjrest.rb +0 -344
  139. data/lib/bio/io/ddbjxml.rb +0 -458
  140. data/lib/bio/io/ebisoap.rb +0 -158
  141. data/lib/bio/io/ensembl.rb +0 -229
  142. data/lib/bio/io/higet.rb +0 -73
  143. data/lib/bio/io/keggapi.rb +0 -363
  144. data/lib/bio/io/ncbisoap.rb +0 -156
  145. data/lib/bio/io/soapwsdl.rb +0 -119
  146. data/lib/bio/shell/plugin/keggapi.rb +0 -181
  147. data/lib/bio/shell/plugin/soap.rb +0 -87
  148. data/sample/dbget +0 -37
  149. data/sample/demo_ddbjxml.rb +0 -212
  150. data/sample/demo_kegg_taxonomy.rb +0 -92
  151. data/sample/demo_keggapi.rb +0 -502
  152. data/sample/psortplot_html.rb +0 -214
  153. data/test/network/bio/io/test_ddbjrest.rb +0 -47
  154. data/test/network/bio/io/test_ensembl.rb +0 -230
  155. data/test/network/bio/io/test_soapwsdl.rb +0 -53
  156. data/test/unit/bio/io/test_ddbjxml.rb +0 -81
  157. data/test/unit/bio/io/test_ensembl.rb +0 -111
  158. data/test/unit/bio/io/test_soapwsdl.rb +0 -33
@@ -0,0 +1,204 @@
1
+ = BioRuby 1.4.3 RELEASE NOTES
2
+
3
+ A lot of changes have been made to the BioRuby 1.4.3 after the version 1.4.2
4
+ is released. This document describes important and/or incompatible changes
5
+ since the BioRuby 1.4.2 release.
6
+
7
+ For known problems, see KNOWN_ISSUES.rdoc.
8
+
9
+ == New features
10
+
11
+ === Bio::KEGG::KGML
12
+
13
+ * New class Bio::KEGG::KGML::Graphics for storing a graphics element.
14
+ In the instance of the class, "coords" attribute is now available.
15
+ * New class Bio::KEGG::KGML::Substrate for storing a substrate element.
16
+ * New class Bio::KEGG::KGML::Product for storing a product element.
17
+ * New method Bio::KEGG::KGML::Reaction#id.
18
+ * Improve RDoc documentation.
19
+ * Unit tests are added.
20
+ * There are incompatible changes. See Incompatible changes below.
21
+
22
+ == Improvements
23
+
24
+ === Portability running on JRuby and Rubinius
25
+
26
+ Many failures and errors running on JRuby and Rubinius are resolved.
27
+ Some of them are due to BioRuby bugs, and some of them are due to JRuby or
28
+ Rubinius bugs. Artem Tarasov reported bugs in BioRuby and submitted bug
29
+ reports to Rubinius. Clayton Wheeler and Naohisa Goto fixed bugs in BioRuby
30
+ and submitted bug reports to JRuby.
31
+
32
+ === Testing on Travis CI
33
+
34
+ BioRuby is now using Travis CI (http://travis-ci.org/), a hosted continuous
35
+ integration service for the open source community.
36
+
37
+ == Bug fixes
38
+
39
+ === Strange behavior related with "circular require" is fixed
40
+
41
+ Fixed: In previous versions, some bioruby files may be required more than
42
+ two times, and this sometimes causes strange behavior, depending on the
43
+ order of files in the disk. In particular, unit tests running on JRuby
44
+ sometimes crashes with strange errors. In BioRuby 1.4.3, almost all require
45
+ and autoload lines are revised and are changed to avoid circular require.
46
+ This also fixes crash on JRuby due to JRuby's autoload bug.
47
+
48
+ === Other bug fixes
49
+
50
+ * Fixed: Genomenet remote BLAST does not work.
51
+ * Fixed: Bio::KEGG::KGML ignores "coords" field.
52
+ * Fixed: Bio::NucleicAcid.to_re("s") typo
53
+ * To suppress rare failure of chi-square equiprobability tests for
54
+ Bio::Sequence::Common#randomize, test code changed to retry up to 10 times
55
+ if the chi-square test fails. The assertion fails if the chi-square test
56
+ fails 10 consecutive times, and this strongly suggests bugs in codes or in
57
+ the random number generator.
58
+ * Fixed: Bio::EMBL#os raises RuntimeError. The fix includes incompatible
59
+ change. See below "Incompatible changes".
60
+ * Fixed: bin/bioruby: Failed to save object with error message "can't convert
61
+ Symbol into String" on Ruby 1.9.
62
+
63
+ == Incompatible changes and removed features
64
+
65
+ === Bio::FlatFile use binmode (binary mode) when opening a file
66
+
67
+ In Bio::FlatFile.open and Bio::FlatFile.auto, binmode (binary mode) is used
68
+ by default when opening a file, unless text mode is explicitly specified
69
+ with open mode string or with options. Due to the change, files using CR+LF
70
+ line separator might not be read correctly.
71
+
72
+ === Broader FASTQ file recognition
73
+
74
+ Because PacBio RS sequencer may produce kilobases long reads and read buffer
75
+ size (default 31 lines) for file format detection may not be sufficient to
76
+ find the second id line starting with "+", the regular expression for FASTQ
77
+ is truncated only to check the first id line starting with "@".
78
+
79
+ === Bio::KEGG::KGML
80
+
81
+ * Bio::KEGG::KGML::Reaction#substrates and Bio::KEGG::KGML::Reaction#products
82
+ are changed to return an array containing Bio::KEGG::KGML::Substrate and
83
+ Bio::KEGG::KGML::Product objects, respectively. The changes enables us to
84
+ get ID of substrates and products that were thrown away in the previous
85
+ versions.
86
+ * Most attribute methods that were different from the KGML attribute names
87
+ are renamed to the names compatible with the KGML attribute names. Old
88
+ method names are changed to aliases of them and marked as deprecated.
89
+ The old names will be removed in the future.
90
+ * Bio::KEGG::KGML::Entry#id (old name: entry_id)
91
+ * Bio::KEGG::KGML::Entry#type (old name: category)
92
+ * Bio::KEGG::KGML::Entry#entry1 (old name: node1)
93
+ * Bio::KEGG::KGML::Entry#entry2 (old name: node2)
94
+ * Bio::KEGG::KGML::Entry#type (old name: rel)
95
+ * Bio::KEGG::KGML::Reaction#name (old name: entry_id)
96
+ * Bio::KEGG::KGML::Reaction#type (old name: direction)
97
+ * Following attribute methods are deprecated because two or more graphics
98
+ elements may exist in an entry element. They will be removed in the future.
99
+ Instead, please use instance methods of Bio::KEGG::KGML::Graphics, which
100
+ can be obtained from Bio::KEGG::KGML::Entry#graphics attribute.
101
+ * Bio::KEGG::KGML::Entry#label
102
+ * Bio::KEGG::KGML::Entry#shape
103
+ * Bio::KEGG::KGML::Entry#x
104
+ * Bio::KEGG::KGML::Entry#y
105
+ * Bio::KEGG::KGML::Entry#width
106
+ * Bio::KEGG::KGML::Entry#height
107
+ * Bio::KEGG::KGML::Entry#fgcolor
108
+ * Bio::KEGG::KGML::Entry#bgcolor
109
+
110
+ === Bio::EMBL#os
111
+
112
+ Bio::EMBL#os, returns parser result of the EMBL OS line, no longer splits
113
+ the content with comma, and it no longer raises error even if the OS line
114
+ is not in the "Genus species (name)" format. The changes may affect the
115
+ parsing of old EMBL files which contain two or more species names in an
116
+ OS line.
117
+
118
+ Note that Bio::EMBL#os returns an Array containing several Hash objects,
119
+ and the argument is always ignored. The return value type and the meaning
120
+ of the argument might be changed in the future.
121
+
122
+ === Tests
123
+
124
+ * Tests using network connections are moved under test/network/.
125
+ To invoke these tests, run "rake test-network".
126
+ * BIORUBY_TEST_LIB environment variable
127
+ * The directory name specified with BIORUBY_TEST_LIB is always added on the
128
+ top of $LOAD_PATH even if it is already included in the middle of
129
+ $LOAD_PATH.
130
+ * When BIORUBY_TEST_LIB is empty, it no longer add an empty string to
131
+ $LOAD_PATH.
132
+ * BIORUBY_TEST_LIB is ignored when BIORUBY_TEST_GEM is set.
133
+ * BIORUBY_TEST_GEM environment variable
134
+ * New environment variable BIORUBY_TEST_GEM for testing installed
135
+ bio-X.X.X gem. Version number can be specified.
136
+ See the following examples with/without the version number:
137
+ * % env BIORUBY_TEST_GEM=1.4.2.5000 ruby test/runner.rb
138
+ * % env BIORUBY_TEST_GEM="" ruby test/runner.rb
139
+
140
+ === Other removed features
141
+
142
+ * rdoc.zsh is removed because it have not been used for a long time.
143
+
144
+ == Known issues
145
+
146
+ The following issues are added or updated. See KNOWN_ISSUES.rdoc for other
147
+ already known issues.
148
+
149
+ === JRuby
150
+
151
+ On JRuby, errors may be raised due to the following unfixed bugs in JRuby.
152
+
153
+ * {JRUBY-6195}[http://jira.codehaus.org/browse/JRUBY-6195] Process.spawn
154
+ (and related methods) ignore option hash
155
+ * {JRUBY-6818}[http://jira.codehaus.org/browse/JRUBY-6818] Kernel.exec,
156
+ Process.spawn (and IO.popen etc.) raise error when program is an array
157
+ containing two strings
158
+
159
+ With older version of JRuby, you may be bothered by the following bugs that
160
+ have already been fixed in the head of JRuby.
161
+
162
+ * {JRUBY-6658}[http://jira.codehaus.org/browse/JRUBY-6658] Problem when
163
+ setting up an autoload entry, defining a class via require, then redefining
164
+ the autoload entry
165
+ * {JRUBY-6666}[http://jira.codehaus.org/browse/JRUBY-6666] Open3.popen3
166
+ failing due to missing handling for [path, argv[0]] array
167
+ * {JRUBY-6819}[http://jira.codehaus.org/browse/JRUBY-6819]
168
+ java.lang.ArrayIndexOutOfBoundsException in String#each_line
169
+
170
+ Due to JRUBY-5678 (resolved issue) and the difference of behavior between
171
+ CRuby and JRuby written in the comments of the issue tracking page,
172
+ when running BioRuby on JRuby with sudo or root rights, TMPDIR environment
173
+ variable should be set to a directory that is not world-writable. Currently,
174
+ the workaround is needed for running BioRuby tests with JRuby on Travis-CI.
175
+
176
+ * {JRUBY-5678}[http://jira.codehaus.org/browse/JRUBY-5678] tmpdir cannot
177
+ be delete when jruby has sudo/root rights
178
+
179
+ === Rubinius
180
+
181
+ According to Travis-CI, unit tests have failed on 1.9 mode of Rubinius.
182
+
183
+ With older version of Rubinius, you may be bothered by the following bugs that
184
+ have already been fixed in the head of Rubinius.
185
+
186
+ * {Rubinius Issue #1693}[https://github.com/rubinius/rubinius/issues/1693]
187
+ String#split gives incorrect output when splitting by /^/
188
+ * {Rubinius Issue #1724}[https://github.com/rubinius/rubinius/issues/1724]
189
+ Creating Struct class with length attribute
190
+
191
+ === DDBJ Web API related classes (Bio::DDBJ::*, Bio::BLAST::Remote::DDBJ)
192
+
193
+ DDBJ Web API is stopping after their system replacement in March 2012.
194
+ (See the announcement though it is written only in Japanese:
195
+ http://www.ddbj.nig.ac.jp/replace/rp120601-j.html)
196
+ Due to the stop of the DDBJ Web API, Bio::DDBJ::* and Bio::BLAST::Remote::DDBJ
197
+ which are using the web API can not be used.
198
+
199
+ === SOAP4R with Ruby 1.9
200
+
201
+ soap4r-ruby1.9 may raise "ununitialized constant XML::SaxParser" error with
202
+ some combinations of XML parser libraries. It seems this is a bug of
203
+ soap4r-ruby1.9.
204
+
@@ -1410,12 +1410,6 @@ Information on these biogems, and the many others available, see ((<Biogems.info
1410
1410
 
1411
1411
 
1412
1412
 
1413
- == KEGG API
1414
-
1415
- Please refer to KEGG_API.rd.ja (English version: ((<URL:http://www.genome.jp/kegg/soap/doc/keggapi_manual.html>)) ) and
1416
-
1417
- * ((<URL:http://www.genome.jp/kegg/soap/>))
1418
-
1419
1413
  == Ruby Ensembl API
1420
1414
 
1421
1415
  The Ruby Ensembl API is a Ruby API to the Ensembl database. It is NOT currently
@@ -1126,17 +1126,12 @@ add new functionality next to the BioRuby core project (BioRuby is a biogem itse
1126
1126
  gem install bio-core # BioRuby + stable pure Ruby biogems
1127
1127
  gem install bio-core-ext # bio-core + stable Ruby extensions</pre>
1128
1128
  <p>Information on these biogems, and the many others available, see <a href="http://biogems.info/">Biogems.info</a> or <a href="http://gems.bioruby.org/">gems.bioruby.org</a>.</p>
1129
- <h2><a name="label-36" id="label-36">KEGG API</a></h2><!-- RDLabel: "KEGG API" -->
1130
- <p>Please refer to KEGG_API.rd.ja (English version: <a href="http://www.genome.jp/kegg/soap/doc/keggapi_manual.html">&lt;URL:http://www.genome.jp/kegg/soap/doc/keggapi_manual.html&gt;</a> ) and</p>
1131
- <ul>
1132
- <li><a href="http://www.genome.jp/kegg/soap/">&lt;URL:http://www.genome.jp/kegg/soap/&gt;</a></li>
1133
- </ul>
1134
- <h2><a name="label-37" id="label-37">Ruby Ensembl API</a></h2><!-- RDLabel: "Ruby Ensembl API" -->
1129
+ <h2><a name="label-36" id="label-36">Ruby Ensembl API</a></h2><!-- RDLabel: "Ruby Ensembl API" -->
1135
1130
  <p>The Ruby Ensembl API is a Ruby API to the Ensembl database. It is NOT currently
1136
1131
  included in the BioRuby archives. To install it, see
1137
1132
  <a href="http://wiki.github.com/jandot/ruby-ensembl-api">the Ruby-Ensembl Github</a>
1138
1133
  for more information.</p>
1139
- <h3><a name="label-38" id="label-38">Gene Ontology (GO) through the Ruby Ensembl API</a></h3><!-- RDLabel: "Gene Ontology (GO) through the Ruby Ensembl API" -->
1134
+ <h3><a name="label-37" id="label-37">Gene Ontology (GO) through the Ruby Ensembl API</a></h3><!-- RDLabel: "Gene Ontology (GO) through the Ruby Ensembl API" -->
1140
1135
  <p>Gene Ontologies can be fetched through the Ruby Ensembl API package:</p>
1141
1136
  <pre>require 'ensembl'
1142
1137
  Ensembl::Core::DBConnection.connect('drosophila_melanogaster')
@@ -1153,10 +1148,10 @@ infile.each do |line|
1153
1148
  end</pre>
1154
1149
  <p>Prints each mosq. accession/uniq identifier and the GO terms from the Drosphila
1155
1150
  homologues.</p>
1156
- <h2><a name="label-39" id="label-39">Using BioPerl or BioPython from Ruby</a></h2><!-- RDLabel: "Using BioPerl or BioPython from Ruby" -->
1151
+ <h2><a name="label-38" id="label-38">Using BioPerl or BioPython from Ruby</a></h2><!-- RDLabel: "Using BioPerl or BioPython from Ruby" -->
1157
1152
  <p>A possible route is to opt for JRuby and Jython on the JAVA virtual machine (JVM).</p>
1158
1153
  <p>At the moment there is no easy way of accessing BioPerl or BioPython directly from Ruby. A possibility is to create a Perl or Python server that gets accessed through XML/RPC or SOAP.</p>
1159
- <h2><a name="label-40" id="label-40">Installing required external libraries</a></h2><!-- RDLabel: "Installing required external libraries" -->
1154
+ <h2><a name="label-39" id="label-39">Installing required external libraries</a></h2><!-- RDLabel: "Installing required external libraries" -->
1160
1155
  <p>At this point for using BioRuby no additional libraries are needed, except if
1161
1156
  you are using the Bio::PhyloXML module; then you have to install libxml-ruby.</p>
1162
1157
  <p>This may change, so keep an eye on the Bioruby website. Also when
@@ -1165,20 +1160,20 @@ a package is missing BioRuby should show an informative message.</p>
1165
1160
  painful, as the gem standard for packages evolved late and some still
1166
1161
  force you to copy things by hand. Therefore read the README's
1167
1162
  carefully that come with each package.</p>
1168
- <h3><a name="label-41" id="label-41">Installing libxml-ruby</a></h3><!-- RDLabel: "Installing libxml-ruby" -->
1163
+ <h3><a name="label-40" id="label-40">Installing libxml-ruby</a></h3><!-- RDLabel: "Installing libxml-ruby" -->
1169
1164
  <p>The simplest way is to use the RubyGems packaging system:</p>
1170
1165
  <pre>gem install -r libxml-ruby</pre>
1171
1166
  <p>If you get `require': no such file to load - mkmf (LoadError) error then do</p>
1172
1167
  <pre>sudo apt-get install ruby-dev</pre>
1173
1168
  <p>If you have other problems with installation, then see <a href="http://libxml.rubyforge.org/install.xml">&lt;URL:http://libxml.rubyforge.org/install.xml&gt;</a>.</p>
1174
- <h2><a name="label-42" id="label-42">Trouble shooting</a></h2><!-- RDLabel: "Trouble shooting" -->
1169
+ <h2><a name="label-41" id="label-41">Trouble shooting</a></h2><!-- RDLabel: "Trouble shooting" -->
1175
1170
  <ul>
1176
1171
  <li>Error: in `require': no such file to load -- bio (LoadError)</li>
1177
1172
  </ul>
1178
1173
  <p>Ruby is failing to find the BioRuby libraries - add it to the RUBYLIB path, or pass
1179
1174
  it to the interpeter. For example:</p>
1180
1175
  <pre>ruby -I$BIORUBYPATH/lib yourprogram.rb</pre>
1181
- <h2><a name="label-43" id="label-43">Modifying this page</a></h2><!-- RDLabel: "Modifying this page" -->
1176
+ <h2><a name="label-42" id="label-42">Modifying this page</a></h2><!-- RDLabel: "Modifying this page" -->
1182
1177
  <p>IMPORTANT NOTICE: This page is maintained in the BioRuby source code
1183
1178
  repository. Please edit the file there otherwise changes may get
1184
1179
  lost. See <!-- Reference, RDLabel "BioRuby Developer Information" doesn't exist --><em class="label-not-found">BioRuby Developer Information</em><!-- Reference end --> for repository and mailing list
@@ -5,71 +5,71 @@
5
5
  Copyright (C) 2001-2003, 2005, 2006 Toshiaki Katayama <k@bioruby.org>
6
6
  Copyright (C) 2005, 2006 Naohisa Goto <ng@bioruby.org>
7
7
 
8
- = BioRuby �λȤ���
8
+ = BioRuby の使い方
9
9
 
10
- BioRuby �Ϲ񻺤ιⵡǽ���֥������Ȼظ�������ץȸ��� Ruby �Τ����
11
- �����ץ󥽡����ʥХ�������ե��ޥƥ������ѥ饤�֥��Ǥ���
10
+ BioRuby は国産の高機能オブジェクト指向スクリプト言語 Ruby のための
11
+ オープンソースなバイオインフォマティクス用ライブラリです。
12
12
 
13
- Ruby ����� Perl ����椺��ζ��Ϥʥƥ����Ƚ����ȡ�
14
- ����ץ��ʬ����䤹��ʸˡ�����ꥢ�ʥ��֥������Ȼظ���ǽ�ˤ�ꡢ
15
- �����Ȥ���褦�ˤʤ�ޤ�����Ruby �ˤĤ��ƾܤ����ϡ������֥�����
16
- ((<URL:http://www.ruby-lang.org/>)) ����Τν������򻲾Ȥ��Ƥ���������
13
+ Ruby 言語は Perl 言語ゆずりの強力なテキスト処理と、
14
+ シンプルで分かりやすい文法、クリアなオブジェクト指向機能により、
15
+ 広く使われるようになりました。Ruby について詳しくは、ウェブサイト
16
+ ((<URL:http://www.ruby-lang.org/>)) や市販の書籍等を参照してください。
17
17
 
18
- == �Ϥ����
18
+ == はじめに
19
19
 
20
- BioRuby ����Ѥ���ˤ� Ruby �� BioRuby �򥤥󥹥ȡ��뤹��ɬ�פ�����ޤ���
20
+ BioRuby を使用するには Ruby BioRuby をインストールする必要があります。
21
21
 
22
- === Ruby �Υ��󥹥ȡ���
22
+ === Ruby のインストール
23
23
 
24
- Ruby �� Mac OS X ��Ƕ�� UNIX �ˤ��̾磻�󥹥ȡ��뤵��Ƥ��ޤ���
25
- Windows �ξ��⣱����å����󥹥ȡ���� ActiveScriptRuby �ʤɤ�
26
- �Ѱդ���Ƥ��ޤ����ޤ����󥹥ȡ��뤵��Ƥ��ʤ�����
24
+ Ruby Mac OS X や最近の UNIX には通常インストールされています。
25
+ Windows の場合も1クリックインストーラや ActiveScriptRuby などが
26
+ 用意されています。まだインストールされていない場合は
27
27
 
28
28
  * ((<URL:http://jp.rubyist.net/magazine/?0002-FirstProgramming>))
29
29
  * ((<URL:http://jp.rubyist.net/magazine/?FirstStepRuby>))
30
30
 
31
- �ʤɤ򻲹ͤˤ��ƥ��󥹥ȡ��뤷�ޤ��礦��
31
+ などを参考にしてインストールしましょう。
32
32
 
33
- ���ʤ��Υ���ԥ塼���ˤɤΥС������� Ruby �����󥹥ȡ��뤵��Ƥ��뤫��
34
- �����å�����ˤ�
33
+ あなたのコンピュータにどのバージョンの Ruby がインストールされているかを
34
+ チェックするには
35
35
 
36
36
  % ruby -v
37
37
 
38
- �ȥ��ޥ�ɤ����Ϥ��Ƥ�������������ȡ����Ȥ���
38
+ とコマンドを入力してください。すると、たとえば
39
39
 
40
40
  ruby 1.8.2 (2004-12-25) [powerpc-darwin7.7.0]
41
41
 
42
- �Τ褦�ʴ����ǥС������ɽ������ޤ����С������ 1.8.5 �ʹߤ򤪴��ᤷ�ޤ���
42
+ のような感じでバージョンが表示されます。バージョン 1.8.5 以降をお勧めします。
43
43
 
44
- Ruby ɸ�������Υ��饹��᥽�åɤˤĤ��Ƥϡ�Ruby �Υ�ե���󥹥ޥ˥奢���
45
- ���Ȥ��Ƥ���������
44
+ Ruby 標準装備のクラスやメソッドについては、Ruby のリファレンスマニュアルを
45
+ 参照してください。
46
46
 
47
47
  * ((<URL:http://www.ruby-lang.org/ja/man/>))
48
48
  * ((<URL:http://doc.okkez.net/>))
49
49
 
50
- ���ޥ�ɥ饤��ǥإ�פ򻲾Ȥ���ˤϡ�Ruby ɸ��ź�դ� ri ���ޥ�ɤ䡢
51
- ���ܸ��Ǥ� refe ���ޥ�ɤ������Ǥ���
50
+ コマンドラインでヘルプを参照するには、Ruby 標準添付の ri コマンドや、
51
+ 日本語版の refe コマンドが便利です。
52
52
 
53
53
  * ((<URL:http://i.loveruby.net/ja/prog/refe.html>))
54
54
 
55
- === RubyGems �Υ��󥹥ȡ���
55
+ === RubyGems のインストール
56
56
 
57
- RubyGems �Υڡ�������ǿ��Ǥ����������ɤ��ޤ���
57
+ RubyGems のページから最新版をダウンロードします。
58
58
 
59
59
  * ((<URL:http://rubyforge.org/projects/rubygems/>))
60
60
 
61
- Ÿ�����ƥ��󥹥ȡ��뤷�ޤ���
61
+ 展開してインストールします。
62
62
 
63
63
  % tar zxvf rubygems-x.x.x.tar.gz
64
64
  % cd rubygems-x.x.x
65
65
  % ruby setup.rb
66
66
 
67
- === BioRuby �Υ��󥹥ȡ���
67
+ === BioRuby のインストール
68
68
 
69
- BioRuby �Υ��󥹥ȡ�����ˡ�� ((<URL:http://bioruby.org/archive/>)) ����
70
- �ǿ��Ǥ�������ưʲ��Τ褦�˹Ԥ��ޤ�(��1)��Ʊ������Ƥ��� README �ե�����ˤ�
71
- �ܤ��̤���ĺ�������ΤǤ���������ʤ��ȣ���������ˤʤ� BioPerl ����٤�
72
- BioRuby �Υ��󥹥ȡ���Ϥ����˽����Ϥ��Ǥ���
69
+ BioRuby のインストール方法は ((<URL:http://bioruby.org/archive/>)) から
70
+ 最新版を取得して以下のように行います(1)。同梱されている README ファイルにも
71
+ 目を通して頂きたいのですが、慣れないと1日がかりになる BioPerl と比べて
72
+ BioRuby のインストールはすぐに終わるはずです。
73
73
 
74
74
  % wget http://bioruby.org/archive/bioruby-x.x.x.tar.gz
75
75
  % tar zxvf bioruby-x.x.x.tar.gz
@@ -77,128 +77,128 @@ BioRuby
77
77
  % su
78
78
  # ruby setup.rb
79
79
 
80
- RubyGems ���Ȥ���Ķ��Ǥ����
80
+ RubyGems が使える環境であれば
81
81
 
82
82
  % gem install bio
83
83
 
84
- �����ǥ��󥹥ȡ���Ǥ��ޤ������Τ��� README �ե�����˽񤫤�Ƥ���褦��
84
+ だけでインストールできます。このあと README ファイルに書かれているように
85
85
 
86
86
  bioruby-x.x.x/etc/bioinformatics/seqdatabase.ini
87
87
 
88
- �Ȥ����ե������ۡ���ǥ��쥯�ȥ�� ~/.bioinformatics �˥��ԡ�����
89
- �����Ȥ褤�Ǥ��礦��RubyGems �ξ���
88
+ というファイルをホームディレクトリの ~/.bioinformatics にコピーして
89
+ おくとよいでしょう。RubyGems の場合は
90
90
 
91
91
  /usr/local/lib/ruby/gems/1.8/gems/bio-x.x.x/
92
92
 
93
- �ʤɤˤ���Ϥ��Ǥ���
93
+ などにあるはずです。
94
94
 
95
95
  % mkdir ~/.bioinformatics
96
96
  % cp bioruby-x.x.x/etc/bioinformatics/seqdatabase.ini ~/.bioinformatics
97
97
 
98
- �ޤ���Emacs ���ǥ�����Ȥ��ͤ� Ruby �Υ�������Ʊ������Ƥ���
99
- misc/ruby-mode.el �򥤥󥹥ȡ��뤷�Ƥ����Ȥ褤�Ǥ��礦��
98
+ また、Emacs エディタを使う人は Ruby のソースに同梱されている
99
+ misc/ruby-mode.el をインストールしておくとよいでしょう。
100
100
 
101
101
  % mkdir -p ~/lib/lisp/ruby
102
102
  % cp ruby-x.x.x/misc/ruby-mode.el ~/lib/lisp/ruby
103
103
 
104
- �ʤɤȤ��Ƥ����ơ�~/.emacs �˰ʲ���������­���ޤ���
104
+ などとしておいて、~/.emacs に以下の設定を書き足します。
105
105
 
106
- ; subdirs ������
106
+ ; subdirs の設定
107
107
  (let ((default-directory "~/lib/lisp"))
108
108
  (normal-top-level-add-subdirs-to-load-path)
109
109
 
110
- ; ruby-mode ������
110
+ ; ruby-mode の設定
111
111
  (autoload 'ruby-mode "ruby-mode" "Mode for editing ruby source files")
112
112
  (add-to-list 'auto-mode-alist '("\\.rb$" . rd-mode))
113
113
  (add-to-list 'interpeter-mode-alist '("ruby" . ruby-mode))
114
114
 
115
- == BioRuby ������
115
+ == BioRuby シェル
116
116
 
117
- BioRuby �С������ 0.7 �ʹߤǤϡ���ñ������ BioRuby �ȶ��˥��󥹥ȡ��뤵���
118
- bioruby ���ޥ�ɤǹԤ����Ȥ��Ǥ��ޤ���bioruby ���ޥ�ɤ� Ruby ����¢����Ƥ���
119
- ���󥿥饯�ƥ��֥����� irb �����Ѥ��Ƥ��ꡢRuby �� BioRuby �ˤǤ��뤳�Ȥ�����
120
- ��ͳ�˼¹Ԥ��뤳�Ȥ��Ǥ��ޤ���
117
+ BioRuby バージョン 0.7 以降では、簡単な操作は BioRuby と共にインストールされる
118
+ bioruby コマンドで行うことができます。bioruby コマンドは Ruby に内蔵されている
119
+ インタラクティブシェル irb を利用しており、Ruby BioRuby にできることは全て
120
+ 自由に実行することができます。
121
121
 
122
122
  % bioruby project1
123
123
 
124
- �����ǻ��ꤷ��̾���Υǥ��쥯�ȥ꤬�������졢������Dz��Ϥ�Ԥ��ޤ���
125
- �嵭����ξ�� project1 �Ȥ����ǥ��쥯�ȥ꤬�������졢����˰ʲ���
126
- ���֥ǥ��쥯�ȥ��ե����뤬����ޤ���
124
+ 引数で指定した名前のディレクトリが作成され、その中で解析を行います。
125
+ 上記の例の場合 project1 というディレクトリが作成され、さらに以下の
126
+ サブディレクトリやファイルが作られます。
127
127
 
128
- data/ �桼���β��ϥե�������֤����
129
- plugin/ ɬ�פ˱������ɲäΥץ饰������֤����
130
- session/ ����䥪�֥������ȡ��ҥ��ȥ�ʤɤ���¸�������
131
- session/config �桼�����������¸�����ե�����
132
- session/history �桼�������Ϥ������ޥ�ɤΥҥ��ȥ����¸�����ե�����
133
- session/object ��³�����줿���֥������Ȥγ�Ǽ�ե�����
128
+ data/ ユーザの解析ファイルを置く場所
129
+ plugin/ 必要に応じて追加のプラグインを置く場所
130
+ session/ 設定やオブジェクト、ヒストリなどが保存される場所
131
+ session/config ユーザの設定を保存したファイル
132
+ session/history ユーザの入力したコマンドのヒストリを保存したファイル
133
+ session/object 永続化されたオブジェクトの格納ファイル
134
134
 
135
- ���Τ�����data �ǥ��쥯�ȥ�ϥ桼������ͳ�˽񤭴����ƹ����ޤ���
136
- �ޤ���session/history �ե�����򸫤�ȡ����ĤɤΤ褦������Ԥä�����
137
- ��ǧ���뤳�Ȥ��Ǥ��ޤ���
135
+ このうち、data ディレクトリはユーザが自由に書き換えて構いません。
136
+ また、session/history ファイルを見ると、いつどのような操作を行ったかを
137
+ 確認することができます。
138
138
 
139
- �����ܰʹߤϡ�����Ʊ�ͤ�
139
+ 2回目以降は、初回と同様に
140
140
 
141
141
  % bioruby project1
142
142
 
143
- �Ȥ��Ƶ�ư���Ƥ⹽���ޤ��󤷡��������줿�ǥ��쥯�ȥ�˰�ư����
143
+ として起動しても構いませんし、作成されたディレクトリに移動して
144
144
 
145
145
  % cd project1
146
146
  % bioruby
147
147
 
148
- �Τ褦�˰����ʤ��ǵ�ư���뤳�Ȥ�Ǥ��ޤ���
148
+ のように引数なしで起動することもできます。
149
149
 
150
- ����¾��script ���ޥ�ɤǺ�������륹����ץȥե�����䡢
151
- web ���ޥ�ɤǺ�������� Rails �Τ��������ե�����ʤɤ�����ޤ�����
152
- �����ˤĤ��Ƥ�ɬ�פ˱����Ƹ�Ҥ��ޤ���
150
+ この他、script コマンドで作成されるスクリプトファイルや、
151
+ web コマンドで作成される Rails のための設定ファイルなどがありますが、
152
+ それらについては必要に応じて後述します。
153
153
 
154
- BioRuby ������Ǥϥǥե���ȤǤ����Ĥ��������ʥ饤�֥����ɤ߹���Ǥ��ޤ���
155
- �㤨�� readline �饤�֥�꤬�Ȥ���Ķ��Ǥ� Tab �����ǥ᥽�å�̾���ѿ�̾��
156
- �䴰�����Ϥ��Ǥ���open-uri, pp, yaml �ʤɤ�ǽ餫���ɤ߹��ޤ�Ƥ��ޤ���
154
+ BioRuby シェルではデフォルトでいくつかの便利なライブラリを読み込んでいます。
155
+ 例えば readline ライブラリが使える環境では Tab キーでメソッド名や変数名が
156
+ 補完されるはずです。open-uri, pp, yaml なども最初から読み込まれています。
157
157
 
158
- === ����, ���ߥλ����������
158
+ === 塩基, アミノ酸の配列を作る
159
159
 
160
160
  --- getseq(str)
161
161
 
162
- getseq ���ޥ��(��2)��Ȥä�ʸ���󤫤��������䥢�ߥλ�������뤳�Ȥ�
163
- �Ǥ��ޤ�������ȥ��ߥλ��� ATGC �δ��̤� 90% �ʾ夫�ɤ����Ǽ�ưȽ�ꤵ��ޤ���
164
- �����Ǥϡ��Ǥ������������ dna �Ȥ����ѿ����������ޤ���
162
+ getseq コマンド(2)を使って文字列から塩基配列やアミノ酸配列を作ることが
163
+ できます。塩基とアミノ酸は ATGC の含量が 90% 以上かどうかで自動判定されます。
164
+ ここでは、できた塩基配列を dna という変数に代入します。
165
165
 
166
166
  bioruby> dna = getseq("atgcatgcaaaa")
167
167
 
168
- �ѿ�����Ȥ��ǧ����ˤ� Ruby �� puts �᥽�åɤ�Ȥ��ޤ���
168
+ 変数の中身を確認するには Ruby puts メソッドを使います。
169
169
 
170
170
  bioruby> puts dna
171
171
  atgcatgcaaaa
172
172
 
173
- �ե�����̾�������Ϳ����ȼ긵�ˤ���ե����뤫����������뤳�Ȥ�Ǥ��ޤ���
174
- GenBank, EMBL, UniProt, FASTA �ʤɼ��פ�����ե����ޥåȤϼ�ưȽ�̤���ޤ�
175
- �ʳ�ĥ�ҤʤɤΥե�����̾�ǤϤʤ�����ȥ����Ȥ�Ƚ�ꤷ�ޤ��ˡ�
176
- �ʲ��� UniProt �ե����ޥåȤΥ���ȥ��ե����뤫���ɤ߹���Ǥ��ޤ���
177
- ������ˡ�Ǥϡ�ʣ���Υ���ȥ꤬������ǽ�Υ���ȥ�������ɤ߹��ޤ�ޤ���
173
+ ファイル名を引数に与えると手元にあるファイルから配列を得ることもできます。
174
+ GenBank, EMBL, UniProt, FASTA など主要な配列フォーマットは自動判別されます
175
+ (拡張子などのファイル名ではなくエントリの中身で判定します)。
176
+ 以下は UniProt フォーマットのエントリをファイルから読み込んでいます。
177
+ この方法では、複数のエントリがある場合最初のエントリだけが読み込まれます。
178
178
 
179
179
  bioruby> cdc2 = getseq("p04551.sp")
180
180
  bioruby> puts cdc2
181
- MENYQKVEKIGEGTYGVVYKARHKLSGRIVAMKKIRLEDESEGVPSTAIREISLLKEVNDENNRSN...(ά)
181
+ MENYQKVEKIGEGTYGVVYKARHKLSGRIVAMKKIRLEDESEGVPSTAIREISLLKEVNDENNRSN...()
182
182
 
183
- �ǡ����١���̾�ȥ���ȥ�̾��ʬ���äƤ���С����󥿡��ͥåȤ��̤���
184
- �����ưŪ�˼������뤳�Ȥ��Ǥ��ޤ���
183
+ データベース名とエントリ名が分かっていれば、インターネットを通じて
184
+ 配列を自動的に取得することができます。
185
185
 
186
186
  bioruby> psaB = getseq("genbank:AB044425")
187
187
  bioruby> puts psaB
188
- actgaccctgttcatattcgtcctattgctcacgcgatttgggatccgcactttggccaaccagca...(ά)
188
+ actgaccctgttcatattcgtcctattgctcacgcgatttgggatccgcactttggccaaccagca...()
189
189
 
190
- �ɤ��Υǡ����١�������ɤΤ褦����ˡ�ǥ���ȥ��������뤫�ϡ�BioPerl
191
- �ʤɤȶ��̤� OBDA ����ե����� ~/.bioinformatics/seqdatabase.ini
192
- ���Ѥ��ƥǡ����١������Ȥ˻��ꤹ�뤳�Ȥ��Ǥ��ޤ��ʸ�ҡˡ�
193
- �ޤ���EMBOSS �� seqret ���ޥ�ɤˤ����������ˤ��б����Ƥ��ޤ��Τǡ�
194
- EMBOSS �� USA ɽ���Ǥ⥨��ȥ������Ǥ��ޤ���EMBOSS �Υޥ˥奢��򻲾Ȥ�
195
- ~/.embossrc ��Ŭ�ڤ����ꤷ�Ƥ���������
190
+ どこのデータベースからどのような方法でエントリを取得するかは、BioPerl
191
+ などと共通の OBDA 設定ファイル ~/.bioinformatics/seqdatabase.ini
192
+ を用いてデータベースごとに指定することができます(後述)。
193
+ また、EMBOSS seqret コマンドによる配列取得にも対応していますので、
194
+ EMBOSS USA 表記でもエントリを取得できます。EMBOSS のマニュアルを参照し
195
+ ~/.embossrc を適切に設定してください。
196
196
 
197
- �ɤ���ˡ�Ǽ����������⡢getseq ���ޥ�ɤˤ�ä��֤��������ϡ�
198
- ���Ѥ����󥯥饹 Bio::Sequence �ˤʤ�ޤ�(��3)��
197
+ どの方法で取得した場合も、getseq コマンドによって返される配列は、
198
+ 汎用の配列クラス Bio::Sequence になります(3)
199
199
 
200
- ���󤬱�������ȥ��ߥλ�����Τɤ����Ƚ�ꤵ��Ƥ���Τ��ϡ�
201
- moltype �᥽�åɤ��Ѥ���
200
+ 配列が塩基配列とアミノ酸配列のどちらと判定されているのかは、
201
+ moltype メソッドを用いて
202
202
 
203
203
  bioruby> p cdc2.moltype
204
204
  Bio::Sequence::AA
@@ -206,9 +206,9 @@ moltype
206
206
  bioruby> p psaB.moltype
207
207
  Bio::Sequence::NA
208
208
 
209
- �Τ褦��Ĵ�٤뤳�Ȥ��Ǥ��ޤ�����ưȽ�꤬�ְ�äƤ�����ʤɤˤ�
210
- na, aa �᥽�åɤǶ���Ū���Ѵ��Ǥ��ޤ����ʤ��������Υ᥽�åɤ�
211
- ���Υ��֥������Ȥ���Ū�˽񤭴����ޤ���
209
+ のように調べることができます。自動判定が間違っている場合などには
210
+ na, aa メソッドで強制的に変換できます。なお、これらのメソッドは
211
+ 元のオブジェクトを強制的に書き換えます。
212
212
 
213
213
  bioruby> dna.aa
214
214
  bioruby> p dna.moltype
@@ -218,38 +218,38 @@ na, aa
218
218
  bioruby> p dna.moltype
219
219
  Bio::Sequence::NA
220
220
 
221
- �ޤ��ϡ�to_naseq, to_aaseq �᥽�åɤǶ���Ū���Ѵ����뤳�Ȥ�Ǥ��ޤ���
221
+ または、to_naseq, to_aaseq メソッドで強制的に変換することもできます。
222
222
 
223
223
  bioruby> pep = dna.to_aaseq
224
224
 
225
- to_naseq, to_aaseq �᥽�åɤ��֤����֥������Ȥϡ����줾�졢
226
- DNA ����Τ���� Bio::Sequence::NA ���饹�����ߥλ�����Τ����
227
- Bio::Sequence::AA ���饹�Υ��֥������Ȥˤʤ�ޤ���
228
- ���󤬤ɤ���Υ��饹��°���뤫�� Ruby �� class �᥽�åɤ��Ѥ���
225
+ to_naseq, to_aaseq メソッドの返すオブジェクトは、それぞれ、
226
+ DNA 配列のための Bio::Sequence::NA クラス、アミノ酸配列のための
227
+ Bio::Sequence::AA クラスのオブジェクトになります。
228
+ 配列がどちらのクラスに属するかは Ruby class メソッドを用いて
229
229
 
230
230
  bioruby> p pep.class
231
231
  Bio::Sequence::AA
232
232
 
233
- �Τ褦��Ĵ�٤뤳�Ȥ��Ǥ��ޤ���
233
+ のように調べることができます。
234
234
 
235
- ����Ū���Ѵ������ˡ�Bio::Sequence::NA ���饹�ޤ��� Bio::sequence::AA ���饹
236
- �Τɤ��餫�Υ��֥������Ȥ����������ˤ� seq �᥽�åɤ�Ȥ��ޤ�(��4)��
235
+ 強制的に変換せずに、Bio::Sequence::NA クラスまたは Bio::sequence::AA クラス
236
+ のどちらかのオブジェクトを得たい場合には seq メソッドを使います(4)
237
237
 
238
238
  bioruby> pep2 = cdc2.seq
239
239
  bioruby> p pep2.class
240
240
  Bio::Sequence::AA
241
241
 
242
- �ޤ����ʲ��Dz��⤹�� complement �� translate �ʤɤΥ᥽�åɤη�̤ϡ�
243
- ����������֤����Ȥ����Ԥ����᥽�åɤ� Bio::Sequence::NA ���饹��
244
- ���ߥλ�������֤����Ȥ����Ԥ����᥽�åɤ� Bio::sequence::AA ���饹
245
- �Υ��֥������Ȥˤʤ�ޤ���
242
+ また、以下で解説する complement translate などのメソッドの結果は、
243
+ 塩基配列を返すことが期待されるメソッドは Bio::Sequence::NA クラス、
244
+ アミノ酸配列を返すことが期待されるメソッドは Bio::sequence::AA クラス
245
+ のオブジェクトになります。
246
246
 
247
- ��������䥢�ߥλ�����Υ��饹�� Ruby ��ʸ���󥯥饹�Ǥ��� String ��
248
- �Ѿ����Ƥ��ޤ����ޤ���Bio::Sequence ���饹�Υ��֥������Ȥ� String ��
249
- ���֥������Ȥȸ�������Ʊ�ͤ�Ư���褦�˹��פ���Ƥ��ޤ������Τ��ᡢ
250
- length ��Ĺ����Ĵ�٤��ꡢ+ ��­����碌���ꡢ* �Ƿ����֤�����ʤɡ�
251
- Ruby ��ʸ������Ф��ƹԤ��������������Ѳ�ǽ�Ǥ���
252
- ���Τ褦����ħ�ϥ��֥������Ȼظ��ζ��Ϥ�¦�̤ΰ�Ĥȸ�����Ǥ��礦��
247
+ 塩基配列やアミノ酸配列のクラスは Ruby の文字列クラスである String
248
+ 継承しています。また、Bio::Sequence クラスのオブジェクトは String
249
+ オブジェクトと見かけ上同様に働くように工夫されています。このため、
250
+ length で長さを調べたり、+ で足し合わせたり、* で繰り返したりなど、
251
+ Ruby の文字列に対して行える操作は全て利用可能です。
252
+ このような特徴はオブジェクト指向の強力な側面の一つと言えるでしょう。
253
253
 
254
254
  bioruby> puts dna.length
255
255
  12
@@ -262,32 +262,32 @@ Ruby
262
262
 
263
263
  :complement
264
264
 
265
- ������������亿���������ˤϱ�������� complement �᥽�åɤ�ƤӤޤ���
265
+ 塩基配列の相補鎖配列を得るには塩基配列の complement メソッドを呼びます。
266
266
 
267
267
  bioruby> puts dna.complement
268
268
  ttttgcatgcat
269
269
 
270
270
  :translate
271
271
 
272
- ��������򥢥ߥλ��������������ˤ� translate �᥽�åɤ�Ȥ��ޤ���
273
- �������줿���ߥλ������ pep �Ȥ����ѿ����������Ƥߤޤ���
272
+ 塩基配列をアミノ酸配列に翻訳するには translate メソッドを使います。
273
+ 翻訳されたアミノ酸配列を pep という変数に代入してみます。
274
274
 
275
275
  bioruby> pep = dna.translate
276
276
  bioruby> puts pep
277
277
  MHAK
278
278
 
279
- �ե졼����Ѥ�����������ˤ�
279
+ フレームを変えて翻訳するには
280
280
 
281
281
  bioruby> puts dna.translate(2)
282
282
  CMQ
283
283
  bioruby> puts dna.translate(3)
284
284
  ACK
285
285
 
286
- �ʤɤȤ��ޤ���
286
+ などとします。
287
287
 
288
288
  :molecular_weight
289
289
 
290
- ʬ���̤� molecular_weight �᥽�åɤ�ɽ������ޤ���
290
+ 分子量は molecular_weight メソッドで表示されます。
291
291
 
292
292
  bioruby> puts dna.molecular_weight
293
293
  3718.66444
@@ -297,7 +297,7 @@ Ruby
297
297
 
298
298
  --- seqstat(seq)
299
299
 
300
- seqstat ���ޥ�ɤ�Ȥ��ȡ������ʤɤξ������٤�ɽ������ޤ���
300
+ seqstat コマンドを使うと、組成などの情報も一度に表示されます。
301
301
 
302
302
  bioruby> seqstat(dna)
303
303
 
@@ -350,7 +350,7 @@ seqstat
350
350
  //
351
351
 
352
352
 
353
- ���ߥλ�����ξ��ϰʲ��Τ褦�ˤʤ�ޤ���
353
+ アミノ酸配列の場合は以下のようになります。
354
354
 
355
355
  bioruby> seqstat(pep)
356
356
 
@@ -367,38 +367,38 @@ seqstat
367
367
 
368
368
  :composition
369
369
 
370
- seqstat �����ɽ������Ƥ��������� composition �᥽�åɤ����뤳�Ȥ��Ǥ��ޤ���
371
- ��̤�ʸ����ǤϤʤ� Hash ���֤����Τǡ��Ȥꤢ����ɽ�����Ƥߤ���ˤ�
372
- puts ������� p ���ޥ�ɤ�Ȥ����ɤ��Ǥ��礦��
370
+ seqstat の中で表示されている組成は composition メソッドで得ることができます。
371
+ 結果が文字列ではなく Hash で返されるので、とりあえず表示してみる場合には
372
+ puts の代わりに p コマンドを使うと良いでしょう。
373
373
 
374
374
  bioruby> p dna.composition
375
375
  {"a"=>6, "c"=>2, "g"=>2, "t"=>2}
376
376
 
377
- ==== �������󡢥��ߥλ�����Τ���¾�Υ᥽�å�
377
+ ==== 塩基配列、アミノ酸配列のその他のメソッド
378
378
 
379
- ¾�ˤ�������󡢥��ߥλ�������Ф��ƹԤ������Ͽ����Ȥ���ޤ���
379
+ 他にも塩基配列、アミノ酸配列に対して行える操作は色々とあります。
380
380
 
381
381
  :subseq(from, to)
382
382
 
383
- ��ʬ�������Ф��ˤ� subseq �᥽�åɤ�Ȥ��ޤ���
383
+ 部分配列を取り出すには subseq メソッドを使います。
384
384
 
385
385
  bioruby> puts dna.subseq(1, 3)
386
386
  atg
387
387
 
388
- Ruby �ʤ�¿���Υץ�����ߥ󥰸����ʸ����� 1 ʸ���ܤ� 0 ��������ޤ�����
389
- subseq �᥽�åɤ� 1 ����������ڤ�Ф���褦�ˤʤäƤ��ޤ���
388
+ Ruby など多くのプログラミング言語の文字列は 1 文字目を 0 から数えますが、
389
+ subseq メソッドは 1 から数えて切り出せるようになっています。
390
390
 
391
391
  bioruby> puts dna[0, 3]
392
392
  atg
393
393
 
394
- Ruby �� String ���饹������ slice �᥽�å� str[] ��Ŭ���Ȥ�ʬ�����
395
- �褤�Ǥ��礦��
394
+ Ruby String クラスが持つ slice メソッド str[] と適宜使い分けると
395
+ よいでしょう。
396
396
 
397
397
  :window_search(len, step)
398
398
 
399
- window_search �᥽�åɤ�Ȥ���Ĺ���������ʬ������η����֤���
400
- ��ñ�˹Ԥ����Ȥ��Ǥ��ޤ���DNA ����򥳥ɥ���˽��������硢
401
- ��ʸ�����Ĥ��餷�ʤ��飳ʸ�����ڤ�Ф��Ф褤�Τǰʲ��Τ褦�ˤʤ�ޤ���
399
+ window_search メソッドを使うと長い配列の部分配列毎の繰り返しを
400
+ 簡単に行うことができます。DNA 配列をコドン毎に処理する場合、
401
+ 3文字ずつずらしながら3文字を切り出せばよいので以下のようになります。
402
402
 
403
403
  bioruby> dna.window_search(3, 3) do |codon|
404
404
  bioruby+ puts "#{codon}\t#{codon.translate}"
@@ -408,15 +408,15 @@ window_search
408
408
  gca A
409
409
  aaa K
410
410
 
411
- ���Υ��������ü 1000bp �򥪡��С���åפ����ʤ��� 11000bp ���Ȥ�
412
- �֥��ڤ�ˤ� FASTA �ե����ޥåȤ�����������ϰʲ��Τ褦�ˤʤ�ޤ���
411
+ ゲノム配列を、末端 1000bp をオーバーラップさせながら 11000bp ごとに
412
+ ブツ切りにし FASTA フォーマットに整形する場合は以下のようになります。
413
413
 
414
414
  bioruby> seq.window_search(11000, 10000) do |subseq|
415
415
  bioruby+ puts subseq.to_fasta
416
416
  bioruby+ end
417
417
 
418
- �Ǹ�� 10000bp �������ʤ� 3' ü��;��������֤��ͤȤ���������Τǡ�
419
- ɬ�פʾ������Ӽ�����ä�ɽ�����ޤ���
418
+ 最後の 10000bp に満たない 3' 端の余り配列は返り値として得られるので、
419
+ 必要な場合は別途受け取って表示します。
420
420
 
421
421
  bioruby> i = 1
422
422
  bioruby> remainder = seq.window_search(11000, 10000) do |subseq|
@@ -427,8 +427,8 @@ window_search
427
427
 
428
428
  :splicing(position)
429
429
 
430
- ��������� GenBank ���� position ʸ����ˤ���ڤ�Ф��� splicing
431
- �᥽�åɤǹԤ��ޤ���
430
+ 塩基配列の GenBank 等の position 文字列による切り出しは splicing
431
+ メソッドで行います。
432
432
 
433
433
  bioruby> puts dna
434
434
  atgcatgcaaaa
@@ -437,15 +437,15 @@ window_search
437
437
 
438
438
  :randomize
439
439
 
440
- randomize �᥽�åɤϡ��������������¸�����ޤޥ�����������������ޤ���
440
+ randomize メソッドは、配列の組成を保存したままランダム配列を生成します。
441
441
 
442
442
  bioruby> puts dna.randomize
443
443
  agcaatagatac
444
444
 
445
445
  :to_re
446
446
 
447
- to_re �᥽�åɤϡ�ۣ��ʱ����ɽ����ޤ��������� atgc ������
448
- �ѥ����󤫤�ʤ�����ɽ�����Ѵ����ޤ���
447
+ to_re メソッドは、曖昧な塩基の表記を含む塩基配列を atgc だけの
448
+ パターンからなる正規表現に変換します。
449
449
 
450
450
  bioruby> ambiguous = getseq("atgcyatgcatgcatgc")
451
451
 
@@ -455,9 +455,9 @@ to_re
455
455
  bioruby> puts ambiguous.to_re
456
456
  (?-mix:atgc[tc]atgcatgcatgc)
457
457
 
458
- seq �᥽�åɤ� ATGC �δ�ͭ�̤� 90% �ʲ����ȥ��ߥλ�����Ȥߤʤ��Τǡ�
459
- ۣ��ʱ���¿���ޤޤ������ξ��� to_naseq �᥽�åɤ�Ȥä�
460
- ����Ū�� Bio::Sequence::NA ���֥������Ȥ��Ѵ�����ɬ�פ�����ޤ���
458
+ seq メソッドは ATGC の含有量が 90% 以下だとアミノ酸配列とみなすので、
459
+ 曖昧な塩基が多く含まれる配列の場合は to_naseq メソッドを使って
460
+ 明示的に Bio::Sequence::NA オブジェクトに変換する必要があります。
461
461
 
462
462
  bioruby> s = getseq("atgcrywskmbvhdn").to_naseq
463
463
  bioruby> p s.to_re
@@ -468,8 +468,8 @@ seq
468
468
 
469
469
  :names
470
470
 
471
- ���ޤ�Ȥ����ȤϤ���ޤ��󤬡���������̾�䥢�ߥλ�̾���Ѵ�����
472
- �᥽�åɤǤ���
471
+ あまり使うことはありませんが、配列を塩基名やアミノ酸名に変換する
472
+ メソッドです。
473
473
 
474
474
  bioruby> p dna.names
475
475
  ["adenine", "thymine", "guanine", "cytosine", "adenine", "thymine",
@@ -480,35 +480,35 @@ seq
480
480
 
481
481
  :codes
482
482
 
483
- ���ߥλ������ʸ�������ɤ��Ѵ����� names �Ȼ����᥽�åɤǤ���
483
+ アミノ酸配列を3文字コードに変換する names と似たメソッドです。
484
484
 
485
485
  bioruby> p pep.codes
486
486
  ["Met", "His", "Ala", "Lys"]
487
487
 
488
488
  :gc_percent
489
489
 
490
- ��������� GC ���̤� gc_percent �᥽�åɤ������ޤ���
490
+ 塩基配列の GC 含量は gc_percent メソッドで得られます。
491
491
 
492
492
  bioruby> p dna.gc_percent
493
493
  33
494
494
 
495
495
  :to_fasta
496
496
 
497
- FASTA �ե����ޥåȤ��Ѵ�����ˤ� to_fasta �᥽�åɤ�Ȥ��ޤ���
497
+ FASTA フォーマットに変換するには to_fasta メソッドを使います。
498
498
 
499
499
  bioruby> puts dna.to_fasta("dna sequence")
500
500
  >dna sequence
501
501
  aaccggttacgt
502
502
 
503
503
 
504
- === ����䥢�ߥλ��Υ����ɡ����ɥ�ɽ�򤢤Ĥ���
504
+ === 塩基やアミノ酸のコード、コドン表をあつかう
505
505
 
506
- ���ߥλ������𡢥��ɥ�ơ��֥�����뤿��� aminoacids, nucleicacids,
507
- codontables, codontable ���ޥ�ɤ�Ҳ𤷤ޤ���
506
+ アミノ酸、塩基、コドンテーブルを得るための aminoacids, nucleicacids,
507
+ codontables, codontable コマンドを紹介します。
508
508
 
509
509
  --- aminoacids
510
510
 
511
- ���ߥλ��ΰ����� aminoacids ���ޥ�ɤ�ɽ���Ǥ��ޤ���
511
+ アミノ酸の一覧は aminoacids コマンドで表示できます。
512
512
 
513
513
  bioruby> aminoacids
514
514
  ? Pyl pyrrolysine
@@ -536,7 +536,7 @@ codontables, codontable
536
536
  Y Tyr tyrosine
537
537
  Z Glx glutamine/glutamic acid
538
538
 
539
- �֤��ͤ�û��ɽ�����б�����Ĺ��ɽ���Υϥå���ˤʤäƤ��ޤ���
539
+ 返り値は短い表記と対応する長い表記のハッシュになっています。
540
540
 
541
541
  bioruby> aa = aminoacids
542
542
  bioruby> puts aa["G"]
@@ -546,7 +546,7 @@ codontables, codontable
546
546
 
547
547
  --- nucleicacids
548
548
 
549
- ����ΰ����� nucleicacids ���ޥ�ɤ�ɽ���Ǥ��ޤ���
549
+ 塩基の一覧は nucleicacids コマンドで表示できます。
550
550
 
551
551
  bioruby> nucleicacids
552
552
  a a Adenine
@@ -566,7 +566,7 @@ codontables, codontable
566
566
  d [atg] not C
567
567
  n [atgc]
568
568
 
569
- �֤��ͤϱ���Σ�ʸ��ɽ���ȳ����������Υϥå���ˤʤäƤ��ޤ���
569
+ 返り値は塩基の1文字表記と該当する塩基のハッシュになっています。
570
570
 
571
571
  bioruby> na = nucleicacids
572
572
  bioruby> puts na["r"]
@@ -574,7 +574,7 @@ codontables, codontable
574
574
 
575
575
  --- codontables
576
576
 
577
- ���ɥ�ơ��֥�ΰ����� codontables ���ޥ�ɤ�ɽ���Ǥ��ޤ���
577
+ コドンテーブルの一覧は codontables コマンドで表示できます。
578
578
 
579
579
  bioruby> codontables
580
580
  1 Standard (Eukaryote)
@@ -595,7 +595,7 @@ codontables, codontable
595
595
  22 Scenedesmus obliquus mitochondrial
596
596
  23 Thraustochytrium Mitochondrial
597
597
 
598
- �֤��ͤϥơ��֥��ֹ��̾���Υϥå���ˤʤäƤ��ޤ���
598
+ 返り値はテーブル番号と名前のハッシュになっています。
599
599
 
600
600
  bioruby> ct = codontables
601
601
  bioruby> puts ct[3]
@@ -603,7 +603,7 @@ codontables, codontable
603
603
 
604
604
  --- codontable(num)
605
605
 
606
- ���ɥ�ɽ���Τ� codontable ���ޥ�ɤ�ɽ���Ǥ��ޤ���
606
+ コドン表自体は codontable コマンドで表示できます。
607
607
 
608
608
  bioruby> codontable(11)
609
609
 
@@ -639,8 +639,8 @@ codontables, codontable
639
639
  *---------------------------------------------*
640
640
 
641
641
 
642
- �֤��ͤ� Bio::CodonTable ���饹�Υ��֥������Ȥǡ����ɥ�ȥ��ߥλ���
643
- �Ѵ����Ǥ�������Ǥʤ����ʲ��Τ褦�ʥǡ��������뤳�Ȥ��Ǥ��ޤ���
642
+ 返り値は Bio::CodonTable クラスのオブジェクトで、コドンとアミノ酸の
643
+ 変換ができるだけでなく、以下のようなデータも得ることができます。
644
644
 
645
645
  bioruby> ct = codontable(2)
646
646
  bioruby> p ct["atg"]
@@ -648,47 +648,47 @@ codontables, codontable
648
648
 
649
649
  :definition
650
650
 
651
- ���ɥ�ɽ�����������
651
+ コドン表の定義の説明
652
652
 
653
653
  bioruby> puts ct.definition
654
654
  Vertebrate Mitochondrial
655
655
 
656
656
  :start
657
657
 
658
- ���ϥ��ɥ����
658
+ 開始コドン一覧
659
659
 
660
660
  bioruby> p ct.start
661
661
  ["att", "atc", "ata", "atg", "gtg"]
662
662
 
663
663
  :stop
664
664
 
665
- ���ߥ��ɥ����
665
+ 終止コドン一覧
666
666
 
667
667
  bioruby> p ct.stop
668
668
  ["taa", "tag", "aga", "agg"]
669
669
 
670
670
  :revtrans
671
671
 
672
- ���ߥλ��򥳡��ɤ��륳�ɥ��Ĵ�٤�
672
+ アミノ酸をコードするコドンを調べる
673
673
 
674
674
  bioruby> p ct.revtrans("V")
675
675
  ["gtc", "gtg", "gtt", "gta"]
676
676
 
677
- === �ե�åȥե�����Υ���ȥ�
677
+ === フラットファイルのエントリ
678
678
 
679
- �ǡ����١����Υ���ȥ�ȡ��ե�åȥե����뤽�Τ�Τ򰷤���ˡ��Ҳ𤷤ޤ���
680
- GenBank �ǡ����١�������Ǥϡ��ե������Υ���ȥ꤬�ޤޤ�� gbphg.seq ��
681
- �ե����륵�������������Τǡ����Υե��������Ȥ��ƻȤ��ޤ���
679
+ データベースのエントリと、フラットファイルそのものを扱う方法を紹介します。
680
+ GenBank データベースの中では、ファージのエントリが含まれる gbphg.seq
681
+ ファイルサイズが小さいので、このファイルを例として使います。
682
682
 
683
683
  % wget ftp://ftp.hgc.jp/pub/mirror/ncbi/genbank/gbphg.seq.gz
684
684
  % gunzip gbphg.seq.gz
685
685
 
686
686
  --- getent(str)
687
687
 
688
- getseq ���ޥ�ɤ������������ޤ���������������Ǥʤ�����ȥ����Τ��������
689
- �ˤ� getent ���ޥ��(��2)��Ȥ��ޤ���getseq ���ޥ��Ʊ�͡�getent ���ޥ�ɤǤ�
690
- OBDA, EMBOSS, NCBI, EBI, TogoWS, KEGG API �Υǡ����١��������Ѳ�ǽ�Ǥ�(��5)��
691
- ����ˤĤ��Ƥ� getseq ���ޥ�ɤ������򻲾Ȥ��Ƥ���������
688
+ getseq コマンドは配列を取得しましたが、配列だけでなくエントリ全体を取得する
689
+ には getent コマンド(2)を使います。getseq コマンド同様、getent コマンドでも
690
+ OBDA, EMBOSS, NCBI, EBI, TogoWS のデータベースが利用可能です(5)
691
+ 設定については getseq コマンドの説明を参照してください。
692
692
 
693
693
  bioruby> entry = getent("genbank:AB044425")
694
694
  bioruby> puts entry
@@ -696,16 +696,16 @@ OBDA, EMBOSS, NCBI, EBI, TogoWS, KEGG API
696
696
  DEFINITION Volvox carteri f. kawasakiensis chloroplast psaB gene for
697
697
  photosystem I P700 chlorophyll a apoprotein A2,
698
698
  strain:NIES-732.
699
- (ά)
699
+ ()
700
700
 
701
- getent ���ޥ�ɤΰ����ˤ� db:entry_id ������ʸ����EMBOSS �� USA��
702
- �ե����롢IO ��Ϳ����졢�ǡ����١����Σ�����ȥ�ʬ��ʸ�����֤���ޤ���
703
- ����ǡ����١����˸¤餺����¿���Υǡ����١�������ȥ���б����Ƥ��ޤ���
701
+ getent コマンドの引数には db:entry_id 形式の文字列、EMBOSS USA
702
+ ファイル、IO が与えられ、データベースの1エントリ分の文字列が返されます。
703
+ 配列データベースに限らず、数多くのデータベースエントリに対応しています。
704
704
 
705
705
  --- flatparse(str)
706
706
 
707
- ������������ȥ��ѡ��������ߤ����ǡ�����Ȥ�����ˤ� flatparse
708
- ���ޥ�ɤ�Ȥ��ޤ���
707
+ 取得したエントリをパースして欲しいデータをとりだすには flatparse
708
+ コマンドを使います。
709
709
 
710
710
  bioruby> entry = getent("gbphg.seq")
711
711
  bioruby> gb = flatparse(entry)
@@ -715,14 +715,14 @@ getent
715
715
  Bacteriophage Mu DNA for ORF1, sheath protein gpL, ORF2, ORF3, complete cds.
716
716
  bioruby> puts psaB.naseq
717
717
  acggtcagacgtttggcccgaccaccgggatgaggctgacgcaggtcagaaatctttgtgacgacaaccgtatcaat
718
- (ά)
718
+ ()
719
719
 
720
720
  --- getobj(str)
721
721
 
722
- getobj ���ޥ��(��2)�ϡ�getent �ǥ���ȥ��ʸ����Ȥ��Ƽ����� flatparse ��
723
- �ѡ����������֥������Ȥ��Ѵ�����Τ�Ʊ���Ǥ���getent ���ޥ�ɤ�Ʊ��������
724
- �����դ��ޤ������������������ getseq������ȥ������������ getent��
725
- �ѡ����������֥������Ȥ����������� getobj ��Ȥ����Ȥˤʤ�ޤ���
722
+ getobj コマンド(2)は、getent でエントリを文字列として取得し flatparse
723
+ パースしたオブジェクトに変換するのと同じです。getent コマンドと同じ引数を
724
+ 受け付けます。配列を取得する時は getseq、エントリを取得する時は getent
725
+ パースしたオブジェクトを取得する時は getobj を使うことになります。
726
726
 
727
727
  bioruby> gb = getobj("gbphg.seq")
728
728
  bioruby> puts gb.entry_id
@@ -730,14 +730,14 @@ getobj
730
730
 
731
731
  --- flatfile(file)
732
732
 
733
- getent ���ޥ�ɤϣ�����ȥꤷ�������ʤ����ᡢ��������Υե�����򳫤���
734
- �ƥ���ȥ���˽�����Ԥ��ˤ� flatfile ���ޥ�ɤ�Ȥ��ޤ���
733
+ getent コマンドは1エントリしか扱えないため、ローカルのファイルを開いて
734
+ 各エントリ毎に処理を行うには flatfile コマンドを使います。
735
735
 
736
736
  bioruby> flatfile("gbphg.seq") do |entry|
737
737
  bioruby+ # do something on entry
738
738
  bioruby+ end
739
739
 
740
- �֥��å�����ꤷ�ʤ����ϡ��ե�������κǽ�Υ���ȥ��������ޤ���
740
+ ブロックを指定しない場合は、ファイル中の最初のエントリを取得します。
741
741
 
742
742
  bioruby> entry = flatfile("gbphg.seq")
743
743
  bioruby> gb = flatparse(entry)
@@ -745,39 +745,39 @@ getent
745
745
 
746
746
  --- flatauto(file)
747
747
 
748
- �ƥ���ȥ�� flatparse ��Ʊ�ͤ˥ѡ����������֤ǽ��֤˽������뤿��ˤϡ�
749
- flatfile ���ޥ�ɤ������ flatauto ���ޥ�ɤ�Ȥ��ޤ���
748
+ 各エントリを flatparse と同様にパースした状態で順番に処理するためには、
749
+ flatfile コマンドの代わりに flatauto コマンドを使います。
750
750
 
751
751
  bioruby> flatauto("gbphg.seq") do |entry|
752
752
  bioruby+ print entry.entry_id
753
753
  bioruby+ puts entry.definition
754
754
  bioruby+ end
755
755
 
756
- flatfile Ʊ�͡��֥��å�����ꤷ�ʤ����ϡ��ե�������κǽ�Υ���ȥ��
757
- ���������ѡ����������֥������Ȥ��֤��ޤ���
756
+ flatfile 同様、ブロックを指定しない場合は、ファイル中の最初のエントリを
757
+ 取得し、パースしたオブジェクトを返します。
758
758
 
759
759
  bioruby> gb = flatfile("gbphg.seq")
760
760
  bioruby> puts gb.entry_id
761
761
 
762
- === �ե�åȥե�����Υ���ǥ�����
762
+ === フラットファイルのインデクシング
763
763
 
764
- EMBOSS �� dbiflat �˻�����ǽ�Ȥ��ơ�BioRuby, BioPerl �ʤɤ˶��̤� BioFlat
765
- �Ȥ�������ǥå��������������Ȥߤ�����ޤ������٥���ǥå�����
766
- �������Ƥ����ȥ���ȥ�μ��Ф�����®�����ưפ˹Ԥ��ޤ���
767
- ����ˤ�꼫ʬ���ѤΥǡ����١������ڤ˺�뤳�Ȥ��Ǥ��ޤ���
764
+ EMBOSS dbiflat に似た機能として、BioRuby, BioPerl などに共通の BioFlat
765
+ というインデックスを作成する仕組みがあります。一度インデックスを
766
+ 作成しておくとエントリの取り出しが高速かつ容易に行えます。
767
+ これにより自分専用のデータベースを手軽に作ることができます。
768
768
 
769
769
  --- flatindex(db_name, *source_file_list)
770
770
 
771
- GenBank �Υե�����������ե����� gbphg.seq �����äƤ��륨��ȥ���Ф���
772
- mydb �Ȥ����ǡ����١���̾�ǥ���ǥå�����������ޤ���
771
+ GenBank のファージの配列ファイル gbphg.seq に入っているエントリに対して
772
+ mydb というデータベース名でインデックスを作成します。
773
773
 
774
774
  bioruby> flatindex("mydb", "gbphg.seq")
775
775
  Creating BioFlat index (.bioruby/bioflat/mydb) ... done
776
776
 
777
777
  --- flatsearch(db_name, entry_id)
778
778
 
779
- �������� mydb �ǡ����١������饨��ȥ��Ȥ�Ф��ˤ� flatsearch ���ޥ�ɤ�
780
- �Ȥ��ޤ���
779
+ 作成した mydb データベースからエントリをとり出すには flatsearch コマンドを
780
+ 使います。
781
781
 
782
782
  bioruby> entry = flatsearch("mydb", "AB004561")
783
783
  bioruby> puts entry
@@ -785,47 +785,47 @@ mydb
785
785
  DEFINITION Bacteriophage phiU gene for integrase, complete cds, integration
786
786
  site.
787
787
  ACCESSION AB004561
788
- (ά)
788
+ ()
789
789
 
790
- === �͡��� DB ������� FASTA �ե����ޥåȤ��Ѵ�������¸
790
+ === 様々な DB の配列を FASTA フォーマットに変換して保存
791
791
 
792
- FASTA �ե����ޥåȤ�����ǡ�����ɸ��Ū���Ѥ����Ƥ���ե����ޥåȤǤ���
793
- ��>�׵���ǤϤ��ޤ룱���ܤ���������������ꡢ�����ܰʹߤ����󤬤ĤŤ��ޤ���
794
- ������ζ���ʸ����̵�뤵��ޤ���
792
+ FASTA フォーマットは配列データで標準的に用いられているフォーマットです。
793
+ 「>」記号ではじまる1行目に配列の説明があり、2行目以降に配列がつづきます。
794
+ 配列中の空白文字は無視されます。
795
795
 
796
796
  >entry_id definition ...
797
797
  ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
798
798
  ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
799
799
 
800
- ����������Ԥϡ��ǽ��ñ�줬����� ID �ˤʤäƤ��뤳�Ȥ�¿���ΤǤ�����
801
- NCBI �� BLAST �ѥǡ����١����ǤϤ���˹��٤ʹ�¤���������ʤ��Ƥ��ޤ���
800
+ 配列の説明行は、最初の単語が配列の ID になっていることが多いのですが、
801
+ NCBI BLAST 用データベースではさらに高度な構造化がおこなわれています。
802
802
 
803
803
  * ((<URL:ftp://ftp.ncbi.nih.gov/blast/documents/README.formatdb>))
804
804
  * ((<URL:http://blast.wustl.edu/doc/FAQ-Indexing.html#Identifiers>))
805
805
  * FASTA format (Wikipedia)
806
806
  ((<URL:http://en.wikipedia.org/wiki/Fasta_format>))
807
807
 
808
- BioRuby �Υǡ����١�������ȥ�Υ��饹�ˤϥ���ȥ�ID����������ˤĤ���
809
- ���̤Υ᥽�åɤ��Ѱդ���Ƥ��ޤ���
808
+ BioRuby のデータベースエントリのクラスにはエントリID、配列、定義について
809
+ 共通のメソッドが用意されています。
810
810
 
811
- * entry_id - ����ȥ� ID �����
812
- * definition - ���ʸ�����
813
- * seq - ��������
811
+ * entry_id - エントリ ID を取得
812
+ * definition - 定義文を取得
813
+ * seq - 配列を取得
814
814
 
815
- �����ζ��̥᥽�åɤ�Ȥ��ȡ��ɤ������ǡ����١�������ȥ�Ǥ�
816
- FASTA �ե����ޥåȤ��Ѵ��Ǥ���ץ�����ब��ñ�˺��ޤ���
815
+ これらの共通メソッドを使うと、どんな配列データベースエントリでも
816
+ FASTA フォーマットに変換できるプログラムが簡単に作れます。
817
817
 
818
818
  entry.seq.to_fasta("#{entry.entry_id} #{entry.definition}", 60)
819
819
 
820
- ����ˡ�BioRuby �Ǥ����ϥǡ����١����η�����ưȽ�̤Ǥ��ޤ��Τǡ�
821
- GenBank, UniProt �ʤ�¿���μ��פ�����ǡ����١����Ǥ�
822
- �ե�����̾����ꤹ������� FASTA �ե����ޥåȤ��Ѵ��Ǥ��ޤ���
820
+ さらに、BioRuby では入力データベースの形式を自動判別できますので、
821
+ GenBank, UniProt など多くの主要な配列データベースでは
822
+ ファイル名を指定するだけで FASTA フォーマットに変換できます。
823
823
 
824
824
  --- flatfasta(fasta_file, *source_file_list)
825
825
 
826
- ���ϥǡ����١����Υե�����̾�Υꥹ�Ȥ��顢���ꤷ�� FASTA �ե����ޥåȤ�
827
- �ե�������������륳�ޥ�ɤǤ��������ǤϤ����Ĥ��� GenBank �Υե������
828
- FASTA �ե����ޥåȤ��Ѵ�����myfasta.fa �Ȥ����ե��������¸���Ƥ��ޤ���
826
+ 入力データベースのファイル名のリストから、指定した FASTA フォーマットの
827
+ ファイルを生成するコマンドです。ここではいくつかの GenBank のファイルを
828
+ FASTA フォーマットに変換し、myfasta.fa というファイルに保存しています。
829
829
 
830
830
  bioruby> flatfasta("myfasta.fa", "gbphg.seq", "gbvrl1.seq", "gbvrl2.seq")
831
831
  Saving fasta file (myfasta.fa) ...
@@ -834,113 +834,9 @@ FASTA
834
834
  converting -- gbvrl2.gbk
835
835
  done
836
836
 
837
- === KEGG API
837
+ === スクリプト生成
838
838
 
839
- BioRuby ������Ǥ� KEGG API �Υ����֥����ӥ����ñ�����ѤǤ��ޤ���
840
-
841
- --- keggdbs
842
-
843
- ���Υ�ͥåȤ� KEGG API ���̤������Ѳ�ǽ�ʥǡ����١����Υꥹ�Ȥ�ɽ�����ޤ���
844
-
845
- bioruby> keggdbs
846
- nt: Non-redundant nucleic acid sequence database
847
- aa: Non-redundant protein sequence database
848
- gb: GenBank nucleic acid sequence database
849
- (ά)
850
-
851
- --- keggorgs
852
-
853
- KEGG �˼�Ͽ����Ƥ�������ʪ��Υꥹ�Ȥ�ɽ�����ޤ���
854
-
855
- bioruby> keggorgs
856
- aae: Aquifex aeolicus
857
- aci: Acinetobacter sp. ADP1
858
- afu: Archaeoglobus fulgidus
859
- (ά)
860
-
861
- --- keggpathways
862
-
863
- KEGG �˼�Ͽ����Ƥ������ѥ��������Υꥹ�Ȥ�ɽ�����ޤ���
864
-
865
- bioruby> keggpathways
866
- path:map00010: Glycolysis / Gluconeogenesis - Reference pathway
867
- path:map00020: Citrate cycle (TCA cycle) - Reference pathway
868
- path:map00030: Pentose phosphate pathway - Reference pathway
869
- (ά)
870
-
871
- �����ˣ�ʸ���� KEGG ��ʪ�ﵭ��򤢤�����ȡ�������ʪ�����ѤǤ���
872
- �ѥ������������ΰ������֤��ޤ�����IJ�� eco �ξ��ʲ��Τ褦�ˤʤ�ޤ���
873
-
874
- bioruby> keggpathways("eco")
875
- path:eco00010: Glycolysis / Gluconeogenesis - Escherichia coli K-12 MG1655
876
- path:eco00020: Citrate cycle (TCA cycle) - Escherichia coli K-12 MG1655
877
- path:eco00030: Pentose phosphate pathway - Escherichia coli K-12 MG1655
878
- (ά)
879
-
880
- --- keggapi
881
-
882
- �����ʳ��� KEGG API �Υ᥽�åɤϡ�keggapi ��³���ƸƤӽФ����Ȥ�
883
- ���ѤǤ��ޤ���
884
-
885
- bioruby> p keggapi.get_genes_by_pathway("path:eco00010")
886
- ["eco:b0114", "eco:b0115", "eco:b0116", "eco:b0356", "eco:b0688", (ά)
887
-
888
- ���Ѳ�ǽ�ʥ᥽�åɤΰ����� KEGG API �Υޥ˥奢��򻲾Ȥ��Ƥ���������
889
-
890
- * ((<URL:http://www.genome.jp/kegg/soap/doc/keggapi_manual_ja.html>))
891
-
892
- === DBGET
893
-
894
- ���Υ�ͥåȤ� DBGET �Υ��ޥ�ɤǤ��� binfo, bfind, bget, btit, bconv ��
895
- KEGG API �����Ѥ��Ƥ��Τޤ޼¹ԤǤ���褦�ˤʤäƤ��ޤ���
896
-
897
- --- binfo
898
-
899
- bioruby> binfo
900
- *** Last database updates ***
901
- Date Database Release #Entries #Residues
902
- -------- ------------- ------------------------ ------------ ----------------
903
- 05/12/06 nr-nt 05-12-04 (Dec 05) 63,078,043 111,609,773,616
904
- 05/12/06 nr-aa 05-12-05 (Dec 05) 2,682,790 890,953,839
905
- 05/10/25 genbank 150.0 (Oct 05) 49,152,445 53,655,236,500
906
- 05/12/06 genbank-upd 150.0+/12-04 (Dec 05) 7,470,976 6,357,888,366
907
- (ά)
908
-
909
- binfo ���ޥ�ɤ�³���ƥǡ����١���̾����ꤹ�뤳�ȤǤ��ܺ٤ʾ���
910
- ɽ������ޤ���
911
-
912
- bioruby> binfo "genbank"
913
- genbank GenBank nucleic acid sequence database
914
- gb Release 150.0, Oct 05
915
- National Center for Biotechnology Information
916
- 49,152,445 entries, 53,655,236,500 bases
917
- Last update: 05/10/25
918
- <dbget> <fasta> <blast>
919
-
920
- --- bfind(keyword)
921
-
922
- bfind ���ޥ�ɤǥǡ����١������Ф��륭����ɥ�������Ԥ����Ȥ��Ǥ��ޤ���
923
- �ǡ����١���̾�ȸ���������������ɤ�ʸ������Ϥ��ޤ���
924
-
925
- bioruby> list = bfind "genbank ebola human"
926
- bioruby> puts list
927
- gb:BD177378 [BD177378] A monoclonal antibody recognizing ebola virus.
928
- gb:BD177379 [BD177379] A monoclonal antibody recognizing ebola virus.
929
- (ά)
930
-
931
- --- bget(entry_id)
932
-
933
- bget ���ޥ�ɤǻ��ꤷ�� db:entry_id �Υǡ����١�������ȥ������Ǥ��ޤ���
934
-
935
- bioruby> entry = bget "gb:BD177378"
936
- bioruby> puts entry
937
- LOCUS BD177378 24 bp DNA linear PAT 16-APR-2003
938
- DEFINITION A monoclonal antibody recognizing ebola virus.
939
- (ά)
940
-
941
- === ������ץ�����
942
-
943
- ��ȼ��򥹥���ץȲ�������¸���Ƥ������Ȥ�Ǥ��ޤ���
839
+ 作業手順をスクリプト化して保存しておくこともできます。
944
840
 
945
841
  bioruby> script
946
842
  -- 8< -- 8< -- 8< -- Script -- 8< -- 8< -- 8< --
@@ -951,7 +847,7 @@ bget
951
847
  -- >8 -- >8 -- >8 -- Script -- >8 -- >8 -- >8 --
952
848
  Saving script (script.rb) ... done
953
849
 
954
- �������줿 script.rb �ϰʲ��Τ褦�ˤʤ�ޤ���
850
+ 生成された script.rb は以下のようになります。
955
851
 
956
852
  #!/usr/bin/env bioruby
957
853
 
@@ -959,34 +855,34 @@ bget
959
855
  p seq
960
856
  p seq.translate
961
857
 
962
- ���Υ�����ץȤ� bioruby ���ޥ�ɤǼ¹Ԥ��뤳�Ȥ��Ǥ��ޤ���
858
+ このスクリプトは bioruby コマンドで実行することができます。
963
859
 
964
860
  % bioruby script.rb
965
861
 
966
- === �ʰץ����뵡ǽ
862
+ === 簡易シェル機能
967
863
 
968
864
  --- cd(dir)
969
865
 
970
- �����ȥǥ��쥯�ȥ���ѹ����ޤ���
866
+ カレントディレクトリを変更します。
971
867
 
972
868
  bioruby> cd "/tmp"
973
869
  "/tmp"
974
870
 
975
- �ۡ���ǥ��쥯�ȥ�����ˤϰ�����Ĥ����� cd ��¹Ԥ��ޤ���
871
+ ホームディレクトリに戻るには引数をつけずに cd を実行します。
976
872
 
977
873
  bioruby> cd
978
874
  "/home/k"
979
875
 
980
876
  --- pwd
981
877
 
982
- �����ȥǥ��쥯�ȥ��ɽ�����ޤ���
878
+ カレントディレクトリを表示します。
983
879
 
984
880
  bioruby> pwd
985
881
  "/home/k"
986
882
 
987
883
  --- dir
988
884
 
989
- �����ȥǥ��쥯�ȥ�Υե���������ɽ�����ޤ���
885
+ カレントディレクトリのファイルを一覧表示します。
990
886
 
991
887
  bioruby> dir
992
888
  UGO Date Byte File
@@ -994,7 +890,7 @@ bget
994
890
  40700 Tue Dec 06 07:07:35 JST 2005 1768 "Desktop"
995
891
  40755 Tue Nov 29 16:55:20 JST 2005 2176 "bin"
996
892
  100644 Sat Oct 15 03:01:00 JST 2005 42599518 "gbphg.seq"
997
- (ά)
893
+ ()
998
894
 
999
895
  bioruby> dir "gbphg.seq"
1000
896
  UGO Date Byte File
@@ -1003,7 +899,7 @@ bget
1003
899
 
1004
900
  --- head(file, lines = 10)
1005
901
 
1006
- �ƥ����ȥե�����䥪�֥������Ȥ���Ƭ 10 �Ԥ�ɽ�����ޤ���
902
+ テキストファイルやオブジェクトの先頭 10 行を表示します。
1007
903
 
1008
904
  bioruby> head "gbphg.seq"
1009
905
  GBPHG.SEQ Genetic Sequence Data Bank
@@ -1015,13 +911,13 @@ bget
1015
911
 
1016
912
  2713 loci, 16892737 bases, from 2713 reported sequences
1017
913
 
1018
- ɽ������Կ�����ꤹ�뤳�Ȥ�Ǥ��ޤ���
914
+ 表示する行数を指定することもできます。
1019
915
 
1020
916
  bioruby> head "gbphg.seq", 2
1021
917
  GBPHG.SEQ Genetic Sequence Data Bank
1022
918
  October 15 2005
1023
919
 
1024
- �ƥ����Ȥ����äƤ����ѿ�����Ƭ�򸫤뤳�Ȥ�Ǥ��ޤ���
920
+ テキストの入っている変数の先頭を見ることもできます。
1025
921
 
1026
922
  bioruby> entry = getent("gbphg.seq")
1027
923
  bioruby> head entry, 2
@@ -1030,18 +926,18 @@ bget
1030
926
 
1031
927
  --- disp(obj)
1032
928
 
1033
- �ƥ����ȥե�����䥪�֥������Ȥ���Ȥ�ڡ����㡼��ɽ�����ޤ���
1034
- �����ǻ��Ѥ���ڡ����㡼�� pager ���ޥ�ɤ��ѹ����뤳�Ȥ��Ǥ��ޤ��ʸ�ҡˡ�
929
+ テキストファイルやオブジェクトの中身をページャーで表示します。
930
+ ここで使用するページャーは pager コマンドで変更することができます(後述)。
1035
931
 
1036
932
  bioruby> disp "gbphg.seq"
1037
933
  bioruby> disp entry
1038
934
  bioruby> disp [1, 2, 3] * 4
1039
935
 
1040
- === �ѿ�
936
+ === 変数
1041
937
 
1042
938
  --- ls
1043
939
 
1044
- ���å������˺��������ѿ��ʥ��֥������ȡˤΰ�����ɽ�����ޤ���
940
+ セッション中に作成した変数(オブジェクト)の一覧を表示します。
1045
941
 
1046
942
  bioruby> ls
1047
943
  ["entry", "seq"]
@@ -1051,7 +947,7 @@ bget
1051
947
 
1052
948
  --- rm(symbol)
1053
949
 
1054
- �ѿ���õ�ޤ���
950
+ 変数を消去します。
1055
951
 
1056
952
  bioruby> rm "a"
1057
953
 
@@ -1060,22 +956,22 @@ bget
1060
956
 
1061
957
  --- savefile(filename, object)
1062
958
 
1063
- �ѿ�����¸����Ƥ������Ƥ�ƥ����ȥե��������¸���ޤ���
959
+ 変数に保存されている内容をテキストファイルに保存します。
1064
960
 
1065
961
  bioruby> savefile "testfile.txt", entry
1066
962
  Saving data (testfile.txt) ... done
1067
963
 
1068
964
  bioruby> disp "testfile.txt"
1069
965
 
1070
- === �Ƽ�����
966
+ === 各種設定
1071
967
 
1072
- ��³���λ��ȤߤȤ��� BioRuby �����뽪λ���� session �ǥ��쥯�ȥ����
1073
- �ҥ��ȥꡢ���֥������ȡ��Ŀͤ����꤬��¸���졢����ư���˼�ưŪ��
1074
- �ɤ߹��ޤ�ޤ���
968
+ 永続化の仕組みとして BioRuby シェル終了時に session ディレクトリ内に
969
+ ヒストリ、オブジェクト、個人の設定が保存され、次回起動時に自動的に
970
+ 読み込まれます。
1075
971
 
1076
972
  --- config
1077
973
 
1078
- BioRuby ������γƼ������ɽ�����ޤ���
974
+ BioRuby シェルの各種設定を表示します。
1079
975
 
1080
976
  bioruby> config
1081
977
  message = "...BioRuby in the shell..."
@@ -1084,11 +980,11 @@ BioRuby
1084
980
  pager = nil
1085
981
  echo = false
1086
982
 
1087
- echo ɽ�����뤫�ɤ������ڤ��ؤ��ޤ���on �ξ��ϡ�puts �� p �ʤɤ�
1088
- �Ĥ��ʤ��Ƥ�ɾ�������ͤ����̤�ɽ������ޤ���
1089
- irb ���ޥ�ɤξ��Ͻ�����꤬ on �ˤʤäƤ��ޤ�����bioruby ���ޥ�ɤǤ�
1090
- Ĺ������䥨��ȥ�ʤ�Ĺ���ʸ����򰷤����Ȥ�¿�����ᡢ�������Ǥ�
1091
- off �ˤ��Ƥ��ޤ���
983
+ echo 表示するかどうかを切り替えます。on の場合は、puts p などを
984
+ つけなくても評価した値が画面に表示されます。
985
+ irb コマンドの場合は初期設定が on になっていますが、bioruby コマンドでは
986
+ 長い配列やエントリなど長大な文字列を扱うことが多いため、初期設定では
987
+ off にしています。
1092
988
 
1093
989
  bioruby> config :echo
1094
990
  Echo on
@@ -1097,22 +993,22 @@ off
1097
993
  bioruby> config :echo
1098
994
  Echo off
1099
995
 
1100
- ���ɥ�ɽ�ʤɡ���ǽ�ʾ��˥��顼ɽ�����뤫�ɤ������ڤ��ؤ��ޤ���
1101
- ���顼ɽ���ξ�硢�ץ���ץȤˤ⿧���Ĥ��ޤ��Τ�Ƚ�̤Ǥ��ޤ���
996
+ コドン表など、可能な場合にカラー表示するかどうかを切り替えます。
997
+ カラー表示の場合、プロンプトにも色がつきますので判別できます。
1102
998
 
1103
999
  bioruby> config :color
1104
1000
  bioruby> codontable
1105
- (���դ�)
1001
+ (色付き)
1106
1002
 
1107
- �¹Ԥ��뤿�Ӥ����꤬�ڤ��ؤ��ޤ���
1003
+ 実行するたびに設定が切り替わります。
1108
1004
 
1109
1005
  bioruby> config :color
1110
1006
  bioruby> codontable
1111
- (���ʤ�)
1007
+ (色なし)
1112
1008
 
1113
- BioRuby �����뵯ư����ɽ������륹�ץ�å����å�������㤦ʸ�����
1114
- �ѹ����ޤ������β��ϥץ����������ѤΥǥ��쥯�ȥ꤫����ꤷ�Ƥ����Τ�
1115
- �褤�Ǥ��礦��
1009
+ BioRuby シェル起動時に表示されるスプラッシュメッセージを違う文字列に
1010
+ 変更します。何の解析プロジェクト用のディレクトリかを指定しておくのも
1011
+ よいでしょう。
1116
1012
 
1117
1013
  bioruby> config :message, "Kumamushi genome project"
1118
1014
 
@@ -1120,20 +1016,20 @@ BioRuby
1120
1016
 
1121
1017
  Version : BioRuby 0.8.0 / Ruby 1.8.4
1122
1018
 
1123
- �ǥե���Ȥ�ʸ������᤹�ˤϡ������ʤ��Ǽ¹Ԥ��ޤ���
1019
+ デフォルトの文字列に戻すには、引数なしで実行します。
1124
1020
 
1125
1021
  bioruby> config :message
1126
1022
 
1127
- BioRuby �����뵯ư����ɽ������륹�ץ�å����å��ݥ���
1128
- ���˥᡼�����ɽ�����뤫�ɤ������ڤ��ؤ��ޤ���
1129
- �������¹Ԥ��뤿�Ӥ����꤬�ڤ��ؤ��ޤ���
1023
+ BioRuby シェル起動時に表示されるスプラッシュメッセ−ジを
1024
+ アニメーション表示するかどうかを切り替えます。
1025
+ こちらも実行するたびに設定が切り替わります。
1130
1026
 
1131
1027
  bioruby> config :splash
1132
1028
  Splash on
1133
1029
 
1134
1030
  --- pager(command)
1135
1031
 
1136
- disp ���ޥ�ɤǼºݤ����Ѥ���ڡ����㡼���ڤ��ؤ��ޤ���
1032
+ disp コマンドで実際に利用するページャーを切り替えます。
1137
1033
 
1138
1034
  bioruby> pager "lv"
1139
1035
  Pager is set to 'lv'
@@ -1141,22 +1037,22 @@ disp
1141
1037
  bioruby> pager "less -S"
1142
1038
  Pager is set to 'less -S'
1143
1039
 
1144
- �ڡ����㡼����Ѥ��ʤ�����ˤ�����ϰ����ʤ��Ǽ¹Ԥ��ޤ���
1040
+ ページャーを使用しない設定にする場合は引数なしで実行します。
1145
1041
 
1146
1042
  bioruby> pager
1147
1043
  Pager is set to 'off'
1148
1044
 
1149
- �ڡ����㡼�� off �λ��˰����ʤ��Ǽ¹Ԥ���ȴĶ��ѿ� PAGER ���ͤ����Ѥ��ޤ���
1045
+ ページャーが off の時に引数なしで実行すると環境変数 PAGER の値を利用します。
1150
1046
 
1151
1047
  bioruby> pager
1152
1048
  Pager is set to 'less'
1153
1049
 
1154
- === �����ҥ�������������
1050
+ === 遺伝子アスキーアート
1155
1051
 
1156
1052
  --- doublehelix(sequence)
1157
1053
 
1158
- DNA ����򥢥����������Ȥ�ɽ�����륪�ޥ���ǽ������ޤ���
1159
- Ŭ���ʱ������� seq ����������äݤ�ɽ�����Ƥߤޤ��礦��
1054
+ DNA 配列をアスキーアートで表示するオマケ機能があります。
1055
+ 適当な塩基配列 seq を二重螺旋っぽく表示してみましょう。
1160
1056
 
1161
1057
  bioruby> dna = getseq("atgc" * 10).randomize
1162
1058
  bioruby> doublehelix dna
@@ -1173,33 +1069,33 @@ DNA
1173
1069
  g---c
1174
1070
  c----g
1175
1071
  c----g
1176
- (ά)
1072
+ ()
1177
1073
 
1178
- === �����Ҳ���
1074
+ === 遺伝子音楽
1179
1075
 
1180
1076
  --- midifile(midifile, sequence)
1181
1077
 
1182
- DNA ����� MIDI �ե�������Ѵ����륪�ޥ���ǽ������ޤ���
1183
- Ŭ���ʱ������� seq ��Ȥä��������� midifile.mid ��
1184
- MIDI �ץ쥤�䡼�DZ��դ��Ƥߤޤ��礦��
1078
+ DNA 配列を MIDI ファイルに変換するオマケ機能があります。
1079
+ 適当な塩基配列 seq を使って生成した midifile.mid
1080
+ MIDI プレイヤーで演奏してみましょう。
1185
1081
 
1186
1082
  bioruby> midifile("midifile.mid", seq)
1187
1083
  Saving MIDI file (midifile.mid) ... done
1188
1084
 
1189
- �ʾ�� BioRuby ������β���򽪤�ꡢ�ʲ��Ǥ� BioRuby �饤�֥�꼫�Τ�
1190
- �����Ԥ��ޤ���
1085
+ 以上で BioRuby シェルの解説を終わり、以下では BioRuby ライブラリ自体の
1086
+ 解説を行います。
1191
1087
 
1192
1088
 
1193
- == ���𡦥��ߥλ������������� (Bio::Sequence ���饹)
1089
+ == 塩基・アミノ酸配列を処理する (Bio::Sequence クラス)
1194
1090
 
1195
- Bio::Sequence ���饹�ϡ�������Ф����͡�������Ԥ����Ȥ��Ǥ��ޤ���
1196
- ��ñ����Ȥ��ơ�û���������� atgcatgcaaaa ��Ȥäơ���������ؤ��Ѵ���
1197
- ��ʬ������ڤ�Ф������������η׻������ߥλ��ؤ�������ʬ���̷׻��ʤɤ�
1198
- �ԤʤäƤߤޤ������ߥλ��ؤ������Ǥϡ�ɬ�פ˱����Ʋ������ܤ���������
1199
- �Ϥ��뤫�ե졼�����ꤷ���ꡢcodontable.rb ���������Ƥ��륳�ɥ�ơ�
1200
- �֥���椫����Ѥ����Τ���ꤷ���ꤹ������Ǥ��ޤ��ʥ��ɥ�ơ��֥��
1201
- �ֹ�� ((<URL:http://www.ncbi.nlm.nih.gov/Taxonomy/Utils/wprintgc.cgi>))
1202
- �򻲾ȡˡ�
1091
+ Bio::Sequence クラスは、配列に対する様々な操作を行うことができます。
1092
+ 簡単な例として、短い塩基配列 atgcatgcaaaa を使って、相補配列への変換、
1093
+ 部分配列の切り出し、塩基組成の計算、アミノ酸への翻訳、分子量計算などを
1094
+ 行なってみます。アミノ酸への翻訳では、必要に応じて何塩基目から翻訳を開
1095
+ 始するかフレームを指定したり、codontable.rb で定義されているコドンテー
1096
+ ブルの中から使用するものを指定したりする事ができます(コドンテーブルの
1097
+ 番号は ((<URL:http://www.ncbi.nlm.nih.gov/Taxonomy/Utils/wprintgc.cgi>))
1098
+ を参照)。
1203
1099
 
1204
1100
  #!/usr/bin/env ruby
1205
1101
 
@@ -1207,134 +1103,134 @@ Bio::Sequence
1207
1103
 
1208
1104
  seq = Bio::Sequence::NA.new("atgcatgcaaaa")
1209
1105
 
1210
- puts seq # ��������
1211
- puts seq.complement # �������� (Bio::Sequence::NA)
1212
- puts seq.subseq(3,8) # 3 �����ܤ��� 8 �����ܤޤ�
1106
+ puts seq # 元の配列
1107
+ puts seq.complement # 相補配列 (Bio::Sequence::NA)
1108
+ puts seq.subseq(3,8) # 3 塩基目から 8 塩基目まで
1213
1109
 
1214
- p seq.gc_percent # GC ����� (Integer)
1215
- p seq.composition # ���������� (Hash)
1110
+ p seq.gc_percent # GC 塩基の割合 (Integer)
1111
+ p seq.composition # 全塩基組成 (Hash)
1216
1112
 
1217
- puts seq.translate # �������� (Bio::Sequence::AA)
1218
- puts seq.translate(2) # ��ʸ���ܤ������������̤ϣ������
1219
- puts seq.translate(1,9) # ���֤Υ��ɥ�ơ��֥�����
1220
-
1221
- p seq.translate.codes # ���ߥλ���ʸ�������ɤ�ɽ�� (Array)
1222
- p seq.translate.names # ���ߥλ���̾����ɽ�� (Array)
1223
- p seq.translate.composition # ���ߥλ����� (Hash)
1224
- p seq.translate.molecular_weight # ʬ���̤�׻� (Float)
1113
+ puts seq.translate # 翻訳配列 (Bio::Sequence::AA)
1114
+ puts seq.translate(2) # 2文字目から翻訳(普通は1から)
1115
+ puts seq.translate(1,9) # 9番のコドンテーブルを使用
1116
+
1117
+ p seq.translate.codes # アミノ酸を3文字コードで表示 (Array)
1118
+ p seq.translate.names # アミノ酸を名前で表示 (Array)
1119
+ p seq.translate.composition # アミノ酸組成 (Hash)
1120
+ p seq.translate.molecular_weight # 分子量を計算 (Float)
1225
1121
 
1226
- puts seq.complement.translate # �������������
1122
+ puts seq.complement.translate # 相補配列の翻訳
1227
1123
 
1228
- print, puts, p �����Ƥ���̤�ɽ�����뤿��� Ruby ɸ��᥽�åɤǤ���
1229
- ���ܤȤʤ� print ����٤ơ�puts �ϲ��Ԥ�ư�ǤĤ��Ƥ���롢
1230
- p ��ʸ���������ʳ��Υ��֥������Ȥ�ʹ֤����䤹���褦��ɽ�����Ƥ���롢
1231
- �Ȥ�����ħ������ޤ��Τ�Ŭ���Ȥ�ʬ���ޤ�������ˡ�
1124
+ print, puts, p は内容を画面に表示するための Ruby 標準メソッドです。
1125
+ 基本となる print と比べて、puts は改行を自動でつけてくれる、
1126
+ p は文字列や数字以外のオブジェクトも人間が見やすいように表示してくれる、
1127
+ という特徴がありますので適宜使い分けます。さらに、
1232
1128
 
1233
1129
  require 'pp'
1234
1130
 
1235
- �Ȥ���лȤ���褦�ˤʤ� pp �᥽�åɤϡ�p ����ɽ�������䤹���ʤ�ޤ���
1131
+ とすれば使えるようになる pp メソッドは、p よりも表示が見やすくなります。
1236
1132
 
1237
- ��������� Bio::Sequence::NA ���饹�Ρ����ߥλ������ Bio::Sequence::AA
1238
- ���饹�Υ��֥������Ȥˤʤ�ޤ������줾�� Bio::Sequence ���饹��Ѿ���
1239
- �Ƥ��뤿�ᡢ¿���Υ᥽�åɤ϶��̤Ǥ���
1133
+ 塩基配列は Bio::Sequence::NA クラスの、アミノ酸配列は Bio::Sequence::AA
1134
+ クラスのオブジェクトになります。それぞれ Bio::Sequence クラスを継承し
1135
+ ているため、多くのメソッドは共通です。
1240
1136
 
1241
- ����� Bio::Sequence::NA, AA ���饹�� Ruby �� String ���饹��Ѿ����Ƥ���Τ�
1242
- String ���饹�����ĥ᥽�åɤ�Ȥ������Ǥ��ޤ����㤨����ʬ������ڤ�Ф��ˤ�
1243
- Bio::Sequence ���饹�� subseq(from,to) �᥽�åɤ�¾�ˡ�String ���饹��
1244
- [] �᥽�åɤ�Ȥ����Ȥ�Ǥ��ޤ���
1137
+ さらに Bio::Sequence::NA, AA クラスは Ruby String クラスを継承しているので
1138
+ String クラスが持つメソッドも使う事ができます。例えば部分配列を切り出すには
1139
+ Bio::Sequence クラスの subseq(from,to) メソッドの他に、String クラスの
1140
+ [] メソッドを使うこともできます。
1245
1141
 
1246
- Ruby ��ʸ����� 1 ʸ���ܤ� 0 ���ܤȤ��ƿ��������ˤ����դ�ɬ�פǤ������Ȥ��С�
1142
+ Ruby の文字列は 1 文字目を 0 番目として数える点には注意が必要です。たとえば、
1247
1143
 
1248
1144
  puts seq.subseq(1, 3)
1249
1145
  puts seq[0, 3]
1250
1146
 
1251
- �Ϥɤ���� seq �κǽ�Σ�ʸ�� atg ��ɽ�����ޤ���
1147
+ はどちらも seq の最初の3文字 atg を表示します。
1252
1148
 
1253
- ���Τ褦�ˡ�String �Υ᥽�åɤ�Ȥ����ϡ���ʪ�ؤ����̻��Ѥ���� 1 ʸ���ܤ�
1254
- 1 ���ܤȤ��ƿ�������������� 1 �����ɬ�פ�����ޤ���subseq �᥽�åɤ�
1255
- ����������Ǥ�äƤ��ޤ����ޤ���from, to �Τɤ��餫�Ǥ� 0 �ʲ��ξ���
1256
- �㳰��ȯ������褦�ˤʤäƤ��ޤ��ˡ�
1149
+ このように、String のメソッドを使う場合は、生物学で普通使用される 1 文字目を
1150
+ 1 番目として数えた数字からは 1 を引く必要があります(subseq メソッドは
1151
+ これを内部でやっています。また、from, to のどちらかでも 0 以下の場合は
1152
+ 例外が発生するようになっています)。
1257
1153
 
1258
- �����ޤǤν����� BioRuby ������ǻ�Ȱʲ��Τ褦�ˤʤ�ޤ���
1154
+ ここまでの処理を BioRuby シェルで試すと以下のようになります。
1259
1155
 
1260
- # ���ιԤ� seq = seq("atgcatgcaaaa") �Ǥ�褤
1156
+ # 次の行は seq = seq("atgcatgcaaaa") でもよい
1261
1157
  bioruby> seq = Bio::Sequence::NA.new("atgcatgcaaaa")
1262
- # �������������ɽ��
1158
+ # 生成した配列を表示
1263
1159
  bioruby> puts seq
1264
1160
  atgcatgcaaaa
1265
- # ���������ɽ��
1161
+ # 相補配列を表示
1266
1162
  bioruby> puts seq.complement
1267
1163
  ttttgcatgcat
1268
- # ��ʬ�����ɽ���ʣ������ܤ��飸�����ܤޤǡ�
1164
+ # 部分配列を表示(3塩基目から8塩基目まで)
1269
1165
  bioruby> puts seq.subseq(3,8)
1270
1166
  gcatgc
1271
- # ����� GC% ��ɽ��
1167
+ # 配列の GC% を表示
1272
1168
  bioruby> p seq.gc_percent
1273
1169
  33
1274
- # �����������ɽ��
1170
+ # 配列の組成を表示
1275
1171
  bioruby> p seq.composition
1276
1172
  {"a"=>6, "c"=>2, "g"=>2, "t"=>2}
1277
- # ���ߥλ�����ؤ�����
1173
+ # アミノ酸配列への翻訳
1278
1174
  bioruby> puts seq.translate
1279
1175
  MHAK
1280
- # ������򳫻ϱ���Ȥ�������
1176
+ # 2塩基を開始塩基として翻訳
1281
1177
  bioruby> puts seq.translate(2)
1282
1178
  CMQ
1283
- # ���֤Υ��ɥ�ơ��֥����Ѥ�������
1179
+ # 9番のコドンテーブルを使用して翻訳
1284
1180
  bioruby> puts seq.translate(1,9)
1285
1181
  MHAN
1286
- # �������줿���ߥλ������ʸ�������ɤ�ɽ��
1182
+ # 翻訳されたアミノ酸配列を3文字コードで表示
1287
1183
  bioruby> p seq.translate.codes
1288
1184
  ["Met", "His", "Ala", "Lys"]
1289
- # �������줿���ߥλ�����򥢥ߥλ���̾����ɽ��
1185
+ # 翻訳されたアミノ酸配列をアミノ酸の名前で表示
1290
1186
  bioruby> p seq.translate.names
1291
1187
  ["methionine", "histidine", "alanine", "lysine"]
1292
- # �������줿���ߥλ������������ɽ��
1188
+ # 翻訳されたアミノ酸配列の組成を表示
1293
1189
  bioruby> p seq.translate.composition
1294
1190
  {"K"=>1, "A"=>1, "M"=>1, "H"=>1}
1295
- # �������줿���ߥλ������ʬ���̤�ɽ��
1191
+ # 翻訳されたアミノ酸配列の分子量を表示
1296
1192
  bioruby> p seq.translate.molecular_weight
1297
1193
  485.605
1298
- # �������������
1194
+ # 相補配列を翻訳
1299
1195
  bioruby> puts seq.complement.translate
1300
1196
  FCMH
1301
- # ��ʬ����ʣ������ܤ��飳�����ܤޤǡ�
1197
+ # 部分配列(1塩基目から3塩基目まで)
1302
1198
  bioruby> puts seq.subseq(1, 3)
1303
1199
  atg
1304
- # ��ʬ����ʣ������ܤ��飳�����ܤޤǡ�
1200
+ # 部分配列(1塩基目から3塩基目まで)
1305
1201
  bioruby> puts seq[0, 3]
1306
1202
  atg
1307
1203
 
1308
- window_search(window_size, step_size) �᥽�åɤ�Ȥ��ȡ�������Ф��ƥ���
1309
- ��ɥ��򤺤餷�ʤ��餽�줾�����ʬ������Ф��������Ԥ����Ȥ��Ǥ��ޤ���
1310
- Ruby ����Ĺ�ΤҤȤĤǤ���֥֥��å��פˤ�äơ��֤��줾����Ф�������פ�
1311
- �ʷ餫�����Ƥ˽񤯤��Ȥ���ǽ�Ǥ����ʲ�����Ǥϡ�subseq �Ȥ����ѿ��ˤ��줾��
1312
- ��ʬ������������ʤ���֥��å��򷫤��֤��¹Ԥ��뤳�Ȥˤʤ�ޤ���
1204
+ window_search(window_size, step_size) メソッドを使うと、配列に対してウィ
1205
+ ンドウをずらしながらそれぞれの部分配列に対する処理を行うことができます。
1206
+ Ruby の特長のひとつである「ブロック」によって、「それぞれに対する処理」を
1207
+ 簡潔かつ明瞭に書くことが可能です。以下の例では、subseq という変数にそれぞれ
1208
+ 部分配列を代入しながらブロックを繰り返し実行することになります。
1313
1209
 
1314
- * 100 ���𤴤Ȥˡ�1���𤺤Ĥ��餷�ʤ����ʿ�� GC% ��׻�����ɽ������
1210
+ * 100 塩基ごとに(1塩基ずつずらしながら)平均 GC% を計算して表示する
1315
1211
 
1316
1212
  seq.window_search(100) do |subseq|
1317
1213
  puts subseq.gc_percent
1318
1214
  end
1319
1215
 
1320
- �֥��å�����Ǽ��������ʬ����⡢����Ʊ�� Bio::Sequence::NA �ޤ���
1321
- Bio::Sequence::AA ���饹�Υ��֥������ȤʤΤǡ����󥯥饹�λ������ƤΥ�
1322
- ���åɤ�¹Ԥ��뤳�Ȥ��Ǥ��ޤ���
1216
+ ブロックの中で受け取る部分配列も、元と同じ Bio::Sequence::NA または
1217
+ Bio::Sequence::AA クラスのオブジェクトなので、配列クラスの持つ全てのメ
1218
+ ソッドを実行することができます。
1323
1219
 
1324
- �ޤ��������ܤΰ����˰�ư������ꤹ�뤳�Ȥ������褦�ˤʤäƤ���Τǡ�
1220
+ また、2番目の引数に移動幅を指定することが出来るようになっているので、
1325
1221
 
1326
- * ���ɥ�ñ�̤Ǥ��餷�ʤ��� 15 ����� 5 �Ĵ�Υڥץ��ɤ���������ɽ������
1222
+ * コドン単位でずらしながら 15 塩基を 5 残基のペプチドに翻訳して表示する
1327
1223
 
1328
1224
  seq.window_search(15, 3) do |subseq|
1329
1225
  puts subseq.translate
1330
1226
  end
1331
1227
 
1332
- �Ȥ��ä����Ȥ��Ǥ��ޤ�������˰�ư���������ʤ���ü����ʬ�����᥽�å�
1333
- ���Τ��֤��ͤȤ����᤹�褦�ˤʤäƤ���Τǡ�
1228
+ といったことができます。さらに移動幅に満たない右端の部分配列をメソッド
1229
+ 自体の返り値として戻すようになっているので、
1334
1230
 
1335
- * ���Υ������ 10000bp ���Ȥ˥֥��ڤ�ˤ��� FASTA �ե����ޥåȤ�������
1336
- ���ΤȤ���ü 1000bp �ϥ����С���åפ�����10000bp �������ʤ� 3' ü��
1337
- ���Ӽ�����ä�ɽ������
1231
+ * ゲノム配列を 10000bp ごとにブツ切りにして FASTA フォーマットに整形、
1232
+ このとき末端 1000bp はオーバーラップさせ、10000bp に満たない 3' 端は
1233
+ 別途受け取って表示する
1338
1234
 
1339
1235
  i = 1
1340
1236
  remainder = seq.window_search(10000, 9000) do |subseq|
@@ -1343,89 +1239,89 @@ Bio::Sequence::AA
1343
1239
  end
1344
1240
  puts remainder.to_fasta("segment #{i}", 60)
1345
1241
 
1346
- �Τ褦�ʻ�����ȴ�ñ�ˤǤ��ޤ���
1242
+ のような事もわりと簡単にできます。
1347
1243
 
1348
- ������ɥ������Ȱ�ư����Ʊ���ˤ���ȥ����С���åפ��ʤ�������ɥ�����
1349
- �����Ǥ���Τǡ�
1244
+ ウィンドウの幅と移動幅を同じにするとオーバーラップしないウィンドウサー
1245
+ チができるので、
1350
1246
 
1351
- * ���ɥ����٤������
1247
+ * コドン頻度を数える
1352
1248
 
1353
1249
  codon_usage = Hash.new(0)
1354
1250
  seq.window_search(3, 3) do |subseq|
1355
1251
  codon_usage[subseq] += 1
1356
1252
  end
1357
1253
 
1358
- * 10 �Ĵ𤺤�ʬ���̤�׻�
1254
+ * 10 残基ずつ分子量を計算
1359
1255
 
1360
1256
  seq.window_search(10, 10) do |subseq|
1361
1257
  puts subseq.molecular_weight
1362
1258
  end
1363
1259
 
1364
- �Ȥ��ä����Ѥ�ͤ����ޤ���
1260
+ といった応用も考えられます。
1365
1261
 
1366
- �ºݤˤ� Bio::Sequence::NA ���֥������Ȥϥե����뤫���ɤ߹����ʸ����
1367
- �����������ꡢ�ǡ����١����������������Τ�Ȥä��ꤷ�ޤ������Ȥ��С�
1262
+ 実際には Bio::Sequence::NA オブジェクトはファイルから読み込んだ文字列か
1263
+ ら生成したり、データベースから取得したものを使ったりします。たとえば、
1368
1264
 
1369
1265
  #!/usr/bin/env ruby
1370
1266
 
1371
1267
  require 'bio'
1372
1268
 
1373
- input_seq = ARGF.read # ������Ϳ����줿�ե���������Ԥ��ɤ߹���
1269
+ input_seq = ARGF.read # 引数で与えられたファイルの全行を読み込む
1374
1270
 
1375
1271
  my_naseq = Bio::Sequence::NA.new(input_seq)
1376
1272
  my_aaseq = my_naseq.translate
1377
1273
 
1378
1274
  puts my_aaseq
1379
1275
 
1380
- ���Υץ������� na2aa.rb �Ȥ��ơ��ʲ��α�������
1276
+ このプログラムを na2aa.rb として、以下の塩基配列
1381
1277
 
1382
1278
  gtggcgatctttccgaaagcgatgactggagcgaagaaccaaagcagtgacatttgtctg
1383
1279
  atgccgcacgtaggcctgataagacgcggacagcgtcgcatcaggcatcttgtgcaaatg
1384
1280
  tcggatgcggcgtga
1385
1281
 
1386
- ��񤤤��ե����� my_naseq.txt ���ɤ߹�������������
1282
+ を書いたファイル my_naseq.txt を読み込んで翻訳すると
1387
1283
 
1388
1284
  % ./na2aa.rb my_naseq.txt
1389
1285
  VAIFPKAMTGAKNQSSDICLMPHVGLIRRGQRRIRHLVQMSDAA*
1390
1286
 
1391
- �Τ褦�ˤʤ�ޤ������ʤߤˡ����Τ��餤����ʤ�û������ȣ��Ԥǽ񤱤ޤ���
1287
+ のようになります。ちなみに、このくらいの例なら短くすると1行で書けます。
1392
1288
 
1393
1289
  % ruby -r bio -e 'p Bio::Sequence::NA.new($<.read).translate' my_naseq.txt
1394
1290
 
1395
- �����������������ե��������Τ����ݤʤΤǡ����ϥǡ����١�������ɬ�פ�
1396
- �����������Ƥߤޤ���
1291
+ しかし、いちいちファイルを作るのも面倒なので、次はデータベースから必要な
1292
+ 情報を取得してみます。
1397
1293
 
1398
1294
 
1399
- == GenBank �Υѡ��� (Bio::GenBank ���饹)
1295
+ == GenBank のパース (Bio::GenBank クラス)
1400
1296
 
1401
- GenBank �����Υե�������Ѱդ��Ƥ��������ʼ긵�ˤʤ����ϡ�
1402
- ftp://ftp.ncbi.nih.gov/genbank/ ���� .seq �ե���������������ɤ��ޤ��ˡ�
1297
+ GenBank 形式のファイルを用意してください(手元にない場合は、
1298
+ ftp://ftp.ncbi.nih.gov/genbank/ から .seq ファイルをダウンロードします)。
1403
1299
 
1404
1300
  % wget ftp://ftp.hgc.jp/pub/mirror/ncbi/genbank/gbphg.seq.gz
1405
1301
  % gunzip gbphg.seq.gz
1406
1302
 
1407
- �ޤ��ϡ��ƥ���ȥ꤫�� ID ������ʸ���������Ф��� FASTA �������Ѵ�����
1408
- �ߤޤ��礦��
1303
+ まずは、各エントリから ID と説明文、配列を取り出して FASTA 形式に変換して
1304
+ みましょう。
1409
1305
 
1410
- Bio::GenBank::DELIMITER �� GenBank ���饹���������Ƥ�������ǡ�
1411
- �ǡ����١������Ȥ˰ۤʤ륨��ȥ�ζ��ڤ�ʸ���ʤ��Ȥ��� GenBank �ξ��� //��
1412
- ��Ф��Ƥ��ʤ��Ƥ��ɤ��褦�ˤʤäƤ��ޤ���
1306
+ Bio::GenBank::DELIMITER GenBank クラスで定義されている定数で、
1307
+ データベースごとに異なるエントリの区切り文字(たとえば GenBank の場合は //)
1308
+ を覚えていなくても良いようになっています。
1413
1309
 
1414
1310
  #!/usr/bin/env ruby
1415
1311
 
1416
1312
  require 'bio'
1417
1313
 
1418
1314
  while entry = gets(Bio::GenBank::DELIMITER)
1419
- gb = Bio::GenBank.new(entry) # GenBank ���֥�������
1315
+ gb = Bio::GenBank.new(entry) # GenBank オブジェクト
1420
1316
 
1421
- print ">#{gb.accession} " # ACCESSION �ֹ�
1422
- puts gb.definition # DEFINITION ��
1423
- puts gb.naseq # ���������Sequence::NA ���֥������ȡ�
1317
+ print ">#{gb.accession} " # ACCESSION 番号
1318
+ puts gb.definition # DEFINITION
1319
+ puts gb.naseq # 塩基配列(Sequence::NA オブジェクト)
1424
1320
  end
1425
1321
 
1426
- �����������ν����Ǥ� GenBank �ե�����Υǡ�����¤�˰�¸���Ƥ��ޤ���
1427
- �ե����뤫��Υǡ������Ϥ򰷤����饹 Bio::FlatFile ����Ѥ��뤳�Ȥǡ�
1428
- �ʲ��Τ褦�˶��ڤ�ʸ���ʤɤ򵤤ˤ����񤯤��Ȥ��Ǥ��ޤ���
1322
+ しかし、この書き方では GenBank ファイルのデータ構造に依存しています。
1323
+ ファイルからのデータ入力を扱うクラス Bio::FlatFile を使用することで、
1324
+ 以下のように区切り文字などを気にせず書くことができます。
1429
1325
 
1430
1326
  #!/usr/bin/env ruby
1431
1327
 
@@ -1437,7 +1333,7 @@ Bio::GenBank::DELIMITER
1437
1333
  puts gb.naseq.to_fasta(definition, 60)
1438
1334
  end
1439
1335
 
1440
- �����ΰ㤦�ǡ��������Ȥ���FASTA�ե����ޥåȤΥե�������ɤ߹���Ȥ��Ǥ⡢
1336
+ 形式の違うデータ、たとえばFASTAフォーマットのファイルを読み込むときでも、
1441
1337
 
1442
1338
  #!/usr/bin/env ruby
1443
1339
 
@@ -1450,9 +1346,9 @@ Bio::GenBank::DELIMITER
1450
1346
  puts "naseq : " + f.naseq
1451
1347
  end
1452
1348
 
1453
- �Τ褦�ˡ�Ʊ���褦�ʽ����ǺѤޤ����ޤ���
1349
+ のように、同じような書き方で済ませられます。
1454
1350
 
1455
- ����ˡ��� Bio::DB ���饹�� open �᥽�åɤ�Ʊ�ͤΤ��Ȥ��Ǥ��ޤ������Ȥ��С�
1351
+ さらに、各 Bio::DB クラスの open メソッドで同様のことができます。たとえば、
1456
1352
 
1457
1353
  #!/usr/bin/env ruby
1458
1354
 
@@ -1464,11 +1360,11 @@ Bio::GenBank::DELIMITER
1464
1360
  puts gb.naseq.to_fasta(definition, 60)
1465
1361
  end
1466
1362
 
1467
- �ʤɤȽ񤯤��Ȥ��Ǥ��ޤ��ʤ����������ν����Ϥ��ޤ�Ȥ��Ƥ��ޤ���)��
1363
+ などと書くことができます(ただし、この書き方はあまり使われていません)
1468
1364
 
1469
- ���ˡ�GenBank ��ʣ���� FEATURES �����ѡ�������ɬ�פʾ������Ф��ޤ���
1470
- �ޤ��� /tranlation="���ߥλ�����" �Ȥ��� Qualifier �����������
1471
- ���ߥλ��������Ф���ɽ�����Ƥߤޤ���
1365
+ 次に、GenBank の複雑な FEATURES の中をパースして必要な情報を取り出します。
1366
+ まずは /tranlation="アミノ酸配列" という Qualifier がある場合だけ
1367
+ アミノ酸配列を抽出して表示してみます。
1472
1368
 
1473
1369
  #!/usr/bin/env ruby
1474
1370
 
@@ -1476,27 +1372,27 @@ Bio::GenBank::DELIMITER
1476
1372
 
1477
1373
  ff = Bio::FlatFile.new(Bio::GenBank, ARGF)
1478
1374
 
1479
- # GenBank �Σ�����ȥꤴ�Ȥ�
1375
+ # GenBank の1エントリごとに
1480
1376
  ff.each_entry do |gb|
1481
1377
 
1482
- # FEATURES �����Ǥ��Ĥ��Ľ���
1378
+ # FEATURES の要素を一つずつ処理
1483
1379
  gb.features.each do |feature|
1484
1380
 
1485
- # Feature �˴ޤޤ�� Qualifier �����ƥϥå�����Ѵ�
1381
+ # Feature に含まれる Qualifier を全てハッシュに変換
1486
1382
  hash = feature.to_hash
1487
1383
 
1488
- # Qualifier �� translation �����������
1384
+ # Qualifier translation がある場合だけ
1489
1385
  if hash['translation']
1490
- # ����ȥ�Υ������å�����ֹ�����������ɽ��
1386
+ # エントリのアクセッション番号と翻訳配列を表示
1491
1387
  puts ">#{gb.accession}
1492
1388
  puts hash['translation']
1493
1389
  end
1494
1390
  end
1495
1391
  end
1496
1392
 
1497
- ����ˡ�Feature �Υݥ������˽񤫤�Ƥ�����󤫤饨��ȥ�α��������
1498
- ���ץ饤���󥰤������������������Τ� /translation= �˽񤫤�Ƥ��������
1499
- ξ��ɽ��������٤Ƥߤޤ��礦��
1393
+ さらに、Feature のポジションに書かれている情報からエントリの塩基配列を
1394
+ スプライシングし、それを翻訳したものと /translation= に書かれていた配列を
1395
+ 両方表示して比べてみましょう。
1500
1396
 
1501
1397
  #!/usr/bin/env ruby
1502
1398
 
@@ -1504,95 +1400,95 @@ Bio::GenBank::DELIMITER
1504
1400
 
1505
1401
  ff = Bio::FlatFile.new(Bio::GenBank, ARGF)
1506
1402
 
1507
- # GenBank �Σ�����ȥꤴ�Ȥ�
1403
+ # GenBank の1エントリごとに
1508
1404
  ff.each_entry do |gb|
1509
1405
 
1510
- # ACCESSION �ֹ����ʪ��̾��ɽ��
1406
+ # ACCESSION 番号と生物種名を表示
1511
1407
  puts "### #{gb.accession} - #{gb.organism}"
1512
1408
 
1513
- # FEATURES �����Ǥ��Ĥ��Ľ���
1409
+ # FEATURES の要素を一つずつ処理
1514
1410
  gb.features.each do |feature|
1515
1411
 
1516
- # Feature �� position (join ...�ʤ�) ����Ф�
1412
+ # Feature position (join ...など) を取り出す
1517
1413
  position = feature.position
1518
1414
 
1519
- # Feature �˴ޤޤ�� Qualifier �����ƥϥå�����Ѵ�
1415
+ # Feature に含まれる Qualifier を全てハッシュに変換
1520
1416
  hash = feature.to_hash
1521
1417
 
1522
- # /translation= ���ʤ���Х����å�
1418
+ # /translation= がなければスキップ
1523
1419
  next unless hash['translation']
1524
1420
 
1525
- # /gene=, /product= �ʤɤ� Qualifier ���������̾�ʤɤξ���򽸤��
1421
+ # /gene=, /product= などの Qualifier から遺伝子名などの情報を集める
1526
1422
  gene_info = [
1527
1423
  hash['gene'], hash['product'], hash['note'], hash['function']
1528
1424
  ].compact.join(', ')
1529
1425
  puts "## #{gene_info}"
1530
1426
 
1531
- # ���������position �ξ���ˤ�äƥ��ץ饤���󥰡�
1427
+ # 塩基配列(position の情報によってスプライシング)
1532
1428
  puts ">NA splicing('#{position}')"
1533
1429
  puts gb.naseq.splicing(position)
1534
1430
 
1535
- # ���ߥλ�����ʥ��ץ饤���󥰤����������󤫤�������
1431
+ # アミノ酸配列(スプライシングした塩基配列から翻訳)
1536
1432
  puts ">AA translated by splicing('#{position}').translate"
1537
1433
  puts gb.naseq.splicing(position).translate
1538
1434
 
1539
- # ���ߥλ������/translation= �˽񤫤�Ƥ����Τ�Ρ�
1435
+ # アミノ酸配列(/translation= に書かれていたのもの)
1540
1436
  puts ">AA original translation"
1541
1437
  puts hash['translation']
1542
1438
  end
1543
1439
  end
1544
1440
 
1545
- �⤷�����Ѥ���Ƥ��륳�ɥ�ơ��֥뤬�ǥե���� (universal) �Ȱ�ä��ꡢ
1546
- �ǽ�Υ��ɥ� "atg" �ʳ����ä��ꡢ����Υ����ƥ��󤬴ޤޤ�Ƥ����ꡢ
1547
- ���뤤�� BioRuby �˥Х�������С�������ɽ������룲�ĤΥ��ߥλ������
1548
- �ۤʤ���ˤʤ�ޤ���
1441
+ もし、使用されているコドンテーブルがデフォルト (universal) と違ったり、
1442
+ 最初のコドンが "atg" 以外だったり、セレノシステインが含まれていたり、
1443
+ あるいは BioRuby にバグがあれば、上の例で表示される2つのアミノ酸配列は
1444
+ 異なる事になります。
1549
1445
 
1550
- ������ǻ��Ѥ���Ƥ��� Bio::Sequence#splicing �᥽�åɤϡ�GenBank, EMBL,
1551
- DDBJ �ե����ޥåȤǻȤ��Ƥ��� Location ��ɽ���򸵤ˡ��������󤫤�
1552
- ��ʬ������ڤ�Ф����Ϥʥ᥽�åɤǤ���
1446
+ この例で使用されている Bio::Sequence#splicing メソッドは、GenBank, EMBL,
1447
+ DDBJ フォーマットで使われている Location の表記を元に、塩基配列から
1448
+ 部分配列を切り出す強力なメソッドです。
1553
1449
 
1554
- ���� splicing �᥽�åɤΰ����ˤ� GenBank ���� Location ��ʸ����ʳ���
1555
- BioRuby �� Bio::Locations ���֥������Ȥ��Ϥ����Ȥ��ǽ�Ǥ�����
1556
- �̾�ϸ�����Ƥ��� Location ʸ���������ʬ����䤹�������Τ�ޤ���
1557
- Location ʸ����Υե����ޥåȤ� Bio::Locations �ˤĤ��ƾܤ����Τꤿ������
1558
- BioRuby �� bio/location.rb �򸫤Ƥ���������
1450
+ この splicing メソッドの引数には GenBank 等の Location の文字列以外に
1451
+ BioRuby Bio::Locations オブジェクトを渡すことも可能ですが、
1452
+ 通常は見慣れている Location 文字列の方が分かりやすいかも知れません。
1453
+ Location 文字列のフォーマットや Bio::Locations について詳しく知りたい場合は
1454
+ BioRuby bio/location.rb を見てください。
1559
1455
 
1560
- * GenBank �����Υǡ����� Feature �ǻȤ��Ƥ��� Location ʸ�������
1456
+ * GenBank 形式のデータの Feature で使われていた Location 文字列の例
1561
1457
 
1562
1458
  naseq.splicing('join(2035..2050,complement(1775..1818),13..345')
1563
1459
 
1564
- * ���餫���� Locations ���֥������Ȥ��Ѵ����Ƥ����Ϥ��Ƥ�褤
1460
+ * あらかじめ Locations オブジェクトに変換してから渡してもよい
1565
1461
 
1566
1462
  locs = Bio::Locations.new('join((8298.8300)..10206,1..855)')
1567
1463
  naseq.splicing(locs)
1568
1464
 
1569
- ���ʤߤˡ����ߥλ����� (Bio::Sequence::AA) �ˤĤ��Ƥ� splicing �᥽�å�
1570
- ����Ѥ�����ʬ�������Ф����Ȥ���ǽ�Ǥ���
1465
+ ちなみに、アミノ酸配列 (Bio::Sequence::AA) についても splicing メソッド
1466
+ を使用して部分配列を取り出すことが可能です。
1571
1467
 
1572
- * ���ߥλ��������ʬ������ڤ�Ф��ʥ����ʥ�ڥץ��ɤʤɡ�
1468
+ * アミノ酸配列の部分配列を切り出す(シグナルペプチドなど)
1573
1469
 
1574
1470
  aaseq.splicing('21..119')
1575
1471
 
1576
1472
 
1577
- === GenBank �ʳ��Υǡ����١���
1473
+ === GenBank 以外のデータベース
1578
1474
 
1579
- BioRuby �Ǥϡ�GenBank �ʳ��Υǡ����١����ˤĤ��Ƥ����Ū�ʰ�������Ʊ���ǡ�
1580
- �ǡ����١����Σ�����ȥ�ʬ��ʸ������б�����ǡ����١����Υ��饹���Ϥ��С�
1581
- �ѡ������줿��̤����֥������Ȥˤʤä��֤äƤ��ޤ���
1475
+ BioRuby では、GenBank 以外のデータベースについても基本的な扱い方は同じで、
1476
+ データベースの1エントリ分の文字列を対応するデータベースのクラスに渡せば、
1477
+ パースされた結果がオブジェクトになって返ってきます。
1582
1478
 
1583
- �ǡ����١����Υե�åȥե����뤫�飱����ȥꤺ�ļ��Ф��ƥѡ������줿
1584
- ���֥������Ȥ���Ф��ˤϡ���ˤ�ФƤ��� Bio::FlatFile ��Ȥ��ޤ���
1585
- Bio::FlatFile.new �ΰ����ˤϥǡ����١������б����� BioRuby �ǤΥ��饹
1586
- ̾ (Bio::GenBank �� Bio::KEGG::GENES �ʤ�) ����ꤷ�ޤ���
1479
+ データベースのフラットファイルから1エントリずつ取り出してパースされた
1480
+ オブジェクトを取り出すには、先にも出てきた Bio::FlatFile を使います。
1481
+ Bio::FlatFile.new の引数にはデータベースに対応する BioRuby でのクラス
1482
+ (Bio::GenBank Bio::KEGG::GENES など) を指定します。
1587
1483
 
1588
- ff = Bio::FlatFile.new(Bio::�ǡ����١������饹̾, ARGF)
1484
+ ff = Bio::FlatFile.new(Bio::データベースクラス名, ARGF)
1589
1485
 
1590
- �����������Ф餷�����Ȥˡ��¤� FlatFile ���饹�ϥǡ����١����μ�ưǧ����
1591
- �Ǥ��ޤ��Τǡ�
1486
+ しかし、すばらしいことに、実は FlatFile クラスはデータベースの自動認識が
1487
+ できますので、
1592
1488
 
1593
1489
  ff = Bio::FlatFile.auto(ARGF)
1594
1490
 
1595
- ��Ȥ��Τ����ִ�ñ�Ǥ���
1491
+ を使うのが一番簡単です。
1596
1492
 
1597
1493
  #!/usr/bin/env ruby
1598
1494
 
@@ -1601,15 +1497,15 @@ Bio::FlatFile.new
1601
1497
  ff = Bio::FlatFile.auto(ARGF)
1602
1498
 
1603
1499
  ff.each_entry do |entry|
1604
- p entry.entry_id # ����ȥ�� ID
1605
- p entry.definition # ����ȥ������ʸ
1606
- p entry.seq # ����ǡ����١����ξ��
1500
+ p entry.entry_id # エントリの ID
1501
+ p entry.definition # エントリの説明文
1502
+ p entry.seq # 配列データベースの場合
1607
1503
  end
1608
1504
 
1609
1505
  ff.close
1610
1506
 
1611
- ����ˡ��������ǡ����١������Ĥ�˺���ʤ�������ˤ� Ruby �Υ֥��å���
1612
- ���Ѥ��ưʲ��Τ褦�˽񤯤Τ��褤�Ǥ��礦��
1507
+ さらに、開いたデータベースの閉じ忘れをなくすためには Ruby のブロックを
1508
+ 活用して以下のように書くのがよいでしょう。
1613
1509
 
1614
1510
  #!/usr/bin/env ruby
1615
1511
 
@@ -1617,252 +1513,252 @@ Bio::FlatFile.new
1617
1513
 
1618
1514
  Bio::FlatFile.auto(ARGF) do |ff|
1619
1515
  ff.each_entry do |entry|
1620
- p entry.entry_id # ����ȥ�� ID
1621
- p entry.definition # ����ȥ������ʸ
1622
- p entry.seq # ����ǡ����١����ξ��
1516
+ p entry.entry_id # エントリの ID
1517
+ p entry.definition # エントリの説明文
1518
+ p entry.seq # 配列データベースの場合
1623
1519
  end
1624
1520
  end
1625
1521
 
1626
- �ѡ������줿���֥������Ȥ��顢����ȥ���Τ��줾�����ʬ����Ф������
1627
- �᥽�åɤϥǡ����١�����˰ۤʤ�ޤ����褯������ܤˤĤ��Ƥ�
1522
+ パースされたオブジェクトから、エントリ中のそれぞれの部分を取り出すための
1523
+ メソッドはデータベース毎に異なります。よくある項目については
1628
1524
 
1629
- * entry_id �᥽�å� �� ����ȥ�� ID �ֹ椬�֤�
1630
- * definition �᥽�å� �� ����ȥ������Ԥ��֤�
1631
- * reference �᥽�å� �� ��ե���󥹥��֥������Ȥ��֤�
1632
- * organism �᥽�å� �� ��ʪ��̾
1633
- * seq �� naseq �� aaseq �᥽�å� �� �б��������󥪥֥������Ȥ��֤�
1525
+ * entry_id メソッド エントリの ID 番号が返る
1526
+ * definition メソッド エントリの定義行が返る
1527
+ * reference メソッド リファレンスオブジェクトが返る
1528
+ * organism メソッド 生物種名
1529
+ * seq naseq aaseq メソッド 対応する配列オブジェクトが返る
1634
1530
 
1635
- �ʤɤΤ褦�˶��̲����褦�Ȥ��Ƥ��ޤ��������ƤΥ᥽�åɤ���������Ƥ����
1636
- ���ǤϤ���ޤ���ʶ��̲��λؿˤ� bio/db.rb ���ȡˡ��ޤ����٤�����ʬ�ϳ�
1637
- �ǡ����١����ѡ�����˰ۤʤ�Τǡ����줾��Υɥ�����Ȥ˽����ޤ���
1531
+ などのように共通化しようとしていますが、全てのメソッドが実装されているわ
1532
+ けではありません(共通化の指針は bio/db.rb 参照)。また、細かい部分は各
1533
+ データベースパーザ毎に異なるので、それぞれのドキュメントに従います。
1638
1534
 
1639
- ��§�Ȥ��ơ��᥽�å�̾��ʣ�����ξ��ϡ����֥������Ȥ�����Ȥ����֤�ޤ���
1640
- ���Ȥ��� references �᥽�åɤ���ĥ��饹��ʣ���� Bio::Reference ���֥���
1641
- ���Ȥ� Array �ˤ����֤��ޤ������̤Υ��饹�Ǥ�ñ������ reference �᥽�å�
1642
- �����ʤ������Ĥ� Bio::Reference ���֥������Ȥ������֤����Ȥ��ä������Ǥ���
1535
+ 原則として、メソッド名が複数形の場合は、オブジェクトが配列として返ります。
1536
+ たとえば references メソッドを持つクラスは複数の Bio::Reference オブジェ
1537
+ クトを Array にして返しますが、別のクラスでは単数形の reference メソッド
1538
+ しかなく、1つの Bio::Reference オブジェクトだけを返す、といった感じです。
1643
1539
 
1644
- == PDB �Υѡ��� (Bio::PDB ���饹)
1540
+ == PDB のパース (Bio::PDB クラス)
1645
1541
 
1646
- Bio::PDB �ϡ�PDB �������ɤ߹��ि��Υ��饹�Ǥ���PDB �ǡ����١�����
1647
- PDB, mmCIF, XML (PDBML) �Σ�����Υե����ޥåȤ��󶡤���Ƥ��ޤ�����
1648
- �����Τ��� BioRuby ���б����Ƥ���Τ� PDB �ե����ޥåȤǤ���
1542
+ Bio::PDB は、PDB 形式を読み込むためのクラスです。PDB データベースは
1543
+ PDB, mmCIF, XML (PDBML) の3種類のフォーマットで提供されていますが、
1544
+ これらのうち BioRuby で対応しているのは PDB フォーマットです。
1649
1545
 
1650
- PDB �ե����ޥåȤλ��ͤϡ��ʲ��� Protein Data Bank Contents Guide ��
1651
- ���Ȥ��Ƥ���������
1546
+ PDB フォーマットの仕様は、以下の Protein Data Bank Contents Guide
1547
+ 参照してください。
1652
1548
 
1653
1549
  * ((<URL:http://www.rcsb.org/pdb/file_formats/pdb/pdbguide2.2/guide2.2_frame.html>))
1654
1550
 
1655
- === PDB �ǡ������ɤ߹���
1551
+ === PDB データの読み込み
1656
1552
 
1657
- PDB �Σ�����ȥ꤬ 1bl8.pdb �Ȥ����ե�����˳�Ǽ����Ƥ�����ϡ�
1658
- Ruby �Υե������ɤ߹��ߵ�ǽ��Ȥä�
1553
+ PDB の1エントリが 1bl8.pdb というファイルに格納されている場合は、
1554
+ Ruby のファイル読み込み機能を使って
1659
1555
 
1660
1556
  entry = File.read("1bl8.pdb")
1661
1557
 
1662
- �Τ褦�ˤ��뤳�Ȥǡ�����ȥ�����Ƥ�ʸ����Ȥ��� entry �Ȥ����ѿ���
1663
- �������뤳�Ȥ��Ǥ��ޤ�������ȥ�����Ƥ�ѡ�������ˤ�
1558
+ のようにすることで、エントリの内容を文字列として entry という変数に
1559
+ 代入することができます。エントリの内容をパースするには
1664
1560
 
1665
1561
  pdb = Bio::PDB.new(entry)
1666
1562
 
1667
- �Ȥ��ޤ�������ǥ���ȥ꤬ Bio::PDB ���֥������ȤȤʤꡢǤ�դΥǡ�����
1668
- ���Ф���褦�ˤʤ�ޤ���
1563
+ とします。これでエントリが Bio::PDB オブジェクトとなり、任意のデータを
1564
+ 取り出せるようになります。
1669
1565
 
1670
- PDB �ե����ޥåȤ� Bio::FlatFile �ˤ�뼫ưǧ�����ǽ�Ǥ��������ߤ�
1671
- ���ե������ʣ������ȥ��ޤ���ˤ��б����Ƥ��ޤ���
1672
- Bio::FlatFile ��Ȥäƣ�����ȥ�ʬ�����ɤ߹���ˤϡ�
1566
+ PDB フォーマットは Bio::FlatFile による自動認識も可能ですが、現在は
1567
+ 1ファイルに複数エントリを含む場合には対応していません。
1568
+ Bio::FlatFile を使って1エントリ分だけ読み込むには、
1673
1569
 
1674
1570
  pdb = Bio::FlatFile.auto("1bl8.pdb") { |ff| ff.next_entry }
1675
1571
 
1676
- �Ȥ��ޤ����ɤ������ˡ�Ǥ��ѿ� pdb �ˤ�Ʊ����̤������ޤ���
1572
+ とします。どちらの方法でも変数 pdb には同じ結果が得られます。
1677
1573
 
1678
- === ���֥������Ȥγ��ع�¤
1574
+ === オブジェクトの階層構造
1679
1575
 
1680
- �� PDB ����ȥ�ϡ��ѿ�����ʸ������ʤ� ID ���դ����Ƥ��ޤ���
1681
- Bio::PDB ���֥������Ȥ��� ID ����Ф��ˤ� entry_id �᥽�åɤ�Ȥ��ޤ���
1576
+ PDB エントリは、英数字4文字からなる ID が付けられています。
1577
+ Bio::PDB オブジェクトから ID を取リ出すには entry_id メソッドを使います。
1682
1578
 
1683
1579
  p pdb.entry_id # => "1BL8"
1684
1580
 
1685
- ����ȥ�γ��פ˴ؤ��������б�����᥽�åɤǼ��Ф����Ȥ��Ǥ��ޤ���
1581
+ エントリの概要に関する情報も対応するメソッドで取り出すことができます。
1686
1582
 
1687
1583
  p pdb.definition # => "POTASSIUM CHANNEL (KCSA) FROM STREPTOMYCES LIVIDANS"
1688
1584
  p pdb.keywords # => ["POTASSIUM CHANNEL", "INTEGRAL MEMBRANE PROTEIN"]
1689
1585
 
1690
- ¾�ˡ���Ͽ�Ԥ�ʸ�����¸���ˡ�ʤɤξ��������Ǥ��ޤ��ʤ��줾��
1691
- authors, jrnl, method �᥽�åɡˡ�
1586
+ 他に、登録者や文献、実験方法などの情報も取得できます(それぞれ
1587
+ authors, jrnl, method メソッド)。
1692
1588
 
1693
- PDB �ǡ����ϡ�����Ū�ˤϣ��Ԥ����ĤΥ쥳���ɤ�������Ƥ��ޤ���
1694
- ���Ԥ����꤭��ʤ��ǡ�����ʣ���Ԥ˳�Ǽ���� continuation �Ȥ���
1695
- ���Ȥߤ��Ѱդ���Ƥ��ޤ��������ܤϣ��ԣ��쥳���ɤǤ���
1589
+ PDB データは、基本的には1行が1つのレコードを形成しています。
1590
+ 1行に入りきらないデータを複数行に格納する continuation という
1591
+ 仕組みも用意されていますが、基本は1行1レコードです。
1696
1592
 
1697
- �ƹԤ���Ƭ��ʸ�������ιԤΥǡ����μ���򼨤�̾���ʥ쥳���ɡˤˤʤ�ޤ���
1698
- BioRuby �Ǥϡ�HEADER �쥳���ɤ��Ф��Ƥ� Bio::PDB::Record::HEADER ���饹��
1699
- TITLE �쥳���ɤ��Ф��Ƥ� Bio::PDB::Record::TITLE ���饹���Ȥ����褦��
1700
- ����Ū�ˤϳƥ쥳���ɤ��б����륯�饹�򣱤��Ѱդ��Ƥ��ޤ���
1701
- ��������REMARK �� JRNL �쥳���ɤ˴ؤ��Ƥϡ����줾��ʣ���Υե����ޥåȤ�
1702
- ¸�ߤ��뤿�ᡢʣ���Υ��饹���Ѱդ��Ƥ��ޤ���
1593
+ 各行の先頭6文字がその行のデータの種類を示す名前(レコード)になります。
1594
+ BioRuby では、HEADER レコードに対しては Bio::PDB::Record::HEADER クラス、
1595
+ TITLE レコードに対しては Bio::PDB::Record::TITLE クラス、というように
1596
+ 基本的には各レコードに対応するクラスを1つ用意しています。
1597
+ ただし、REMARK JRNL レコードに関しては、それぞれ複数のフォーマットが
1598
+ 存在するため、複数のクラスを用意しています。
1703
1599
 
1704
- �ƥ쥳���ɤ˥������������äȤ�ñ�����ˡ�� record �᥽�åɤǤ���
1600
+ 各レコードにアクセスするもっとも単純な方法は record メソッドです。
1705
1601
 
1706
1602
  pdb.record("HELIX")
1707
1603
 
1708
- �Τ褦�ˤ���ȡ����� PDB ����ȥ�˴ޤޤ�����Ƥ� HELIX �쥳���ɤ�
1709
- Bio::PDB::Record::HELIX ���饹�Υ��֥������Ȥ�����Ȥ��Ƽ����Ǥ��ޤ���
1604
+ のようにすると、その PDB エントリに含まれる全ての HELIX レコードを
1605
+ Bio::PDB::Record::HELIX クラスのオブジェクトの配列として取得できます。
1710
1606
 
1711
- ���Τ��Ȥ�դޤ����ʲ��Ǥϡ�PDB ����ȥ�Υᥤ������ƤǤ���Ω�ι�¤��
1712
- �ؤ���ǡ�����¤�ΰ������򸫤Ƥ����ޤ���
1607
+ このことをふまえ、以下では、PDB エントリのメインな内容である立体構造に
1608
+ 関するデータ構造の扱い方を見ていきます。
1713
1609
 
1714
- ==== ����: Bio::PDB::Record::ATOM, Bio::PDB::Record::HETATM ���饹
1610
+ ==== 原子: Bio::PDB::Record::ATOM, Bio::PDB::Record::HETATM クラス
1715
1611
 
1716
- PDB ����ȥ�ϡ�����ѥ������˻���DNA,RNA�ˤ䤽��¾��ʬ�Ҥ�Ω�ι�¤��
1717
- ����Ū�ˤϸ��ҤΣ�������ɸ��ޤ�Ǥ��ޤ���
1612
+ PDB エントリは、タンパク質、核酸(DNA,RNA)やその他の分子の立体構造、
1613
+ 具体的には原子の3次元座標を含んでいます。
1718
1614
 
1719
- ����ѥ����ޤ��ϳ˻��θ��Ҥκ�ɸ�ϡ�ATOM �쥳���ɤ˳�Ǽ����Ƥ��ޤ���
1720
- �б����륯�饹�ϡ�Bio::PDB::Record::ATOM ���饹�Ǥ���
1615
+ タンパク質または核酸の原子の座標は、ATOM レコードに格納されています。
1616
+ 対応するクラスは、Bio::PDB::Record::ATOM クラスです。
1721
1617
 
1722
- ����ѥ������˻��ʳ��θ��Ҥκ�ɸ�ϡ�HETATM �쥳���ɤ˳�Ǽ����Ƥ��ޤ���
1723
- �б����륯�饹�ϡ�Bio::PDB::Record::HETATM ���饹�Ǥ���
1618
+ タンパク質・核酸以外の原子の座標は、HETATM レコードに格納されています。
1619
+ 対応するクラスは、Bio::PDB::Record::HETATM クラスです。
1724
1620
 
1725
- HETATM�����饹�� ATOM ���饹��Ѿ����Ƥ��뤿�ᡢATOM �� HETATM ��
1726
- �᥽�åɤλȤ����Ϥޤä���Ʊ���Ǥ���
1621
+ HETATM クラスは ATOM クラスを継承しているため、ATOM HETATM
1622
+ メソッドの使い方はまったく同じです。
1727
1623
 
1728
- ==== ���ߥλ��Ĵ�ʤޤ��ϱ����: Bio::PDB::Residue ���饹
1624
+ ==== アミノ酸残基(または塩基): Bio::PDB::Residue クラス
1729
1625
 
1730
- �����ߥλ��ޤ��ϣ�����ñ�̤Ǹ��Ҥ�ޤȤ᤿�Τ� Bio::PDB::Residue �Ǥ���
1731
- Bio::PDB::Residue ���֥������Ȥϡ����İʾ�� Bio::PDB::Record::ATOM
1732
- ���֥������Ȥ�ޤߤޤ���
1626
+ 1アミノ酸または1塩基単位で原子をまとめたのが Bio::PDB::Residue です。
1627
+ Bio::PDB::Residue オブジェクトは、1個以上の Bio::PDB::Record::ATOM
1628
+ オブジェクトを含みます。
1733
1629
 
1734
- ==== ����ʪ: Bio::PDB::Heterogen ���饹
1630
+ ==== 化合物: Bio::PDB::Heterogen クラス
1735
1631
 
1736
- ����ѥ������˻��ʳ���ʬ�Ҥθ��Ҥϡ�����Ū�ˤ�ʬ��ñ�̤�
1737
- Bio::PDB::Heterogen �ˤޤȤ���Ƥ��ޤ���
1738
- Bio::PDB::Heterogen ���֥������Ȥϡ����İʾ��
1739
- Bio::PDB::Record::HETATM ���֥������Ȥ�ޤߤޤ���
1632
+ タンパク質・核酸以外の分子の原子は、基本的には分子単位で
1633
+ Bio::PDB::Heterogen にまとめられています。
1634
+ Bio::PDB::Heterogen オブジェクトは、1個以上の
1635
+ Bio::PDB::Record::HETATM オブジェクトを含みます。
1740
1636
 
1741
- ==== ���ʥ��������: Bio::PDB::Chain ���饹
1637
+ ==== 鎖(チェイン): Bio::PDB::Chain クラス
1742
1638
 
1743
- Bio::PDB::Chain �ϡ�ʣ���� Bio::PDB::Residue ���֥������Ȥ���ʤ�
1744
- ���ĤΥ���ѥ����ޤ��ϳ˻��ȡ�ʣ���� Bio::PDB::Heterogen ���֥�������
1745
- ����ʤ룱�İʾ�Τ���ʳ���ʬ�Ҥ��Ǽ����ǡ�����¤�Ǥ���
1639
+ Bio::PDB::Chain は、複数の Bio::PDB::Residue オブジェクトからなる
1640
+ 1個のタンパク質または核酸と、複数の Bio::PDB::Heterogen オブジェクト
1641
+ からなる1個以上のそれ以外の分子を格納するデータ構造です。
1746
1642
 
1747
- �ʤ�����Ⱦ�ξ��ϡ�����ѥ������˻���Bio::PDB::Residue�ˤ���
1748
- ����ʳ���ʬ�ҡ�Bio::PDB::Heterogen�ˤΤɤ��餫����ष�������ޤ���
1749
- Chain ��ҤȤĤ����ޤޤʤ� PDB ����ȥ�Ǥ�ξ�����ľ�礬����褦�Ǥ���
1643
+ なお、大半の場合は、タンパク質・核酸(Bio::PDB::Residue)か、
1644
+ それ以外の分子(Bio::PDB::Heterogen)のどちらか一種類しか持ちません。
1645
+ Chain をひとつしか含まない PDB エントリでは両方持つ場合があるようです。
1750
1646
 
1751
- �� Chain �ˤϡ��ѿ�����ʸ���� ID ���դ��Ƥ��ޤ���Chain ��ҤȤĤ���
1752
- �ޤޤʤ� PDB ����ȥ�ξ��϶���ʸ���ΤȤ��⤢��ޤ��ˡ�
1647
+ Chain には、英数字1文字の ID が付いています(Chain をひとつしか
1648
+ 含まない PDB エントリの場合は空白文字のときもあります)。
1753
1649
 
1754
- ==== ��ǥ�: Bio::PDB::Model
1650
+ ==== モデル: Bio::PDB::Model
1755
1651
 
1756
- ���İʾ�� Bio::PDB::Chain �����ޤä���Τ� Bio::PDB::Model �Ǥ���
1757
- �����뾽��¤�ξ�硢Model ���̾�Ĥ����Ǥ�����NMR ��¤�ξ�硢
1758
- ʣ���� Model ��¸�ߤ��뤳�Ȥ�����ޤ���
1759
- ʣ���� Model ��¸�ߤ����硢�� Model �ˤϥ��ꥢ���ֹ椬�դ��ޤ���
1652
+ 1個以上の Bio::PDB::Chain が集まったものが Bio::PDB::Model です。
1653
+ X線結晶構造の場合、Model は通常1個だけですが、NMR 構造の場合、
1654
+ 複数の Model が存在することがあります。
1655
+ 複数の Model が存在する場合、各 Model にはシリアル番号が付きます。
1760
1656
 
1761
- �����ơ����İʾ�� Model �����ޤä���Τ���Bio::PDB ���֥������Ȥˤʤ�ޤ���
1657
+ そして、1個以上の Model が集まったものが、Bio::PDB オブジェクトになります。
1762
1658
 
1763
- === ���Ҥ˥�����������᥽�å�
1659
+ === 原子にアクセスするメソッド
1764
1660
 
1765
- Bio::PDB#each_atom �����Ƥ� ATOM ����֤ˣ��Ĥ���é�륤�ƥ졼���Ǥ���
1661
+ Bio::PDB#each_atom は全ての ATOM を順番に1個ずつ辿るイテレータです。
1766
1662
 
1767
1663
  pdb.each_atom do |atom|
1768
1664
  p atom.xyz
1769
1665
  end
1770
1666
 
1771
- ���� each_atom �᥽�åɤ� Model, Chain, Residue ���֥������Ȥ��Ф��Ƥ�
1772
- ���Ѥ��뤳�Ȥ��Ǥ������줾�졢���� Model, Chain, Residue �����Τ��٤Ƥ�
1773
- ATOM �򤿤ɤ륤�ƥ졼���Ȥ���Ư���ޤ���
1667
+ この each_atom メソッドは Model, Chain, Residue オブジェクトに対しても
1668
+ 使用することができ、それぞれ、その Model, Chain, Residue 内部のすべての
1669
+ ATOM をたどるイテレータとして働きます。
1774
1670
 
1775
- Bio::PDB#atoms �����Ƥ� ATOM ������Ȥ����֤��᥽�åɤǤ���
1671
+ Bio::PDB#atoms は全ての ATOM を配列として返すメソッドです。
1776
1672
 
1777
- p pdb.atoms.size # => 2820 �Ĥ� ATOM ���ޤޤ�뤳�Ȥ��狼��
1673
+ p pdb.atoms.size # => 2820 個の ATOM が含まれることがわかる
1778
1674
 
1779
- each_atom ��Ʊ�ͤ� atoms �᥽�åɤ� Model, Chain, Residue ���֥�������
1780
- ���Ф��ƻ��Ѳ�ǽ�Ǥ���
1675
+ each_atom と同様に atoms メソッドも Model, Chain, Residue オブジェクト
1676
+ に対して使用可能です。
1781
1677
 
1782
1678
  pdb.chains.each do |chain|
1783
- p chain.atoms.size # => �� Chain ��� ATOM ����ɽ�������
1679
+ p chain.atoms.size # => Chain 毎の ATOM 数が表示される
1784
1680
  end
1785
1681
 
1786
- Bio::PDB#each_hetatm �ϡ����Ƥ� HETATM ����֤ˣ��Ĥ���é�륤�ƥ졼���Ǥ���
1682
+ Bio::PDB#each_hetatm は、全ての HETATM を順番に1個ずつ辿るイテレータです。
1787
1683
 
1788
1684
  pdb.each_hetatm do |hetatm|
1789
1685
  p hetatm.xyz
1790
1686
  end
1791
1687
 
1792
- Bio::PDB#hetatms ���Ƥ� HETATM ������Ȥ����֤��Τ� hetatms �᥽�åɤǤ���
1688
+ Bio::PDB#hetatms 全ての HETATM を配列として返すのは hetatms メソッドです。
1793
1689
 
1794
1690
  p pdb.hetatms.size
1795
1691
 
1796
- ������ atoms �ξ���Ʊ�ͤˡ�Model, Chain, Heterogen ���֥������Ȥ�
1797
- �Ф��ƻ��Ѳ�ǽ�Ǥ���
1692
+ これらも atoms の場合と同様に、Model, Chain, Heterogen オブジェクトに
1693
+ 対して使用可能です。
1798
1694
 
1799
- ==== Bio::PDB::Record::ATOM, Bio::PDB::Record::HETATM ���饹�λȤ���
1695
+ ==== Bio::PDB::Record::ATOM, Bio::PDB::Record::HETATM クラスの使い方
1800
1696
 
1801
- ATOM �ϥ���ѥ������˻���DNA��RNA�ˤ������븶�ҡ�HETATM �Ϥ���ʳ���
1802
- ���Ҥ��Ǽ���뤿��Υ��饹�Ǥ�����HETATM �� ATOM ���饹��Ѿ����Ƥ��뤿��
1803
- �����Υ��饹�ǥ᥽�åɤλȤ����Ϥޤä���Ʊ���Ǥ���
1697
+ ATOM はタンパク質・核酸(DNARNA)を構成する原子、HETATM はそれ以外の
1698
+ 原子を格納するためのクラスですが、HETATM ATOM クラスを継承しているため
1699
+ これらのクラスでメソッドの使い方はまったく同じです。
1804
1700
 
1805
- p atom.serial # ���ꥢ���ֹ�
1806
- p atom.name # ̾��
1701
+ p atom.serial # シリアル番号
1702
+ p atom.name # 名前
1807
1703
  p atom.altLoc # Alternate location indicator
1808
- p atom.resName # ���ߥλ�������̾�ޤ��ϲ���ʪ̾
1809
- p atom.chainID # Chain �� ID
1810
- p atom.resSeq # ���ߥλ��Ĵ�Υ��������ֹ�
1704
+ p atom.resName # アミノ酸・塩基名または化合物名
1705
+ p atom.chainID # Chain ID
1706
+ p atom.resSeq # アミノ酸残基のシーケンス番号
1811
1707
  p atom.iCode # Code for insertion of residues
1812
- p atom.x # X ��ɸ
1813
- p atom.y # Y ��ɸ
1814
- p atom.z # Z ��ɸ
1708
+ p atom.x # X 座標
1709
+ p atom.y # Y 座標
1710
+ p atom.z # Z 座標
1815
1711
  p atom.occupancy # Occupancy
1816
1712
  p atom.tempFactor # Temperature factor
1817
1713
  p atom.segID # Segment identifier
1818
1714
  p atom.element # Element symbol
1819
1715
  p atom.charge # Charge on the atom
1820
1716
 
1821
- �����Υ᥽�å�̾�ϡ���§�Ȥ��� Protein Data Bank Contents Guide ��
1822
- ���ܤ˹�碌�Ƥ��ޤ����᥽�å�̾�� resName �� resSeq �Ȥ��ä���̾ˡ
1823
- ��CamelCase�ˤ���Ѥ��Ƥ���ΤϤ��Τ���Ǥ���
1824
- ���줾��Υ᥽�åɤ��֤��ǡ����ΰ�̣�ϡ����ͽ�򻲹ͤˤ��Ƥ���������
1717
+ これらのメソッド名は、原則として Protein Data Bank Contents Guide
1718
+ 記載に合わせています。メソッド名に resName resSeq といった記名法
1719
+ CamelCase)を採用しているのはこのためです。
1720
+ それぞれのメソッドの返すデータの意味は、仕様書を参考にしてください。
1825
1721
 
1826
- ����¾�ˤ⡢�����Ĥ��������ʥ᥽�åɤ��Ѱդ��Ƥ��ޤ���
1827
- xyz �᥽�åɤϡ���ɸ�򣳼����Υ٥��ȥ�Ȥ����֤��᥽�åɤǤ���
1828
- ���Υ᥽�åɤϡ�Ruby �� Vector ���饹��Ѿ����ƣ������Υ٥��ȥ��
1829
- �ò������� Bio::PDB::Coordinate ���饹�Υ��֥������Ȥ��֤��ޤ�
1830
- ����: Vector��Ѿ��������饹���������ΤϤ��ޤ�侩����ʤ��褦�ʤΤǡ�
1831
- ���衢Vector���饹�Υ��֥������Ȥ��֤��褦�����ѹ����뤫�⤷��ޤ���ˡ�
1722
+ この他にも、いくつかの便利なメソッドを用意しています。
1723
+ xyz メソッドは、座標を3次元のベクトルとして返すメソッドです。
1724
+ このメソッドは、Ruby Vector クラスを継承して3次元のベクトルに
1725
+ 特化させた Bio::PDB::Coordinate クラスのオブジェクトを返します
1726
+ (注: Vectorを継承したクラスを作成するのはあまり推奨されないようなので、
1727
+ 将来、Vectorクラスのオブジェクトを返すよう仕様変更するかもしれません)。
1832
1728
 
1833
1729
  p atom.xyz
1834
1730
 
1835
- �٥��ȥ�ʤΤǡ�­�����������������Ѥʤɤ���뤳�Ȥ��Ǥ��ޤ���
1731
+ ベクトルなので、足し算、引き算、内積などを求めることができます。
1836
1732
 
1837
- # ���Ҵ֤ε�Υ�����
1838
- p (atom1.xyz - atom2.xyz).r # r �ϥ٥��ȥ�������ͤ����᥽�å�
1733
+ # 原子間の距離を求める
1734
+ p (atom1.xyz - atom2.xyz).r # r はベクトルの絶対値を求めるメソッド
1839
1735
 
1840
- # ���Ѥ����
1736
+ # 内積を求める
1841
1737
  p atom1.xyz.inner_product(atom2.xyz)
1842
1738
 
1843
- ¾�ˤϡ����θ��Ҥ��б����� TER, SIGATM, ANISOU �쥳���ɤ��������
1844
- ter, sigatm, anisou �᥽�åɤ��Ѱդ���Ƥ��ޤ���
1739
+ 他には、その原子に対応する TER, SIGATM, ANISOU レコードを取得する
1740
+ ter, sigatm, anisou メソッドも用意されています。
1845
1741
 
1846
- === ���ߥλ��Ĵ� (Residue) �˥�����������᥽�å�
1742
+ === アミノ酸残基 (Residue) にアクセスするメソッド
1847
1743
 
1848
- Bio::PDB#each_residue �ϡ����Ƥ� Residue ����֤�é�륤�ƥ졼���Ǥ���
1849
- each_residue �᥽�åɤϡ�Model, Chain ���֥������Ȥ��Ф��Ƥ�
1850
- ���Ѥ��뤳�Ȥ��Ǥ������줾��� Model, Chain �˴ޤޤ�����Ƥ�
1851
- Residue ��é�륤�ƥ졼���Ȥ���Ư���ޤ���
1744
+ Bio::PDB#each_residue は、全ての Residue を順番に辿るイテレータです。
1745
+ each_residue メソッドは、Model, Chain オブジェクトに対しても
1746
+ 使用することができ、それぞれの Model, Chain に含まれる全ての
1747
+ Residue を辿るイテレータとして働きます。
1852
1748
 
1853
1749
  pdb.each_residue do |residue|
1854
1750
  p residue.resName
1855
1751
  end
1856
1752
 
1857
- Bio::PDB#residues �ϡ����Ƥ� Residue ������Ȥ����֤��᥽�åɤǤ���
1858
- each_residue ��Ʊ�ͤˡ�Model, Chain ���֥������Ȥ��Ф��Ƥ���Ѳ�ǽ�Ǥ���
1753
+ Bio::PDB#residues は、全ての Residue を配列として返すメソッドです。
1754
+ each_residue と同様に、Model, Chain オブジェクトに対しても使用可能です。
1859
1755
 
1860
1756
  p pdb.residues.size
1861
1757
 
1862
- === ����ʪ (Heterogen) �˥�����������᥽�å�
1758
+ === 化合物 (Heterogen) にアクセスするメソッド
1863
1759
 
1864
- Bio::PDB#each_heterogen �����Ƥ� Heterogen ����֤ˤ��ɤ륤�ƥ졼����
1865
- Bio::PDB#heterogens �����Ƥ� Heterogen ������Ȥ����֤��᥽�åɤǤ���
1760
+ Bio::PDB#each_heterogen は全ての Heterogen を順番にたどるイテレータ、
1761
+ Bio::PDB#heterogens は全ての Heterogen を配列として返すメソッドです。
1866
1762
 
1867
1763
  pdb.each_heterogen do |heterogeon|
1868
1764
  p heterogen.resName
@@ -1870,51 +1766,51 @@ Bio::PDB#heterogens
1870
1766
 
1871
1767
  p pdb.heterogens.size
1872
1768
 
1873
- �����Υ᥽�åɤ� Residue ��Ʊ�ͤ� Model, Chain ���֥������Ȥ��Ф��Ƥ�
1874
- ���Ѳ�ǽ�Ǥ���
1769
+ これらのメソッドも Residue と同様に Model, Chain オブジェクトに対しても
1770
+ 使用可能です。
1875
1771
 
1876
- === Chain, Model �˥�����������᥽�å�
1772
+ === Chain, Model にアクセスするメソッド
1877
1773
 
1878
- Ʊ�ͤˡ�Bio::PDB#each_chain �����Ƥ� Chain ����֤ˤ��ɤ륤�ƥ졼����
1879
- Bio::PDB#chains �����Ƥ� Chain ������Ȥ����֤��᥽�åɤǤ���
1880
- �����Υ᥽�åɤ� Model ���֥������Ȥ��Ф��Ƥ���Ѳ�ǽ�Ǥ���
1774
+ 同様に、Bio::PDB#each_chain は全ての Chain を順番にたどるイテレータ、
1775
+ Bio::PDB#chains は全ての Chain を配列として返すメソッドです。
1776
+ これらのメソッドは Model オブジェクトに対しても使用可能です。
1881
1777
 
1882
- Bio::PDB#each_model �����Ƥ� Model ����֤ˤ��ɤ륤�ƥ졼����
1883
- Bio::PDB#models �����Ƥ� Model ������Ȥ����֤��᥽�åɤǤ���
1778
+ Bio::PDB#each_model は全ての Model を順番にたどるイテレータ、
1779
+ Bio::PDB#models は全ての Model を配列として返すメソッドです。
1884
1780
 
1885
- === PDB Chemical Component Dictionary �Υǡ������ɤ߹���
1781
+ === PDB Chemical Component Dictionary のデータの読み込み
1886
1782
 
1887
- Bio::PDB::ChemicalComponent ���饹�ϡ�PDB Chemical Component Dictionary
1888
- �ʵ�̾�� HET Group Dictionary�ˤΥѡ����Ǥ���
1783
+ Bio::PDB::ChemicalComponent クラスは、PDB Chemical Component Dictionary
1784
+ (旧名称 HET Group Dictionary)のパーサです。
1889
1785
 
1890
- PDB Chemical Component Dictionary �ˤĤ��Ƥϰʲ��Υڡ����򻲾Ȥ��Ƥ���������
1786
+ PDB Chemical Component Dictionary については以下のページを参照してください。
1891
1787
 
1892
1788
  * ((<URL:http://deposit.pdb.org/cc_dict_tut.html>))
1893
1789
 
1894
- �ǡ����ϰʲ��ǥ���������ɤǤ��ޤ���
1790
+ データは以下でダウンロードできます。
1895
1791
 
1896
1792
  * ((<URL:http://deposit.pdb.org/het_dictionary.txt>))
1897
1793
 
1898
- ���Υ��饹�ϡ�RESIDUE ����Ϥޤäƶ��Ԥǽ���룱����ȥ��ѡ������ޤ�
1899
- ��PDB �ե����ޥåȤˤΤ��б����Ƥ��ޤ��ˡ�
1794
+ このクラスは、RESIDUE から始まって空行で終わる1エントリをパースします
1795
+ PDB フォーマットにのみ対応しています)。
1900
1796
 
1901
- Bio::FlatFile �ˤ��ե����������ưȽ�̤��б����Ƥ��ޤ���
1902
- ���Υ��饹���Τ� ID ���鲽��ʪ�򸡺������ꤹ�뵡ǽ�ϻ��äƤ��ޤ���
1903
- br_bioflat.rb �ˤ�륤��ǥå��������ˤ��б����Ƥ��ޤ��Τǡ�
1904
- ɬ�פʤ餽�������Ѥ��Ƥ���������
1797
+ Bio::FlatFile によるファイル形式自動判別に対応しています。
1798
+ このクラス自体は ID から化合物を検索したりする機能は持っていません。
1799
+ br_bioflat.rb によるインデックス作成には対応していますので、
1800
+ 必要ならそちらを使用してください。
1905
1801
 
1906
1802
  Bio::FlatFile.auto("het_dictionary.txt") |ff|
1907
1803
  ff.each do |het|
1908
1804
  p het.entry_id # ID
1909
- p het.hetnam # HETNAM �쥳���ɡʲ���ʪ��̾�Ρ�
1910
- p het.hetsyn # HETSYM �쥳���ɡʲ���ʪ����̾�������
1911
- p het.formul # FORMUL �쥳���ɡʲ���ʪ����������
1912
- p het.conect # CONECT �쥳����
1805
+ p het.hetnam # HETNAM レコード(化合物の名称)
1806
+ p het.hetsyn # HETSYM レコード(化合物の別名の配列)
1807
+ p het.formul # FORMUL レコード(化合物の組成式)
1808
+ p het.conect # CONECT レコード
1913
1809
  end
1914
1810
  end
1915
1811
 
1916
- �Ǹ�� conect �᥽�åɤϡ�����ʪ�η��� Hash �Ȥ����֤��ޤ���
1917
- ���Ȥ��С������Ρ���Υ���ȥ�ϼ��Τ褦�ˤʤ�ޤ�����
1812
+ 最後の conect メソッドは、化合物の結合を Hash として返します。
1813
+ たとえば、エタノールのエントリは次のようになりますが、
1918
1814
 
1919
1815
  RESIDUE EOH 9
1920
1816
  CONECT C1 4 C2 O 1H1 2H1
@@ -1931,7 +1827,7 @@ br_bioflat.rb
1931
1827
  HETNAM EOH ETHANOL
1932
1828
  FORMUL EOH C2 H6 O1
1933
1829
 
1934
- ���Υ���ȥ���Ф��� conect �᥽�åɤ�Ƥ֤�
1830
+ このエントリに対して conect メソッドを呼ぶと
1935
1831
 
1936
1832
  { "C1" => [ "C2", "O", "1H1", "2H1" ],
1937
1833
  "C2" => [ "C1", "1H2", "2H2", "3H2" ],
@@ -1943,66 +1839,66 @@ br_bioflat.rb
1943
1839
  "3H2" => [ "C2" ],
1944
1840
  "HO" => [ "O" ] }
1945
1841
 
1946
- �Ȥ��� Hash ���֤��ޤ���
1842
+ という Hash を返します。
1947
1843
 
1948
- �����ޤǤν����� BioRuby ������ǻ�Ȱʲ��Τ褦�ˤʤ�ޤ���
1844
+ ここまでの処理を BioRuby シェルで試すと以下のようになります。
1949
1845
 
1950
- # PDB ����ȥ� 1bl8 ��ͥåȥ����ͳ�Ǽ���
1846
+ # PDB エントリ 1bl8 をネットワーク経由で取得
1951
1847
  bioruby> ent_1bl8 = getent("pdb:1bl8")
1952
- # ����ȥ����Ȥ��ǧ
1848
+ # エントリの中身を確認
1953
1849
  bioruby> head ent_1bl8
1954
- # ����ȥ��ե��������¸
1850
+ # エントリをファイルに保存
1955
1851
  bioruby> savefile("1bl8.pdb", ent_1bl8)
1956
- # ��¸���줿�ե��������Ȥ��ǧ
1852
+ # 保存されたファイルの中身を確認
1957
1853
  bioruby> disp "data/1bl8.pdb"
1958
- # PDB ����ȥ��ѡ���
1854
+ # PDB エントリをパース
1959
1855
  bioruby> pdb_1bl8 = flatparse(ent_1bl8)
1960
- # PDB �Υ���ȥ� ID ��ɽ��
1856
+ # PDB のエントリ ID を表示
1961
1857
  bioruby> pdb_1bl8.entry_id
1962
- # getent("pdb:1bl8") ���� flatparse ��������ˡ��ʲ��Ǥ�OK
1858
+ # getent("pdb:1bl8") して flatparse する代わりに、以下でもOK
1963
1859
  bioruby> obj_1bl8 = getobj("pdb:1bl8")
1964
1860
  bioruby> obj_1bl8.entry_id
1965
- # �� HETEROGEN ���Ȥ˻Ĵ�̾��ɽ��
1861
+ # HETEROGEN ごとに残基名を表示
1966
1862
  bioruby> pdb_1bl8.each_heterogen { |heterogen| p heterogen.resName }
1967
1863
 
1968
- # PDB Chemical Component Dictionary �����
1864
+ # PDB Chemical Component Dictionary を取得
1969
1865
  bioruby> het_dic = open("http://deposit.pdb.org/het_dictionary.txt").read
1970
- # ���������ե�����ΥХ��ȿ����ǧ
1866
+ # 取得したファイルのバイト数を確認
1971
1867
  bioruby> het_dic.size
1972
- # ���������ե��������¸
1868
+ # 取得したファイルを保存
1973
1869
  bioruby> savefile("data/het_dictionary.txt", het_dic)
1974
- # �ե��������Ȥ��ǧ
1870
+ # ファイルの中身を確認
1975
1871
  bioruby> disp "data/het_dictionary.txt"
1976
- # �����Τ���˥���ǥå������� het_dic �Ȥ����ǡ����١��������
1872
+ # 検索のためにインデックス化し het_dic というデータベースを作成
1977
1873
  bioruby> flatindex("het_dic", "data/het_dictionary.txt")
1978
- # ID �� EOH �Υ����Ρ���Υ���ȥ�򸡺�
1874
+ # ID EOH のエタノールのエントリを検索
1979
1875
  bioruby> ethanol = flatsearch("het_dic", "EOH")
1980
- # ������������ȥ��ѡ���
1876
+ # 取得したエントリをパース
1981
1877
  bioruby> osake = flatparse(ethanol)
1982
- # ���Ҵ֤η��ơ��֥��ɽ��
1878
+ # 原子間の結合テーブルを表示
1983
1879
  bioruby> sake.conect
1984
1880
 
1985
- == ���饤���� (Bio::Alignment ���饹)
1881
+ == アライメント (Bio::Alignment クラス)
1986
1882
 
1987
- Bio::Alignment ���饹������Υ��饤���Ȥ��Ǽ���뤿��Υ���ƥʤǤ���
1988
- Ruby �� Hash �� Array �˻�������ǽ�ǡ�BioPerl �� Bio::SimpleAlign ��
1989
- ���������ˤʤäƤ��ޤ����ʲ��˴�ñ�ʻȤ����򼨤��ޤ���
1883
+ Bio::Alignment クラスは配列のアライメントを格納するためのコンテナです。
1884
+ Ruby Hash Array に似た操作が可能で、BioPerl Bio::SimpleAlign
1885
+ 似た感じになっています。以下に簡単な使い方を示します。
1990
1886
 
1991
1887
  require 'bio'
1992
1888
 
1993
1889
  seqs = [ 'atgca', 'aagca', 'acgca', 'acgcg' ]
1994
1890
  seqs = seqs.collect{ |x| Bio::Sequence::NA.new(x) }
1995
1891
 
1996
- # ���饤���ȥ��֥������Ȥ����
1892
+ # アライメントオブジェクトを作成
1997
1893
  a = Bio::Alignment.new(seqs)
1998
1894
 
1999
- # ���󥻥󥵥������ɽ��
1895
+ # コンセンサス配列を表示
2000
1896
  p a.consensus # ==> "a?gc?"
2001
1897
 
2002
- # IUPAC ɸ���ۣ��ʱ������Ѥ������󥻥󥵥������ɽ��
1898
+ # IUPAC 標準の曖昧な塩基を使用したコンセンサス配列を表示
2003
1899
  p a.consensus_iupac # ==> "ahgcr"
2004
1900
 
2005
- # ������ˤĤ��Ʒ����֤�
1901
+ # 各配列について繰り返す
2006
1902
  a.each { |x| p x }
2007
1903
  # ==>
2008
1904
  # "atgca"
@@ -2010,7 +1906,7 @@ Ruby
2010
1906
  # "acgca"
2011
1907
  # "acgcg"
2012
1908
 
2013
- # �ƥ����ȤˤĤ��Ʒ����֤�
1909
+ # 各サイトについて繰り返す
2014
1910
  a.each_site { |x| p x }
2015
1911
  # ==>
2016
1912
  # ["a", "a", "a", "a"]
@@ -2019,250 +1915,250 @@ Ruby
2019
1915
  # ["c", "c", "c", "c"]
2020
1916
  # ["a", "a", "a", "g"]
2021
1917
 
2022
- # Clustal W ����Ѥ��ƥ��饤���Ȥ�Ԥ���
2023
- # 'clustalw' ���ޥ�ɤ������ƥ�˥��󥹥ȡ��뤵��Ƥ���ɬ�פ����롣
1918
+ # Clustal W を使用してアライメントを行う。
1919
+ # 'clustalw' コマンドがシステムにインストールされている必要がある。
2024
1920
  factory = Bio::ClustalW.new
2025
1921
  a2 = a.do_align(factory)
2026
1922
 
2027
1923
 
2028
- == FASTA �ˤ����Ʊ��������Ԥ���Bio::Fasta ���饹��
1924
+ == FASTA による相同性検索を行う(Bio::Fasta クラス)
2029
1925
 
2030
- FASTA ����������ե����� query.pep ���Ф��ơ���ʬ�Υޥ���(��������)���뤤��
2031
- ���󥿡��ͥåȾ�Υ�����(��⡼��)�� FASTA �ˤ����Ʊ��������Ԥ���ˡ�Ǥ���
2032
- ��������ξ��� SSEARCH �ʤɤ�Ʊ�ͤ˻Ȥ����Ȥ��Ǥ��ޤ���
1926
+ FASTA 形式の配列ファイル query.pep に対して、自分のマシン(ローカル)あるいは
1927
+ インターネット上のサーバ(リモート) FASTA による相同性検索を行う方法です。
1928
+ ローカルの場合は SSEARCH なども同様に使うことができます。
2033
1929
 
2034
- === ���������
1930
+ === ローカルの場合
2035
1931
 
2036
- FASTA �����󥹥ȡ��뤵��Ƥ��뤳�Ȥ��ǧ���Ƥ����������ʲ�����Ǥϡ�
2037
- ���ޥ��̾�� fasta34 �ǥѥ����̤ä��ǥ��쥯�ȥ�˥��󥹥ȡ���
2038
- ����Ƥ���������ꤷ�Ƥ��ޤ���
1932
+ FASTA がインストールされていることを確認してください。以下の例では、
1933
+ コマンド名が fasta34 でパスが通ったディレクトリにインストール
1934
+ されている状況を仮定しています。
2039
1935
 
2040
1936
  * ((<URL:ftp://ftp.virginia.edu/pub/fasta/>))
2041
1937
 
2042
- �����оݤȤ��� FASTA �����Υǡ����١����ե����� target.pep �ȡ�FASTA
2043
- �������䤤��碌���󤬤����Ĥ����ä��ե����� query.pep ��������ޤ���
1938
+ 検索対象とする FASTA 形式のデータベースファイル target.pep と、FASTA
1939
+ 形式の問い合わせ配列がいくつか入ったファイル query.pep を準備します。
2044
1940
 
2045
- ������Ǥϡ����䤤��碌���󤴤Ȥ� FASTA ������¹Ԥ����ҥåȤ��������
2046
- evalue �� 0.0001 �ʲ��Τ�Τ�����ɽ�����ޤ���
1941
+ この例では、各問い合わせ配列ごとに FASTA 検索を実行し、ヒットした配列の
1942
+ evalue 0.0001 以下のものだけを表示します。
2047
1943
 
2048
1944
  #!/usr/bin/env ruby
2049
1945
 
2050
1946
  require 'bio'
2051
1947
 
2052
- # FASTA ��¹Ԥ���Ķ����֥������Ȥ����ssearch �ʤɤǤ��ɤ���
1948
+ # FASTA を実行する環境オブジェクトを作る(ssearch などでも良い)
2053
1949
  factory = Bio::Fasta.local('fasta34', ARGV.pop)
2054
1950
 
2055
- # �ե�åȥե�������ɤ߹��ߡ�FastaFormat ���֥������ȤΥꥹ�Ȥˤ���
1951
+ # フラットファイルを読み込み、FastaFormat オブジェクトのリストにする
2056
1952
  ff = Bio::FlatFile.new(Bio::FastaFormat, ARGF)
2057
1953
 
2058
- # ������ȥꤺ�Ĥ� FastaFormat ���֥������Ȥ��Ф�
1954
+ # 1エントリずつの FastaFormat オブジェクトに対し
2059
1955
  ff.each do |entry|
2060
- # '>' �ǻϤޤ륳���ȹԤ����Ƥ�ʹԾ���������ɸ�२�顼���Ϥ�ɽ��
1956
+ # '>' で始まるコメント行の内容を進行状況がわりに標準エラー出力に表示
2061
1957
  $stderr.puts "Searching ... " + entry.definition
2062
1958
 
2063
- # FASTA �ˤ����Ʊ��������¹ԡ���̤� Fasta::Report ���֥�������
1959
+ # FASTA による相同性検索を実行、結果は Fasta::Report オブジェクト
2064
1960
  report = factory.query(entry)
2065
1961
 
2066
- # �ҥåȤ�����Τ��줾����Ф�
1962
+ # ヒットしたものそれぞれに対し
2067
1963
  report.each do |hit|
2068
- # evalue �� 0.0001 �ʲ��ξ��
1964
+ # evalue 0.0001 以下の場合
2069
1965
  if hit.evalue < 0.0001
2070
- # ���� evalue �ȡ�̾���������С���å��ΰ��ɽ��
1966
+ # その evalue と、名前、オーバーラップ領域を表示
2071
1967
  print "#{hit.query_id} : evalue #{hit.evalue}\t#{hit.target_id} at "
2072
1968
  p hit.lap_at
2073
1969
  end
2074
1970
  end
2075
1971
  end
2076
1972
 
2077
- ������ factory �Ϸ����֤� FASTA ��¹Ԥ��뤿��ˡ����餫�����äƤ���
2078
- �¹ԴĶ��Ǥ���
1973
+ ここで factory は繰り返し FASTA を実行するために、あらかじめ作っておく
1974
+ 実行環境です。
2079
1975
 
2080
- �嵭�Υ�����ץȤ� search.rb �Ȥ���ȡ��䤤��碌����ȥǡ����١��������
2081
- �ե�����̾������ˤ��ơ��ʲ��Τ褦�˼¹Ԥ��ޤ���
1976
+ 上記のスクリプトを search.rb とすると、問い合わせ配列とデータベース配列の
1977
+ ファイル名を引数にして、以下のように実行します。
2082
1978
 
2083
1979
  % ruby search.rb query.pep target.pep > search.out
2084
1980
 
2085
- FASTA ���ޥ�ɤ˥��ץ�����Ϳ��������硢�����ܤΰ����� FASTA ��
2086
- ���ޥ�ɥ饤�󥪥ץ�����񤤤��Ϥ��ޤ�����������ktup �ͤ�����
2087
- �᥽�åɤ�Ȥäƻ��ꤹ�뤳�ȤˤʤäƤ��ޤ���
2088
- ���Ȥ��� ktup �ͤ� 1 �ˤ��ơ��ȥå� 10 �̰���ΥҥåȤ��������
2089
- ���ץ����ϡ��ʲ��Τ褦�ˤʤ�ޤ���
1981
+ FASTA コマンドにオプションを与えたい場合、3番目の引数に FASTA
1982
+ コマンドラインオプションを書いて渡します。ただし、ktup 値だけは
1983
+ メソッドを使って指定することになっています。
1984
+ たとえば ktup 値を 1 にして、トップ 10 位以内のヒットを得る場合の
1985
+ オプションは、以下のようになります。
2090
1986
 
2091
1987
  factory = Bio::Fasta.local('fasta34', 'target.pep', '-b 10')
2092
1988
  factory.ktup = 1
2093
1989
 
2094
- Bio::Fasta#query �᥽�åɤʤɤ��֤��ͤ� Bio::Fasta::Report ���֥�������
2095
- �Ǥ������� Report ���֥������Ȥ��顢�͡��ʥ᥽�åɤ� FASTA �ν��Ϸ�̤�
2096
- �ۤ����Ƥ�ͳ�˼��Ф���褦�ˤʤäƤ��ޤ������Ȥ��С��ҥåȤ˴ؤ���
2097
- �������ʤɤμ�ʾ���ϡ�
1990
+ Bio::Fasta#query メソッドなどの返り値は Bio::Fasta::Report オブジェクト
1991
+ です。この Report オブジェクトから、様々なメソッドで FASTA の出力結果の
1992
+ ほぼ全てを自由に取り出せるようになっています。たとえば、ヒットに関する
1993
+ スコアなどの主な情報は、
2098
1994
 
2099
1995
  report.each do |hit|
2100
1996
  puts hit.evalue # E-value
2101
- puts hit.sw # Smith-Waterman ������ (*)
1997
+ puts hit.sw # Smith-Waterman スコア (*)
2102
1998
  puts hit.identity # % identity
2103
- puts hit.overlap # �����С���åפ��Ƥ����ΰ��Ĺ��
2104
- puts hit.query_id # �䤤��碌����� ID
2105
- puts hit.query_def # �䤤��碌����Υ�����
2106
- puts hit.query_len # �䤤��碌�����Ĺ��
2107
- puts hit.query_seq # �䤤��碌����
2108
- puts hit.target_id # �ҥåȤ�������� ID
2109
- puts hit.target_def # �ҥåȤ�������Υ�����
2110
- puts hit.target_len # �ҥåȤ��������Ĺ��
2111
- puts hit.target_seq # �ҥåȤ�������
2112
- puts hit.query_start # ��Ʊ�ΰ���䤤��碌����Ǥγ��ϻĴ����
2113
- puts hit.query_end # ��Ʊ�ΰ���䤤��碌����Ǥν�λ�Ĵ����
2114
- puts hit.target_start # ��Ʊ�ΰ�Υ������å�����Ǥγ��ϻĴ����
2115
- puts hit.target_end # ��Ʊ�ΰ�Υ������å�����Ǥν�λ�Ĵ����
2116
- puts hit.lap_at # �嵭�����֤ο��ͤ�����
1999
+ puts hit.overlap # オーバーラップしている領域の長さ
2000
+ puts hit.query_id # 問い合わせ配列の ID
2001
+ puts hit.query_def # 問い合わせ配列のコメント
2002
+ puts hit.query_len # 問い合わせ配列の長さ
2003
+ puts hit.query_seq # 問い合わせ配列
2004
+ puts hit.target_id # ヒットした配列の ID
2005
+ puts hit.target_def # ヒットした配列のコメント
2006
+ puts hit.target_len # ヒットした配列の長さ
2007
+ puts hit.target_seq # ヒットした配列
2008
+ puts hit.query_start # 相同領域の問い合わせ配列での開始残基位置
2009
+ puts hit.query_end # 相同領域の問い合わせ配列での終了残基位置
2010
+ puts hit.target_start # 相同領域のターゲット配列での開始残基位置
2011
+ puts hit.target_end # 相同領域のターゲット配列での終了残基位置
2012
+ puts hit.lap_at # 上記4位置の数値の配列
2117
2013
  end
2118
2014
 
2119
- �ʤɤΥ᥽�åɤǸƤӽФ��ޤ��������Υ᥽�åɤ�¿���ϸ����������
2120
- Bio::Blast::Report ���饹�ȶ��̤ˤ��Ƥ���ޤ����嵭�ʳ��Υ᥽�åɤ�
2121
- FASTA ��ͭ���ͤ���Ф��᥽�åɤ�ɬ�פʾ��ϡ�Bio::Fasta::Report
2122
- ���饹�Υɥ�����Ȥ򻲾Ȥ��Ƥ���������
2015
+ などのメソッドで呼び出せます。これらのメソッドの多くは後で説明する
2016
+ Bio::Blast::Report クラスと共通にしてあります。上記以外のメソッドや
2017
+ FASTA 特有の値を取り出すメソッドが必要な場合は、Bio::Fasta::Report
2018
+ クラスのドキュメントを参照してください。
2123
2019
 
2124
- �⤷���ѡ����������μ��ä��Ƥ��ʤ� fasta ���ޥ�ɤμ¹Է�̤�ɬ�פ�
2125
- ���ˤϡ�
2020
+ もし、パースする前の手を加えていない fasta コマンドの実行結果が必要な
2021
+ 場合には、
2126
2022
 
2127
2023
  report = factory.query(entry)
2128
2024
  puts factory.output
2129
2025
 
2130
- �Τ褦�ˡ�query �᥽�åɤ�¹Ԥ������ factory ���֥������Ȥ� output
2131
- �᥽�åɤ�ȤäƼ��Ф����Ȥ��Ǥ��ޤ���
2026
+ のように、query メソッドを実行した後で factory オブジェクトの output
2027
+ メソッドを使って取り出すことができます。
2132
2028
 
2133
2029
 
2134
- === ��⡼�Ȥξ��
2030
+ === リモートの場合
2135
2031
 
2136
- ���ΤȤ��� GenomeNet (fasta.genome.jp) �Ǥθ����Τߥ��ݡ��Ȥ��Ƥ��ޤ���
2137
- ��⡼�Ȥξ��ϻ��Ѳ�ǽ�ʸ����оݥǡ����١�������ޤäƤ��ޤ����������
2138
- �������ˤĤ��Ƥ� Bio::Fasta.remote �� Bio::Fasta.local ��Ʊ���褦�˻Ȥ�
2139
- ���Ȥ��Ǥ��ޤ���
2032
+ 今のところ GenomeNet (fasta.genome.jp) での検索のみサポートしています。
2033
+ リモートの場合は使用可能な検索対象データベースが決まっていますが、それ以
2034
+ 外の点については Bio::Fasta.remote Bio::Fasta.local は同じように使う
2035
+ ことができます。
2140
2036
 
2141
- GenomeNet �ǻ��Ѳ�ǽ�ʸ����оݥǡ����١�����
2037
+ GenomeNet で使用可能な検索対象データベース:
2142
2038
 
2143
- * ���ߥλ�����ǡ����١���
2039
+ * アミノ酸配列データベース
2144
2040
  * nr-aa, genes, vgenes.pep, swissprot, swissprot-upd, pir, prf, pdbstr
2145
2041
 
2146
- * ��������ǡ����١���
2042
+ * 塩基配列データベース
2147
2043
  * nr-nt, genbank-nonst, gbnonst-upd, dbest, dbgss, htgs, dbsts,
2148
2044
  embl-nonst, embnonst-upd, genes-nt, genome, vgenes.nuc
2149
2045
 
2150
- �ޤ��������椫�鸡���������ǡ����١��������򤷤ޤ����䤤��碌����μ���
2151
- �ȸ�������ǡ����١����μ���ˤ�äƥץ������Ϸ�ޤ�ޤ���
2046
+ まず、この中から検索したいデータベースを選択します。問い合わせ配列の種類
2047
+ と検索するデータベースの種類によってプログラムは決まります。
2152
2048
 
2153
- * �䤤��碌���󤬥��ߥλ��ΤȤ�
2154
- * �оݥǡ����١��������ߥλ�����ǡ����١����ξ�硢program �� 'fasta'
2155
- * �оݥǡ����١������˻�����ǡ����١����ξ�硢program �� 'tfasta'
2049
+ * 問い合わせ配列がアミノ酸のとき
2050
+ * 対象データベースがアミノ酸配列データベースの場合、program 'fasta'
2051
+ * 対象データベースが核酸配列データベースの場合、program 'tfasta'
2156
2052
 
2157
- * �䤤��碌���󤬳˻�����ΤȤ�
2158
- * �оݥǡ����١������˻�����ǡ����١����ξ�硢program �� 'fasta'
2159
- * (�оݥǡ����١��������ߥλ�����ǡ����١����ξ��ϸ�����ǽ?)
2053
+ * 問い合わせ配列が核酸配列のとき
2054
+ * 対象データベースが核酸配列データベースの場合、program 'fasta'
2055
+ * (対象データベースがアミノ酸配列データベースの場合は検索不能?)
2160
2056
 
2161
- �ץ������ȥǡ����١������Ȥ߹礻����ޤä���
2057
+ プログラムとデータベースの組み合せが決まったら
2162
2058
 
2163
2059
  program = 'fasta'
2164
2060
  database = 'genes'
2165
2061
 
2166
2062
  factory = Bio::Fasta.remote(program, database)
2167
2063
 
2168
- �Ȥ��ƥե����ȥ꡼���ꡢ��������ξ���Ʊ���褦�� factory.query �ʤ�
2169
- �Υ᥽�åɤǸ�����¹Ԥ��ޤ���
2064
+ としてファクトリーを作り、ローカルの場合と同じように factory.query など
2065
+ のメソッドで検索を実行します。
2170
2066
 
2171
2067
 
2172
- == BLAST �ˤ����Ʊ��������Ԥ���Bio::Blast ���饹��
2068
+ == BLAST による相同性検索を行う(Bio::Blast クラス)
2173
2069
 
2174
- BLAST ���������� GenomeNet (blast.genome.jp) �Ǥθ����򥵥ݡ��Ȥ���
2175
- ���ޤ����Ǥ������ Bio::Fasta �� API ���̤ˤ��Ƥ��ޤ��Τǡ��嵭�����
2176
- Bio::Blast �Ƚ񤭴����������Ǥ�����פʾ�礬¿���Ǥ���
2070
+ BLAST もローカルと GenomeNet (blast.genome.jp) での検索をサポートして
2071
+ います。できるだけ Bio::Fasta API を共通にしていますので、上記の例を
2072
+ Bio::Blast と書き換えただけでも大丈夫な場合が多いです。
2177
2073
 
2178
- ���Ȥ��С���� f_search.rb ��
2074
+ たとえば、先の f_search.rb
2179
2075
 
2180
- # BLAST ��¹Ԥ���Ķ����֥������Ȥ���
2076
+ # BLAST を実行する環境オブジェクトを作る
2181
2077
  factory = Bio::Blast.local('blastp', ARGV.pop)
2182
2078
 
2183
- ���ѹ����������Ʊ���褦�˼¹ԤǤ��ޤ���
2079
+ と変更するだけで同じように実行できます。
2184
2080
 
2185
- Ʊ�ͤˡ�GenomeNet ����Ѥ���BLAST��Ԥ����ˤ� Bio::Blast.remote ��Ȥ��ޤ���
2186
- ���ξ�硢program�λ������Ƥ� FASTA �Ȱۤʤ�ޤ���
2081
+ 同様に、GenomeNet を使用してBLASTを行う場合には Bio::Blast.remote を使います。
2082
+ この場合、programの指定内容が FASTA と異なります。
2187
2083
 
2188
- * �䤤��碌���󤬥��ߥλ��ΤȤ�
2189
- * �оݥǡ����١��������ߥλ�����ǡ����١����ξ�硢program �� 'blastp'
2190
- * �оݥǡ����١������˻�����ǡ����١����ξ�硢program �� 'tblastn'
2084
+ * 問い合わせ配列がアミノ酸のとき
2085
+ * 対象データベースがアミノ酸配列データベースの場合、program 'blastp'
2086
+ * 対象データベースが核酸配列データベースの場合、program 'tblastn'
2191
2087
 
2192
- * �䤤��碌���󤬱�������ΤȤ�
2193
- * �оݥǡ����١��������ߥλ�����ǡ����١����ξ�硢program �� 'blastx'
2194
- * �оݥǡ����١�������������ǡ����١����ξ�硢program �� 'blastn'
2195
- * (�䤤��碌���ǡ����١�������6�ե졼��������Ԥ����� 'tblastx')
2088
+ * 問い合わせ配列が塩基配列のとき
2089
+ * 対象データベースがアミノ酸配列データベースの場合、program 'blastx'
2090
+ * 対象データベースが塩基配列データベースの場合、program 'blastn'
2091
+ * (問い合わせ・データベース共に6フレーム翻訳を行う場合は 'tblastx')
2196
2092
 
2197
- �򤽤줾����ꤷ�ޤ���
2093
+ をそれぞれ指定します。
2198
2094
 
2199
- �Ȥ����ǡ�BLAST �Ǥ� "-m 7" ���ץ����ˤ�� XML ���ϥե����ޥååȤ�����
2200
- ���������˭�٤ʤ��ᡢBio::Blast �� Ruby �Ѥ� XML �饤�֥��Ǥ���
2201
- XMLParser �ޤ��� REXML �����Ѳ�ǽ�ʾ��ϡ�XML ���Ϥ����Ѥ��ޤ���
2202
- ξ�����Ѳ�ǽ�ʾ�硢XMLParser �Τۤ�����®�ʤΤ�ͥ��Ū�˻��Ѥ���ޤ���
2203
- �ʤ���Ruby 1.8.0 �ʹߤǤ� REXML �� Ruby ���Τ�ɸ��ź�դ���Ƥ��ޤ���
2204
- �⤷ XML �饤�֥�꤬���󥹥ȡ��뤵��Ƥ��ʤ����� "-m 8" �Υ��ֶ��ڤ��
2205
- ���Ϸ����򰷤��褦�ˤ��Ƥ��ޤ��������������Υե����ޥåȤǤ�������
2206
- �ǡ������¤���Τǡ�"-m 7" �� XML �����ν��Ϥ�Ȥ����Ȥ򤪴��ᤷ�ޤ���
2095
+ ところで、BLAST では "-m 7" オプションによる XML 出力フォーマッットの方が
2096
+ 得られる情報が豊富なため、Bio::Blast Ruby 用の XML ライブラリである
2097
+ XMLParser または REXML が使用可能な場合は、XML 出力を利用します。
2098
+ 両方使用可能な場合、XMLParser のほうが高速なので優先的に使用されます。
2099
+ なお、Ruby 1.8.0 以降では REXML Ruby 本体に標準添付されています。
2100
+ もし XML ライブラリがインストールされていない場合は "-m 8" のタブ区切りの
2101
+ 出力形式を扱うようにしています。しかし、このフォーマットでは得られる
2102
+ データが限られるので、"-m 7" XML 形式の出力を使うことをお勧めします。
2207
2103
 
2208
- ���Ǥ˸����褦�� Bio::Fasta::Report �� Bio::Blast::Report �� Hit ���֥���
2209
- ���ȤϤ����Ĥ����̤Υ᥽�åɤ���äƤ��ޤ���BLAST ��ͭ�Υ᥽�åɤ��ɤ���
2210
- �������ʤ�Τˤ� bit_score �� midline �ʤɤ�����ޤ���
2104
+ すでに見たように Bio::Fasta::Report Bio::Blast::Report Hit オブジェ
2105
+ クトはいくつか共通のメソッドを持っています。BLAST 固有のメソッドで良く使
2106
+ いそうなものには bit_score midline などがあります。
2211
2107
 
2212
2108
  report.each do |hit|
2213
- puts hit.bit_score # bit ������ (*)
2214
- puts hit.query_seq # �䤤��碌����
2215
- puts hit.midline # ���饤���Ȥ� midline ʸ���� (*)
2216
- puts hit.target_seq # �ҥåȤ�������
2109
+ puts hit.bit_score # bit スコア (*)
2110
+ puts hit.query_seq # 問い合わせ配列
2111
+ puts hit.midline # アライメントの midline 文字列 (*)
2112
+ puts hit.target_seq # ヒットした配列
2217
2113
 
2218
2114
  puts hit.evalue # E-value
2219
2115
  puts hit.identity # % identity
2220
- puts hit.overlap # �����С���åפ��Ƥ����ΰ��Ĺ��
2221
- puts hit.query_id # �䤤��碌����� ID
2222
- puts hit.query_def # �䤤��碌����Υ�����
2223
- puts hit.query_len # �䤤��碌�����Ĺ��
2224
- puts hit.target_id # �ҥåȤ�������� ID
2225
- puts hit.target_def # �ҥåȤ�������Υ�����
2226
- puts hit.target_len # �ҥåȤ��������Ĺ��
2227
- puts hit.query_start # ��Ʊ�ΰ���䤤��碌����Ǥγ��ϻĴ����
2228
- puts hit.query_end # ��Ʊ�ΰ���䤤��碌����Ǥν�λ�Ĵ����
2229
- puts hit.target_start # ��Ʊ�ΰ�Υ������å�����Ǥγ��ϻĴ����
2230
- puts hit.target_end # ��Ʊ�ΰ�Υ������å�����Ǥν�λ�Ĵ����
2231
- puts hit.lap_at # �嵭�����֤ο��ͤ�����
2116
+ puts hit.overlap # オーバーラップしている領域の長さ
2117
+ puts hit.query_id # 問い合わせ配列の ID
2118
+ puts hit.query_def # 問い合わせ配列のコメント
2119
+ puts hit.query_len # 問い合わせ配列の長さ
2120
+ puts hit.target_id # ヒットした配列の ID
2121
+ puts hit.target_def # ヒットした配列のコメント
2122
+ puts hit.target_len # ヒットした配列の長さ
2123
+ puts hit.query_start # 相同領域の問い合わせ配列での開始残基位置
2124
+ puts hit.query_end # 相同領域の問い合わせ配列での終了残基位置
2125
+ puts hit.target_start # 相同領域のターゲット配列での開始残基位置
2126
+ puts hit.target_end # 相同領域のターゲット配列での終了残基位置
2127
+ puts hit.lap_at # 上記4位置の数値の配列
2232
2128
  end
2233
2129
 
2234
- FASTA�Ȥ�API���̲��Τ���ȴ��ؤΤ��ᡢ�������ʤɤ����Ĥ��ξ����1���ܤ�
2235
- Hsp (High-scoring segment pair) ���ͤ�Hit���֤��褦�ˤ��Ƥ��ޤ���
2130
+ FASTAとのAPI共通化のためと簡便のため、スコアなどいくつかの情報は1番目の
2131
+ Hsp (High-scoring segment pair) の値をHitで返すようにしています。
2236
2132
 
2237
- Bio::Blast::Report ���֥������Ȥϡ��ʲ��˼����褦�ʡ�BLAST�η�̽��Ϥ�
2238
- �ǡ�����¤�򤽤Τޤ�ȿ�Ǥ�������Ū�ʥǡ�����¤����äƤ��ޤ�������Ū�ˤ�
2133
+ Bio::Blast::Report オブジェクトは、以下に示すような、BLASTの結果出力の
2134
+ データ構造をそのまま反映した階層的なデータ構造を持っています。具体的には
2239
2135
 
2240
- * Bio::Blast::Report ���֥������Ȥ� @iteratinos ��
2241
- * Bio::Blast::Report::Iteration ���֥������Ȥ� Array �����äƤ���
2242
- Bio::Blast::Report::Iteration ���֥������Ȥ� @hits ��
2243
- * Bio::Blast::Report::Hits ���֥������Ȥ� Array �����äƤ���
2244
- Bio::Blast::Report::Hits ���֥������Ȥ� @hsps ��
2245
- * Bio::Blast::Report::Hsp ���֥������Ȥ� Array �����äƤ���
2136
+ * Bio::Blast::Report オブジェクトの @iteratinos
2137
+ * Bio::Blast::Report::Iteration オブジェクトの Array が入っており
2138
+ Bio::Blast::Report::Iteration オブジェクトの @hits
2139
+ * Bio::Blast::Report::Hits オブジェクトの Array が入っており
2140
+ Bio::Blast::Report::Hits オブジェクトの @hsps
2141
+ * Bio::Blast::Report::Hsp オブジェクトの Array が入っている
2246
2142
 
2247
- �Ȥ������ع�¤�ˤʤäƤ��ꡢ���줾�줬�������ͤ���Ф�����Υ᥽�åɤ�
2248
- ���äƤ��ޤ��������Υ᥽�åɤξܺ٤䡢BLAST �¹Ԥ����׾���ʤɤ��ͤ�
2249
- ɬ�פʾ��ˤϡ� bio/appl/blast/*.rb ��Υɥ�����Ȥ�ƥ��ȥ����ɤ�
2250
- ���Ȥ��Ƥ���������
2143
+ という階層構造になっており、それぞれが内部の値を取り出すためのメソッドを
2144
+ 持っています。これらのメソッドの詳細や、BLAST 実行の統計情報などの値が
2145
+ 必要な場合には、 bio/appl/blast/*.rb 内のドキュメントやテストコードを
2146
+ 参照してください。
2251
2147
 
2252
2148
 
2253
- === ��¸�� BLAST ���ϥե������ѡ�������
2149
+ === 既存の BLAST 出力ファイルをパースする
2254
2150
 
2255
- BLAST ��¹Ԥ�����̥ե����뤬���Ǥ���¸���Ƥ��äơ��������Ϥ��������
2256
- �ˤϡ�Bio::Blast ���֥������Ȥ��餺�ˡ� Bio::Blast::Report ���֥�����
2257
- �Ȥ��ꤿ�����Ȥ������Ȥˤʤ�ޤ�������ˤ� Bio::Blast.reports �᥽�å�
2258
- ��Ȥ��ޤ����б����Ƥ���Τ� �ǥե���Ƚ��ϥե����ޥå�("-m 0") �ޤ���
2259
- "-m 7" ���ץ����� XML �ե����ޥåȽ��ϤǤ���
2151
+ BLAST を実行した結果ファイルがすでに保存してあって、これを解析したい場合
2152
+ には(Bio::Blast オブジェクトを作らずに) Bio::Blast::Report オブジェク
2153
+ トを作りたい、ということになります。これには Bio::Blast.reports メソッド
2154
+ を使います。対応しているのは デフォルト出力フォーマット("-m 0") または
2155
+ "-m 7" オプションの XML フォーマット出力です。
2260
2156
 
2261
2157
  #!/usr/bin/env ruby
2262
2158
 
2263
2159
  require 'bio'
2264
2160
 
2265
- # BLAST���Ϥ��˥ѡ������� Bio::Blast::Report ���֥������Ȥ��֤�
2161
+ # BLAST出力を順にパースして Bio::Blast::Report オブジェクトを返す
2266
2162
  Bio::Blast.reports(ARGF) do |report|
2267
2163
  puts "Hits for " + report.query_def + " against " + report.db
2268
2164
  report.each do |hit|
@@ -2270,93 +2166,93 @@ BLAST
2270
2166
  end
2271
2167
  end
2272
2168
 
2273
- �Τ褦�ʥ�����ץ� hits_under_0.001.rb ��񤤤ơ�
2169
+ のようなスクリプト hits_under_0.001.rb を書いて、
2274
2170
 
2275
2171
  % ./hits_under_0.001.rb *.xml
2276
2172
 
2277
- �ʤɤȼ¹Ԥ���С�������Ϳ���� BLAST �η�̥ե����� *.xml ����֤˽�����
2278
- ���ޤ���
2173
+ などと実行すれば、引数に与えた BLAST の結果ファイル *.xml を順番に処理で
2174
+ きます。
2279
2175
 
2280
- Blast �ΥС������� OS �ʤɤˤ�äƽ��Ϥ���� XML �η������ۤʤ��ǽ��
2281
- �����ꡢ���� XML �Υѡ��������ޤ��Ȥ��ʤ����Ȥ�����褦�Ǥ������ξ���
2282
- Blast 2.2.5 �ʹߤΥС������򥤥󥹥ȡ��뤹�뤫 -D �� -m �ʤɤΥ��ץ���
2283
- ����Ȥ߹礻���Ѥ��ƻ�ƤߤƤ���������
2176
+ Blast のバージョンや OS などによって出力される XML の形式が異なる可能性
2177
+ があり、時々 XML のパーザがうまく使えないことがあるようです。その場合は
2178
+ Blast 2.2.5 以降のバージョンをインストールするか -D -m などのオプショ
2179
+ ンの組み合せを変えて試してみてください。
2284
2180
 
2285
2181
 
2286
- === ��⡼�ȸ��������Ȥ��ɲä���ˤ�
2182
+ === リモート検索サイトを追加するには
2287
2183
 
2288
- ��: ���Υ��������Ͼ��桼�������Ǥ�����ǽ�Ǥ���� SOAP �ʤɤˤ��
2289
- �����֥����ӥ������Ѥ��������褤�Ǥ��礦��
2184
+ 注: このセクションは上級ユーザ向けです。可能であれば SOAP などによる
2185
+ ウェブサービスを利用する方がよいでしょう。
2290
2186
 
2291
- Blast ������ NCBI ��Ϥ����͡��ʥ����Ȥǥ����ӥ�����Ƥ��ޤ��������ΤȤ�
2292
- �� BioRuby �Ǥ� GenomeNet �ʳ��ˤ��б����Ƥ��ޤ��󡣤����Υ����Ȥϡ�
2187
+ Blast 検索は NCBI をはじめ様々なサイトでサービスされていますが、今のとこ
2188
+ BioRuby では GenomeNet 以外には対応していません。これらのサイトは、
2293
2189
 
2294
- * CGI ��ƤӽФ��ʥ��ޥ�ɥ饤�󥪥ץ����Ϥ��Υ������Ѥ˽��������
2295
- * -m 8 �ʤ� BioRuby ���ѡ�������äƤ�����ϥե����ޥåȤ� blast ��
2296
- ���Ϥ���Ф�
2190
+ * CGI を呼び出す(コマンドラインオプションはそのサイト用に処理する)
2191
+ * -m 8 など BioRuby がパーザを持っている出力フォーマットで blast
2192
+ 出力を取り出す
2297
2193
 
2298
- ���Ȥ����Ǥ���С�query �������äƸ�����̤� Bio::Blast::Report.new ��
2299
- �Ϥ��褦�ʥ᥽�åɤ������������ǻȤ���褦�ˤʤ�ޤ�������Ū�ˤϡ�����
2300
- �᥽�åɤ��exec_������̾�פΤ褦��̾���� Bio::Blast �� private �᥽�å�
2301
- �Ȥ�����Ͽ����ȡ������ܤΰ����ˡ֥�����̾�פ���ꤷ��
2194
+ ことさえできれば、query を受け取って検索結果を Bio::Blast::Report.new
2195
+ 渡すようなメソッドを定義するだけで使えるようになります。具体的には、この
2196
+ メソッドを「exec_サイト名」のような名前で Bio::Blast private メソッド
2197
+ として登録すると、4番目の引数に「サイト名」を指定して
2302
2198
 
2303
- factory = Bio::Blast.remote(program, db, option, '������̾')
2199
+ factory = Bio::Blast.remote(program, db, option, 'サイト名')
2304
2200
 
2305
- �Τ褦�˸ƤӽФ���褦�ˤʤäƤ��ޤ������������� BioRuby �ץ��������Ȥ�
2306
- �����äƤ�館��м����ޤ���ĺ���ޤ���
2201
+ のように呼び出せるようになっています。完成したら BioRuby プロジェクトま
2202
+ で送ってもらえれば取り込ませて頂きます。
2307
2203
 
2308
2204
 
2309
- == PubMed ������ư���ʸ���ꥹ�Ȥ��� (Bio::PubMed ���饹)
2205
+ == PubMed を引いて引用文献リストを作る (Bio::PubMed クラス)
2310
2206
 
2311
- ���ϡ�NCBI ��ʸ���ǡ����١��� PubMed �򸡺����ư���ʸ���ꥹ�Ȥ����������Ǥ���
2207
+ 次は、NCBI の文献データベース PubMed を検索して引用文献リストを作成する例です。
2312
2208
 
2313
2209
  #!/usr/bin/env ruby
2314
2210
 
2315
2211
  require 'bio'
2316
2212
 
2317
2213
  ARGV.each do |id|
2318
- entry = Bio::PubMed.query(id) # PubMed ��������륯�饹�᥽�å�
2319
- medline = Bio::MEDLINE.new(entry) # Bio::MEDLINE ���֥�������
2320
- reference = medline.reference # Bio::Reference ���֥�������
2321
- puts reference.bibtex # BibTeX �ե����ޥåȤǽ���
2214
+ entry = Bio::PubMed.query(id) # PubMed を取得するクラスメソッド
2215
+ medline = Bio::MEDLINE.new(entry) # Bio::MEDLINE オブジェクト
2216
+ reference = medline.reference # Bio::Reference オブジェクト
2217
+ puts reference.bibtex # BibTeX フォーマットで出力
2322
2218
  end
2323
2219
 
2324
- ���Υ�����ץȤ� pmfetch.rb �ʤɹ�����̾������¸����
2220
+ このスクリプトを pmfetch.rb など好きな名前で保存し、
2325
2221
 
2326
2222
  % ./pmfetch.rb 11024183 10592278 10592173
2327
2223
 
2328
- �ʤɰ��Ѥ�������ʸ�� PubMed ID (PMID) ��������¤٤�� NCBI �˥���������
2329
- �� MEDLINE �ե����ޥåȤ�ѡ����� BibTeX �ե����ޥåȤ��Ѵ����ƽ��Ϥ���
2330
- �����Ϥ��Ǥ���
2224
+ など引用したい論文の PubMed ID (PMID) を引数に並べると NCBI にアクセスし
2225
+ MEDLINE フォーマットをパースし BibTeX フォーマットに変換して出力して
2226
+ くれるはずです。
2331
2227
 
2332
- ¾�ˡ�������ɤǸ������뵡ǽ�⤢��ޤ���
2228
+ 他に、キーワードで検索する機能もあります。
2333
2229
 
2334
2230
  #!/usr/bin/env ruby
2335
2231
 
2336
2232
  require 'bio'
2337
2233
 
2338
- # ���ޥ�ɥ饤���Ϳ����������ɤΥꥹ�Ȥ򣱤Ĥ�ʸ����ˤ���
2234
+ # コマンドラインで与えたキーワードのリストを1つの文字列にする
2339
2235
  keywords = ARGV.join(' ')
2340
2236
 
2341
- # PubMed �򥭡���ɤǸ���
2237
+ # PubMed をキーワードで検索
2342
2238
  entries = Bio::PubMed.search(keywords)
2343
2239
 
2344
2240
  entries.each do |entry|
2345
- medline = Bio::MEDLINE.new(entry) # Bio::MEDLINE ���֥�������
2346
- reference = medline.reference # Bio::Reference ���֥�������
2347
- puts reference.bibtex # BibTeX �ե����ޥåȤǽ���
2241
+ medline = Bio::MEDLINE.new(entry) # Bio::MEDLINE オブジェクト
2242
+ reference = medline.reference # Bio::Reference オブジェクト
2243
+ puts reference.bibtex # BibTeX フォーマットで出力
2348
2244
  end
2349
2245
 
2350
- ���Υ�����ץȤ� pmsearch.rb �ʤɹ�����̾������¸��
2246
+ このスクリプトを pmsearch.rb など好きな名前で保存し
2351
2247
 
2352
2248
  % ./pmsearch.rb genome bioinformatics
2353
2249
 
2354
- �ʤɸ���������������ɤ�������¤٤Ƽ¹Ԥ���ȡ�PubMed �򥭡����
2355
- �������ƥҥåȤ�����ʸ�Υꥹ�Ȥ� BibTeX �ե����ޥåȤǽ��Ϥ��ޤ���
2250
+ など検索したいキーワードを引数に並べて実行すると、PubMed をキーワード
2251
+ 検索してヒットした論文のリストを BibTeX フォーマットで出力します。
2356
2252
 
2357
- �Ƕ�Ǥϡ�NCBI �� E-Utils �Ȥ��������֥��ץꥱ��������Ȥ����Ȥ�
2358
- �侩����Ƥ���Τǡ������ Bio::PubMed.esearch �᥽�åɤ����
2359
- Bio::PubMed.efetch �᥽�åɤ�Ȥ������ɤ��Ǥ��礦��
2253
+ 最近では、NCBI E-Utils というウェブアプリケーションを使うことが
2254
+ 推奨されているので、今後は Bio::PubMed.esearch メソッドおよび
2255
+ Bio::PubMed.efetch メソッドを使う方が良いでしょう。
2360
2256
 
2361
2257
  #!/usr/bin/env ruby
2362
2258
 
@@ -2377,58 +2273,58 @@ Bio::PubMed.efetch
2377
2273
  puts reference.bibtex
2378
2274
  end
2379
2275
 
2380
- ���Υ�����ץȤǤϡ��嵭�� pmsearch.rb �Ȥۤ�Ʊ���褦��ư���ޤ�������ˡ�
2381
- NCBI E-Utils ����Ѥ��뤳�Ȥˤ�ꡢ�����оݤ����դ����ҥåȷ���ʤɤ�
2382
- ����Ǥ���褦�ˤʤäƤ���Τǡ����ⵡǽ�Ǥ������ץ�����Ϳ������
2383
- �����ˤĤ��Ƥ� ((<E-Utils �Υإ�ץڡ���|URL:http://eutils.ncbi.nlm.nih.gov/entrez/query/static/eutils_help.html>)) �򻲾Ȥ��Ƥ���������
2276
+ このスクリプトでは、上記の pmsearch.rb とほぼ同じように動きます。さらに、
2277
+ NCBI E-Utils を活用することにより、検索対象の日付や最大ヒット件数などを
2278
+ 指定できるようになっているので、より高機能です。オプションに与えられる
2279
+ 引数については ((<E-Utils のヘルプページ|URL:http://eutils.ncbi.nlm.nih.gov/entrez/query/static/eutils_help.html>)) を参照してください。
2384
2280
 
2385
- ���ʤߤˡ������Ǥ� bibtex �᥽�åɤ� BibTeX �ե����ޥåȤ��Ѵ����Ƥ��ޤ�
2386
- ������ҤΤ褦�� bibitem �᥽�åɤ�Ȥ���¾���ʶ�Ĵ�䥤����å��ʤ�
2387
- ʸ���ν����ϤǤ��ޤ��󤬡�nature �᥽�åɤ� nar �ʤɡ������Ĥ��λ����
2388
- �ե����ޥåȤˤ��б����Ƥ��ޤ���
2281
+ ちなみに、ここでは bibtex メソッドで BibTeX フォーマットに変換しています
2282
+ が、後述のように bibitem メソッドも使える他、(強調やイタリックなど
2283
+ 文字の修飾はできませんが)nature メソッドや nar など、いくつかの雑誌の
2284
+ フォーマットにも対応しています。
2389
2285
 
2390
- === BibTeX �λȤ����Υ��
2286
+ === BibTeX の使い方のメモ
2391
2287
 
2392
- �嵭����ǽ��᤿ BibTeX �ե����ޥåȤΥꥹ�Ȥ� TeX �ǻȤ���ˡ���ñ�ˤ�
2393
- �Ȥ�Ƥ����ޤ������Ѥ�������ʸ����
2288
+ 上記の例で集めた BibTeX フォーマットのリストを TeX で使う方法を簡単にま
2289
+ とめておきます。引用しそうな文献を
2394
2290
 
2395
2291
  % ./pmfetch.rb 10592173 >> genoinfo.bib
2396
2292
  % ./pmsearch.rb genome bioinformatics >> genoinfo.bib
2397
2293
 
2398
- �ʤɤȤ��� genoinfo.bib �ե�����˽������¸���Ƥ�����
2294
+ などとして genoinfo.bib ファイルに集めて保存しておき、
2399
2295
 
2400
2296
  \documentclass{jarticle}
2401
2297
  \begin{document}
2402
2298
  \bibliographystyle{plain}
2403
- �ۤˤ��� KEGG �ǡ����١���~\cite{PMID:10592173}�Ϥդ��ۤ��Ǥ��롣
2299
+ ほにゃらら KEGG データベース~\cite{PMID:10592173}はふがほげである。
2404
2300
  \bibliography{genoinfo}
2405
2301
  \end{document}
2406
2302
 
2407
- �Ȥ����ե����� hoge.tex ��񤤤ơ�
2303
+ というファイル hoge.tex を書いて、
2408
2304
 
2409
2305
  % platex hoge
2410
- % bibtex hoge # �� genoinfo.bib ���
2411
- % platex hoge # �� ʸ���ꥹ�Ȥκ���
2412
- % platex hoge # �� ʸ���ֹ�
2306
+ % bibtex hoge # genoinfo.bib の処理
2307
+ % platex hoge # 文献リストの作成
2308
+ % platex hoge # 文献番号
2413
2309
 
2414
- �Ȥ����̵�� hoge.dvi ���Ǥ�������ޤ���
2310
+ とすると無事 hoge.dvi ができあがります。
2415
2311
 
2416
- === bibitem �λȤ����Υ��
2312
+ === bibitem の使い方のメモ
2417
2313
 
2418
- ʸ���Ѥ��̤� .bib �ե�������ꤿ���ʤ����� Reference#bibitem �᥽��
2419
- �ɤν��Ϥ�Ȥ��ޤ����嵭�� pmfetch.rb �� pmsearch.rb ��
2314
+ 文献用に別の .bib ファイルを作りたくない場合は Reference#bibitem メソッ
2315
+ ドの出力を使います。上記の pmfetch.rb pmsearch.rb
2420
2316
 
2421
2317
  puts reference.bibtex
2422
2318
 
2423
- �ιԤ�
2319
+ の行を
2424
2320
 
2425
2321
  puts reference.bibitem
2426
2322
 
2427
- �˽񤭴�����ʤɤ��ơ����Ϸ�̤�
2323
+ に書き換えるなどして、出力結果を
2428
2324
 
2429
2325
  \documentclass{jarticle}
2430
2326
  \begin{document}
2431
- �ۤˤ��� KEGG �ǡ����١���~\cite{PMID:10592173}�Ϥդ��ۤ��Ǥ��롣
2327
+ ほにゃらら KEGG データベース~\cite{PMID:10592173}はふがほげである。
2432
2328
 
2433
2329
  \begin{thebibliography}{00}
2434
2330
 
@@ -2440,78 +2336,78 @@ NCBI E-Utils
2440
2336
  \end{thebibliography}
2441
2337
  \end{document}
2442
2338
 
2443
- �Τ褦�� \begin{thebibliography} �ǰϤߤޤ�������� hoge.tex �Ȥ����
2339
+ のように \begin{thebibliography} で囲みます。これを hoge.tex とすると
2444
2340
 
2445
- % platex hoge # �� ʸ���ꥹ�Ȥκ���
2446
- % platex hoge # �� ʸ���ֹ�
2341
+ % platex hoge # 文献リストの作成
2342
+ % platex hoge # 文献番号
2447
2343
 
2448
- �ȣ����������ФǤ�������Ǥ���
2344
+ と2回処理すればできあがりです。
2449
2345
 
2450
2346
 
2451
2347
  = OBDA
2452
2348
 
2453
- OBDA (Open Bio Database Access) �Ȥϡ�Open Bioinformatics Foundation
2454
- �ˤ�ä����ꤵ�줿������ǡ����١����ؤζ��̥���������ˡ�Ǥ�������ϡ�
2455
- 2002 ǯ��1���2��� Arizona �� Cape Town �ˤƳ��Ť��줿 BioHackathon
2456
- �ˤ����ơ�BioPerl, BioJava, BioPython, BioRuby �ʤɤγƥץ��������Ȥ�
2457
- ���С������ä��ƺ�������ޤ�����
2349
+ OBDA (Open Bio Database Access) とは、Open Bioinformatics Foundation
2350
+ によって制定された、配列データベースへの共通アクセス方法です。これは、
2351
+ 2002 年の1月と2月に Arizona Cape Town にて開催された BioHackathon
2352
+ において、BioPerl, BioJava, BioPython, BioRuby などの各プロジェクトの
2353
+ メンバーが参加して作成されました。
2458
2354
 
2459
2355
  * BioRegistry (Directory)
2460
- * �ǡ����١�����������ɤ��ˤɤΤ褦�˼��˹Ԥ�������ꤹ����Ȥ�
2356
+ * データベース毎に配列をどこにどのように取りに行くかを指定する仕組み
2461
2357
 
2462
2358
  * BioFlat
2463
- * �ե�åȥե������ 2 ʬ�ڤޤ��� BDB ��Ȥä�����ǥå�������
2359
+ * フラットファイルの 2 分木または BDB を使ったインデックス作成
2464
2360
 
2465
2361
  * BioFetch
2466
- * HTTP ��ͳ�ǥǡ����١������饨��ȥ��������륵���Фȥ��饤�����
2362
+ * HTTP 経由でデータベースからエントリを取得するサーバとクライアント
2467
2363
 
2468
2364
  * BioSQL
2469
- * MySQL �� PostgreSQL �ʤɤδط��ǡ����١���������ǡ������Ǽ����
2470
- ����� schema �ȡ�����ȥ����Ф�����Υ᥽�å�
2365
+ * MySQL PostgreSQL などの関係データベースに配列データを格納する
2366
+ ための schema と、エントリを取り出すためのメソッド
2471
2367
 
2472
- �ܺ٤� ((<URL:http://obda.open-bio.org/>)) �򻲾Ȥ��Ƥ���������
2473
- ���줾��λ��ͽ�� cvs.open-bio.org �� CVS��ݥ��ȥ���֤��Ƥ���ޤ���
2474
- �ޤ��ϡ�((<URL:http://cvs.open-bio.org/cgi-bin/viewcvs/viewcvs.cgi/obda-specs/?cvsroot=obf-common>)) ���黲�ȤǤ��ޤ���
2368
+ 詳細は ((<URL:http://obda.open-bio.org/>)) を参照してください。
2369
+ それぞれの仕様書は cvs.open-bio.org CVSレポジトリに置いてあります。
2370
+ または、((<URL:http://cvs.open-bio.org/cgi-bin/viewcvs/viewcvs.cgi/obda-specs/?cvsroot=obf-common>)) から参照できます。
2475
2371
 
2476
2372
 
2477
2373
  == BioRegistry
2478
2374
 
2479
- BioRegistry�Ȥϡ�����ե�����ˤ�äƳƥǡ����١����Υ���ȥ������ˡ��
2480
- ���ꤹ�뤳�Ȥˤ�ꡢ�ɤ����ˡ��ȤäƤ��뤫��ۤȤ�ɰռ������ǡ�����
2481
- �������뤳�Ȥ��ǽ�Ȥ��뤿��λ��ȤߤǤ���
2482
- ����ե������ͥ���̤�
2375
+ BioRegistryとは、設定ファイルによって各データベースのエントリ取得方法を
2376
+ 指定することにより、どんな方法を使っているかをほとんど意識せずデータを
2377
+ 取得することを可能とするための仕組みです。
2378
+ 設定ファイルの優先順位は
2483
2379
 
2484
- * (�᥽�åɤΥѥ�᡼����)���ꤷ���ե�����
2380
+ * (メソッドのパラメータで)指定したファイル
2485
2381
  * ~/.bioinformatics/seqdatabase.ini
2486
2382
  * /etc/bioinformatics/seqdatabase.ini
2487
2383
  * http://www.open-bio.org/registry/seqdatabase.ini
2488
2384
 
2489
- �Ǹ�� open-bio.org ������ϡ��������������ե����뤬���Ĥ���ʤ�����
2490
- �������Ȥ��ޤ���
2385
+ 最後の open-bio.org の設定は、ローカルな設定ファイルが見つからない場合に
2386
+ だけ参照します。
2491
2387
 
2492
- BioRuby �θ��ߤμ����Ǥϡ����٤ƤΥ������������ե�������ɤ߹��ߡ�
2493
- Ʊ��̾�������꤬ʣ��¸�ߤ������ϡ��ǽ�˸��Ĥ��ä�������������Ѥ���ޤ���
2494
- ��������Ѥ���ȡ����Ȥ��С������ƥ�����Ԥ� /etc/bioinformatics/ ���֤���
2495
- ����Τ����Ŀ�Ū���ѹ���������Τ��� ~/.bioinformatics/ �Ǿ�񤭤��뤳�Ȥ�
2496
- �Ǥ��ޤ�������ץ�� seqdatabase.ini �ե����뤬 bioruby �Υ������˴ޤޤ��
2497
- ���ޤ��Τǻ��Ȥ��Ƥ���������
2388
+ BioRuby の現在の実装では、すべてのローカルな設定ファイルを読み込み、
2389
+ 同じ名前の設定が複数存在した場合は、最初に見つかった設定だけが使用されます。
2390
+ これを利用すると、たとえば、システム管理者が /etc/bioinformatics/ に置いた
2391
+ 設定のうち個人的に変更したいものだけ ~/.bioinformatics/ で上書きすることが
2392
+ できます。サンプルの seqdatabase.ini ファイルが bioruby のソースに含まれて
2393
+ いますので参照してください。
2498
2394
 
2499
- ����ե��������Ȥ� stanza �ե����ޥåȤȸƤФ��񼰤ǵ��Ҥ��ޤ���
2395
+ 設定ファイルの中身は stanza フォーマットと呼ばれる書式で記述します。
2500
2396
 
2501
- [�ǡ����١���̾]
2502
- protocol=�ץ��ȥ���̾
2503
- location=������̾
2397
+ [データベース名]
2398
+ protocol=プロトコル名
2399
+ location=サーバ名
2504
2400
 
2505
- ���Τ褦�ʥ���ȥ��ƥǡ����١����ˤĤ��Ƶ��Ҥ��뤳�Ȥˤʤ�ޤ���
2506
- �ǡ����١���̾�ϡ���ʬ�����Ѥ��뤿��Υ�٥�ʤΤ�ʬ����䤹����Τ�
2507
- �Ĥ�����ɤ����ºݤΥǡ����١�����̾���ȰۤʤäƤ��Ƥ⹽��ʤ��褦�Ǥ���
2508
- Ʊ��̾���Υǡ����١�����ʣ������Ȥ��Ϻǽ�˽񤫤�Ƥ����Τ�����
2509
- ��³���褦�˻��ͽ�Ǥ���Ƥ���Ƥ��ޤ��������ΤȤ��� BioRuby �Ǥ�
2510
- ����ˤ��б����Ƥ��ޤ���
2401
+ このようなエントリを各データベースについて記述することになります。
2402
+ データベース名は、自分が使用するためのラベルなので分かりやすいものを
2403
+ つければ良く、実際のデータベースの名前と異なっていても構わないようです。
2404
+ 同じ名前のデータベースが複数あるときは最初に書かれているものから順に
2405
+ 接続を試すように仕様書では提案されていますが、今のところ BioRuby では
2406
+ それには対応していません。
2511
2407
 
2512
- �ޤ����ץ��ȥ���μ���ˤ�äƤ� location �ʳ��ˤ��MySQL �Υ桼��̾�ʤɡ�
2513
- �ɲäΥ��ץ����򵭽Ҥ���ɬ�פ�����ޤ������ߤΤȤ��������ͽ�ǵ��ꤵ��
2514
- �Ƥ��� protocol �Ȥ��Ƥϰʲ��Τ�Τ�����ޤ���
2408
+ また、プロトコルの種類によっては location 以外にも(MySQL のユーザ名など)
2409
+ 追加のオプションを記述する必要があります。現在のところ、仕様書で規定され
2410
+ ている protocol としては以下のものがあります。
2515
2411
 
2516
2412
  * index-flat
2517
2413
  * index-berkeleydb
@@ -2520,112 +2416,112 @@ BioRuby
2520
2416
  * bsane-corba
2521
2417
  * xembl
2522
2418
 
2523
- ���ΤȤ��� BioRuby �ǻ��Ѳ�ǽ�ʤΤ� index-flat, index-berkleydb, biofetch
2524
- �� biosql �����Ǥ����ޤ���BioRegistry��ƥץ��ȥ���λ��ͤ��ѹ�����뤳��
2525
- ������ޤ�����BioRuby�Ϥ�����ɽ��Ǥ��Ƥ��ʤ����⤷��ޤ���
2419
+ 今のところ BioRuby で使用可能なのは index-flat, index-berkleydb, biofetch
2420
+ biosql だけです。また、BioRegistryや各プロトコルの仕様は変更されること
2421
+ がありますが、BioRubyはそれに追従できていないかもしれません。
2526
2422
 
2527
- BioRegistry ��Ȥ��ˤϡ��ޤ� Bio::Registry���֥������Ȥ�������ޤ���
2528
- ����ȡ�����ե����뤬�ɤ߹��ޤ�ޤ���
2423
+ BioRegistry を使うには、まず Bio::Registryオブジェクトを作成します。
2424
+ すると、設定ファイルが読み込まれます。
2529
2425
 
2530
2426
  reg = Bio::Registry.new
2531
2427
 
2532
- # ����ե�����˽񤤤��ǡ����١���̾�ǥ����Ф���³
2428
+ # 設定ファイルに書いたデータベース名でサーバへ接続
2533
2429
  serv = reg.get_database('genbank')
2534
2430
 
2535
- # ID ����ꤷ�ƥ���ȥ�����
2431
+ # ID を指定してエントリを取得
2536
2432
  entry = serv.get_by_id('AA2CG')
2537
2433
 
2538
- ������ serv ������ե������ [genbank] ����ǻ��ꤷ�� protocol �ץ��ȥ�
2539
- ����б����륵���Х��֥������Ȥǡ�Bio::SQL �� Bio::Fetch �ʤɤΥ��󥹥�
2540
- �󥹤��֤äƤ���Ϥ��Ǥ��ʥǡ����١���̾�����Ĥ���ʤ��ä����� nil�ˡ�
2434
+ ここで serv は設定ファイルの [genbank] の欄で指定した protocol プロトコ
2435
+ ルに対応するサーバオブジェクトで、Bio::SQL Bio::Fetch などのインスタ
2436
+ ンスが返っているはずです(データベース名が見つからなかった場合は nil)。
2541
2437
 
2542
- ���Ȥ� OBDA ���̤Υ���ȥ�����᥽�å� get_by_id ��Ƥ���ꡢ�����Х�
2543
- �֥���������˸�ͭ�Υ᥽�åɤ�Ƥ֤��Ȥˤʤ�ޤ��Τǡ��ʲ��� BioFetch ��
2544
- BioSQL �β���򻲾Ȥ��Ƥ���������
2438
+ あとは OBDA 共通のエントリ取得メソッド get_by_id を呼んだり、サーバオ
2439
+ ブジェクト毎に固有のメソッドを呼ぶことになりますので、以下の BioFetch
2440
+ BioSQL の解説を参照してください。
2545
2441
 
2546
2442
 
2547
2443
  == BioFlat
2548
2444
 
2549
- BioFlat �ϥե�åȥե�������Ф��ƥ���ǥå����������������ȥ���®��
2550
- ���Ф����ȤߤǤ�������ǥå����μ���ϡ�RUby�γ�ĥ�饤�֥��˰�¸���ʤ�
2551
- index-flat �� Berkeley DB (bdb) ��Ȥä� index-berkeleydb ��2���ब¸��
2552
- ���ޤ����ʤ���index-berkeleydb ����Ѥ���ˤϡ�BDB �Ȥ��� Ruby �γ�ĥ
2553
- �饤�֥������ӥ��󥹥ȡ��뤹��ɬ�פ�����ޤ�������ǥå����κ����ˤ�
2554
- bioruby �ѥå���������°���� br_bioflat.rb ���ޥ�ɤ�Ȥäơ�
2445
+ BioFlat はフラットファイルに対してインデックスを作成し、エントリを高速に
2446
+ 取り出す仕組みです。インデックスの種類は、RUbyの拡張ライブラリに依存しない
2447
+ index-flat Berkeley DB (bdb) を使った index-berkeleydb 2種類が存在
2448
+ します。なお、index-berkeleydb を使用するには、BDB という Ruby の拡張
2449
+ ライブラリを別途インストールする必要があります。インデックスの作成には
2450
+ bioruby パッケージに付属する br_bioflat.rb コマンドを使って、
2555
2451
 
2556
- % br_bioflat.rb --makeindex �ǡ����١���̾ [--format ���饹̾] �ե�����̾
2452
+ % br_bioflat.rb --makeindex データベース名 [--format クラス名] ファイル名
2557
2453
 
2558
- �Τ褦�ˤ��ޤ���BioRuby�ϥǡ����ե����ޥåȤμ�ưǧ����ǽ����ܤ��Ƥ���
2559
- �Τ� --format ���ץ����Ͼ�ά��ǽ�Ǥ��������줦�ޤ�ǧ�����ʤ��ä�����
2560
- BioRuby �γƥǡ����١����Υ��饹̾����ꤷ�Ƥ��������������ϡ�
2454
+ のようにします。BioRubyはデータフォーマットの自動認識機能を搭載している
2455
+ ので --format オプションは省略可能ですが、万一うまく認識しなかった場合は
2456
+ BioRuby の各データベースのクラス名を指定してください。検索は、
2561
2457
 
2562
- % bioflat �ǡ����١���̾ ����ȥ�ID
2458
+ % bioflat データベース名 エントリID
2563
2459
 
2564
- �Ȥ��ޤ�������Ū�� GenBank �� gbbct*.seq �ե�����˥���ǥå����������
2565
- �Ƹ��������硢
2460
+ とします。具体的に GenBank gbbct*.seq ファイルにインデックスを作成し
2461
+ て検索する場合、
2566
2462
 
2567
2463
  % bioflat --makeindex my_bctdb --format GenBank gbbct*.seq
2568
2464
  % bioflat my_bctdb A16STM262
2569
2465
 
2570
- �Τ褦�ʴ����ˤʤ�ޤ���
2466
+ のような感じになります。
2571
2467
 
2572
- Ruby �� bdb ��ĥ�⥸�塼��(�ܺ٤� http://raa.ruby-lang.org/project/bdb/ ����)
2573
- �����󥹥ȡ��뤵��Ƥ������ Berkeley DB �����Ѥ��ƥ���ǥå������������
2574
- ���Ȥ��Ǥ��ޤ������ξ�硢
2468
+ Ruby bdb 拡張モジュール(詳細は http://raa.ruby-lang.org/project/bdb/ 参照)
2469
+ がインストールされている場合は Berkeley DB を利用してインデックスを作成する
2470
+ ことができます。この場合、
2575
2471
 
2576
- % bioflat --makeindex-bdb �ǡ����١���̾ [--format ���饹̾] �ե�����̾
2472
+ % bioflat --makeindex-bdb データベース名 [--format クラス名] ファイル名
2577
2473
 
2578
- �Τ褦�� "--makeindex" �Τ����� "--makeindex-bdb" ����ꤷ�ޤ���
2474
+ のように "--makeindex" のかわりに "--makeindex-bdb" を指定します。
2579
2475
 
2580
2476
 
2581
2477
  == BioFetch
2582
2478
 
2583
- BioFetch �� CGI ���ͳ���ƥ����Ф���ǡ����١����Υ���ȥ������������
2584
- �ǡ������Ф�������� CGI �Υ��ץ����̾�����顼�����ɤʤɤ������Ƥ�
2585
- �ޤ������饤����Ȥ� HTTP ��Ȥäƥǡ����١�����ID���ե����ޥåȤʤɤ��
2586
- �ꤷ������ȥ��������ޤ���
2479
+ BioFetch CGI を経由してサーバからデータベースのエントリを取得する仕様
2480
+ で、サーバが受け取る CGI のオプション名、エラーコードなどが決められてい
2481
+ ます。クライアントは HTTP を使ってデータベース、ID、フォーマットなどを指
2482
+ 定し、エントリを取得します。
2587
2483
 
2588
- BioRuby �ץ��������ȤǤ� GenomeNet �� DBGET �����ƥ��Хå�����ɤȤ���
2589
- BioFetch �����Ф�������Ƥ��ꡢbioruby.org �DZ��Ѥ��Ƥ��ޤ������Υ����Ф�
2590
- �����������ɤ� BioRuby �� sample/ �ǥ��쥯�ȥ�����äƤ��ޤ������ߤΤȤ���
2591
- BioFetch �����ФϤ��� bioruby.org �Τ�Τ� EBI ���󤫽ꤷ������ޤ���
2484
+ BioRuby プロジェクトでは GenomeNet DBGET システムをバックエンドとした
2485
+ BioFetch サーバを実装しており、bioruby.org で運用しています。このサーバの
2486
+ ソースコードは BioRuby sample/ ディレクトリに入っています。現在のところ
2487
+ BioFetch サーバはこの bioruby.org のものと EBI の二か所しかありません。
2592
2488
 
2593
- BioFetch ��Ȥäƥ���ȥ���������ˤϡ������Ĥ�����ˡ������ޤ���
2489
+ BioFetch を使ってエントリを取得するには、いくつかの方法があります。
2594
2490
 
2595
- (1) �����֥֥饦�����鸡��������ˡ�ʰʲ��Υڡ����򳫤���
2491
+ (1) ウェブブラウザから検索する方法(以下のページを開く)
2596
2492
 
2597
2493
  http://bioruby.org/cgi-bin/biofetch.rb
2598
2494
 
2599
- (2) BioRuby��°�� br_biofetch.rb ���ޥ�ɤ��Ѥ�����ˡ
2495
+ (2) BioRuby付属の br_biofetch.rb コマンドを用いる方法
2600
2496
 
2601
2497
  % br_biofetch.rb db_name entry_id
2602
2498
 
2603
- (3) ������ץȤ��椫�� Bio::Fetch ���饹��ľ�ܻȤ���ˡ
2499
+ (3) スクリプトの中から Bio::Fetch クラスを直接使う方法
2604
2500
 
2605
2501
  serv = Bio::Fetch.new(server_url)
2606
2502
  entry = serv.fetch(db_name, entry_id)
2607
2503
 
2608
- (4) ������ץȤ���� BioRegistry ��ͳ�� Bio::Fetch ���饹�����Ū�˻Ȥ���ˡ
2504
+ (4) スクリプトの中で BioRegistry 経由で Bio::Fetch クラスを間接的に使う方法
2609
2505
 
2610
2506
  reg = Bio::Registry.new
2611
2507
  serv = reg.get_database('genbank')
2612
2508
  entry = serv.get_by_id('AA2CG')
2613
2509
 
2614
- �⤷ (4) ��Ȥ��������� seqdatabase.ini ��
2510
+ もし (4) を使いたい場合は seqdatabase.ini
2615
2511
 
2616
2512
  [genbank]
2617
2513
  protocol=biofetch
2618
2514
  location=http://bioruby.org/cgi-bin/biofetch.rb
2619
2515
  biodbname=genbank
2620
2516
 
2621
- �ʤɤȻ��ꤷ�Ƥ���ɬ�פ�����ޤ���
2517
+ などと指定しておく必要があります。
2622
2518
 
2623
- === BioFetch �� Bio::KEGG::GENES, Bio::AAindex1 ���Ȥ߹�碌����
2519
+ === BioFetch Bio::KEGG::GENES, Bio::AAindex1 を組み合わせた例
2624
2520
 
2625
- ���Υץ������ϡ�BioFetch ��Ȥä� KEGG �� GENES �ǡ����١�������źٶ�
2626
- Halobacterium �ΥХ��ƥꥢ���ɥץ�������� (VNG1467G) ���äƤ��ơ�Ʊ��
2627
- �褦�˥��ߥλ���ɸ�ǡ����١����Ǥ��� AAindex ��������������إ�å�����
2628
- ��ɸ (BURA740101) ��Ȥäơ��� 15 �Ĵ�Υ�����ɥ��������򤹤���Ǥ���
2521
+ 次のプログラムは、BioFetch を使って KEGG GENES データベースから古細菌
2522
+ Halobacterium のバクテリアロドプシン遺伝子 (VNG1467G) を取ってきて、同じ
2523
+ ようにアミノ酸指標データベースである AAindex から取得したαヘリックスの
2524
+ 指標 (BURA740101) を使って、幅 15 残基のウィンドウサーチをする例です。
2629
2525
 
2630
2526
  #!/usr/bin/env ruby
2631
2527
 
@@ -2646,45 +2542,45 @@ Halobacterium
2646
2542
  position += 1
2647
2543
  end
2648
2544
 
2649
- �����ǻȤäƤ��륯�饹�᥽�å� Bio::Fetch.query �ϰ��ۤ� bioruby.org ��
2650
- BioFetch �����Ф�Ȥ����ѤΥ��硼�ȥ��åȤǤ����ʤ��Υ����Ф�����Ū�ˤ�
2651
- ���Υ�ͥåȤ���ǡ�����������Ƥ��ޤ���KEGG/GENES �ǡ����١����� hal ��
2652
- AAindex �ǡ����١��� aax1 �Υ���ȥ�ϡ�¾�� BioFetch �����ФǤϼ����Ǥ�
2653
- �ʤ����Ȥ⤢�äơ������� query �᥽�åɤ�ȤäƤ��ޤ�����
2545
+ ここで使っているクラスメソッド Bio::Fetch.query は暗黙に bioruby.org
2546
+ BioFetch サーバを使う専用のショートカットです。(このサーバは内部的には
2547
+ ゲノムネットからデータを取得しています。KEGG/GENES データベースの hal
2548
+ AAindex データベース aax1 のエントリは、他の BioFetch サーバでは取得でき
2549
+ ないこともあって、あえて query メソッドを使っています。)
2654
2550
 
2655
2551
  == BioSQL
2656
2552
 
2657
2553
  to be written...
2658
2554
 
2659
- == BioRuby �Υ���ץ�ץ������λȤ���
2555
+ == BioRuby のサンプルプログラムの使い方
2660
2556
 
2661
- BioRuby �Υѥå������ˤ� samples/ �ǥ��쥯�ȥ�ʲ��ˤ����Ĥ��Υ���ץ��
2662
- ������ब�ޤޤ�Ƥ��ޤ����Ť���Τ⺮���äƤ��ޤ������̤�ȤƤ⽽ʬ�Ȥ�
2663
- �����ʤ��Τǡ�����Ū�����򤤥���ץ���󶡤ϴ��ޤǤ���
2557
+ BioRuby のパッケージには samples/ ディレクトリ以下にいくつかのサンプルプ
2558
+ ログラムが含まれています。古いものも混じっていますし、量もとても十分とは
2559
+ 言えないので、実用的で面白いサンプルの提供は歓迎です。
2664
2560
 
2665
2561
  to be written...
2666
2562
 
2667
- == ����ʤ����
2563
+ == さらなる情報
2668
2564
 
2669
- ¾�Υ��塼�ȥꥢ��Ū�ʥɥ�����ȤȤ��Ƥϡ�BioRuby Wiki���֤��Ƥ���
2670
- BioRuby in Anger ������ޤ���
2565
+ 他のチュートリアル的なドキュメントとしては、BioRuby Wikiに置いてある
2566
+ BioRuby in Anger があります。
2671
2567
 
2672
2568
 
2673
- == ����
2569
+ == 脚注
2674
2570
 
2675
- * (��1) BioRuby 1.2.1 �����ΥС������Ǥϡ�setup.rb �Τ����� install.rb
2676
- ����Ѥ��ޤ����ޤ����ʲ��Τ褦��3�ʳ���Ƨ��ɬ�פ�����ޤ���
2571
+ * (1) BioRuby 1.2.1 以前のバージョンでは、setup.rb のかわりに install.rb
2572
+ を使用します。また、以下のように3段階を踏む必要があります。
2677
2573
 
2678
2574
  % ruby install.rb config
2679
2575
  % ruby install.rb setup
2680
2576
  # ruby install.rb install
2681
2577
 
2682
- * (��2) BioRuby 1.0.0 �����ΥС������Ǥϡ�getseq, getent, getobj
2683
- �γƥ��ޥ�ɤΤ����ˡ�seq, ent, obj �γƥ��ޥ�ɤ���Ѥ��Ƥ���������
2578
+ * (2) BioRuby 1.0.0 以前のバージョンでは、getseq, getent, getobj
2579
+ の各コマンドのかわりに、seq, ent, obj の各コマンドを使用してください。
2684
2580
 
2685
- * (��3) BioRuby 0.7.1 �����ΥС������Ǥϡ�Bio::Sequence::NA ���饹����
2686
- Bio::sequence::AA ���饹�Τɤ��餫�Υ��֥������Ȥˤʤ�ޤ���
2687
- ���󤬤ɤ���Υ��饹��°���뤫�� Ruby �� class �᥽�åɤ��Ѥ���
2581
+ * (3) BioRuby 0.7.1 以前のバージョンでは、Bio::Sequence::NA クラスか、
2582
+ Bio::sequence::AA クラスのどちらかのオブジェクトになります。
2583
+ 配列がどちらのクラスに属するかは Ruby class メソッドを用いて
2688
2584
 
2689
2585
  bioruby> p cdc2.class
2690
2586
  Bio::Sequence::AA
@@ -2692,15 +2588,15 @@ BioRuby in Anger
2692
2588
  bioruby> p psaB.class
2693
2589
  Bio::Sequence::NA
2694
2590
 
2695
- �Τ褦��Ĵ�٤뤳�Ȥ��Ǥ��ޤ�����ưȽ�꤬�ְ�äƤ�����ʤɤˤ�
2696
- to_naseq, to_aaseq �᥽�åɤǶ���Ū���Ѵ��Ǥ��ޤ���
2591
+ のように調べることができます。自動判定が間違っている場合などには
2592
+ to_naseq, to_aaseq メソッドで強制的に変換できます。
2697
2593
 
2698
- * (��4) seq �᥽�åɤϡ��ɤ߹�����ǡ����μ���ˤ�äƤϡ����𡦥��ߥλ���
2699
- �ɤ���ˤ����ƤϤޤ�ʤ�����Τ���� Bio::Sequence::Generic ���饹��
2700
- String ���饹�Υ��֥������Ȥ��֤���礬���뤫�⤷��ޤ���
2594
+ * (4) seq メソッドは、読み込んだデータの種類によっては、塩基・アミノ酸の
2595
+ どちらにも当てはまらない配列のための Bio::Sequence::Generic クラスや
2596
+ String クラスのオブジェクトを返す場合があるかもしれません。
2701
2597
 
2702
- * (��5) NCBI, EBI, TogoWS �����̤�����̵���� getseq, getent, getobj ���ޥ��
2703
- �������Ѳ�ǽ�Ȥʤä��Τ� BioRuby 1.3.0 �ʹߤǤ���
2598
+ * (5) NCBI, EBI, TogoWS が特別な設定無しに getseq, getent, getobj コマンド
2599
+ から利用可能となったのは BioRuby 1.3.0 以降です。
2704
2600
 
2705
2601
  =end
2706
2602