一、为什么要做祖先成分的PCA?

GWAS研究时经常碰到群体分层的现象,即该群体的祖先来源多样性,我们知道的,不同群体SNP频率不一样,导致后面做关联分析的时候可能出现假阳性位点(不一定是显著信号位点与该表型有关,可能是与群体SNP频率差异有关),因此我们需要在关联分析前对该群体做PCA分析,随后将PCA结果作为协变量加入关联分析中。

二、怎么做PCA?

首先prune一下

plink --bfile file --indep-pairwise 50 5 0.2 --out file

  

生成file.prune.in文件之后,再简单加一个“--pca”参数即可

plink --bfile file --extract file.prune.in --pca 10 --out myfile_pca #这里只取前10个PCA结果,如果想取其他数值,请自行设置

  

跑完以后,会生成三个文件,分别是myfile_pca.eigenval,myfile_pca.eigenvec,myfile_pca.log。

其中,myfile_pca.eigenvec即为我们所需的PCA文件,大概长得如下:

FID_1 IID_1 0.00126761 0.00331304 -0.0105174 0.000679466 -0.0179362 0.00672081 0.000979499 -0.00752795 0.00626333 -0.00849531

FID_1 IID_2 -0.000272769 -0.00328075 -0.00380584 -0.00787082 0.00896386 -0.00325664 0.00241414 0.00612508 -0.000788917 -0.00188887

三、生成的PCA结果怎么用?

这个相当简单,直接把这堆数值加入covar文件中,只有控制了这些祖先成分的变量,才能最大限度的找到真实的信号。

感谢杜思源师弟提醒pca之前prune一下。

最新文章

  1. 表格搞定 Asp.net Web 状态管理
  2. HDU 3667 费用流(拆边)
  3. Linux下如何搭建VPN服务器(转)
  4. 别去研究C++
  5. Scala模式匹配和类型系统
  6. [MarsZ]程序猿谈大学之大学应该学好哪些课程
  7. node.js中文资料导航
  8. Pick-up sticks(判断两直线相交)
  9. python dataframe 针对多列执行map操作
  10. python+selenium自动化软件测试(第1章):环境搭建,你也可以直接用Anaconda!
  11. [android游戏开发初学]SurfaceView初探之缓冲区测试
  12. php 判断客户端是否为手机端访问
  13. 理解运用JS的闭包、高阶函数、柯里化
  14. 分布式 NewSQL 对比
  15. Zabbix-2.4-安装-4
  16. Java相关文章
  17. PI3HDX1204B
  18. Maven为不同环境配置打包
  19. 洛谷 P1457 城堡 The Castle 解题报告
  20. Zabbix触发器支持的函数说明

热门文章

  1. Django2.0 正则表示匹配的简单例子
  2. sqlserver 学习之分离与附加数据库
  3. c/c++ linux 进程 fork wait函数
  4. 南邮攻防训练平台逆向maze
  5. FreeFileSync 文件同步软件(windows)
  6. WIN提权总结【本地存档-转载】
  7. 10分钟,AppCan帮你搞定跨平台开发APP问题!
  8. Python 隔离环境 virtualenv
  9. 回顾servlet生命周期(代码测试),读取初始化参数
  10. Re:Exgcd解二元不定方程