R

使用R语言计算遗传力

2020-02-08  本文已影响0人  生信小王子

欢迎关注微信公众号"生信小王子"!

遗传力 (Heritability) 又称遗传率,指遗传方差在总方差(表型方差)中所占的比值。遗传力表明某一性状受到遗传控制的程度。它介于0到1之间,当遗传力为1时,表型变异完全由遗传因素决定,当遗传力为0时表型变异由环境因素决定。

我们可以使用R包" lme4 "来计算遗传力。

## 安装R包

install.packages("lme4")

## 加载R包

library("lme4")

根据表型数据的收集方式,我们可以将数据分为多点无重复数据、多点有重复数据和多年多点有重复数据。每种类型数据计算遗传力的方法有细微差别,需要分情况对待。

多点无重复数据

多点无重复数据输入文件格式如下:

每列代表样本名,种植地点和表型值。保存为制表符分隔的txt文件。

## 导入表型数据

phe <- read.table("phe.txt", header =T, sep="\t")

trait <- phe$Trait

line <- phe$Line

loc <- phe$Loc

TRAIT <- as.numeric(trait)

LINE <- as.factor(line)

LOC <- as.factor(loc)

## 建模

blup <- lmer(TRAIT~(1|LINE)+(1|LOC))

summary(blup)

我们可以看到遗传方差Vg为0.1970,残差方差Ve为0.2866,环境个数L为2。

遗传力计算公式为:

## 计算遗传力

h <- 0.197/(0.197+0.2866/2)

结果为0.578901。

多点有重复数据

多点有重复数据输入文件格式如下:

每列代表样本名,重复,种植地点和表型值。保存为制表符分隔的txt文件。

## 防止报错,需先执行这一步

options(lmerControl=list(check.nobs.vs.rankZ ="warning",check.nobs.vs.nlev = "warning",check.nobs.vs.nRE= "warning",check.nlev.gtreq.5 = "warning",check.nlev.gtr.1= "warning"))

## 导入表型数据

phe <- read.table("phe.txt", header =T, sep="\t")

trait <- phe$Trait

line <- phe$Line

loc <- phe$Loc

rep <- phe$Rep

TRAIT <- as.numeric(trait)

LINE <- as.factor(line)

LOC <- as.factor(loc)

REP <- as.factor(rep)

## 建模

blup <- lmer(TRAIT~(1|LINE)+(1|LOC)+(1|REP%in%LOC)+(1|LINE:LOC))

summary(blup)

遗传力计算公式为:

## 计算遗传力

h <-0.196543/(0.196543+0.001014/2+0.286031/(2*2))

结果为0.7318463。

多年多点有重复数据

多年多点有重复数据输入文件格式如下:

每列代表样本名,重复,年份,种植地点和表型值。保存为制表符分隔的txt文件。

## 防止报错,需先执行这一步

options(lmerControl=list(check.nobs.vs.rankZ ="warning",check.nobs.vs.nlev = "warning",check.nobs.vs.nRE= "warning",check.nlev.gtreq.5 = "warning",check.nlev.gtr.1= "warning"))

## 导入表型数据

phe <- read.table("phe.txt", header =T, sep="\t")

trait <- phe$Trait

line <- phe$Line

loc <- phe$Loc

rep <- phe$Rep

year <- phe$Year

TRAIT <- as.numeric(trait)

LINE <- as.factor(line)

LOC <- as.factor(loc)

REP <- as.factor(rep)

YEAR <- as.factor(year)

## 建模

blup <-lmer(TRAIT~(1|LINE)+(1|LOC)+(1|YEAR)+(1|REP%in%LOC:YEAR)+(1|LINE:LOC)+(1|LINE:YEAR))

summary(blup)

遗传方差Vg为0.19187,品种与环境互作方差Vge为0.00949,品种与年份互作方差Vgy为0.01023,残差方差Ve为0.25782,重复数R为2,年份数Y为2,环境个数L为2。遗传力计算公式为:

## 计算遗传力

h <- 0.19187/(0.19187+0.00949/2+0.01023/2+0.286031/(2*2*2))

结果为0.8079285。

参考资料:

https://www.jianshu.com/p/668e3be27530

https://cloud.tencent.com/developer/article/1445670

上一篇下一篇

猜你喜欢

热点阅读