事情是这样的,刚开始接触GWAS就一定会接触到数据质量控制这个东西。我们可以看到网络上各种各样的指导,都是分为individual quality control and snp quanlity control。具体哪个优先,各有各的说法。结合陈文燕博主给的建议,主流行还是先进行individual QC再进行SNPs QC。接着,我们知道两部分QC各有多个小步骤,那么分析这些步骤的顺序应该怎么走才比较合适呢?我根据不同tutorial尝试了3种不同的办法,结果还是有区别。以下疑问是陈文燕博主帮忙解答的,再次表示感谢。博主的博客就是宝藏,有入门的小白建议多看看,链接:https://www.cnblogs.com/chenwenyan/p/11803311.html 。

一、       方法1(基因公司imputation前质控步骤):

  1.     指令:plink --bfile data --mind 0.1 --geno 0.05 --maf 0.01 --hwe 0.0001 --make-bed --out data_qc.
  2.     查看日志文件可见:

3.      问题:

               (1)             同样一长串的方法,我将指令改为:plink --bfile data --chr 1-22 --geno 0.05 --hwe 0.0001 --maf 0.01 --mind 0.1 --make-bed --out qc2.结果一样。接着换成:plink --bfile data --mind 0.1 --hwe 0.0001 --geno 0.05 --maf 0.01 --chr 1-22 --make-bed --out qc3.结果与qc1\qc2都是一样的(479367个SNP和1189个体)。也就是说如果一次性输入一长串质量控制指令,无论顺序是怎样的,结果都一样?

     答案:是的,一长串命令上去以后,PLINK 会按照他们默认的顺序执行命令。

               (2)  上述三个指令,我们在日志log中的分析过程都可以看到,它是按照--chr --mind --geno --hwe --maf对结果进行一步一步的展示。

               (3)  是不是平时真实分析步骤都是一连串直接写上去的?答案:是的。

二、       方法2(根据方法1的log展示的分析步骤,每个指令一步一步进行):

  1.      我按照这样方法1 日志展示的步骤进行一步一步分析:

                   1)      plink --bfile data --chr 1-22 --make-bed --out step1

                   2)      plink --bfile step1 --mind 0.01 --make-bed --out step2

                   3)      plink --bfile step2 --geno 0.05 --make-bed --out step3

                   4)      plink --bfile step3 --maf 0.01 --make-bed --out step4

                   5)      plink --bfile step4 --hwe 0.0001 --make-bed --out step5

         2.      得出的结果是:479367个SNP和1189个体(与方法1相同)。

三、       方法3(用方法2相同阈值,但步骤不同):

          1.      我按照这样方法1 日志展示的步骤进行一步一步分析:

                   1)      plink --bfile data -- geno 0.05 --make-bed --out step1

                   2)      plink --bfile step1 -- maf 0.01 --make-bed --out step2

                   3)      plink --bfile step2 -- hwe 0.0001 --make-bed --out step3

                   4)      plink --bfile step3 -- chr 1-22 --make-bed --out step4

                   5)      plink --bfile step4 -- mind 0.01 --make-bed --out step5

          2.      得出的结果是:479811个SNP和1153个体(与方法1和2完全不同)。

                     原因:这个步骤和“方法1和2”的区别在于方法3是先进行SNP QC ,再进行样本QC

四、问题:

   1.      我看群主的帖子步骤是:

          1)         先--mind --het --check.

          2)         然后--hwe --geno --maf.

   2.      MAT的GWAS_Tutorial-master的步骤又不一样:

           --geno --mind --sex --maf --hwe --het.

   3.      质量控制一般是几个参数一起塞进一条plink语句中吗?如果不是,有步骤顺序要求吗(毕竟步骤不一样结果相差贼大)?

            答案:可以塞进一条plink进行分析。正确的顺序是先执行样本QC, 再执行SNP 位点QC(这点可以看文献,基本都是这个顺序):

                      1)先--mind --het --check;2)然后--hwe --geno --maf.

 

  1. 4.      如果要自己做Imputation,那么imputation之前的质量控制的步骤又有什么要求吗?如果没要求,那每种不同质控顺序得到的结果都不一样?答案:IMPUTATION质量控制所有参数与“方法1和2”一样。QC完一会再进行imputation,然后再次执行“方法1和2”的质量控制。

