hr-kです。今回はRでvcfファイルを扱う時の話題で書きたいと思います。
Rでvcfファイルを扱うソースを書いており、気付いたことが一点。
Rでvcfを開くとき、vcfR(説明書のリンク)というライブラリにあるread.vcfRを使うのがすごく便利です。
具体的な使用方法はvcfRのパッケージをR > install.packages("vcfR")
でインストールした後に
#ライブラリ読み込み R > library(vcfR) #データ読み込み R > vcf <- read.vcfR(vcfファイル)
でvcfファイルを読み込めます。classを確認してみると
#クラスの確認 R > class(vcf) [1] "vcfR" attr(,"package") [1] "vcfR"
"read.vcfR"で読み込んだ最初の産物"vcf"はclass-vcfRとなっているので、
普通のdata.frameを扱うときと同様には扱えないです。
ここで、INFOの列をdata.frameとして取り出してくれるINFO2dfを使います。
#info列をdata.frameに入れる R > info <- INFO2df(vcf) #念のためclassの確認 R > class(info) [1] "data.frame"
のように使用でき、info列にある値(TYPE=SNP; DP=300; ...)をdata.frameとして読み込んでくれて、
TYPE DP ... [1] SNP 300 ... [2] SNP 288 ...
という形で吐き出してくれるのでデータの読み出しや切り分けが捗ります。