Learn R Programming

GROAN

GROAN provides a workbench to compare the performances of different genomic regression models. GROAN also allows to study the effect of different kinds of noise on the regression accuracies. You have to input your data (phenotypes, genotypes/covariances, other covariates...), select your regressor(s) and optionally your noise injector. GROAN is crossvalidation-oriented (but masks all the related gritty details). Output is produced in numeric form and, if package ggplot2 is installed, as plots. Two small working datasets (GROAN.KI and GROAN.AI) are included and documented.

Installation

GROAN is installed as a standard R package. It leverages several other packages to implement genomic regressions. These packages are not installed by default, but set as suggested. GROAN will ask you to install any missing package as soon as you try to use it.

Dependencies

GROAN imports: plyr, rmarkdown, rrBLUP GROAN suggests: BGLR, e1071, ggplot2, knitr, randomForest

Documentation

Please see the package vignette for a complete tutorial. What follow is a minimal working example to give the gist of the tool.

#1) creating a noisy dataset with normal noise
nds = createNoisyDataset(
  name = 'PEA, normal noise',
  genotypes = GROAN.KI$SNPs,
  phenotypes = GROAN.KI$yield,
  noiseInjector = noiseInjector.norm,
  mean = 0,
  sd = sd(GROAN.KI$yield) * 0.5
)

#2) creating a GROAN.WorkBench using default regressor and crossvalidation preset
wb = createWorkbench()

#3) running the experiment
res = GROAN.run(nds, wb)

#4) examining results
summary(res)
plotResult(res)

Copy Link

Version

Install

install.packages('GROAN')

Monthly Downloads

224

Version

1.3.1

License

GPL-3 | file LICENSE

Maintainer

Nelson Nazzicari

Last Published

November 28th, 2022

Functions in GROAN (1.3.1)

GROAN.run

Compare Genomic Regressors on a Noisy Dataset
createRunId

Generate a random run id
noiseInjector.swapper

Swap phenotypes between samples
noiseInjector.norm

Inject Normal Noise
createNoisyDataset

Noisy Data Set Constructor
getNoisyPhenotype

Generate an instance of noisy phenotypes
getExtraCovariatesNames

String of extra covariates names
print.GROAN.NoisyDataset

Print a GROAN Noisy Dataset object
phenoRegressor.BGLR

Regression using BGLR package
noiseInjector.unif

Inject Uniform Noise
phenoRegressor.rrBLUP

SNP-BLUP or G-BLUP using rrBLUP package
is.single.slot

Is a single slot thing?
is.naturalnumber

Is a positive integer?
phenoRegressor.rrBLUP.SNP

SNP-BLUP using rrBLUP library
phenoRegressor.dummy

Regression dummy function
ndcg

Function to calculate mean Normalized Discounted Cumulative Gain (NDCG)
phenoregressor.BGLR.multikinships

Multi-matrix GBLUP using BGLR
noiseInjector.dummy

Noise Injector dummy function
print.GROAN.Workbench

Print a GROAN Workbench object
plotResult

Plot results of a run
phenoRegressor.rrBLUP.G

G-BLUP using rrBLUP library
is.in.range

Is in the passed numeric range
phenoRegressor.SVR

Support Vector Regression using package e1071
summary.GROAN.Result

Summary of GROAN.Result
phenoRegressor.RFR

Random Forest Regression using package randomForest
is.boolean

Is a boolean?
createWorkbench

Workbench constructor
measurePredictionPerformance

Measure Performance of a Prediction
is.string

Is a string?
stratified_crossvalidation_folds

Assignments for stratified crossvalidation
dummy.function

Dummy function for import management
summary.GROAN.NoisyDataset

Summary for GROAN Noisy Dataset object
artificialGenotypes

Create a set of artificial genotypes
artificialPhenotypes

Create a set of artificial phenotypes
GROAN.pea.kinship

[DEPRECATED]
GROAN.pea.SNPs

[DEPRECATED]
addRegressor

Add an extra regressor to a Workbench
GROAN.AI

Example data for pea AI lines
GROAN.KI

Example data for pea KI lines
GROAN.pea.yield

[DEPRECATED]
are.compatible

Check two GROAN.NoisyDataSet for dimension compatibility