zoukankan      html  css  js  c++  java
  • 利用plink软件基于LD信息过滤SNP

    最近有需求,对WGS测序获得SNP信息进行筛减,可问题是测序个体少,call rate,maf,hwe,等条件过滤后,snp数量还是千万级别,所以后面利用plink工具根据LD信息来滤除大量SNP标记。

    工具版本:PLINK v1.90b4.6 64-bit (15 Aug 2017)

    一、格式转换

    首先将准备好的vcf文件转换下格式,map和ped格式:

      1 plink --allow-extra-chr --recode --chr-set 18 --vcf test.gz --out s_vcf
      2 awk '{print $1"	"$1"_"$4"	"$3"	"$4}' s_vcf.map >s1_vcf.map
      3 mv s_vcf.ped s1_vcf.ped

    map文件第二列必须要有唯一标识,否则后面区分不了那些snp被剔除;此处awk命令将第二列替换为chr_pos形式,作snp位点名称,如下图所示:

    image

    二、LD过滤

    这里我们主要使用 --indep-pairwise 参数,直接运行查看具体用法:

      1 plink --indep-pairwise --help
      2 PLINK v1.90b4.6 64-bit (15 Aug 2017)           www.cog-genomics.org/plink/1.9/
      3 (C) 2005-2017 Shaun Purcell, Christopher Chang   GNU General Public License v3
      4 --help present, ignoring other flags.
      5 
      6 --indep [window size]<kb> [step size (variant ct)] [VIF threshold]
      7 --indep-pairwise [window size]<kb> [step size (variant ct)] [r^2 threshold]
      8 --indep-pairphase [window size]<kb> [step size (variant ct)] [r^2 threshold]
      9   Generate a list of markers in approximate linkage equilibrium.  With the
     10   'kb' modifier, the window size is in kilobase instead of variant count
     11   units.  (Pre-'kb' space is optional, i.e. '--indep-pairwise 500 kb 5 0.5'
     12   and '--indep-pairwise 500kb 5 0.5' have the same effect.)
     13   Note that you need to rerun PLINK using --extract or --exclude on the
     14   .prune.in/.prune.out file to apply the list to another computation.
     15 
     16 --ld-xchr [code]   : Set Xchr model for --indep{-pairwise}, --r/--r2,
     17                      --flip-scan, and --show-tags.
     18                      1 (default) = males coded 0/1, females 0/1/2 (A1 dosage)
     19                      2 = males coded 0/2
     20                      3 = males coded 0/2, but females given double weighting
    

    主要参数就三个,滑动窗口大小,步长,r方,r方越小滤除的位点就愈多;命令如下:

      1 plink --file s1_vcf --indep-pairwise 1000kb 1 0.5 --out ld

    运行结束后产生prune.in,prune.out两个文件,prune.in文件中包含的就是通过筛选条件我们需要的SNP位点。文件内容为map文件第二列snp名称(唯一标识符)。

    N{}D`WN0CXN2`))Z]W}756P

    根据snp位置信息提取数据请参考另一篇博文:https://www.cnblogs.com/mmtinfo/p/11945592.html

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    Rsync企业实战之自动异地备份(转)
    Linux启动过程详解 (转)
    Linux系统下修改环境变量PATH路径的三种方法
    linux更改启动级别后,无法启动的问题解决
    MySQLAdmin用法
    mysql toolkit 用法[备忘] (转)
    mysql edit
    MySQL中SSL配置
    mysql ALTER COLUMN MODIFY COLUMN CHANGE COLUMN 区别及用法 (转)
    MySQL 使用mysqld_multi部署单机多实例详细过程 (转)
  • 原文地址:https://www.cnblogs.com/mmtinfo/p/12025270.html
Copyright © 2011-2022 走看看