Plink软件被广泛应用,在遗传学,全基因组关联分析中占据重要位置。通常基因型文件存储为VCF格式、Hapmap格式,Plink软件也有自己的文件格式,下面是学习笔记。
Plink中常用的文件输入是map文件和ped文件,这两个文件可以从VCF文件(Plink,VCFtools, tassel)或者Hapmap文件(tassel)转换生成,或者自己写软件完成,有个问题,在VCF转换Hapmap文件时,Hapmap文件Ref allele 和Alt allele的顺序并非VCF中顺序,需要注意。
此外,Plink中也可以将上面的基因型文件转换为二进制格式的bed、bim、fam文件格式。下面进行几种常用文件的介绍。
map/ped文件在Plink中通常输出的文件存在,tped和tfam为二者的转置文件。
Map文件(variant information text file)主要记录变异位置信息,由四列构成(map文件没有列名,无Header信息):
## 官网描述
Chromosome code. (PLINK 1.9 and 2.0 also permit contig names here, but most older programs do not.)
Variant ID (SNPs)
Position in centimorgans (optional; safe to use dummy value of '0')
Base-pair coordinate (1-based; limited to 231-2)
其实就是:染色体号,标记名,遗传距离cM, 物理位置
Chromosome
Marker ID
Genetic distance
Physical position
遗传距离通常没有,可以使用0代替,也可以使用-9,-9在Plink中代表缺失。例如下面玉米的基因型数据默认生成即为 -9。
## 人类数据
21 rs11511647 0 26765
X rs3883674 0 32380
X rs12218882 0 48172
9 rs10904045 0 48426
9 rs10751931 0 49949
8 rs11252127 0 52087
10 rs12775203 0 52277
8 rs12255619 0 52481
## 玉米数据
1 chr1.s_7111 -9 7111
1 chr1.s_7140 -9 7140
1 chr1.s_7141 -9 7141
1 chr1.s_21184 -9 21184
1 chr1.s_21632 -9 21632
1 chr1.s_23154 -9 23154
1 chr1.s_23578 -9 23578
Ped文件(Pedigree information + genotype call text file)主要记录系谱和基因型信息。
Ped文件没有表头,每行包含6+2V个数据(空格或tab分割),前6列为系谱信息列,其中2V为基因型列。第7列开始为基因型列。
其中第7列和第8列为第一个材料的基因型,第9列和第10列为第二个材料的基因型,以此类推,因此,V个材料有2V列表示其基因型。
前6列信息如下:
Family ID ('FID')
Individual ID ('IID'; cannot be '0')
Individual ID of father ('0' if father isn't in dataset)
Individual ID of mother ('0' if mother isn't in dataset)
Sex code ('1' = male, '2' = female, '0' = unknown)
Phenotype value ('1' = control, '2' = case, '-9'/'0'/non-numeric = missing data if case/control)
举例:
FAM1 NA06985 0 0 1 1 A T T T G G C C A T T T G G C C
FAM1 NA06991 0 0 1 1 C T T T G G C C C T T T G G C C
0 NA06993 0 0 1 1 C T T T G G C T C T T T G G C T
0 NA06994 0 0 1 1 C T T T G G C C C T T T G G C C
0 NA07000 0 0 2 1 C T T T G G C T C T T T G G C T
0 NA07019 0 0 1 1 C T T T G G C C C T T T G G C C
0 NA07022 0 0 2 1 C T T T G G 0 0 C T T T G G 0 0
0 NA07029 0 0 1 1 C T T T G G C C C T T T G G C C
FAM2 NA07056 0 0 0 2 C T T T A G C T C T T T A G C T
FAM2 NA07345 0 0 1 1 C T T T G G C C C T T T G G C C
为了节省存储和时间,而已使用Plink binary格式数据(3个文件):prefix.bed 、prefix.bim 、 prefix.fam。
分别介绍三个文件的格式,由此课件bed为binary格式,另外两个仍为文本格式。
生成命令为:
## mydata为map/ped前缀
plink --file mydata --out mydata --make-bed
mydata.bed
mydata.fam
mydata.bim
默认输出的前缀是plink:
plink.bed ( binary file, genotype information )
plink.fam ( first six columns of mydata.ped )
plink.bim ( extended MAP file: two extra cols = allele names)
prefix.fam文件内容如下:
Family ID ('FID')
Individual ID ('IID'; cannot be '0')
Individual ID of father ('0' if father isn't in dataset)
Individual ID of mother ('0' if mother isn't in dataset)
Sex code ('1' = male, '2' = female, '0' = unknown)
Phenotype value ('1' = control, '2' = case, '-9'/'0'/non-numeric = missing data if case/control)
例子:
-9 MG_1086_X_MG_1542 -9 -9 0 -9
-9 MG_682_X_MG_1542 -9 -9 0 -9
-9 MG_442_X_MG_1542 -9 -9 0 -9
-9 MG_930_X_MG_1542 -9 -9 0 -9
prefix.bim文件内容如下:
Chromosome
Marker ID
Genetic distance
Physical position
Minor Allele
Major Allele
例子:
1 chr1.s_7111 -9 7111 T C
1 chr1.s_7140 -9 7140 T C
1 chr1.s_7141 -9 7141 T C
1 chr1.s_21184 -9 21184 C A
二进制文件:
详细基因型编码规则参看:
http://www.cog-genomics.org/plink/1.9/formats#bed
Hapmap文件转为二进制格式
#!/usr/bin/bash
for i in M1404.hmp
do
echo start processing $i
echo `date`
# convert hmp to plink(map/ped)
run_pipeline.pl -Xms51200m -Xmx500600m -fork1 -h $i\
-export ${i/.hmp} -exportType Plink
echo ${i/hmp}plk
plink --file ${i/hmp}plk --make-bed --out ${i/.hmp} &
done
参考:
https://www.animalgenome.org/bioinfo/resources/manuals/plink_files
https://www.cog-genomics.org/plink/2.0/formats#ped (软件说明)
https://zzz.bwh.harvard.edu/plink/data.shtml#map (软件说明)
https://www.jianshu.com/p/f7bbd57ccafd (plink简单使用)