PLINK

2015年6月26日 更新
2017年9月8日 一部改定

PLINKとは

フリーの全ゲノム関連解析ツールセット.
現在,β版の1.9とα版の2.0がある.

インストール

ここから適したものをダウンロード.
好きな場所に移動させて,パスを通せばどこからでも使えます.

使い方

かなり色々なことができるので,小分けにして行きます.
<目次>
- インプット
- 入力ファイルの確認
- 関連解析
- 連鎖解析

インプット

インプットにPEDファイルとMAPファイルの二種類が必要です.
PEDファイルは,一行に
- ファミリーID(系統ID)
- 個体ID
- 父ID
- 母ID
- 性別ID (1=male; 2=female; other=unknown)
- 表現型値
- 各個体の塩基を2つずつ繰り返す
というファイル.個体・父・母のIDは使わない場合はすべて[1 0 0]でも可.

MAPファイルは,一行に
- 染色体名
- SNPのID
- 遺伝的距離
- 塩基対のポジション
というファイル.遺伝的距離は使わない場合0でも可.

入力ファイルの確認

plink --file fileroot
によって,fileroot.pedとfileroot.mapを読み込む.
また,file1.pedとfile2.mapを別々に読み込む場合には,
plink --ped file1.ped --map file2.map
その他細かい設定
#出力ファイル名を指定.デフォルトではplink.拡張子となる.
% plink --file fileroot --out outputroot

#Nを取り除く.
% plink --file fileroot --missing-genotype N

#2R染色体のみ用いる.
% plink --file fileroot --chr 2R

#SNP_ID1からSNP_ID2までのみを用いる.
% plink --file fileroot --from SNP_ID1 --to SNP_ID2

#染色体2Rの1000から2000までのみを用いる.
% plink --file fileroot --chr 2R --from-kb 1000 --to-kb 2000

#SNP_IDの10kb前後のみ用いる.
% plink --file fileroot --snp SNP_ID --window 10

#SNP_ID1からID2の間と,ID3,ID4を用いる.
% plink --file fileroot --snps SNP_ID1-SNP_ID2,SNP_ID3,SNP_ID4

#ランダムに20%のSNPを用いる.
% plink --file fileroot --thin 0.2

#バイナリファイルを作る.fileroot.bed
% plink --file fileroot --make-bed

#バイナリファイルを読み込む.高速化されるかも.
% plink --bfile fileroot

染色体IDに1から5を用いる.
% plink --file fileroot --chr-set 5

#vcf形式からbedとbapに変換.(plink1.9から追加)
% plink --vcf file.vcf --out fileroot
以上のコマンドは,--file以外に-bfileでも--ped --mapでも可.--assocや--freqとの組合せも可.

関連解析

疾患などケースコントロールのような二値をとる質的形質か量的形質かを判断して解析してくれます.
plink --file fileroot --assoc
出力されるplink.assocには
質的形質の場合,
  CHR:染色体名
  SNP:SNPのID
  BP:染色体上の位置
  A1:マイナーアリル名
  F_A:ケースのアリル頻度
  F_U:コントロールのアリル頻度
  A2:メジャーアリル名
  CHISQ:カイ二乗値(自由度1)
  P:漸近的P値
  OR:推定オッズ比
量的形質の場合,
  CHR:染色体名
  SNP:SNPのID
  BP:染色体上の位置
  NMISS:使える遺伝子型の数
  BETA:回帰係数
  SE:標準誤差
  R2:回帰のR二乗値
  T:ワルド検定
  P:ワルド検定の漸近的P値
 さらに多重補正を加えるには
plink --file fileroot --assoc --adjust
  CHR:染色体名
  SNP:SNPのID
  UNADJ:補正前のp値
  GC:ゲノミックコントロール法で補正したp値
  BONF:ボンフェローニ補正
  HOLM:Holm(1975)による補正
  SIDAK_SS:Sidakのシングルステップ補正p値
  SIDAK_SD:Sidakのステップダウン補正p値
  FDR_BH:Benjamini&Hochberg(1995)のFDRコントロール
  FDR_BY:Benjamini&Yekutieli(2001)によるFDRコントロール

その他の検定を列挙.
#フィッシャーの正確確率検定
plink --file fileroot --fisher

#オルタネート/フルモデル検定.優劣関係を考慮.
plink --file fileroot --model

#層別解析
plink --file fileroot -mh --within data
plink --file fileroot -mh2 --within data

#ヘテロ関連検定.
plink --file fileroot -bd --within data
plink --file fileroot -homog --within data

#ホテリングのT(2)複数座位関連検定.
plink --file fileroot --set data.set --T2

#量的形質の相互作用(GxE)
plink --file fileroot --gxe --covar data

#線形・ロジスティックモデル
省略

連鎖解析

2SNPペアの連鎖不平衡を確かめたい時は.
plink --file fileroot --ld SNP_ID1 SNP_ID2
複数SNPの連鎖不平衡を確かめたい時は.
Rを計算
plink --file fileroot --r

R二乗を計算
plink --file fileroot --r2

R二乗に加えてD'を計算
plink --file fileroot --r2 dprime
ハプロタイプブロックを推定するには
plink --file fileroot --blocks
他に比べると重いので注意.

参考文献

http://pngu.mgh.harvard.edu/~purcell/plink/index.shtml
日々精進~2013年の起業を目指して~ PLINKによるSNP解析とQTL解析