200字
Plink使用帮助
2025-09-28
2025-09-28

格式转换

--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

参考资料

Plink使用帮助
作者
RM706
发表于
2025-09-28
License
CC BY-NC-SA 4.0