plink 基础

一、PLINK 核心功能

  1. 数据管理与格式转换
    • 支持格式:PLINK 支持多种基因型数据格式,包括文本格式(.ped + .map)、二进制格式(.bed + .bim + .fam)及 VCF 格式。
    • 转换示例:

    # VCF 转二进制格式
    plink --vcf input.vcf --make-bed --out binary_data
    # 二进制转文本格式
    plink --bfile binary_data --recode --out text_data
    

    文件结构:
    .ped 文件:包含样本基因型信息(家系、个体、基因型等)。
    .map 文件:记录 SNP 的染色体位置、物理位置等元数据。

  2. 数据质控(QC)
    PLINK 提供多维度质控参数,确保数据可靠性:
    • 样本与 SNP 过滤:
    --geno:过滤 SNP 缺失率(如 --geno 0.1 表示缺失率 >10% 的 SNP 被剔除)。
    --mind:过滤样本缺失率(如 --mind 0.1 剔除缺失率 >10% 的样本)。
    • 遗传*衡检验:
    --maf:过滤最小等位基因频率(如 --maf 0.05 保留 MAF ≥5% 的 SNP)。
    --hwe:哈迪-温伯格*衡检验(如 --hwe 1e-6 剔除显著偏离*衡的 SNP)。
    • 性别一致性检查:
    --check-sex:验证样本遗传性别与记录是否一致。

  3. 关联分析(GWAS)
    PLINK 支持多种统计模型用于 GWAS:
    • 连续性状:使用 --linear 参数进行线性回归分析。
    • 二分类性状:使用 --logistic 参数进行逻辑回归分析。
    • 协变量调整:通过 --covar 指定协变量文件(如年龄、性别)。

    plink --bfile data --linear --pheno pheno.txt --covar covariates.txt --out gwas_results
    
  4. 群体遗传分析
    • 主成分分析(PCA):通过 --pca 参数生成主成分,用于群体分层校正。

    plink --bfile data --pca 3 --out pca_results
    

    • 亲缘关系计算:--genome 参数生成 IBD(Identity by Descent)矩阵,检测样本间亲缘性。
    • 连锁不*衡(LD)分析:--indep-pairwise 参数用于 LD 过滤。


二、关键参数与命令速查

参数 功能 示例
--bfile 指定二进制输入文件前缀 --bfile mydata
--pheno 指定表型文件 --pheno trait.txt
--maf 过滤次等位基因频率 --maf 0.01
--adjust 多重检验校正(Bonferroni/FDR) --adjust fdr
--recode 转换输出格式(如 VCF 或文本) --recode vcf
--threads 多线程加速 --threads 8

三、典型应用场景

  1. GWAS 全流程

  2. 数据预处理:格式转换与缺失过滤。

  3. 质控:剔除低质量 SNP 和样本。

  4. 关联分析:运行线性/逻辑回归模型。

  5. 结果校正:多重检验校正与曼哈顿图绘制。

  6. 群体遗传结构分析
    • PCA 分析:检测群体分层并生成可视化结果(需结合 R/ggplot2)。
    • LD 过滤:通过 --indep-pairwise 50 5 0.1 保留独立性 SNP。

  7. 精细定位与功能注释
    • 精细定位(Fine Mapping):结合 LD 结构和功能注释筛选候选 SNP。
    • 基因注释工具集成:如 VEP、ANNOVAR 等。


四、高级功能与扩展

  1. 版本更新(PLINK 2.0)
    • 性能优化:提升大规模数据计算速度(如 IBS 矩阵计算)。

• 新功能:支持多等位位点处理、混合模型分析等。

  1. 与其他工具集成
    • GCTA:用于遗传力估计和复杂性状分析。
    • Haploview:可视化 LD 区块。
    • R 语言扩展:通过 qqman 包绘制曼哈顿图。

