欢迎来到"bio生物信息"的世界
1 前言
早期的研究普遍只做常染色体的全基因组关联分析,很少做性染色体的。
主要原因是性染色体的遗传模式比较复杂,存在X染色体失活,而且男女效应值不大一样。
其次,也不是所有的表型都是男女有差异的。
再然后,也没有很好的工具计算性染色体的关联分析。
随着遗传学的研究发展,现在有很多工具是允许计算性染色体的关联分析。
下面简单介绍一个常见的工具SNPTEST
网址:https://mathgen.stats.ox.ac.uk/genetics_software/snptest/snptest.html
2 SNPTEST支持什么分析
SNPTEST支持很多分析
比如,
二分类、单个或者多个连续型表型的关联分析
贝叶斯、加性模型、显性模型、隐性模型、常规模型、杂合子模型
对一个或多个协变量、SNP位点进行条件分析
变量间的交互作用分析
性染色体关联分析
3 如何使用SNPTEST对性染色体进行关联分析
3.1 下载、安装(以CentOS6.6为例)
对于linux系统而言,建议选择动态链接版本(文件写着dynamic)
wget http://www.well.ox.ac.uk/~gav/resources/snptest_v2.5.4-beta3_CentOS6.6_x86_64_dynamic.tgz
tar zxvf snptest_v2.5.4-beta3_CentOS6.6_x86_64_dynamic.tgz
3.2 准备输入文件
输入文件需要两种类型。一种是表型文件,以.sample
后缀,一种是基因型文件。
3.2.1 表型文件.sample
的准备
下图是表型文件的格式
第一行是表型的title,第二行是对每一列的数据说明。
注意,头两行是必须的,不然会报错。
先讲第一行的格式:
第一列和第二列是样本的family ID 和个体ID。
第三列是missing,指的是样本的缺失率,这一列可以通过plink的--missing
参数获得。
第四列到第七列都是协变量。(红色框框)
第八列到第十一列都是表型。(蓝色框框)
最后一列是性别。(绿色框框)
再讲第二行的格式:
第二行的0 0 0 D D C C P P B B D
又是什么呢
前三个0 0 0
不需要修改,直接照着写。
红色框框D D C C
指的是协变量的类型为离散型(D)和连续型(C)
蓝色框框P P B B
指的是表型的类型为连续型(P)和二分类(B)
绿色框框D
指的是性别为离散型(D)
3.2.2 基因型文件的准备
基因型文件支持三种格式。
第一种:GEN 或 gzipped GEN 格式,以.gen 或 .gen.gz结尾
第二种:BGEN格式,以.bgen结尾
第三种:plink格式,以.bed结尾
3.3 做性染色体的关联分析
输入如下命令:
./snptest \
-data ./example/cohort1_0X.bed ./example/cohort1.sample ./example/cohort2_0X.bed ./example/cohort2.sample \
-o ./example/ex.out \
-method newml \
-frequentist 1 \
-pheno bin1
解释一下这些参数的意思。
-data
后面跟的是一个或多个队列的基因型文件(.bed)和表型文件(.sample),这里列举了两个队列。在实际的分析中,可以只分析一个,也可以同时分析多个队列。
-o
指的是输出的文件路径(./example/)和文件名(ex.out)。
-method
指的是所用的方法。
-frequentist
指的是用的模型。模型可选加性模型、显性模型、隐性模型、常规模型、杂合子模型。分别用1,2,3,4,5表示。 1=Additive, 2=Dominant, 3=Recessive, 4=General and 5=Heterozygote
-pheno
指的是所分析的表型列名。
3.4 可能出现的报错
报错1:!! Error: (genfile::DuplicateIndividualError) A duplicate sample occurs on line 4 of the file
解决方法:这个报错说明ID_1的字段是一样的。需要将ID_1的每个样本修改为独一无二的字符。可以与ID_2保持一致。
报错2:!! Error: the number of individuals (xxx) in the sample file differs from the number (yyy) in the genotypes file
解决方法:将基因型文件(.bed)的顺序和数量与表型文件(.sample)的顺序和数量保持一致
报错3:二分类表型识别不了
解决方法:将二分类表型修改撑0,1编码,SNPtest识别不了1,2