0
点赞
收藏
分享

微信扫一扫

hapmap 格式 转化为Plink格式方法

扒皮狼 2021-09-19 阅读 70

1.需求说明

进行重测序或者GBS时,hapmap是比较常见的格式,生信中经常使用这种格式。但是在GWAS和GS中,数据筛选,质控,构建矩阵都是使用的plink的格式。本文介绍如何tassel和vcftools两个软件,将hapmap格式的数据转化为plink格式的数据。

环境:linux系统

2. 安装软件

首先,要安装anaconda或者miniconda,然后使用conda install进行软件安装, 安装conda方法:https://docs.anaconda.com/anaconda/install/linux/

2.1 安装tassel

tassel的按照方法,使用git将文件copy到本地,然后将里面的内容(可执行文件) copy到home下的bin文件中, 不用设置路径了。

git clone https://bitbucket.org/tasseladmin/tassel-5-standalone.git

2.2 安装vcftools

https://anaconda.org/bioconda/vcftools

2.3 安装R语言

https://anaconda.org/r/r

3. 文件格式

3.1  hapmap格式:genotype.hmp.txt

行头:

内容:

3.2 plink格式:ped和map

plink格式是基因组选择中经常用到的文件类型, plink软件功能强大,运行速度快。

3.2.1.map格式

格式说明链接: http://zzz.bwh.harvard.edu/plink/data.shtml#map

map格式的文件, 主要是图谱文件信息, 主要包括染色体名称, 所在的染色体和所在染色体的坐标.

1, map文件没有行头

2, map文件包括四列: 染色体, SNP名称, SNP位置,  碱基对坐标

染色体编号为数字, 未知为0

SNP名称为字符或数字, 如果不重要, 可以从1编号, 注意要和bed文件SNP列一一对应

染色体的摩尔未知(可选项, 可以用0)

SNP物理坐标

3, 如果只有SNP名称, 可以手动构建map文件, 第二列为SNP名称, 其它三列为0即可.

Example:

这里有3个SNP, 分别名为snp1, snp3, snp3(第二列)

这三个SNP在第一个染色体上(第一列)

第三列为0

第四列为SNP所在染色体的坐标

3.2.2.ped格式

格式说明链接:http://zzz.bwh.harvard.edu/plink/data.shtml#ped

bed格式的文件, 主要包括SNP的信息, 包括个体ID, 系谱信息, 表型和SNP的分型信息.

1, 数据没有行头, 空格或者tab隔开的文件 2, 必须要有六列, 包括系谱信息, 表型信息

第一列: Family ID # 如果没有, 可以用个体ID代替

第二列: Individual ID # 个体ID编号

第三列:  Paternal ID # 父本编号

第四列:  Maternal ID # 母本编号

第五列:  Sex (1=male; 2=female; other=unknown) # 性别, 如果未知, 用0表示

第六列:  Phenotype # 表型数据, 如果未知, 用0表示

第七列以后: 为SNP分型数据, 可以是AT CG或11 12, 或者A T C G或1 1 2 2

3, 上面六列, 必须要有, 如果没有相关数据, 用0表示.

Example:

数据包括两个家系(第一列)

每个家系有三个个体(第二列)

第三列父本编号

第四列母本编号

第五列性别

第六列表型值

第七列, 第八列为一个基因型

第九列, 第十列为第二个基因型

第十一列, 第十二列为第三个基因型

4. 测试数据

将下面文件保存为:hmp.txt 注意, 知乎中是.,但数据应该是#,下面这个代码是正确的。

5. 处理代码

5.1 排序

生成一个test.sort.hmp.txt的

5.2 生成 vcf4.0 格式的文件

生成一个test.vcf文件

5.3 使用vcftools生成plink文件

生成tassel.test.vcf2plink文件

5.4 使用plink将vcf文件, 变为bed文件

5.5 使用plink将bed文件转化为map和ped文件

结果生成:result.ped和result.map文件:

另外,可以编写R代码,提取map文件,将代码转化,然后转置,但是效率较低。

特别注意:在执行上述步骤之前要对数据进行质控,确保原始数据内不包含错误行,数据行的分隔符不要错误。

6. 参考资料

https://zhuanlan.zhihu.com/p/38590403

举报

相关推荐

0 条评论