sudophredを使ってみた

phredPhrapしてconsedで見る時にリファレンスになるシークエンスを加える。
exonをシークエンスしてる時に、consed上で「どこからがexonなのか分からない」というのが発端。
00A18がemsemblのゲノム配列からsudophredで作ったもの。それ以外は自分がシークエンサーで実際に読んだもの。

大体の流れはこんな感じです。

# step1. 見たい遺伝子のexonのゲノム配列を取ってくる
# step1-1. ensemblからexonの領域を取ってくる(ここではABCB1という遺伝子で、ENST*で指定している)
echo "select display_id, transcript_stable_id, rank, chr_name,
exon_chrom_start, exon_chrom_end from
hsapiens_gene_ensembl_structure__structure__main WHERE
transcript_stable_id LIKE 'ENST00000265724';" | mysql -A -u anonymous
-h ensembldb.ensembl.org -D ensembl_mart_38 > ABCB1.txt

# step1-2. 取ってきた領域に対応するゲノム配列を取ってくる、getSeq4ppcp.rbのコードは後述
ruby getSeq4ppcp.rb ABCB1.txt
# 各exonごとのFASTAファイルの出力が得られる
exon1.ref exon2.ref exon3.ref .. exon15.ref exon16.ref exon17.ref

# step2. FASTAファイルを元に疑似のシークエンス波形ファイル(scfファイル、またphdファイルとpolyファイルも)を生成する。
# step2-1. exon16.refを対応するディレクトリのedit_dirに配置(./16/edit_dir/以下に置く)する。ここでは16番目のexonとした。
# step2-2. edit_dirにてsudophredを走らせる。
sudophred exon16.ref
# primer IDがないとかの警告は出るが問題ない。

# step3. 後はいつもと同じ
phredPhrap
consed

getSeq4ppcp.rbはbiorubyのBio::Ensembl::Human.exportviewを使いました。
これ便利だわー。開発者の人達ありがとう、役に立ってます!

#! /usr/bin/env ruby

# How to use
# $0.rb query.txt

begin
  require 'bio'

  io = File.open(ARGV.shift)
  io.each do |line|
    next if line =~ /display_id/
    line.chomp!
    display_id, transcription_stable_id, rank, chr_name, exon_chrom_start, exon_chrom_end = line.split(/\t/)
#    break if rank.to_i >= 3  # For debug
    out = File.open("exon#{rank}.ref", "w")
    seq = Bio::Ensembl::Human.exportview(chr_name, exon_chrom_start, exon_chrom_end)
    result = ["> ", rank, seq.sub!(">", " ")].join("")
    puts     result  # For check
    out.puts result
    out.close
  end
  io.close
rescue => ex
  p ex.message
end

参考にしたサイト(公開に感謝!)
構成的 Bio::Ensembl
http://d.hatena.ne.jp/nakao_mitsuteru/20060414/p2
ichan氏 Ensembl Gene ID からゲノムの位置を取ってくるワンライナー
http://itoshi.tv/d/?date=20060502-5
piyo-chan氏 メモ genomic structureを知るのに便利なSQL
http://d.hatena.ne.jp/piyo-chan/20060623/p1
transcriptのID(例:ENST00000333535)でエクソン情報を引き出すには
http://d.hatena.ne.jp/piyo-chan/20060522/p1