格式转换
--file 输入为文本文件
--bfile 输入为二进制文件
--gen 输入为gen/sample格式文件
--sample 输入为gen/sample格式文件
--recode 输出文件格式
oxford gen/sample格式
vcf vcf格式 注意:在转为vcf格式时会根据频率自动调整ref/alt的顺序, --keep-allele-order可阻止变化
--out 输出文件前缀
输入文件:a.map, a.ped
文本-二进制 相互转换
plink --file a --out b # 转换为二进制文件
生成:b.bed b.bim b.fam b.log
若存在非数字染色体(如性染色体)需加参数:--allow-extra-chr
plink --bfile b --recode --out c # 将二进制文件转换为文本格式文件
plink-vcf 相互转换
plink --file a --recode vcf --out d # 将plink格式转换为vcf格式文件
plink --vcf d.vcf --recode --out a # vcf文件转化为plink文件
plink --bfile c --recode vcf --out e # 将二进制格式转换为vcf格式文件
plink --vcf e.vcf --out b # vcf文件转化为二进制文件
质控
--missing # 检查样本以及SNP的缺失情况 产生文件: plink.imiss, plink.lmiss, plink.nosex, plink.log
--geno <过滤SNP时的样本阈值> # 先过滤SNP再过滤样本
--mind <过滤样本时的SNP阈值> # 先过滤SNP再过滤样本
--check-sex # 根据X染色体杂合/纯合率检查数据集中记录的个体性别与他们自身性别的差异
--maf <过滤maf时的阈值>
--hwe 1e-5 <哈温平衡过滤时P值阈值> # p值越低越不符合哈温平衡,会被删掉
--list-duplicate-vars # 列出重复的variant
plink --file a --missing # 检查缺失情况
plink --file a --geno 0.1 --recode --out re # 过滤SNP,超过10%的样本缺失该SNP,删除该SNP
plink --file a --mind 0.1 --recode --out re # 过滤样本,超过10%的SNP没有在该样本出现,删除该样本
plink --file a --maf 0.01 --recode --out re # 过滤SNP,MAF低于阈值,删除该SNP
plink --file a --hwe 1e-5 --recode --out re # 过滤SNP,哈温平衡检验中p值小于1e-5,删除该SNP
连锁不平衡
# 分析连锁不平衡并输出所有LD分析结果(无过滤)
plink --bfile <filename> --r
# 分析连锁不平衡并进行过滤(有过滤)
plink --bfile <filename> --r2
# 传入参数
--ld <SNP1> <SNP2> # 计算SNP1与SNP2的LD
--ld-snp <SNP1> # 计算SNP1与所有SNP的LD
--ld-snp-list <snp_list> # 计算SNP在snp_list中的LD
# 计算参数
--ld-window <default=10> # 仅分析相距不超过10个SNP的SNP
--ld-window-kb <default=1000> # 只对上下游各1Mb的SNP进行LD分析
--ld-window-r2 <default=0.2> # 只输出R2大于0.2的LD分析结果
# clump计算LD
plink --bfile <filename> --clump <.assoc file> #
--clump-p1 0.0001
--clump-p2 0.01
--clump-r2 0.5
--clump-kb 250
其他
--keep <filename> 要提取的样本ID 两列, 第一列为家系ID, 第二列为个体ID
--remove <filename> 要删除的样本ID 两列, 第一列为家系ID, 第二列为个体ID
--extract <filename> 要提取的SNP ID 一列, SNP的ID
--exclude <filename> 要删除的SNP ID 一列, SNP的ID
--het 计算样本纯合度 O-纯合观测值 E-纯合期望值 N-SNP个数 F-分数
--hardy 计算SNP纯合度 GENO-次等位基因纯合/杂合/主等位基因纯合
--freq 计算SNP的基因频率
--update-ids <filename> 修改样本id信息 应该含有四列: fid_old iid_old fid_new iid_new
--update-sex <filename> 修改样本性别信息
--update-name 修改SNP的id 应该具有两列(无列名): oldSNP, newSNP
--update-map 修改SNP的pos
--update-alleles 修改SNP的A1/A2
--merge-list <filename> 合并多个ped/map文件 一列时,为前缀。两列时,ped map。三列时,bed bim fam。
--chr <chr> 提取指定的chr的信息
--keep-allele-order 保留原ref/alt顺序
plink --file a --keep id_sample.txt --recode --out re # 样本提取
plink --file a --remove id_sample.txt --recode --out re # 样本删除
plink --file a --extract id_snp.txt --recode --out re # SNP提取
plink --file a --exclude id_snp.txt --recode --out re # SNP删除
plink --file a --het # 对于每个样本,统计该样本中有多少纯合SNP,并打分
plink --file a --hardy # 对于每个SNP,统计该SNP在所有样本中的纯/杂合情况
plink --file a --freq
参考资料