GFFでIGVにアノテーションを表示する

IGVに表示するためのGFFを出力する捨てコード(Perl)書き。入力はBLASTの結果のタブ区切り出力(-outfmt 6指定して出てくるもの)。以下のコードをhoge.prlとして、 [shell] perl hoge.prl sample1 < BLASTout.txt > BLASTout.gff [/shell] のようにして使う。

9カラム目のattributesは任意だと思っていたのだが、ここでID=を指定しないとIGVにtrackとして表示されない模様。NAME=はそのtrackの該当箇所にマウスインした時に表示される詳細ウインドウに表示されるので、書いた方が良い。 また、6カラム目のscoreだが、0-1000の範囲で書けるということで、パーセント一致度(percent identity)を10倍して小数点以下切り捨てで。しかし、IGVのどこにその値が反映されて表示されているのだろう?

[perl] my $prefix = shift(@ARGV); while() { chomp; my($name,$scaf,$score,$three,$four,$five,$six,$seven,$eight,$nine) = split(/t/); $score = int($score*10); my $two = "."; $three = "transcript"; if($eight < $nine) { $start = $eight; $stop = $nine; $strand = "+"; } else { $start = $nine; $stop = $eight; $strand = "-"; } print "$scaft$twot$threet$startt$stopt$scoret$strandt.tID=$prefix".$i++.";NAME=$namen"; } [/perl]


Written by bonohu in misc on 金 24 4月 2015.