关于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 ...
随机推荐
- Oracle 开启或关闭归档
开启:sqlplus / as sysdbaarchive log list;shutdown immediate;startup mount;alter database archivelog;ar ...
- shell编程基础二
一.流程控制 while循环:只要条件满足一直循环 read -p "请输入一个数字:" white_data while [ ${white_data} -lt 20 ] do ...
- Leaflet 带箭头轨迹以及沿轨迹带方向的动态marker
前面写了篇文章,mapboxgl实现带箭头轨迹线,介绍了如何基于mapboxgl实现类似高德地图导航轨迹效果. 下图是我基于leaflet实现的效果. 接下来分享一下在我基于leaflet实现该效果时 ...
- pytorch(05)计算图
张量的一系列操作,增多,导致可能出现多个操作之间的串行并行,协同不同的底层之间的协作,避免操作的冗余.计算图就是为了解决这些问题产生的. 计算图与动态图机制 1. 计算图 计算图用来描述运算的有向无环 ...
- C语言中储存类别和内存管理
C语言中储存类别和内存管理 储存类别 C语言提供了多种储存类别供我们使用,并且对应的有对应的内存管理策略,在了解C中的储存类型前,我们先了解一下与储存类型相关的一些概念. 1. 基础概念 对象:不同于 ...
- WEB服务-Nginx之十-keepalived
WEB服务-Nginx之10-keepalived 目录 WEB服务-Nginx之10-keepalived Keepalived和高可用 基本概述 Keepalived安装配置 Keepalived ...
- java将一个list转换成一个String,中间用分隔符隔开
List sn=[123,1231,1231,231] sn.toString();//[123,1231,1231,231] sn.join(',').toString();//123,1231,1 ...
- RateLimiter源码解析
RateLimiter是Guava包提供的限流器,采用了令牌桶算法,特定是均匀地向桶中添加令牌,每次消费时也必须持有令牌,否则就需要等待.应用场景之一是限制消息消费的速度,避免消息消费过快而对下游的数 ...
- AmazonS3 使用AWS SDK for Java实现跨源资源共享 (CORS)
CORS 配置 创建 CORS 配置并对存储桶设置该配置 通过添加规则来检索并修改配置 向存储桶添加修改过的配置 删除配置 import com.amazonaws.AmazonServiceExce ...
- Django之缓存、信号和图片验证码、ORM性能
一. 缓存 1. 介绍 缓存通俗来说:就是把数据先保存在某个地方,下次再读取的时候不用再去原位置读取,让访问速度更快. 缓存机制图解 2.Django中提供了6种缓存方式 1. 开发调试 2. 内存 ...