From ktym @ hgc.jp Thu Jul 19 12:07:31 2007 From: ktym @ hgc.jp (Toshiaki Katayama) Date: Fri, 20 Jul 2007 01:07:31 +0900 Subject: [BioRuby-ja] BioRuby 1.1 released in BOSC2007 presentation Message-ID: Hi all, I have finally released the BioRuby 1.1 at http://bioruby.org/archive/bioruby-1.1.0.tar.gz and gem package is also available at http://rubyforge.org/projects/bioruby/ I also put my presentation of BOSC 2007 held today http://bioruby.org/archive/doc/BR070719-bosc.pdf Enjoy! Toshiaki Katayama From dendoh @ rakuno.ac.jp Wed Jul 25 12:22:40 2007 From: dendoh @ rakuno.ac.jp (=?ISO-2022-JP?B?GyRCMXNGI0JnRnMbKEI=?=) Date: Thu, 26 Jul 2007 01:22:40 +0900 Subject: [BioRuby-ja] mafft Message-ID: <2bf88bba0707250922p7c74e313m336dcb3e5d35c76a@mail.gmail.com> 遠藤と申します。 いつもBioRubyを使わせていただいています。 bioruby 1.1.0 Release 有難うございます。すぐに、新規機能を使わせていただきたいと思います。 近々に多数の塩基配列を整列させて、共通領域と変異を調べたいと思います。 それで、MAFFTの使用方法についてスクリプトの例を示していただけないでしょうか。 よろしくお願いします。 From dendoh @ rakuno.ac.jp Thu Jul 26 03:05:07 2007 From: dendoh @ rakuno.ac.jp (=?ISO-2022-JP?B?GyRCMXNGI0JnRnMbKEI=?=) Date: Thu, 26 Jul 2007 16:05:07 +0900 Subject: [BioRuby-ja] Bio::Alignment::EnumerableExtension#consensus Message-ID: <2bf88bba0707260005w7d834652j70ebc19d7353c243@mail.gmail.com> 遠藤です 何度もすみません。MultipleFastaFormatのファイルをMafftで解析することも出来ました。 それから、rdocを見て自助努力をしまして、MultiFastaFormatのオブジェクトにするところまでは出来ました。 ただ、MultiFastaFormatからEnumerableExtensionモジュールを使ってconsensus sequenceを作成することが出来ません。下記のコードに対して修正コメントいただけないでしょうか。 data=File.read('multifasta.fasta') ffa=Bio::Alignment::MultipleFastaFormat.new(data) ffconsensus=Bio::Alignment::EnumerableExtension.consensus_string(ffa) よろしくお願いします。 From ngoto @ gen-info.osaka-u.ac.jp Thu Jul 26 04:17:01 2007 From: ngoto @ gen-info.osaka-u.ac.jp (Naohisa GOTO) Date: Thu, 26 Jul 2007 17:17:01 +0900 Subject: [BioRuby-ja] mafft In-Reply-To: <2bf88bba0707250922p7c74e313m336dcb3e5d35c76a@mail.gmail.com> References: <2bf88bba0707250922p7c74e313m336dcb3e5d35c76a@mail.gmail.com> Message-ID: <20070726081703.B1A121CBC410@idnmail.gen-info.osaka-u.ac.jp> 後藤@阪大です。 On Thu, 26 Jul 2007 01:22:40 +0900 "遠藤大二" wrote: > 遠藤と申します。 いつもBioRubyを使わせていただいています。 > bioruby 1.1.0 Release 有難うございます。すぐに、新規機能を使わせていただきたいと思います。 > 近々に多数の塩基配列を整列させて、共通領域と変異を調べたいと思います。 > それで、MAFFTの使用方法についてスクリプトの例を示していただけないでしょうか。 > よろしくお願いします。 もう解決されたかもしれませんが、たとえば、以下のような感じで使います。 require 'bio' # MAFFT用のオブジェクトを作成 factory = Bio::MAFFT.new # オプションを設定 factory.options = %w[ --maxiterate 1000 ] # 配列データの例 seqs = [ 'atgcaacgca' * 50, 'aagcaacgcg' * 50, 'acgcaaagca' * 50, 'acgcgatgca' * 50 ] seqs = seqs.collect { |s| Bio::Sequence::NA.new(s) } # アライメントオブジェクトの作成 a = Bio::Alignment.new(seqs) # MAFFTでアライメントを行う aligned = a.do_align(factory) ## MAFFTでアライメントを行う方法その2 # result = factory.query(a) # aligned = result.alignment # 結果出力の例 print aligned.output_clustal puts aligned.consensus_string -- 後藤 直久 ngoto @ gen-info.osaka-u.ac.jp 大阪大学微生物病研究所 遺伝情報実験センター ゲノム情報解析分野(安永研) From ngoto @ gen-info.osaka-u.ac.jp Thu Jul 26 04:21:27 2007 From: ngoto @ gen-info.osaka-u.ac.jp (Naohisa GOTO) Date: Thu, 26 Jul 2007 17:21:27 +0900 Subject: [BioRuby-ja] Bio::Alignment::EnumerableExtension#consensus In-Reply-To: <2bf88bba0707260005w7d834652j70ebc19d7353c243@mail.gmail.com> References: <2bf88bba0707260005w7d834652j70ebc19d7353c243@mail.gmail.com> Message-ID: <20070726082129.158CF1CBC490@idnmail.gen-info.osaka-u.ac.jp> 後藤@阪大です。 On Thu, 26 Jul 2007 16:05:07 +0900 "遠藤大二" wrote: > 遠藤です 何度もすみません。MultipleFastaFormatのファイルをMafftで解析することも出来ました。 > それから、rdocを見て自助努力をしまして、MultiFastaFormatのオブジェクトにするところまでは出来ました。 > > ただ、MultiFastaFormatからEnumerableExtensionモジュールを使ってconsensus > sequenceを作成することが出来ません。下記のコードに対して修正コメントいただけないでしょうか。 > > data=File.read('multifasta.fasta') > ffa=Bio::Alignment::MultipleFastaFormat.new(data) ~~~ ffa=Bio::Alignment::MultiFastaFormat.new(data) の転記ミスですよね? 余談ですが、綴りを決めるときにどちらがいいか悩みました。 > ffconsensus=Bio::Alignment::EnumerableExtension.consensus_string(ffa) ffconsensus = ffa.alignment.consensus_string ではどうでしょうか? ffa.alignment でアライメントオブジェクト (Bio::Alignment::OriginalAlignmentクラスのオブジェクト) が得られるので、それを使ってください。 Bio::Alignment::EnumerableExtension は、Enumerableという 性質を持つRubyのオブジェクトをAlignmentっぽく扱うために拡張する ためのモジュールですので、上記のようには使えません。 ちなみに、BioRubyが用意しているアライメント用のクラス (Bio::Alignment::OriginalAlignmentなど)は、内部でこれを 利用しています。 -- 後藤 直久 ngoto @ gen-info.osaka-u.ac.jp 大阪大学微生物病研究所 遺伝情報実験センター ゲノム情報解析分野(安永研) From dendoh @ rakuno.ac.jp Thu Jul 26 07:11:17 2007 From: dendoh @ rakuno.ac.jp (=?ISO-2022-JP?B?GyRCMXNGI0JnRnMbKEI=?=) Date: Thu, 26 Jul 2007 20:11:17 +0900 Subject: [BioRuby-ja] Fwd: Bio::Alignment::EnumerableExtension#consensus In-Reply-To: <2bf88bba0707260307h2390eda5sf0792e2a9bcfb28@mail.gmail.com> References: <2bf88bba0707260005w7d834652j70ebc19d7353c243@mail.gmail.com> <20070726082129.158CF1CBC490@idnmail.gen-info.osaka-u.ac.jp> <2bf88bba0707260307h2390eda5sf0792e2a9bcfb28@mail.gmail.com> Message-ID: <2bf88bba0707260411x394b01d2yc0aaf8958f9454b8@mail.gmail.com> ---------- Forwarded message ---------- From: 遠藤大二 Date: 2007/07/26 19:07 Subject: Re: [BioRuby-ja] Bio::Alignment::EnumerableExtension#consensus To: Naohisa GOTO 後藤さん 重ねてありがとうございました。 > ffconsensus = ffa.alignment.consensus_string > ではどうでしょうか? うまくいきました。これをこれからも使用させていただきます。 > ffa.alignment でアライメントオブジェクト > (Bio::Alignment::OriginalAlignmentクラスのオブジェクト) > が得られるので、それを使ってください。 > > Bio::Alignment::EnumerableExtension は、Enumerableという > 性質を持つRubyのオブジェクトをAlignmentっぽく扱うために拡張する > ためのモジュールですので、上記のようには使えません。 > ちなみに、BioRubyが用意しているアライメント用のクラス > (Bio::Alignment::OriginalAlignmentなど)は、内部でこれを > 利用しています。 ただ、実は、単なるコンセンサスだけではなく、degenerated nuclotideも記載したいと考えております。もし、そのようなメソッドがあれば、教えていただけると大変助かります。 別スレッドにすべきかもしれませんが、問題が関連しているので、そのままもう一点質問させていただきます。 本当にありがとうございました。 -- 酪農学園大学 獣医学部 放射線学教室 遠藤大二 Tel: 011-388-4847 Fax:011-387-5890 -- 酪農学園大学 獣医学部 放射線学教室 遠藤大二 Tel: 011-388-4847 Fax:011-387-5890 From dendoh @ rakuno.ac.jp Thu Jul 26 07:11:35 2007 From: dendoh @ rakuno.ac.jp (=?ISO-2022-JP?B?GyRCMXNGI0JnRnMbKEI=?=) Date: Thu, 26 Jul 2007 20:11:35 +0900 Subject: [BioRuby-ja] Fwd: Bio::Alignment::EnumerableExtension#consensus In-Reply-To: <2bf88bba0707260005w7d834652j70ebc19d7353c243@mail.gmail.com> References: <2bf88bba0707260005w7d834652j70ebc19d7353c243@mail.gmail.com> Message-ID: <2bf88bba0707260411s15204c73yf80c02d10b7ed9c8@mail.gmail.com> ---------- Forwarded message ---------- From: 遠藤大二 Date: 2007/07/26 16:05 Subject: Bio::Alignment::EnumerableExtension#consensus To: biorubyメーリングリスト 遠藤です 何度もすみません。MultipleFastaFormatのファイルをMafftで解析することも出来ました。 それから、rdocを見て自助努力をしまして、MultiFastaFormatのオブジェクトにするところまでは出来ました。 ただ、MultiFastaFormatからEnumerableExtensionモジュールを使ってconsensus sequenceを作成することが出来ません。下記のコードに対して修正コメントいただけないでしょうか。 data=File.read('multifasta.fasta') ffa=Bio::Alignment::MultipleFastaFormat.new(data) ffconsensus=Bio::Alignment::EnumerableExtension.consensus_string(ffa) よろしくお願いします。 -- 酪農学園大学 獣医学部 放射線学教室 遠藤大二 Tel: 011-388-4847 Fax:011-387-5890 From dendoh @ rakuno.ac.jp Thu Jul 26 07:50:46 2007 From: dendoh @ rakuno.ac.jp (=?ISO-2022-JP?B?GyRCMXNGI0JnRnMbKEI=?=) Date: Thu, 26 Jul 2007 20:50:46 +0900 Subject: [BioRuby-ja] Fwd: Bio::Alignment::EnumerableExtension#consensus In-Reply-To: <20070726104602.972D41CBC3F2@idnmail.gen-info.osaka-u.ac.jp> References: <2bf88bba0707260005w7d834652j70ebc19d7353c243@mail.gmail.com> <20070726082129.158CF1CBC490@idnmail.gen-info.osaka-u.ac.jp> <2bf88bba0707260307h2390eda5sf0792e2a9bcfb28@mail.gmail.com> <20070726104602.972D41CBC3F2@idnmail.gen-info.osaka-u.ac.jp> Message-ID: <2bf88bba0707260450m6fec6140iabb5d88e6b207c3f@mail.gmail.com> 後藤様 ありがとうございました。 degenerated nuclotide は、consensus_iupac メソッドを使ってください。 ffconsensus = ffa.alignment.consensus_iupac これで、今回障害になっていた問題は全て解決しました。 .consensus_iupac のメソッド一つを理解できるか否かで2日分の作業が違ってしまいます。 とりあえず、お礼申し上げます。 加えて、質問なのですが、mafftでは"-"で示されている ギャップがconsensusでは?にされています。この文字の選択については背景に意味があるのでしょうか。 お時間のあるときに教えていただけると、今後biorubyを使うときに、感覚のズレが減ると思います。 では、よろしくお願いします。 On Thu, 26 Jul 2007 19:07:47 +0900 "遠藤大二" wrote: > 後藤さん > > 重ねてありがとうございました。 > > > > ffconsensus = ffa.alignment.consensus_string > > ではどうでしょうか? > > うまくいきました。これをこれからも使用させていただきます。 > > > ffa.alignment でアライメントオブジェクト > > (Bio::Alignment::OriginalAlignmentクラスのオブジェクト) > > が得られるので、それを使ってください。 > > > > Bio::Alignment::EnumerableExtension は、Enumerableという > > 性質を持つRubyのオブジェクトをAlignmentっぽく扱うために拡張する > > ためのモジュールですので、上記のようには使えません。 > > ちなみに、BioRubyが用意しているアライメント用のクラス > > (Bio::Alignment::OriginalAlignmentなど)は、内部でこれを > > 利用しています。 > > ただ、実は、単なるコンセンサスだけではなく、degenerated > nuclotideも記載したいと考えております。もし、そのようなメソッドがあれば、教えていただけると大変助かります。 > 別スレッドにすべきかもしれませんが、問題が関連しているので、そのままもう一点質問させていただきます。 > > 本当にありがとうございました。 > > -- > 酪農学園大学 獣医学部 放射線学教室 > 遠藤大二 -- 後藤 直久 ngoto @ gen-info.osaka-u.ac.jp 大阪大学微生物病研究所 遺伝情報実験センター ゲノム情報解析分野(安永研) -- 酪農学園大学 獣医学部 放射線学教室 遠藤大二 Tel: 011-388-4847 Fax:011-387-5890 From dendoh @ rakuno.ac.jp Thu Jul 26 08:29:35 2007 From: dendoh @ rakuno.ac.jp (=?ISO-2022-JP?B?GyRCMXNGI0JnRnMbKEI=?=) Date: Thu, 26 Jul 2007 21:29:35 +0900 Subject: [BioRuby-ja] Bio::Alignment::EnumerableExtension#consensus_iupac Message-ID: <2bf88bba0707260529k69870a1bwf9549034a243af31@mail.gmail.com> 後藤様 >consensus_iupac メソッドを使ってください。 degenerated nuclotide は、mafft alignment で一件でも − が有ると ? になってしまいます。alignment の状況によっては − があっても善意に解釈したいときもあります。そのような善意解釈ようのメソッドを作ってみました。NArrayを使うので一般用ではありませんが、何か御参考になればと思い下記に送ります。問題点など御指摘いただけると幸いです。 require 'bio' require 'narray' # 配列を一旦整数の配列にします def convert_n(array_l) nuclno={"-"=>0, "a"=>1, "c"=>2, "g"=>4, "t"=>8, "m"=>3, "r"=>5, "w"=>9, "s"=>6, "y"=>10, "k"=>12, "v"=>7, "h"=>11, "d"=>13, "b"=>14, "n"=>15} array_n=[] array_l.each {|x| array_n << nuclno[x] } return array_n end # 整数のNArray配列を塩基配列に戻します def rev_convert_seq(seqn_narray) nuclno={"-"=>0, "a"=>1, "c"=>2, "g"=>4, "t"=>8, "m"=>3, "r"=>5, "w"=>9, "s"=>6, "y"=>10, "k"=>12, "v"=>7, "h"=>11, "d"=>13, "b"=>14, "n"=>15} nucllet=nuclno.invert seq_l=[] seqn_narray.each {|x| seq_l << nucllet[x] } return seq_l end # MAFFT用のオブジェクトを作成 factory = Bio::MAFFT.new # オプションを設定 factory.options = %w[ --maxiterate 1000 ] # 配列データの例 seqs = [ 'atgcaacgca' * 50, 'aagcaacgcg' * 50, 'acgcaaagca' * 50, 'acgcgatgca' * 50 ] seqs = seqs.collect { |s| Bio::Sequence::NA.new(s) } # アライメントオブジェクトの作成 aseq=Bio::Alignment.new(seqs) # MAFFTでアライメントを行う #aligned = aseq.do_align(factory) ## MAFFTでアライメントを行う方法その2 result = factory.query(aseq) aligned = result.alignment print aligned.output_clustal puts aligned.consensus_iupac # 結果出力の例 # print aligned.output_clustal # puts aligned.consensus_string a_seq=[] aligned.each {|x| e_seq=x.to_s.downcase @ssize=e_seq.length a_seq << e_seq.split(//) # p a_seq } mtx_seq=[] a_seq.each {|element| mtx_seq << convert_n(element) } # degenerated nucleotide の算出をbitor演算に置き換えました bs_na_seq=NArray.int(@ssize) mtx_seq.each {|n_seq| na_seq=NArray.to_na(n_seq) bs_na_seq = bs_na_seq|na_seq } # 整数のNArray配列を塩基配列に戻します a_deg_seq=rev_convert_seq(bs_na_seq) deg_seq=a_deg_seq.join("") p deg_seq > > ffa.alignment でアライメントオブジェクト > > (Bio::Alignment::OriginalAlignmentクラスのオブジェクト) > > が得られるので、それを使ってください。 > > > > Bio::Alignment::EnumerableExtension は、Enumerableという > > 性質を持つRubyのオブジェクトをAlignmentっぽく扱うために拡張する > > ためのモジュールですので、上記のようには使えません。 > > ちなみに、BioRubyが用意しているアライメント用のクラス > > (Bio::Alignment::OriginalAlignmentなど)は、内部でこれを > > 利用しています。 > > ただ、実は、単なるコンセンサスだけではなく、degenerated > nuclotideも記載したいと考えております。もし、そのようなメソッドがあれば、教えていただけると大変助かります。 -- 酪農学園大学 獣医学部 放射線学教室 遠藤大二 Tel: 011-388-4847 Fax:011-387-5890 From ngoto @ gen-info.osaka-u.ac.jp Thu Jul 26 11:29:14 2007 From: ngoto @ gen-info.osaka-u.ac.jp (Naohisa GOTO) Date: Fri, 27 Jul 2007 00:29:14 +0900 Subject: [BioRuby-ja] Fwd: Bio::Alignment::EnumerableExtension#consensus In-Reply-To: <2bf88bba0707260450m6fec6140iabb5d88e6b207c3f@mail.gmail.com> References: <2bf88bba0707260005w7d834652j70ebc19d7353c243@mail.gmail.com> <20070726082129.158CF1CBC490@idnmail.gen-info.osaka-u.ac.jp> <2bf88bba0707260307h2390eda5sf0792e2a9bcfb28@mail.gmail.com> <20070726104602.972D41CBC3F2@idnmail.gen-info.osaka-u.ac.jp> <2bf88bba0707260450m6fec6140iabb5d88e6b207c3f@mail.gmail.com> Message-ID: <20070726152915.0A9931CBC46F@idnmail.gen-info.osaka-u.ac.jp> 後藤@阪大です。 On Thu, 26 Jul 2007 20:50:46 +0900 "遠藤大二" wrote: > degenerated nuclotide は、consensus_iupac メソッドを使ってください。 > > ffconsensus = ffa.alignment.consensus_iupac > > これで、今回障害になっていた問題は全て解決しました。 > .consensus_iupac のメソッド一つを理解できるか否かで2日分の作業が違ってしまいます。 > > とりあえず、お礼申し上げます。 お役に立てて幸いです。 ドキュメントが、いまいち、わかりにくいのは、徐々に直していきたいと思います。 > 加えて、質問なのですが、mafftでは"-"で示されている > ギャップがconsensusでは?にされています。この文字の選択については背景に意味があるのでしょうか。 BioPerlの実装に合わせただけで、深い意味はなかったと思います、たぶん。 実は、consensus_iupac は以下のようなギャップの取扱いを指定するための オプションを取ります。consensus_string も同様のオプションを取りますが、 consensus_stringの第一引数は閾値である点は注意してください。 consensus_iupacでは、 :gap_mode => 0 と :gap_mode => 1 の 場合で、文字が?と-である点以外は違いがわからないのですが、 閾値の計算が絡む consensus_string では違いがわかると思います。 a = Bio::Alignment.new([ 'aaaaaaaaccccgg', 'aaccggttggtttt', 'a-a-a-a-c-c-g-' ]) ### consensus_string で閾値 1 と 0.5 の場合の例 # ギャップも普通の文字として扱う(ギャップを閾値計算時の分母分子両方にカウント) # これがデフォルトの動作 p a.consensus_string(1.0, {:gap_mode => 0}) # "a?????????????" # 閾値0.5 p a.consensus_string(0.5, {:gap_mode => 0}) # "aaa?a?a?c?c?g?" # ギャップがあるサイトはギャップとして扱う(ギャップがあるサイトは必ず-になる) p a.consensus_string(1.0, {:gap_mode => 1}) # "a-?-?-?-?-?-?-" p a.consensus_string(0.5, {:gap_mode => 1}) # "a-a-a-a-c-c-g-" # ギャップは計算から除外する(ギャップは閾値計算時に分母分子両方から除外) p a.consensus_string(1.0, {:gap_mode => -1}) # "aa????????????" p a.consensus_string(0.5, {:gap_mode => -1}) # "aaaaaaaaccccgg" ### consensus_iupac の例 # ギャップも普通の文字として扱う(よって、ギャップがあるサイトは?になる) # これがデフォルトの動作 p a.consensus_iupac({:gap_mode => 0}) # "a?m?r?w?s?y?k?" # ギャップがあるサイトはギャップとして扱う(ギャップがあるサイトは必ず-になる) p a.consensus_iupac({:gap_mode => 1}) # "a-m-r-w-s-y-k-" # ギャップは計算から除外する p a.consensus_iupac({:gap_mode => -1}) # "aammrrwwssyykk" > degenerated nuclotide は、mafft alignment で一件でも −  > が有ると ? になってしまいます。alignment の状況によっては − > があっても善意に解釈したいときもあります。 という場合には、 a.consensus_iupac(:gap_mode => -1) を使えば、とりあえずは、大丈夫だと思います。 もちろん、ギャップが何個以下だったら救出するが、それ以上だったら ギャップ扱い、のような複雑なことをしようと思えば、自分独自の ルーチンを組む必要があります。 このとき、each_site というイテレータを使えば便利と思います。 # さきほどのプログラムの続きとします a.each_site { |x| p x } これを実行すると ["a", "a", "a"] ["a", "a", "-"] ["a", "c", "a"] ["a", "c", "-"] ["a", "g", "a"] ["a", "g", "-"] ["a", "t", "a"] ["a", "t", "-"] ["c", "g", "c"] ["c", "g", "-"] ["c", "t", "c"] ["c", "t", "-"] ["g", "t", "g"] ["g", "t", "-"] と表示されます。つまり、各サイトの内容をArray (より正確には、Arrayを 継承した Bio::Alignment::Site クラスのオブジェクト)に入れた内容で、 繰り返し実行してくれます。 -- 後藤 直久 ngoto @ gen-info.osaka-u.ac.jp 大阪大学微生物病研究所 遺伝情報実験センター ゲノム情報解析分野(安永研) Phone: 06-6879-8365 / FAX: 06-6879-2047 From atuya @ xd5.so-net.ne.jp Thu Jul 26 20:18:41 2007 From: atuya @ xd5.so-net.ne.jp (Atsuya Fujito) Date: Fri, 27 Jul 2007 09:18:41 +0900 Subject: [BioRuby-ja] KEGG API GENES Message-ID: <19e178970707261718g2eb4d96cx1b9a18af54909166@mail.gmail.com> 東医大の藤東と申します。 Bioruby勉強中です。 KEGG API PATHWAYを使っているのですが、PATHWAY にのっている遺伝子を入手した場合、hsa1等のようなIDで返ってきます。 これを、ncbi-giに変換することはできるのですが、NM_001954のような Public IDに変換することは可能でしょうか? よろしくお願いします。 From dendoh @ rakuno.ac.jp Thu Jul 26 20:36:21 2007 From: dendoh @ rakuno.ac.jp (=?ISO-2022-JP?B?GyRCMXNGI0JnRnMbKEI=?=) Date: Fri, 27 Jul 2007 09:36:21 +0900 Subject: [BioRuby-ja] Fwd: consensus_iupac Message-ID: <2bf88bba0707261736m5768240fq1a81e142e46f0583@mail.gmail.com> 遠藤です。 後藤様ありがとうございました。 >お役に立てて幸いです。 >ドキュメントが、いまいち、わかりにくいのは、徐々に直していきたいと思います。 >> 加えて、質問なのですが、mafftでは"-"で示されている >> ギャップがconsensusでは?にされています。この文字の選択については背景に意味があるのでしょうか。 >BioPerlの実装に合わせただけで、深い意味はなかったと思います、たぶん。 是非お願いします。ただ、使う側としても効率良く情報を見る必要を感じました。 たとえば、ギャップの標記などについてはbioperlが参考になっているわけですから、bioperlの仕様や説明も参照するようにすると良いことがわかりました。 >実は、consensus_iupac は以下のようなギャップの取扱いを指定するための オプションを取ります。consensus_string も同様のオプションを取りますが、 consensus_stringの第一引数は閾値である点は注意してください。 これほど細かい設定が出来るとは、知りませんでした。ありがとうございました。 すぐに使います。 >もちろん、ギャップが何個以下だったら救出するが、それ以上だったら ギャップ扱い、のような複雑なことをしようと思えば、自分独自の ルーチンを組む必要があります。 このとき、each_site というイテレータを使えば便利と思います。 # さきほどのプログラムの続きとします a.each_site { |x| p x } これを実行すると ["a", "a", "a"] ["a", "a", "-"] ["a", "c", "a"] ["a", "c", "-"] ["a", "g", "a"] ["a", "g", "-"] ["a", "t", "a"] ["a", "t", "-"] ["c", "g", "c"] ["c", "g", "-"] ["c", "t", "c"] ["c", "t", "-"] ["g", "t", "g"] ["g", "t", "-"] >と表示されます。つまり、各サイトの内容をArray (より正確には、Arrayを 継承した Bio::Alignment::Site クラスのオブジェクト)に入れた内容で、 繰り返し実行してくれます。 このSiteのイテレータを利用して、consensusの条件付けをしたいと思います。 報告塩基配列にも間違いがある可能性はありますから、下記のような条件で自分用のconsensusを決定したいと思います。 1 明示されている塩基が90%以上一致しており、残りが「その塩基を含む混合塩基のとき」 90%以上の塩基を採用する 2 99%以上が明示されている塩基(またはギャップ)である場合、その塩基(またはギャップ)を採用する 3 明らかな未読領域がギャップとして表示されている場合、10本以上の配列が一致して表示されていれば、その塩基配列を採用する。 上記のような条件は個々の使用者ごとに変わると思いますが、多数の塩基配列を参照するときには、必要な条件であると思います。 では、またよろしくお願いします。 -- 酪農学園大学 獣医学部 放射線学教室 遠藤大二 Tel: 011-388-4847 Fax:011-387-5890 From ktym @ hgc.jp Thu Jul 26 22:34:53 2007 From: ktym @ hgc.jp (Toshiaki Katayama) Date: Fri, 27 Jul 2007 11:34:53 +0900 Subject: [BioRuby-ja] KEGG API GENES In-Reply-To: <19e178970707261718g2eb4d96cx1b9a18af54909166@mail.gmail.com> References: <19e178970707261718g2eb4d96cx1b9a18af54909166@mail.gmail.com> Message-ID: <8EF5785B-CEFA-4EE8-93E8-EF9682E1B954@hgc.jp> 藤東様 On 2007/07/27, at 9:18, Atsuya Fujito wrote: > 東医大の藤東と申します。 > Bioruby勉強中です。 > KEGG API PATHWAYを使っているのですが、PATHWAY にのっている遺伝子を入手した場合、hsa1等のようなIDで返ってきます。 > これを、ncbi-giに変換することはできるのですが、NM_001954のような Public IDに変換することは可能でしょうか? > よろしくお願いします。 書かれている NM_* は NCBI RefSeq ID だと思いますので、NCBI Gene ID 経由なら ftp://ftp.ncbi.nih.gov:/gene/DATA/gene2refseq.gz を使えば対応が取れるかもしれません。いかがでしょうか? このあたりの変換をしてくれるサービスを NCBI が提供してくれているとうれしい気がしますね。 片山 From missy @ be.to Mon Jul 30 15:18:30 2007 From: missy @ be.to (MISHIMA, Hiroyuki) Date: Mon, 30 Jul 2007 14:18:30 -0500 Subject: [BioRuby-ja] =?iso-2022-jp?b?QmlvOjpQdWJNZWQucXVlcnkbJEIkTxsoQm9i?= =?iso-2022-jp?b?c29sZXRlGyRCISkbKEI=?= Message-ID: <46AE3986.8000805@be.to> 三嶋@Univ of Iowaと申します Biorubyを便利に使わせていただいております。開発コミュニティーの皆様には 深く感謝しております。 さて,最近,昔から使っていたPubMedからBibtexエントリを出力するcgi(http: //misshie.jp/pm2bibtex/)が動かなくなったので調べたところ, Version : BioRuby 1.1.0 / Ruby 1.8.5 bioruby> Bio::PubMed.query(12345) ==> "" のようになっているようです。単に,Bio::Pubmed.pmfetch()に差し替えるだけ で問題解決しました。 すでにBio::PubMed.query()はobsoleteであり,今後はNCBI推奨のE-UTIL経由の pmfetch/efetchを使う,という理解でよろしいでしょうか? (もしFAQなら失礼しました) 三嶋博之 -- MISHIMA, Hiroyuki, DDS, Ph.D. Postdoctoral Research Scholar Dr. Andrew C. Lidral Lab., Dows Institute for Dental Research., College of Dentistry, University of Iowa PGP-FP: A7BC 8963 44E5 2AE1 DEA8 34B1 6F3A CD79 D00D 260F