关于GWAS的质量控制步骤顺序疑问?不同指导不同文献的建议各不相同。
事情是这样的,刚开始接触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前质控步骤):
- 指令:plink --bfile data --mind 0.1 --geno 0.05 --maf 0.01 --hwe 0.0001 --make-bed --out data_qc.
- 查看日志文件可见:

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) 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.
- 4. 如果要自己做Imputation,那么imputation之前的质量控制的步骤又有什么要求吗?如果没要求,那每种不同质控顺序得到的结果都不一样?答案:IMPUTATION质量控制所有参数与“方法1和2”一样。QC完一会再进行imputation,然后再次执行“方法1和2”的质量控制。
关于GWAS的质量控制步骤顺序疑问?不同指导不同文献的建议各不相同。的更多相关文章
- PrepareStatement对象进行批处理的典型步骤顺序
https://www.yiibai.com/jdbc/preparestatement-batching-example.html 以下是使用PrepareStatement对象进行批处理的典型步骤 ...
- Centos 5.6安装Mysql(步骤,疑问)
1.安装步骤 yum install mysql yum install mysql-server yum install mysql-devel chgrp -R mysql /var/lib/my ...
- 关于Kettle的事务和转换内步骤的顺序执行
关于Kettle的事务和转换内步骤的顺序执行 近来有项目中遇到Kettle事务处理和转换内步骤顺序执行的问题.为此进行了研究,找到了一个解决办法. 在Kettle中,一个Job内的转换,缺省是顺序执行 ...
- nodejs添加路由route步骤详解
首先,毋庸置疑, 新建一个基础express站点.建好之后, 有三个文件需要code(当然,三个步骤顺序随意). 下面以添加一个'/about'为例说明. 1. 在views文件夹里,新建一个jade ...
- Shell命令的执行顺序
shell执行命令的步骤顺序如上图,看起来有些复杂. 当命令行被处理时,每一个步骤都是在Shell的内存里发生的;Shell不会真的把每个步骤的发生显示给你看. 所以,你可以假想这事我们偷窥Shell ...
- dockerfile里面的内容编写顺序,必须严格按照顺序编写,否则编译不成
完整文档请参照https://www.cnblogs.com/effortsing/p/10480972.html 这里只介绍dockerfile里面的步骤顺序 cat>/home/jenkin ...
- 小陈现有2个任务A,B要完成,每个任务分别有若干步骤如下 一道网上没啥题解的难题(至少我是这么觉得的)
小陈现有2个任务A,B要完成,每个任务分别有若干步骤如下:A=a1->a2->a3,B=b1->b2->b3->b4->b5.在任何时候,小陈只能专心做某个任务的一 ...
- Unity学习疑问记录之脚本生命周期
总的来说unity的脚本生命周期分几个部分:编辑→初始化→游戏逻辑→渲染→GUI→Teardown首先是Reset,顾名思义:重置.在什么情况下调用呢?1.用户第一次添加组件时.2用户点击见组件面板上 ...
- UPDATE语句中SET部分列赋值的先后顺序有影响么?
昨天研发同事问我个问题,UPDATE语句中SET部分列赋值的先后顺序会影响结果么?以前没考虑过这个问题,因为通常我们都会UPDATE时给列赋予一个确定的值,而不是一个依赖于其他列的值. 测试环境: D ...
随机推荐
- 设置mysql的字符集永远为UTF-8
1.在虚拟机/usr路径下创建一个文件命名为:mysql.cnf cd /usr touch mysql.cnf 2.在该文件中使用vim命令插入配置文本 vim mysql.cnf 按i键进入编辑模 ...
- 剑指 Offer 65. 不用加减乘除做加法 + 位运算
剑指 Offer 65. 不用加减乘除做加法 Offer_65 题目描述 题解分析 java代码 package com.walegarrett.offer; /** * @Author WaleGa ...
- HDOJ-6621(线段树+二分法)
K-th Closest Distance HDOJ-6621 本题可以使用线段树解决,结点存本结点对应的所有元素,并按照从小打到排序 最后使用二分法求解答案.因为题目中有绝对值,所以需要使用两次查找 ...
- Java 面向对象 04
面向对象·四级 多态的概述及其代码实现 * A:多态(polymorphic)概述 * 事物存在的多种形态 * B:多态前提 * a:要有继承关系 * b:要有方法重写 * c: 要有父类引用指向子类 ...
- Github Fork与远程主分支同步
fork与主分支同步(5步) 1. git remote add upstream git@github.com:haichong98/gistandard.git 新建一个upstream的远程 ...
- ORM框架 和 面向对象编程
ORM框架: 1.SQLAlchemy: - 作用 1.提供简单的规则 2.自动转换成SQL语句 - DB first/code first DB first: 手动创建数据库以及表 ...
- WPF 基础 - xaml 语法总结
Attribute 与 Property 之间的区别 Property 对应着抽象对象身上的性状: Attribute 是针对标签的特征: 往往一个标签具有的 Attribute 对于它所代表的对象的 ...
- 写个锤子JS!它应该是你最后的选择
本文翻译自:https://dev.to/olpeh/javascript-should-be-your-last-resort-5dje 在进行现代化Web前端开发时,使用着自己最爱的框架,有时候可 ...
- 【.net core】三种注入方式的区别
AddTransient瞬时模式:每次请求,都获取一个新的实例.即使同一个请求获取多次也会是不同的实例 AddScoped:每次请求,都获取一个新的实例.同一个请求获取多次会得到相同的实例 AddSi ...
- ASP.NET Core与Redis搭建一个简易分布式缓存
本文主要介绍了缓存的概念,以及如何在服务器内存中存储内容.今天的目标是利用IDistributedCache来做一些分布式缓存,这样我们就可以横向扩展我们的web应用程序. 在本教程中,我将使用Re ...