生信

GWAS分析(R包GAPIT)之二(数据准备)

2022-02-24  本文已影响0人  风知秋

2.1 准备表型数据

第一行是表头,第一列是个体号,其余每一列一个表型,Tab键分隔。

2.2 准备基因型数据

可以接受 standard HapMap format 或 numeric format。

第一种,Hapmap Format。

在基因型数据前有11列数据。尽管这11列数据都必须有,但读取的时候只读取第1、3、4列数据,其余数据可填充为NA。另,基因型数据可以是两个碱基形式的,也可以是单碱基形式的,如下表所示:

第二种,Numeric format。

这种格式的需要两个文件,一个指定SNP名称、染色体、和位置;一个指定所有个体在该位点的基因型。

指定SNP名称、染色体、和位置 指定所有个体的基因型

一般的计算,准备以上 2 个数据文件就可以进行计算了。


2.3 Kinship

无表头数据,表示亲缘关系的一个矩阵。

2.4 Covariate variables

一个包含协变量的文件,包括群体结构之类的信息。第一列是个体名称,后面每一列都是协变量的值。


具体操作:

表型文件不多赘述,笔者重复一遍 numeric format 格式的基因型文件的生成方式。

vcftools --vcf  xx.vcf   --012  --out   xx_matrix  #利用 vcftools 将 vcf 文件生成数字矩阵的结果。

上述操作会生成 3 个文件,分别是  xx_matrix.012、xx_matrix.012.pos、xx_matrix.012.indv。

awk  '{print NR "\t" $1 "\t" $2}' xx_matrix.012.pos > snp_information.txt

 #给每一个 SNP 增加一列 SNP 位点的名称,这里第一个位点命名为 1,第二个位点命名为 2,等等。

sed -i '1i Name Chromosome Position' snp_information.txt

#增加第一行的变量名

sed -i 's/chr0//g' snp_information.txt

sed  's/chr//g' snp_information.txt  >  mdp_snp_information.txt

#保险起见,将染色体名字由 chr01 等换成示例文件中的 1。

SNP_INFORMATION的文件处理完成,接下来处理基因型文件,vcftools 直接生成的文件如下图所示:每一行表示一个个体,每一列表示一个位点,第一列是个体名称。

接下来,首先替换个体名称,利用 xx_matrix.012.indv 文件。

paste  xx_matrix.012.indv  xx_matrix.012  >  numeric.txt    #给每一行加上个体名称

awk '{$2=""; print $0}' numeric.txt > numeric.txt  #删除文件第二列(原本的数字命名)

然后给每一列变量增加名称:我的操作是先生成变量名称的文件。

awk  '{print  $1}'  snp_information.txt   >  snp_name

sed -i 's/Name/taxa/g'  snp_name

paste -s  snp_name  >  snp_name  #转置文件

cat  snp_name  numeric.txt  > mdp_numeric.txt  #合并变量名和基因型文件

以上,生成计算所需基因型文件。

mdp_snp_information.txt mdp_numeric.txt

相关链接:

GWAS分析(R包GAPIT)之一(相关包的安装)

GWAS分析(R包GAPIT)之二(数据准备)

GWAS分析(R包GAPIT)之三(计算运行)

上一篇下一篇

猜你喜欢

热点阅读