You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用adegenet读取PLINK文件报错:部分个体缺少-5 SNPs求助

解决adegenet read.PLINK报错"some individuals do not have -5 SNPs"

这个错误本质是adegenet读取PLINK .raw文件时,发现部分个体的有效SNP数量不符合预期(.raw文件前5列是个体信息,后续列是SNP基因型,程序会用总列数-5作为预期SNP数,若某个体的有效基因型数远低于此就会触发报错)。结合你已经做过QC的情况,试试以下方案:

1. 修正na.strings参数设置

你当前把0也设为缺失值,但PLINK .raw文件中0是合法的纯合参考基因型(对应AA型,1为杂合AB,2为纯合BB),将其标记为缺失会导致大量基因型被判定为无效,直接触发SNP数量不足的错误。修改代码,仅保留-9作为缺失标记:

FST_pop <- read.PLINK("data1.raw", na.strings = "-9", sep = "\t", select.subjects = NULL, select.snps = NULL, map.file = NULL, quiet = FALSE, chunkSize = 1000, parallel = require("parallel"), n.cores = 1)

用文本编辑器打开data1.raw,确认:

  • 前5列严格为FID, IID, PAT, MAT, SEX,无错位或缺失
  • 后续每列对应一个SNP的基因型,值为0/1/2/-9
  • 分隔符确实是制表符(\t),没有混用空格或其他分隔符导致列数统计错误

3. 重新执行正确的PLINK样本QC步骤

确认你执行的是样本缺失率过滤(而非仅过滤SNP):

# 第一步:过滤样本缺失率>1%的个体
plink --bfile your_raw_data --mind 0.01 --make-bed --out qc_filtered_samples
# 第二步:重新导出符合要求的.raw文件
plink --bfile qc_filtered_samples --recode A --out data1

注:--mind 0.01是过滤样本缺失率,--geno 0.01是过滤SNP缺失率,二者需配合使用才能同时清理不合格的样本和SNP。

4. 手动定位异常样本

如果以上步骤仍无效,用PLINK生成样本缺失率报告,手动剔除极端异常的个体:

plink --bfile your_raw_data --missing --out sample_missing_stats

查看sample_missing_stats.imiss文件,找到F_MISS(样本总缺失率)过高的个体,在PLINK中用--remove参数剔除后再导出.raw文件。

内容的提问来源于stack exchange,提问作者JosephMuthivhi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 18:34:57