个人学习_GWAS数据分析 (一)_数据格式处理+提交plink命令

备注:以下是记录自己在学习GWAS数据分析时的一个过程,所以处理的数据具有个人色彩,不一定都适用所有人。

1.数据格式
一共有两份数据,我需要从以下两份数据中通过它们共同的id ,挑选出每份id 所对应的FID ,IID ,以及相应的特征
数据(一):
数据(二):

数据一中,第一列是img_id 可以忽略,第二列是img_name 就是指的不同个体的名字(这里的Img_name需要和数据二中的imageID匹配) ,node_id 可以忽略,x,y,z轴的数据 分别指的是我们选取的特征点在空间中的三维坐标(即特征点分别到x,y,z轴的距离)
数据二中的IID ,FID 是使用Plink必须要的数据(我也不知道是啥),我的数据中的FID的RS2 指的是一个人群的亚种 ,然后sex和age指的就是人群的性别和年龄

数据的含义:数据一中,一个id(一个人) 有21个特征点,分别代表一个人某个性状的21个特征点
我们要做工作的就是,用选取的特征点(1,3,5,7,8,10,12,14,16)表征一个人的某个性状,然后用GWAS的方法找到基因组中和某性状点高度(z轴)相关的基因

2.数据处理
现在以上的数据肯定是不能作为plink的输入的,所以我用R处理了一下数据格式,
最终得到的数据是这样的:

即FID 和IID分别在第一,二列(这是Plink要求的 我也不知道为啥),t1~t16就是我们选取的特征点(也就是性状), PC1-PC4 目前我也不知道是啥。。但是是必须的 ,然后就是夹杂着AGE 和SEX, imageID可以不管他。

但是现在这个数据还不能作为输入,因为我还没有处理缺失值。

缺失值的处理方式:
对某一列的性状值(比如说我选t16) ,计算这一列的平均值和标准差,
令 a=mean(t16)+3*sd(t16)
b=mean(t16)-3*sd(t16)
(mean的意思是计算t16这一列的平均值,sd表示计算标准差)
然后遍历t16这一列中的每个值,只要它 >a 或者<b 就把它设置成NA
(这里其实就是指的设置一个置信区间,落入小区间,几乎不可能发生,那么就淘汰它)
处理缺失值的时候可以将处理结果输出:like this

对之后的一些数据处理也有一些帮助

缺失值处理完之后,我们最终输入plink的数据格式如下:


3.使用Plink进行GWAS分析
这个其实就是一条长长的命令 = 。=
如下:

nohup plink --bfile /data/liufan/data/RS123_1kG_QC/RS123.1kg.ext.hwe --pheno /home/xiangyj/facial_GWAS/GWAS_facial_input.txt --pheno-name t16 --linear hide-covar --covar /home/xiangyj/facial_GWAS/GWAS_facial_input.txt --covar-name AGE,SEX,PC1,PC2,PC3,PC4 --ci 0.95 --out /data/xiangyj/facial_GWAS_result/16 </dev/null &>/dev/null &

解释:
nohup & 后台挂起运行 (用上这个命令,程序在运行的时候自己就可以自由的去玩啦)
plink 使用plink (呼叫plink 呼叫plink ,快来执行我的代码)
--bfile /data/liufan/data/RS123_1kG_QC/RS123.1kg.ext.hwe 将snp文件变成二进制格式(方便省事)
--pheno /home/xiangyj/facial_GWAS/GWAS_facial_input.txt 这里导入我们刚刚处理的性状文件
--pheno-name t16 要处理的性状名字是t16
--linear hide-covar 使用线性模型,hide-covar指的是不要对我没加入的协变量进行分析
--covar /home/xiangyj/facial_GWAS/GWAS_facial_input.txt --covar-name AGE,SEX,PC1,PC2,PC3,PC4 把我们选取的协变量加入线性回归模型中,我们选的协变量有:AGE,SEX,PC1,PC2,PC3,PC4
--ci 0.95 设置置信区间
--out /data/xiangyj/facial_GWAS_result/16 输出文件路径以及文件前缀名 ,输出都是以assoc.linear为后缀

</dev/null &>/dev/null 这个是linux的输出的一些处理,加上去就保证你的输出没啥问题,具体啥意思,自己查啦
------------------------------------------------------------------------------------------------------------------------------------------------我是分界线

到此为止,我们的数据已经成功提交plink ,等plink结果出来之后再继续进行下一步分析

说实话,我感觉整个流程 主要麻烦的还是数据格式的处理,plink就是一条命令,理解它意思就行了
所以提高自己的大数据处理能力,使代码在处理大数据时高效可靠,才是更重要的!


  • 5
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值