前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Phenotype : 大规模表型数据处理工具

Phenotype : 大规模表型数据处理工具

作者头像
生信小王子
发布2020-08-11 10:59:56
1.3K0
发布2020-08-11 10:59:56
举报
文章被收录于专栏:生信小王子生信小王子

表型数据的处理,一直是困扰许多同学的问题。面对大规模的表型数据,如果不会编程,纯用Excel的话,往往会消耗大量精力。

为了解决大规模表型数据难以处理的问题,小编开发了R包"Phenotype",用于剔除表型中的异常值、计算统计指标和遗传力、绘制直方图和进行BLUP分析。

安装R包

该包已在CRAN发布,可以直接安装。

代码语言:javascript
复制
install.packages("Phenotype")

"Phenotype"一共包含4个函数,分为"outlier"、"stat"、"histplot"和"blup"。

outlier:利用boxplot剔除数据中的异常值

在之前的推送中,小编教过大家使用boxplot剔除异常值(利用箱线图巧剔异常值)。基于上述原理,开发了outlier函数,使用方法如下:

代码语言:javascript
复制
## 加载R包
library("Phenotype")
## 导入数据
df <- read.table("brix.txt", header = T,sep = "\t")

outlier包含8个参数。sample/year/loc/rep/phe这5个参数用来设置输入文件的列名,fold指IQR前的倍数,mode设置异常值剔除模式,"normal"表示按照样本剔除异常值,"blup"表示根据环境型和样本剔除异常值。

代码语言:javascript
复制
## 按照样本剔除异常值
inlier <- outlier(df, sample = "Line", loc = "Loc", rep = "Rep", year = "Year", phe = "Brix", fold = 1.5, mode = "normal")
代码语言:javascript
复制
## 按照环境型和样本剔除异常值
inlier <- outlier(df, sample = "Line", loc = "Loc", rep = "Rep", year = "Year", phe = "Brix", fold = 1.5, mode = "blup")

stat:计算表型数值的统计指标

该函数可以用来计算每个材料的平均值、中位数、标准差、标准偏差和样本数量。

代码语言:javascript
复制
## 计算统计指标
stat_out <- stat(x = inlier, sample = "Sample", phe = "inlier")

histplot:绘制正态分布直方图并进行正态分布检验

该函数用来绘制直方图及进行正态分布检验,含有非常多的参数。

代码语言:javascript
复制
## 导入数据
wheatph <- read.table("wheatph.txt", header = T,sep = "\t")
## 剔除异常值
inlier <- outlier(wheatph, sample = "Line", loc = "Env", rep = "Rep", phe = "DS", mode = "blup")
## 计算统计指标
stat_out <- stat(x = inlier, sample = "Sample", phe = "inlier")
## 绘制直方图
histplot(x = stat_out$mean,xlab = "Plant height",ylab = "Number")

图中右上角的P值是Shapiro-Wilk normality test结果,P值小于0.05代表数据不符合正态分布。

blup:计算多年多点表型数据的BLUP值

最佳线性无偏预测(Best Linear Unbiased Prediction,简称BLUP)可以对多环境数据进行整合,去除环境效应,得到个体稳定遗传的表型。该函数可以自动完成异常值剔除、遗传力计算和BLUP分析,共包含7个参数。sample/year/loc/rep/phe这5个参数用来设置输入文件的列名,fold指IQR前的倍数。

代码语言:javascript
复制
## 进行BLUP分析
blup_out <- blup(df, sample = "Line", loc = "Loc", rep = "Rep", year = "Year", phe = "Brix", fold = 1.5)
Heritability = 0.82019463339184

执行完毕后,我们可以得到该表型遗传力为0.82及每个样本的平均值、BLUP值及校正后的平均值(平均值+BLUP值)。

写在最后

包中所有函数的具体参数,均可通过在R语言中输入?函数名来查看。

代码语言:javascript
复制
## 查看outlier函数的参数
?outlier

这是"Phenotype"的第一个公开版本,由于本人水平有限,包中难免有些bug存在。如大家在使用过程中遇到问题,请随时与我联系。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信小王子 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 表型数据的处理,一直是困扰许多同学的问题。面对大规模的表型数据,如果不会编程,纯用Excel的话,往往会消耗大量精力。
  • 为了解决大规模表型数据难以处理的问题,小编开发了R包"Phenotype",用于剔除表型中的异常值、计算统计指标和遗传力、绘制直方图和进行BLUP分析。
    • 安装R包
      • outlier:利用boxplot剔除数据中的异常值
        • stat:计算表型数值的统计指标
          • histplot:绘制正态分布直方图并进行正态分布检验
            • blup:计算多年多点表型数据的BLUP值
              • 写在最后
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档