QTL定位:Rqtl2输入文件

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
    第一行为标记的名称,第一列为个体名称,中间为标记。这里的标记名称要与图谱中的标记顺序一致。


    genotype.csv
  • map
    图谱文件中主要记录标记在图谱上的位置,第一列为标记名称,第二列为连锁群,第三列为标记在连锁群上的位置。


    map.csv
  • phenotype
    表型数据文件中第一行为表型名称,第一列为个体名称,要与基因型文件中顺序一致。


    phenotype.csv

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")
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")
snp matrix

以上步骤只解决了genotype的问题,还需要再手动整理map和phenotype。

引用转载请注明出处,如有错误敬请指出。

你可能感兴趣的:(QTL定位:Rqtl2输入文件)