关于GWAS的质量控制步骤顺序疑问?不同指导不同文献的建议各不相同。的更多相关文章

  1. PrepareStatement对象进行批处理的典型步骤顺序

    https://www.yiibai.com/jdbc/preparestatement-batching-example.html 以下是使用PrepareStatement对象进行批处理的典型步骤 ...

  2. Centos 5.6安装Mysql(步骤,疑问)

    1.安装步骤 yum install mysql yum install mysql-server yum install mysql-devel chgrp -R mysql /var/lib/my ...

  3. 关于Kettle的事务和转换内步骤的顺序执行

    关于Kettle的事务和转换内步骤的顺序执行 近来有项目中遇到Kettle事务处理和转换内步骤顺序执行的问题.为此进行了研究,找到了一个解决办法. 在Kettle中,一个Job内的转换,缺省是顺序执行 ...

  4. nodejs添加路由route步骤详解

    首先,毋庸置疑, 新建一个基础express站点.建好之后, 有三个文件需要code(当然,三个步骤顺序随意). 下面以添加一个'/about'为例说明. 1. 在views文件夹里,新建一个jade ...

  5. Shell命令的执行顺序

    shell执行命令的步骤顺序如上图,看起来有些复杂. 当命令行被处理时,每一个步骤都是在Shell的内存里发生的;Shell不会真的把每个步骤的发生显示给你看. 所以,你可以假想这事我们偷窥Shell ...

  6. dockerfile里面的内容编写顺序,必须严格按照顺序编写,否则编译不成

    完整文档请参照https://www.cnblogs.com/effortsing/p/10480972.html 这里只介绍dockerfile里面的步骤顺序 cat>/home/jenkin ...

  7. 小陈现有2个任务A,B要完成,每个任务分别有若干步骤如下 一道网上没啥题解的难题(至少我是这么觉得的)

    小陈现有2个任务A,B要完成,每个任务分别有若干步骤如下:A=a1->a2->a3,B=b1->b2->b3->b4->b5.在任何时候,小陈只能专心做某个任务的一 ...

  8. Unity学习疑问记录之脚本生命周期

    总的来说unity的脚本生命周期分几个部分:编辑→初始化→游戏逻辑→渲染→GUI→Teardown首先是Reset,顾名思义:重置.在什么情况下调用呢?1.用户第一次添加组件时.2用户点击见组件面板上 ...

  9. UPDATE语句中SET部分列赋值的先后顺序有影响么?

    昨天研发同事问我个问题,UPDATE语句中SET部分列赋值的先后顺序会影响结果么?以前没考虑过这个问题,因为通常我们都会UPDATE时给列赋予一个确定的值,而不是一个依赖于其他列的值. 测试环境: D ...

随机推荐

  1. 设置mysql的字符集永远为UTF-8

    1.在虚拟机/usr路径下创建一个文件命名为:mysql.cnf cd /usr touch mysql.cnf 2.在该文件中使用vim命令插入配置文本 vim mysql.cnf 按i键进入编辑模 ...

  2. 剑指 Offer 65. 不用加减乘除做加法 + 位运算

    剑指 Offer 65. 不用加减乘除做加法 Offer_65 题目描述 题解分析 java代码 package com.walegarrett.offer; /** * @Author WaleGa ...

  3. HDOJ-6621(线段树+二分法)

    K-th Closest Distance HDOJ-6621 本题可以使用线段树解决,结点存本结点对应的所有元素,并按照从小打到排序 最后使用二分法求解答案.因为题目中有绝对值,所以需要使用两次查找 ...

  4. Java 面向对象 04

    面向对象·四级 多态的概述及其代码实现 * A:多态(polymorphic)概述 * 事物存在的多种形态 * B:多态前提 * a:要有继承关系 * b:要有方法重写 * c: 要有父类引用指向子类 ...

  5. Github Fork与远程主分支同步

    fork与主分支同步(5步) 1. git remote add upstream git@github.com:haichong98/gistandard.git   新建一个upstream的远程 ...

  6. ORM框架 和 面向对象编程

    ORM框架: 1.SQLAlchemy:  - 作用   1.提供简单的规则   2.自动转换成SQL语句  - DB first/code first   DB first: 手动创建数据库以及表  ...

  7. WPF 基础 - xaml 语法总结

    Attribute 与 Property 之间的区别 Property 对应着抽象对象身上的性状: Attribute 是针对标签的特征: 往往一个标签具有的 Attribute 对于它所代表的对象的 ...

  8. 写个锤子JS!它应该是你最后的选择

    本文翻译自:https://dev.to/olpeh/javascript-should-be-your-last-resort-5dje 在进行现代化Web前端开发时,使用着自己最爱的框架,有时候可 ...

  9. 【.net core】三种注入方式的区别

    AddTransient瞬时模式:每次请求,都获取一个新的实例.即使同一个请求获取多次也会是不同的实例 AddScoped:每次请求,都获取一个新的实例.同一个请求获取多次会得到相同的实例 AddSi ...

  10. ASP.NET Core与Redis搭建一个简易分布式缓存

    ​本文主要介绍了缓存的概念,以及如何在服务器内存中存储内容.今天的目标是利用IDistributedCache来做一些分布式缓存,这样我们就可以横向扩展我们的web应用程序. 在本教程中,我将使用Re ...