From sakai-toshiya @ mvc.biglobe.ne.jp Thu Oct 20 11:08:05 2005 From: sakai-toshiya @ mvc.biglobe.ne.jp (=?iso-2022-jp?B?GyRCOmQwZj1TOkgbKEI=?=) Date: Thu Oct 20 11:43:13 2005 Subject: [BioRuby-ja] =?iso-2022-jp?b?UHViTWVkGyRCJE4lYSU9JUMlSSRLGyhC?= =?iso-2022-jp?b?GyRCNFgkOSRrPEFMZCFKRDlKOCRHPDpOaSQ3JF4kOSFLGyhC?= Message-ID: <000001c5d588$12b0eaa0$93505785@IBMX40> はじめまして。坂井@札幌と申します。 自分は血液学を研究している院生で、プログラミングは素人なのですが、 bioruby は大変便利で利用させていただいております。 表題の件ですが、チュートリアルの pmfetch.rb コードを文献の管理に 利用しています。最近bioruby をアップデートしたらBibtex の著者名 の出力が以前よりきれいになっているようで(区切りがちゃんと and に なっている)、自分のbib ファイルを作り直そうと思っています。 お伺いしたいことは、PMID のリストからなるファイルを作っておいて、 対応するエントリーを一度に入手するコードというのは可能でしょうか? どなたかご教示いただけると幸いです。(素人の質問で恐縮です) 自分が使用しているコードは以下のもので、PMIDはMeadow の eshell 上でコピペしていますが、もう少し楽ができないだろうかと思い、 質問させていただいた次第です。 Ruby のバージョンはruby 1.8.1 (2003-12-25) [i386-cygwin] です。 -------------------------- ここから --------------------------- #!/usr/bin/env ruby require 'bio' ARGV.each do |id| entry = Bio::PubMed.query(id) # medline = Bio::MEDLINE.new(entry) # reference = medline.reference # puts reference.bibtex # BibTeX フォーマットで出力 end #このスクリプトを pmfetch.rb など好きな名前で保存し、 #% ./pmfetch.rb 11024183 10592278 10592173 #NCBI の文献データベース PubMed を検索して引用文献リストを作成する例で す。 ------------------------- ここまで ------------------------------ 今後ともよろしくお願いいたします。 __ 坂井俊哉 北海道大学大学院医学研究科 病態内科学講座・第二内科 e-mail: sakai-toshiya@mvc.biglobe.ne.jp From sakai-toshiya @ mvc.biglobe.ne.jp Sat Oct 22 03:49:46 2005 From: sakai-toshiya @ mvc.biglobe.ne.jp (sakai toshiya) Date: Sat Oct 22 05:05:09 2005 Subject: [BioRuby-ja] =?iso-2022-jp?b?UmU6UHViTWVkGyRCJE4lYSU9JUMbKEI=?= =?iso-2022-jp?b?GyRCJUkkSzRYJDkkazxBTGQhSkQ5SjgkRzw6TmkkNyReJDkhSxsoQg==?= In-Reply-To: <000001c5d588$12b0eaa0$93505785@IBMX40> References: <000001c5d588$12b0eaa0$93505785@IBMX40> Message-ID: <20051022164946.05e344d8.sakai-toshiya@mvc.biglobe.ne.jp> 自己レスです。すみません、解決しました。 ruby の解説書 (たのしい ruby) を参考に、コードをいじって いるうちにうまくいきました。以前にいろいろがんばった時は、 どうしてもうまく行かなかったので不思議ですが、id.chomp! を加えたのが良かったかも、と想像しています。 linux で試したのですが、windows でもうまくいくかこれから 試します。努力不足でお騒がせして申し訳ありません。 今後ともよろしくお願いいたします。 --------------------------------------------------------- #!/usr/bin/env ruby require 'bio' open("PMID.txt", "r"){ |io| #追加 while id = io.gets #追加 ####ARGV.each do |id| # id.chomp! #追加 entry = Bio::PubMed.query(id) medline = Bio::MEDLINE.new(entry) reference = medline.reference puts reference.bibtex end } ---------------------------------------------------------- 坂井俊哉 北海道大学大学院医学研究科 病態内科学講座・第二内科 e-mail: sakai-toshiya@mvc.biglobe.ne.jp From ktym @ hgc.jp Fri Oct 21 07:49:41 2005 From: ktym @ hgc.jp (Toshiaki Katayama) Date: Sat Oct 22 11:56:24 2005 Subject: =?ISO-2022-JP?B?UmU6IFtCaW9SdWJ5LWphXSBQdWJNZWQbJEIkTiVhJT0bKEI=?= =?ISO-2022-JP?B?GyRCJUMlSSRLNFgkOSRrPEFMZCFKRDlKOCRHPDpOaSQ3GyhC?= =?ISO-2022-JP?B?GyRCJF4kOSFLGyhC?= In-Reply-To: <000001c5d588$12b0eaa0$93505785@IBMX40> References: <000001c5d588$12b0eaa0$93505785@IBMX40> Message-ID: <71E9D080-8918-43F9-8BC4-BCAC9D3CEDEC@hgc.jp> 坂井様 On 2005/10/21, at 0:08, 坂井俊哉 wrote: > はじめまして。坂井@札幌と申します。 > 自分は血液学を研究している院生で、プログラミングは素人なのですが、 > bioruby は大変便利で利用させていただいております。 ありがとうございます。 > 表題の件ですが、チュートリアルの pmfetch.rb コードを文献の管理に > 利用しています。最近bioruby をアップデートしたらBibtex の著者名 > の出力が以前よりきれいになっているようで(区切りがちゃんと and に > なっている)、自分のbib ファイルを作り直そうと思っています。 > お伺いしたいことは、PMID のリストからなるファイルを作っておいて、 > 対応するエントリーを一度に入手するコードというのは可能でしょうか? > どなたかご教示いただけると幸いです。(素人の質問で恐縮です) > 自分が使用しているコードは以下のもので、PMIDはMeadow の eshell > 上でコピペしていますが、もう少し楽ができないだろうかと思い、 > 質問させていただいた次第です。 > Ruby のバージョンはruby 1.8.1 (2003-12-25) [i386-cygwin] です。 > -------------------------- ここから --------------------------- > #!/usr/bin/env ruby > require 'bio' > ARGV.each do |id| > entry = Bio::PubMed.query(id) # > medline = Bio::MEDLINE.new(entry) # > reference = medline.reference # > puts reference.bibtex # BibTeX フォーマットで出力 > end > #このスクリプトを pmfetch.rb など好きな名前で保存し、 > #% ./pmfetch.rb 11024183 10592278 10592173 > #NCBI の文献データベース PubMed を検索して引用文献リストを作成する例で > す。 > ------------------------- ここまで ------------------------------ Cygwin なら、こちらのコードのままでもシェルの機能で可能だと思います。 % ./pmfetch.rb `cat file.txt` file.txt には PMID を空白や改行で区切って並べて書いておけば良いです。 説明不足でしたら遠慮なくまたお尋ねくださいませ。 片山 From k @ bioruby.org Sat Oct 22 06:00:53 2005 From: k @ bioruby.org (Toshiaki Katayama) Date: Sat Oct 22 13:19:57 2005 Subject: =?ISO-2022-JP?B?UmU6IFtCaW9SdWJ5LWphXSBSZTpQdWJNZWQbJEIkTiVhGyhC?= =?ISO-2022-JP?B?GyRCJT0lQyVJJEs0WCQ5JGs8QUxkIUpEOUo4JEc8Ok5pGyhC?= =?ISO-2022-JP?B?GyRCJDckXiQ5IUsbKEI=?= In-Reply-To: <20051022164946.05e344d8.sakai-toshiya@mvc.biglobe.ne.jp> References: <000001c5d588$12b0eaa0$93505785@IBMX40> <20051022164946.05e344d8.sakai-toshiya@mvc.biglobe.ne.jp> Message-ID: 坂井様 BioRuby をお使い頂きありがとうございます。 すでに解決されたということですので、参考までに: UNIX や Cygwin などシェルの使える環境なら、元のコードのままでも 次のように実行すればファイルから読み込むことが可能じゃないかと思います。 % ./pmfetch.rb `cat PMID.txt` PMID.txt には PMID を空白や改行で区切って並べて書いておけば良いです。 # 昨日返信していたつもりだったのですがメールが出ていなかったようです。 # ごめんなさい。 また、 > open("PMID.txt", "r"){ |io| #追加 > while id = io.gets #追加 > ####ARGV.each do |id| # > id.chomp! #追加 のようにファイルに1行ずつ PMID が書かれていることを期待して良い場合も、 ARGF.each do |line| # 変更 id = line.chomp # 変更 entry = Bio::PubMed.query(id) medline = Bio::MEDLINE.new(entry) reference = medline.reference puts reference.bibtex end とすると、読み込むファイル名をプログラムに埋め込まずに % ./pmfetch.rb PMID.txt のように引数でファイル名を渡せば良くなります。 ではでは。 片山 On 2005/10/22, at 16:49, sakai toshiya wrote: > 自己レスです。すみません、解決しました。 > ruby の解説書 (たのしい ruby) を参考に、コードをいじって > いるうちにうまくいきました。以前にいろいろがんばった時は、 > どうしてもうまく行かなかったので不思議ですが、id.chomp! > を加えたのが良かったかも、と想像しています。 > linux で試したのですが、windows でもうまくいくかこれから > 試します。努力不足でお騒がせして申し訳ありません。 > 今後ともよろしくお願いいたします。 > --------------------------------------------------------- > #!/usr/bin/env ruby > > require 'bio' > open("PMID.txt", "r"){ |io| #追加 > while id = io.gets #追加 > ####ARGV.each do |id| # > id.chomp! #追加 > entry = Bio::PubMed.query(id) > medline = Bio::MEDLINE.new(entry) > reference = medline.reference > puts reference.bibtex > end > } > ---------------------------------------------------------- > 坂井俊哉 > 北海道大学大学院医学研究科 病態内科学講座・第二内科 > e-mail: sakai-toshiya@mvc.biglobe.ne.jp > From sakai-toshiya @ mvc.biglobe.ne.jp Sun Oct 23 08:30:09 2005 From: sakai-toshiya @ mvc.biglobe.ne.jp (sakai toshiya) Date: Sun Oct 23 08:40:28 2005 Subject: [BioRuby-ja] =?iso-2022-jp?b?UmU6UHViTWVkGyRCJE4lYSU9JUMbKEI=?= =?iso-2022-jp?b?GyRCJUkkSzRYJDkkazxBTGQhSkQ5SjgkRzw6TmkkNyReJDkhSxsoQg==?= In-Reply-To: References: <000001c5d588$12b0eaa0$93505785@IBMX40> <20051022164946.05e344d8.sakai-toshiya@mvc.biglobe.ne.jp> Message-ID: <20051023213009.51214793.sakai-toshiya@mvc.biglobe.ne.jp> 片山さま、丁寧な解説をありがとうございました。 自分は小さなことでつまづいていることも多いのですが、 わずかな書き換えや、シェルの機能でこんなに便利になる とは大変勉強になりました。暇を見て ruby も精進します。 取り急ぎ、お礼まで。 > % ./pmfetch.rb `cat PMID.txt` > > PMID.txt には PMID を空白や改行で区切って並べて書いておけば良いです。 __ 坂井俊哉 北海道大学大学院医学研究科 病態内科学講座・第二内科 e-mail: sakai-toshiya@mvc.biglobe.ne.jp