PLINK/SEQ association test

本文介绍PLINK/seq工具在遗传学研究中的应用,包括单变异、基因及基因集关联性检测方法,如Burden、Uniq、VT、FQRWGT、C-alpha和Sumstat测试。同时,讲解了基于置换的统计方法,如线性和逻辑回归测试,以及如何处理缺失基因型数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PLINK/seq可以检测表型-表型之间的相关性,用permutation或者asymptotic statistics。可以基于单变异,基因,也可以基于gene sets。

single variant association

检测一个变异和疾病(dichotomous outcome)的相关性:

pseq proj v-assoc --phenotype my.phenotype

当对于单个VCF文件,可以不用创建项目。在例子中,–phenotype含有2个参数:文件名和表型label:

pseq data.vcf.gz v-assoc --phenotype phenotype.txt my.phenotype

Default情况下,v-assoc 用Fisher’s exact test做等位基因的,显性的和隐性的单突变检验。但是,要基于特定次数permutation来计算empirical significance values,要加上:

--perm 10000

若用适应性的permutations:

--perm -1

具体输出详见下图:
在这里插入图片描述

Linear and logistic regression tests

依然基于单个突变,用logistic regression,可用glm

pseq proj glm --phenotype phe1 --covar mds1 mds2

这类检验会基于表型(定量表型或者二分表型)。目前仅asymptotic p-values可用。对于罕见突变,这个分析的power较低,甚至可能不可行(一个mask option比如maf=0.02要在跑相关性分析前筛一下。)

Gene/group-based association tests

做set-based association(set可用为gene, pathway, or other entity):

pseq proj assoc --phenotype my.phenotype --msk loc.group=refseq

assoc命令目前假定一个二分的表型,在default下,这个命令用adaptive permutation。如果要用固定的permutation数,则要加:

--perm 10000

其他筛选可以基于mask功能来实现,这里grouping factor必须用--refseq(包含在LOCDB里)。特定的,如果着眼于罕见突变,可以用mask来筛选minor allele count or frequency:

pseq proj assoc --phenotype phe1 --mask loc.group=refseq mac=2-20

在这里插入图片描述
其中,NVAR表示突变数目。Default下,是基于burden test的case-control minor alleles的比较。P值基于permutation,经验显著性(empirical significance)。I列表示proportion of null replicates for which the best test statistic was tied. 这是一种测量统计上经验分布分离性的方法,可以有效给出一个可能的最小经验P-value。比如一个基因仅有一个突变,且这个突变在case和control里出现次数一样,那么I=0.5。过滤掉过高的I可以使得P值的分布更加合理。这个和GWAS里去除低minor allele frequencies (eg. < 1%)是差不多的。
PSEQ有一系列的gene-based的方法。

Ouput labelStatistic–optionsDirectionality
BURDENExcess of rare alleles in cases compard to controlsno-burden (tests included by default, use to remove)d1-sided
UNIQCount of case-unique rare allelesuniq1-sided
VTvariable threshold testvt1-sided
FQRWGTFrequency-weighted test, in spirit of Madsen-Bowningfw1-sided
CALPHAC-alpha testcalpha2-sided
SUMSTATsum of single-site statisticssumstat2-sided

对于BURDEN test,DESC域包含 case/control nimor alleles的数目。对UNIQ,包含在case/control里case-only non-reference alleles的数目。在C-alpha里,frequency breakdown,意思是哪些有特殊case/control count的minor allele的突变数目。
另外还有一些检验,比如step-up test, CMC test, KBAC test。

Permutation

绝大部分相关性检验基于permutation去得到empirical p-values。
维持tests之间的correlation:对于每一个检验的个体(variant, gene, pathway),一个一致的set的permutation会执行。因此,这会保留test statistic的correlation的pattern。
分层的permutation:如果INDDB提供了一个合适的factor,可以执行分层permutation:

