[GWAS]plink基因数据性别质控并用R作图

不太熟悉plink的朋友先去熟悉一下它的一些用法
plink常用参数→

本篇主要针对人类性别的信息的质控,主要是根据性染色体上SNP的比值,判断性别,然后把性别错误的个体去掉或者更改性别信息.对其他的物种参考意义不大,因为在动物中一般会把性别信息的SNP去掉

plink自身也有--check-sex的参数,所以操作一下,留下笔记

原理:检查性别异常.先验信息,女性的受试者的F值必须小于0.2,男性的受试者的F值必须大于0.8.

这个F值是基于X染色体近交(纯合子)估计,也就是近郊系数.

不符合这些要求的受试者被PLINK标记为"PROBLEM"

上一步,去掉缺失信息后,现在有文件是过滤缺失后的文件是过滤缺失后的文件:

shell 复制代码
ls HapMap_3_r3_3.*

接着我们检查性别冲突

结果文件输出为plink.sexcheck

  • 第一列为家系ID
  • 第二列为个体ID
  • 第三列为系谱中的性别
  • 第四列为SNP判断的性别
  • 第五列是否正常
  • 第六列为F值

接下来我们用R来画个直方图来进一步观察

代码:

r 复制代码
# 先要设置工作路径

gender = read.table("plink.sexcheck", header=T,as.is=T)

# 显示图片
hist(gender[,6],main="Gender", xlab="F")

male=subset(gender, gender$PEDSEX==1)
hist(male[,6],main="Men",xlab="F")

female=subset(gender, gender$PEDSEX==2)
hist(female[,6],main="Women",xlab="F")

# 保存图片
pdf("Gender_check.pdf")
hist(gender[,6],main="Gender", xlab="F")
dev.off()

pdf("Men_check.pdf")
male=subset(gender, gender$PEDSEX==1)
hist(male[,6],main="Men",xlab="F")
dev.off()

pdf("Women_check.pdf")
female=subset(gender, gender$PEDSEX==2)
hist(female[,6],main="Women",xlab="F")
dev.off()



我们从图中可以看出,woman中,大部分都是小于0.2的,有一个为1,这个应该是错误的ID

我们使用grep过滤一下:根据STATUS列,如果有问题的话,为"PROBLEM",我们可以根据这个关键词将有问题的行打印出来

shell 复制代码
grep "PROBLEM" plink.sexcheck

我们可以看到个体NA10854是有问题的.

然后将相关错误的ID提取出来(家系ID,个体ID),之所以提取家系ID和个体ID,因为plink有参数remove可以根据ID进行筛选.

shell 复制代码
grep 'PROBLEM' plink.sexcheck | awk '{print $1,$2}' >sex_discrepancy.txt
shell 复制代码
cat sex_discrepancy.txt

我们将结果保存在sex_discrepancy.txt中

然后使用remove参数去掉这个个体

shell 复制代码
plink --bfile HapMap_3_r3_3 --remove sex_discrepancy.txt --make-bed --out HapMap_3_r3_6


我们也可以对个体进行判定填充,这是用--impute-sex就可以实现,这样的话那个错误的个体会根据统计量更改性别信息.

这里我们选择的是删掉这个个体

过滤的参数

去掉个体或者SNP,关键词不一样,容易混淆,这里稍微总结一下

  • 保留或者去掉个体
    • --keep
    • --remove
    • --keep-fam
    • --remove-fam
  • 保留或去掉SNP
    • --extract['range']
    • --exclude['range']
相关推荐
jiang_changsheng1 天前
环境管理工具全景图与深度对比
java·c语言·开发语言·c++·python·r语言
JicasdC123asd1 天前
使用Faster R-CNN模型训练汽车品牌与型号检测数据集 改进C4结构 优化汽车识别系统 多类别检测 VOC格式
r语言·cnn·汽车
请你喝好果汁6411 天前
## 学习笔记:R 语言中比例字符串的数值转换,如GeneRatio中5/100的处理
笔记·学习·r语言
怦怦蓝1 天前
DB2深度解析:从架构原理到与R语言的集成实践
开发语言·架构·r语言·db2
新新学长搞科研1 天前
【CCF主办 | 高认可度会议】第六届人工智能、大数据与算法国际学术会议(CAIBDA 2026)
大数据·开发语言·网络·人工智能·算法·r语言·中国计算机学会
Piar1231sdafa2 天前
战斗车辆状态识别与分类 --- 基于Mask R-CNN和RegNet的模型实现
r语言·cnn
陳土2 天前
R语言Offier包源码—1:read_docx()
r语言
善木科研喵2 天前
IF5.9分,α-硫辛酸如何缓解化疗神经毒性?网络毒理学结合网络药理学双重锁定关键通路!
数据库·数据分析·r语言·sci·生信分析·医学科研
Piar1231sdafa3 天前
椅子目标检测新突破:Cascade R-CNN模型详解与性能优化_1
目标检测·r语言·cnn
Loacnasfhia93 天前
基于Mask R-CNN与RegNetX的钢水罐及未定义物体目标检测系统研究_1
目标检测·r语言·cnn