2016年1月25日月曜日

vcftoolsでフィルタリング

様々な欠測率でフィルタリングする時のスクリプト


あらかじめリストを作成しておき、そのリストの値を代入する時のシェルスクリプト
vcftools_0.1.13
備忘録として

DIR=/Volumes/vcf
file=all_chr_snp
vcftools=/Volumes/vcftools_0.1.13/bin/vcftools

cd $DIR

mkdir filtered_vcf
missing=("0.2" "0.4" "0.6" "0.8")
for ((i=0; i< ${#missing[@]}; ++i))

do
$vcftools --gzvcf ${DIR}/${file}.vcf.gz --min-alleles 2 --max-alleles 2 --minDP 3 --maxDP 100 --remove-indels --max-missing ${missing[$i]} --minQ 20 --recode --out ${DIR}/filtered_vcf/${file}_MS${missing[$i]}_bi_MQ20_DP3-100
done

2016年1月14日木曜日

連鎖地図のマーカーの物理位置を調べる

論文に書かれている連鎖地図上のQTLの位置を知りたいということがあります。その物理位置を推定するには、まずは連鎖地図のマーカーの物理位置を知る必要があります。

イネやソルガムのQTLはGrameneで調べることが多いです。

Gramene QTL Database

たとえば、ソルガムの第8染色体上の出穂関連QTL AQGN050を調べる場合、Associated Markersの情報から、SSRの情報を得ます。


と書かれています。

この配列を超絶高速ゲノム配列検索し、物理位置を調べます。primerのような短い配列は、blastでヒットしないことも多いため、こちらで検索しています。
大量のプライマーの位置情報を得るときには、GoogleSpreadSheet を利用します。
リンク先のシートを参考にして頂ければ、位置情報だけでなく、PCRのサイズも調べることが可能です。




これで大まかな物理位置を調べることが出来ました。

SSRの場合はこのように比較的簡単なのですが、RFLPマーカーの場合は難しくなります。
maizeのRFLPマーカーを利用している場合、MaizeGDBのデータベースから配列を調べることが可能です。
例えば、umc107というRFLPマーカーの場合、このマーカーをキーワードに検索を行うと



locusの情報が出てきます。

Probes:

の部分には p-umc107 (via RFLP Hybridization)へのリンクがあります。


 このページのリンク先を見るとSTS化された配列を入手できました。

この配列データから、このRFLPマーカーの物理位置を調べることが可能です。

他にもRFLPマーカーの配列情報を入手する方法としてはNCBIのデータベースでマーカー名を入力して検索を行うことが考えられます。

先ほどのumc107をキーワードに検索すると、Geneでヒットします。二つの染色体がヒットしますが、今回は第1染色体の情報を得たいのでumc107aの配列を調べることにします。




Name/Gene IDDescriptionLocationAliases
ID: 100282170
uncharacterized LOC100282170 [Zea mays]Chromosome 5, NC_024463.1 (10941609..10947256, complement)ZEAMMB73_755942, GRMZM2G090172
ID: 100192908

uncharacterized LOC100192908 [Zea mays]

連鎖地図のマーカーの物理位置を調べることは、このように手作業で検索することが多いです。
もう少し効率の良い方法をご存知でしたら、教えて頂きたいと思います。