Rqtl2是Rqtl的加强更新版,可以更好地处理高维数据和复杂的群体设计,对于图形输出也有了较强的改善。
0.功能概述
Rqtl2所有功能的简单描述在以下链接:
https://kbroman.org/qtl2/pages/rqtl2_functions.html
主要包括:
- Data import
- Data subsetting
- Combining data
- Genotype reconstruction
- Genotype imputation
- Kinship matrix calculations
- Marker maps
- QTL analysis
- QTL summaries
- Data diagnostics
- Data summaries
- QTL plots
- Diagnostic plots
- SNP/gene databases
- Utility functions
- Boring print functions
……
R/qtl2支持的群体有BC,F2,DH,RIL等,但是要注意,不支持CP群体!!
-
genotype
第一行为标记的名称,第一列为个体名称,中间为标记。这里的标记名称要与图谱中的标记顺序一致。
-
map
图谱文件中主要记录标记在图谱上的位置,第一列为标记名称,第二列为连锁群,第三列为标记在连锁群上的位置。
-
phenotype
表型数据文件中第一行为表型名称,第一列为个体名称,要与基因型文件中顺序一致。
1.R/qtl格式转R/qtl2格式
R/qtl格式在下面链接中介绍过,如果已经准备好了R/qtl格式,那么可以直接通过R/qtl2的convert2cross2()函数直接进行转换:
1.QTL定位:Rqtl—— Single-QTL analysis - 简书 (jianshu.com)
> library('qtl')
> listeria.a <- read.cross("csv", ".", "gen.csv")
> library('qtl2')
> qtl2data<-convert2cross2(listeria.a)
这种方法的好处是,直接将genotype,phenotype和map三个文件同时整理好。
2.VariantAnnotation
R包VariantAnnotation主要用于遗传变异注释、计算氨基酸编码变化、预测编码结果等。利用genotypeToSnpMatrix()函数可以将VCF格式转化为qtl2()所需的基因型格式。
说明书:https://www.rdocumentation.org/packages/VariantAnnotation/versions/1.18.5
> if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
> BiocManager::install("VariantAnnotation")
> library('VariantAnnotation')
报错缺什么就装什么,直到调用成功。
> vcf <- readVcf("genotype.snp.vcf")
> snp.matrix <- genotypeToSnpMatrix(vcf, uncertain = FALSE)
> snp.matrix.transposed <- t(as(snp.matrix$genotypes, "character"))
> write.table(snp.matrix.transposed, "SNP_matrix_test.csv", sep="\t")
以上步骤只解决了genotype的问题,还需要再手动整理map和phenotype。
引用转载请注明出处,如有错误敬请指出。