–strata batch
Adaptive permutations: 对于每个检验对应的permutation的次数可以被指定:
–perm 10000
Permutation and missing data: default下,permutation是不管missing genotype data的(default下,任何有missing genotype的个体都会在做相关性分析之前被去除)。如果要用那些对于某个variant(或者a group of variants or gene-based tests)没有missing genotype data的个体,可以加参数如下:
–options fix-null

具体参考官网

<think>好的,我现在需要解决用户在使用Plink2时遇到的`--out`参数错误问题。根据用户描述,错误信息是“Error: --out only accepts 1 argument”,这说明`--out`参数被传递了多个参数,而它只能接受一个。用户已经提供了一些相关的引用内容,我需要结合这些信息来找出解决方案。 首先,查阅用户提供的引用[2],里面提到`--out`参数用于指定输出文件的路径和名称,并且需要确保路径有效且有权限。这可能涉及到路径中的空格或特殊字符导致的问题。如果路径中有空格,可能被命令行解析为多个参数,从而触发错误。例如,如果用户输入的是`--out my output`,这里的“my”和“output”会被视为两个参数,导致错误。正确的做法应该是使用引号包裹路径,如`--out "my output"`。 接下来,检查用户可能的命令格式。假设用户的命令类似于`plink2 --file data --out ./results/output`,如果路径中包含空格而没有引号,就会报错。此外,用户可能错误地在`--out`后面添加了多个参数,比如`--out output1 output2`,这显然不符合参数要求。 另外,引用[2]还建议更改`--out`参数的路径,确保Plink有权限写入。需要确认用户指定的目录是否存在,是否有写入权限。如果路径不存在,应该先创建目录;如果权限不足,需要使用`chmod`修改权限,或者更换到有权限的目录。 此外,引用[3]提到关于`ioctl()`函数的错误处理,虽然不直接相关,但提醒我需要检查系统级别的权限问题,比如文件系统权限是否阻碍了Plink的写入操作。这可能与`--out`参数指定的目录权限有关,需要用户检查。 总结可能的解决方案步骤: 1. 检查`--out`参数后的路径是否包含空格或特殊字符,使用引号包裹。 2. 确保`--out`参数后仅跟随一个有效路径和文件名。 3. 验证目标目录是否存在且具有写入权限。 4. 尝试简化路径,避免复杂结构,测试是否能成功。 最后,生成相关问题,帮助用户深入理解类似问题的解决方法,比如权限处理、其他参数错误等。</think>针对Plink2命令中`--out`参数报错的问题,以下是逐步解决方案: ### 错误原因分析 错误信息`Error: --out only accepts 1 argument`表明`--out`参数后传递了多个参数(例如路径包含空格或格式错误),或参数语法不符合要求[^2]。 ### 解决方案步骤 1. **检查路径格式** - 若输出路径包含**空格或特殊字符**(如`C:\My Outputs`),需用**英文引号包裹路径**: ```bash plink2 --file input --out "路径/包含空格或特殊字符的目录/文件名" ``` - 示例: ```bash plink2 --file data --out "./results/my analysis/output" ``` 2. **确保参数唯一性** `--out`参数仅接受**一个完整路径**作为输入。若命令中`--out`后跟随多个单词(未用引号包裹),系统会识别为多个参数。 ❌ 错误示例: ```bash plink2 --file data --out ./results output # 错误!"output"被识别为额外参数 ``` ✅ 正确示例: ```bash plink2 --file data --out ./results/output ``` 3. **验证路径权限** - 确保目标目录**存在**且用户有**写入权限**。可通过以下命令检查权限: ```bash ls -ld 目标目录 # 查看目录权限 ``` - 若无权限,使用`chmod`修改权限或更换目录: ```bash chmod +w 目标目录 # 添加写入权限 ``` 4. **简化路径测试** 尝试使用**简单路径**(如当前目录)排除路径复杂性干扰: ```bash plink2 --file data --out test_output ``` ### 其他注意事项 - 若使用Windows系统,路径分隔符需用反斜杠`\`,但建议统一使用正斜杠`/`以避免转义问题。 - 避免文件名含特殊符号(如`*`, `?`, `>`),可能导致解析错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值