R语言里将vcf文件转换为GenAlEx格式数据
### GenAlEx 格式[https://grunwaldlab.github.io/Population_Genetics_in_R/Data_Preparation.html](https://grunwaldlab.github.io/Population_Genetics_in_R/Data_Preparation.html)
在这个链接里有介绍
如果有了这个格式的数据可以用R语言的poppr包做主成分分分析。
公众号有读者留言问到如何将vcf格式的数据转换成 genalex格式
我查了一下找到一个链接
[https://rdrr.io/github/green-striped-gecko/dartR/man/gl2genalex.html](https://rdrr.io/github/green-striped-gecko/dartR/man/gl2genalex.html)
## Converts a genlight object into a format suitable for input to genalex
如何获取 genlight object
找到了一个参考链接
[https://cran.r-project.org/web/packages/vcfR/vignettes/converting_data.html](https://cran.r-project.org/web/packages/vcfR/vignettes/converting_data.html)
这里需要用到vcfR这个R包
## 安装这两个R包
```
install.packages("vcfR")
BiocManager::install("SNPRelate")
install.packages("dartR")
install.packages("poppr")
```
## 加载R包
```
library(vcfR)
library(dartR)
library(poppr)
```
## 读取vcf文件进行转换
```
vcf<-read.vcfR("D:/Jupyter/practice/rMVP_GWAS/smoove.filtered.impute.vcf.gz")
x <- vcfR2genlight(vcf)
x$ind.names ## 按照这个顺序准备一个群体分组
pop(x)<-sample(c("pop1","pop2","pop3"),102,replace = TRUE) ## 我这里的群体分组是随便给的
gl2genalex(x,outfile = "smoove.csv",outpath = "D:/Jupyter/practice/rMVP_GWAS")
```
## 部分输出结果
!(https://cdn.nlark.com/yuque/0/2024/png/657790/1717391366311-d7e33d0a-099d-4a5a-bf4d-4ccd483d2fca.png#averageHue=%23f7f6f5&clientId=ufbec0281-bca2-4&from=paste&height=383&id=ua4f38186&originHeight=383&originWidth=1102&originalType=binary&ratio=1&rotation=0&showTitle=false&size=40574&status=done&style=none&taskId=ue4c15065-a8c4-4013-913a-1b9b1072873&title=&width=1102)
**欢迎大家关注我的公众号**
**小明的数据分析笔记本**
> 小明的数据分析笔记本 公众号 主要分享:1、R语言和python做数据分析和数据可视化的简单小例子;2、园艺植物相关转录组学、基因组学、群体遗传学文献阅读笔记;3、生物信息学入门学习资料及自己的学习笔记!
>
页:
[1]