ログイン 概要 よくある質問

現在、ある染色体の配列をfasta形式で持っているのですが、 これにindelを反映させたいと考えています。

indelは、例えば、

1239000base  ATGGA  insertion
1240000base      GT   deletion

という状態で、エクセル上に保存してあります。

最終的にfasta形式を変えないまま、数百個のindelを挿入あるいは欠失させたいのですが、 どのような手段をとったらいいのでしょうか?

ソフト等の購入費用はありません。。。

質問日 Feb 23 '11 at 02:27

kenken's gravatar image

kenken
16123

edited Feb 23 '11 at 09:31

ma_ko's gravatar image

ma_ko ♦♦
3711312

真面目な話として、数百個分の操作なら、手でやるのも検討するといいかもしれません。

その操作が今回一回きりで、プログラミングの手間やソフトウェアの購入が難しいなら、決して悪くない方法だと思います。今後も同様の操作が繰り返される場合は、プログラミングすることを検討するべきだと思います。

もしくは、質問として求めている処理をより正確に記述して、これを見た方にプログラミングしてもらうという手があります。その場合は、正確に入力ファイルやパラメータや条件を定義し、出力として期待する型式を定義すると回答が得られる確率が向上します。たとえば、上記の質問では、1239000baseがなにを意味しているのか不明なので、期待されている回答が得られにくいかなとおもいます。

(Feb 23 '11 at 18:55) mn3 ♦♦ mn3's gravatar image

塩基配列を弄る系のソフトを簡単に見てみた限りだとkenkenさんの要求する操作ができるものがなかったので,適当にスクリプト書いてみました.こんなものが欲しいという理解でよろしいでしょうか.

ソースコード : https://gist.github.com/840281

使い方と結果 : http://gyazo.com/d055680402948cd245eeaba2b60a373e.png

久しぶりにruby書いたので,ちょっとバグがあるかもしれません.動作保証もできないですが,要望があれば直します.

追記(2011/03/04):取り敢えず解決された(?)のでしょうか.特に要望も無さそうなので,これで一端終わりにします.ソースコード等は自由に使ってもらって構いませんが,スクリプトの保守管理やbug fixは今後やりません.

回答日 Feb 23 '11 at 20:04

yag_ays's gravatar image

yag_ays
241158

edited Mar 04 '11 at 14:23

Biostarに似たような質問があったので,リンクを貼っておきます.

http://biostar.stackexchange.com/questions/2529/how-to-insert-or-delete-nucleoties-at-various-locations-in-large-dna-file

回答日 Feb 24 '11 at 09:52

yag_ays's gravatar image

yag_ays
241158

わざわざありがとうございます。 感謝いたします。 プログラムは初心者なのでよくわからないのですが、 biorubyは以下のホームページの通りにダウンロードしたらいいんでしょうか。 過去に何回かcygwinで解析したことがあるのですが、今回は、いまいちよくわかりません。

http://dev.bioruby.org/ja/?install

回答日 Feb 24 '11 at 19:58

kenken's gravatar image

kenken
16123

edited Feb 25 '11 at 13:40

mn3's gravatar image

mn3 ♦♦
5154922

BioRubyを使わなくても良いように,スクリプトを書き換えました.単独で動くので,上記の使い方の項目1.は必要ありません.

ソースコード : https://gist.github.com/840281

使用例 : https://skitch.com/yagays/rt2ma/indel

(ruby 1.8.7とruby 1.9.2p136で動作確認しています)

(Feb 26 '11 at 05:22) yag_ays yag_ays's gravatar image

参考になるアドバイスありがとうございます。 使い方と結果と全く同じことを cygwin上で行ってみました。 エラーが出てしまうのですが、私のやり方の問題でしょうか。。。

$ ruby indel.rb indels.txt fasta.fasta
indel.rb:3:in `require': no such file to load -- bio (LoadError)
        from indel.rb:3

とのことです。

回答日 Feb 24 '11 at 00:22

kenken's gravatar image

kenken
16123

edited Feb 25 '11 at 13:41

mn3's gravatar image

mn3 ♦♦
5154922

取り敢えずは上のような感じで良さそうですね.スクリプトを少し書き換えたので,使い方を含めて補足します.

1.BioRubyというパッケージをインストールします

以下のコマンドを実行してください.

  $ gem install bio

(うまく行かない場合は行頭にsudoを付けて管理者権限になってください)

2.以下の3つのファイルを同じフォルダに入れてください

  • indel.rb

これは gist: 840281 をコピペしたファイル

  • indels.txt

indelの情報が入ったファイルです.タブ区切りのファイルで保存してください(もし違う形式だった場合はExcelの「別名で保存」からtsv形式で保存)

  • fasta.fasta

対象となるFASTAファイルです.

3.スクリプトを実行します

先ほどファイルを置いたフォルダに移動し,以下のコマンドを実行してください.

 $ ruby indel.rb indels.txt fasta.fasta

もし成功すれば,フォルダ内に「output.fasta」というファルが生成されているハズです.中身を見て,書き換えがうまくいっているか確かめてください.

以上です.

(Feb 24 '11 at 04:11) yag_ays yag_ays's gravatar image
あなたの回答
プレビューをトグルする

この質問をフォローする

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

回答

回答とコメント

タグ:

×1

質問日: Feb 23 '11 at 02:27

閲覧数: 3,467 回

最終更新日: Mar 04 '11 at 14:23

関係した質問

powered by OSQA