五、安装与资源

  1. 安装方法
    • Linux/Mac:

    wget https://s3.amazonaws.com/plink1-assets/plink_linux_x86_64.zip
    unzip plink_linux_x86_64.zip && chmod +x plink
    

    • Windows:直接下载二进制文件。

  2. 学习资源
    • 官方文档:PLINK 1.9 文档。
    • 案例教程:GWAS 全流程分析指南(CSDN、GitHub 社区)。
    • 开源社区:nf-core、GWAS Central 提供流程模板。


六、注意事项
• 数据规模:处理百万级 SNP 时建议使用二进制格式以节省存储。
• 版本兼容性:PLINK 1.9 与 2.0 的命令参数存在差异,需注意版本适配。
• 错误排查:日志文件(.log)可帮助定位数据格式或参数错误。

*交系数计算:
PLINK 计算*交系数主要通过两种方法实现:基于纯合性分析(--het)和基于连续纯合片段(ROH)检测。以下是具体操作及解读:


一、基于纯合性分析(--het命令)

  1. 核心命令
    plink --file [输入文件前缀] --het --out [输出前缀]  # 适用于文本格式(.ped/.map)
    或
    plink --bfile [二进制文件前缀] --het --out [输出前缀]  # 适用于二进制格式(.bed/.bim/.fam)
    

关键参数:
--allow-extra-chr:处理非数字染色体(如性染色体)
--noweb:跳过版本检查(可选)

  1. 输出文件解读
    生成的 .het 文件包含以下字段:
列名 说明 示例值
FID/IID 家系/个体ID DOR1/DOR1
O(HOM) 观测纯合子数 49,002,256
E(HOM) 期望纯合子数(理论计算值) 4.714e+07
N(NM) 非缺失基因型总数 55,370,187
F *交系数(核心结果) 0.2262

F值意义:
• 理论范围:0(无*交)到 1(完全*交)
• 负值处理:若出现负值(如 -0.5),可能因杂合子过多(提示样本污染或分型错误)


二、基于连续纯合片段(ROH)检测

  1. ROH检测命令
    plink --file [输入文件前缀] \
    	  --homozyg-snp 30 \        # 要求ROH中至少包含30个连续SNP
    	  --homozyg-kb 1000 \       # ROH最小长度1000 kb
    	  --homozyg-density 1000 \  # 每1 Mb区域至少1个SNP
    	  --homozyg-gap 1000 \      # 允许ROH中断的最大间隔(kb)
    	  --homozyg-window-snp 50 \ # 滑动窗口包含50个SNP
    	  --homozyg-window-het 1 \  # 窗口内允许的杂合子数
    	  --homozyg-window-missing 1 \  # 窗口内允许的缺失基因型数
    	  --out [输出前缀]
    

输出文件:
.hom:每个ROH的详细位置
.hom.indiv:个体ROH统计(总长度、*交系数F)

  1. 基因组*交系数(FROH)计算
    通过ROH总长度占基因组比例计算:
FROH = (ROH总长度) / (基因组总长度)

应用场景:
• 历史推断:长ROH(>10 Mb)反映*期*交,短ROH(<1 Mb)提示远古*交
• 精准育种:结合系谱数据验证遗传多样性


三、结果验证与注意事项

  1. 对比其他工具:
    • GCTA:通过 --ibc 参数计算*交系数(结果包含Fhat1/Fhat2/Fhat3多维度指标)
    • 一致性检查:PLINK的F值与GCTA的Fhat3结果相关性较高

  2. 数据质控要求:
    • SNP过滤:建议使用 --geno 0.05 --maf 0.01 剔除低质量位点
    • 样本筛选:排除杂合度异常样本(如F < -0.1)


四、实际应用案例

  1. 群体遗传研究
    • 步骤:

    1. 计算群体*均F值,评估*交水*
    2. 结合PCA分析(--pca)校正群体分层对关联分析的影响
  2. 动植物育种
    • 目标:筛选高*交个体(F > 0.25)优化核心育种群
    • 工具联动:PLINK + R(绘制F值分布图)


详细的参数说明或实战案例,参考 PLINK 官方文档 。

来源链接:https://www.cnblogs.com/kevinarcsin001/p/18841440

请登录后发表评论

    没有回复内容