全基因组关联分析(GWAS)大家都不陌生,今天我们给大家介绍下各种格式之间转化在R语言是怎么实现的。首先我们来看下GWAS都有哪些数据格式:
1. HapMap格式,这也是当时全基因组计划的简称,自此这个也成为了其主要的一种文件格式。
其变量构成:
名称 | 描述 |
---|---|
rs# | SNP的标识符 |
alleles | 基于NCBI数据库的SNP等位基因 |
chrom | SNP所在的染色体 |
pos | SNP在染色体上的位置 |
strand | 相对于参考序列的方向,( )前,(-)反 |
assembly# | NCBI参考序列的版本 |
center | 基因分型 |
protLSID | HapMap protocol |
assayLSID | HapMap assay used for genotyping |
panelLSID | panel of individuals genotyped |
QCcode | 质量控制 |
…… | 样本数据 |
数据实例:
2. plink数据 ped/map。这个数据格式需要两个文件共同保存数据一个map文件一个ped数据文件。
Ped文件的结构:
名称 | 描述 |
---|---|
Family ID | |
Sample ID | 样本ID |
Paternal ID | 父辈,0代表没有 |
Maternal ID | 母亲辈,0代表没有 |
Sex code | 1-male,2-female,0-unknown |
Phenotype value | 1-control,2-case,-9/0/无-数据丢失 |
Map文件结构:
名称 | 描述 |
---|---|
Chromosome code | 染色体编号 |
SNP ID | |
Genetic distance | SNP 位置信息,如果不确定,可以设成0 |
Physical position | 碱基对的坐标信息 |
3. BED/BIM/FAM文件
BED文件结构主要是二进制文件,它的具体内容我们估计不好看,就以网页的数据为例,给大家看下长啥样子:
BIM文件结构:
名称 | 描述 |
---|---|
Chromosome | |
SNP ID | |
Genetic distance | |
Physical position | |
Allele 1 | |
Allele 2 |
FAM文件的结构:
名称 | 描述 |
---|---|
Family ID | |
Sample ID | |
Paternal ID | |
Maternal ID | |
Sex | |
Affection | 0-unknown,1-unaffected,2-affected |
以上就是GWAS主要的文件结构,在R语言中还有另外一个结构就是GDS结构,此结构由R包gdsfmt进行创建编辑。今天我们主要讲下在包SNPRelate中如何实现这些数据结构之间的转化。
首先看下包的安装,还是需要bioconductor环境进行启动安装:
source("https://bioconductor.org/biocLite.R")
biocLite("SNPRelate")#转化plink数据格式为gds的包
接下来看下里面数据转化的主要函数:
函数名称 | 功能 |
---|---|
snpgdsPED2GDS | 将ped/map文件转化为GDS |
snpgdsBED2GDS | 将BED/BIM/FAM文件转化为GDS |
snpgdsGDS2PED | 将GDS文件转化为PED/MAP文件 |
snpgdsGDS2BED | GDS转化为BED/BIM/FAM文件 |
snpgdsVCF2GDS | VCF文件转化为GDS文件 |
通过以上函数的转化,我们就可以利用在R包或者相关软件中算法进行下面的相关性计算分析。比如R中的GWASTools中的assoRegression函数就可以利用GDS文件进行相关性分析。
欢迎大家学习交流!