traitInfo: R6 Class representing information of traits (especially...

traitInfoR Documentation

R6 Class representing information of traits (especially simulated ones)

Description

traitInfo object store specific information of traits (especially simulated ones).

Public fields

lociInfo

[lociInfo class] lociInfo of the specie

nMarkers

[numeric] Number of markers for each chromosome

nTraits

[numeric] Number of traits assumed in this breeding scheme

traitNames

[character] Names of traits

nQTLs

[matrix] Number of QTLs of each chromosome for each trait

qtlVarList

[list] A list of variances of QTLs for additive/dominance, pleiotropy, and epistasis

  • $qtlPle: A variance of QTLs for pleiotropy

  • $qtlEach: A variance of QTLs for each trait (except epistasis)

  • $qtlEpi: A variance of QTLs for each trait (epistasis)

qtlOverlap

[logical] If TRUE, pleiotropy across traits will be assumed

nOverlap

[numeric] Number of QTLs common across traits for each chromosome

effCor

[numeric] Correlation of pleiotropic QTL effects between traits

propDomi

[numeric] Proportion of dominant effects for each trait

interactionMean

[numeric] The expected number that each QTL interacts with others for each trait

actionTypeEpiSimple

[logical] If TRUE, 'actionTypeEpi' will be same as 'actionType' for each QTL.

seedSelectMarker

[numeric] Random seed for selecting marker information

seedSelectQTLEach

[numeric] Random seed for selecting each QTL and its effect (it should have the same length as nTraits)

seedSelectQTLPle

[numeric] Random seed for selecting pleiotropic QTLs and their effects

seedSelectQTLDom

[numeric] Random seed for selecting QTL positions with dominant effects (it should have the same length as nTraits)

seedSelectQTLEpi

[numeric] Random seed for selecting epistasis and its effect (it should have the same length as nTraits)

mrkPos

[numeric] Marker positions

mrkPosEachChr

[list] Marker positions for each chromosome

qtlPos

[list] QTL positions for each trait

qtlEachPos

[list] Positions of QTLs specific to one trait for each trait

qtlPlePos

[list] Pleiotropic QTL positions for each trait

qtlEpiPos

[list] Epistatic QTL positions for each trait

qtlPosEachChrList

[list] QTL positions for each trait for each chromosome

qtlEachPosEachChrList

[list] Positions of QTLs specific to one trait for each trait for each chromosome

qtlPlePosEachChrList

[list] Pleiotropic QTL positions for each trait for each chromosome

qtlNamesList

[list] QTL names for each trait

qtlEachNamesList

[list] Names of QTLs common to one trait for each trait

qtlPleNamesList

[list] Pleiotropic QTL names for each trait

qtlEpiNamesList

[list] Epistatic QTL names for each trait

qtlAllNamesList

[list] All QTL names for each trait (including epistatic effects)

actionType

[list] A list of vectors representing additive by 0 and dominance by 1 for each trait

actionTypeEpi

[list] A list of matrix representing additive by 0 and dominance by 1 for epitasis for each trait

qtlEff

[list] QTL effects for each trait

qtlPleEff

[list] Pleiotropic QTL effects for each trait

qtlEachEff

[list] Effects of QTLs specific to one trait for each trait

qtlEpiEff

[list] Epistatic QTL effects for each trait

qtlAllEff

[list] All QTL effects for each trait (including epistasis)

nQTLsEach

[numeric] Number of QTLs specific to each trait

nEpi

[numeric] Number of epistatic effects

Methods

Public methods


Method new()

Create a new traitInfo object.

Usage
traitInfo$new(
  lociInfo,
  nMarkers,
  nTraits = NULL,
  traitNames = NULL,
  nQTLs = NULL,
  qtlVarList = NULL,
  qtlOverlap = TRUE,
  nOverlap = NULL,
  effCor = NULL,
  propDomi = NULL,
  interactionMean = NULL,
  actionTypeEpiSimple = TRUE,
  qtlPleNamesList = NULL,
  qtlEachNamesList = NULL,
  seedSelectMarker = NA,
  seedSelectQTLEach = NA,
  seedSelectQTLPle = NA,
  seedSelectQTLDom = NA,
  seedSelectQTLEpi = NA
)
Arguments
lociInfo

[lociInfo class] lociInfo of the specie

nMarkers

[numeric] Number of markers for each chromosome

nTraits

[numeric] Number of traits assumed in this breeding scheme

traitNames

[character] Names of traits

nQTLs

[matrix] Number of QTLs of each chromosome for each trait

qtlVarList

[list] A list of variances of QTLs for additive/dominance, pleiotropy, and epistasis

  • $qtlPle: A variance of QTLs for pleiotropy

  • $qtlEach: A variance of QTLs for each trait (except epistasis)

  • $qtlEpi: A variance of QTLs for each trait (epistasis)

qtlOverlap

[logical] If TRUE, pleiotropy across traits will be assumed

nOverlap

[numeric] Number of QTLs common across traits for each chromosome

effCor

[numeric] Correlation of pleiotropic QTL effects between traits

propDomi

[numeric] Proportion of dominant effects for each trait

interactionMean

[numeric] The expected number that each QTL interacts with others for each trait

actionTypeEpiSimple

[logical] If TRUE, 'actionTypeEpi' will be same as 'actionType' for each QTL.

qtlPleNamesList

[list] Pleiotropic QTL names for each trait

qtlEachNamesList

[list] Names of QTLs common to one trait for each trait

seedSelectMarker

[numeric] Random seed for selecting marker information

seedSelectQTLEach

[numeric] Random seed for selecting each QTL and its effect (it should have the same length as nTraits)

seedSelectQTLPle

[numeric] Random seed for selecting pleiotropic QTLs and their effects

seedSelectQTLDom

[numeric] Random seed for selecting QTL positions with dominant effects (it should have the same length as nTraits)

seedSelectQTLEpi

[numeric] Random seed for selecting epistasis and its effect (it should have the same length as nTraits)

Returns

A new 'traitInfo' object.

Examples
mySimInfo <- simInfo$new(simName = "Simulation Example",
                         simGeno = TRUE,
                         simPheno = TRUE,
                         nSimGeno = 1,
                         nSimPheno = 3,
                         nCoreMax = 4,
                         nCorePerGeno = 1,
                         nCorePerPheno = 3,
                         saveDataFileName = NULL)

### create specie information
mySpec <- specie$new(nChr = 3,
                     lChr = c(100, 150, 200),
                     specName = "Example 1",
                     ploidy = 2,
                     mutRate = 10^-8,
                     recombRate = 10^-7,
                     recombRateOneVal = FALSE,
                     chrNames = c("C1", "C2", "C3"),
                     nLoci = 100,
                     effPopSize = 100,
                     simInfo = mySimInfo,
                     verbose = TRUE)

### create SNP information
myLoci <- lociInfo$new(genoMap = NULL,
                     specie = mySpec,
                     seedSimGeno = NA,
                     lociNames = NULL,
                     founderNames = NULL)


### create traitInfo object
myTrait <- traitInfo$new(lociInfo = myLoci,
                         nMarkers = 80,
                         nTraits = 3,
                         nQTLs = c(4, 8, 3),
                         actionTypeEpiSimple = TRUE,
                         qtlOverlap = TRUE,
                         nOverlap = c(2, 3, 0),
                         effCor = 0.1,
                         propDomi = 0.2,
                         interactionMean = c(4, 1, 2))
print(myTrait)


Method genoMapDetail()

Detail information of map for marker genome

Usage
traitInfo$genoMapDetail(lociNames = NULL)
Arguments
lociNames

[character] loci ids

Examples
myLoci$genoMapDetail()
myLoci$genoMapDetail("Loci_6")

Method print()

Display summary information about the object: traitInfo

Usage
traitInfo$print()

Method plot()

plot QTL map using the plotly package

Usage
traitInfo$plot(
  alphaMarker = 0.05,
  alphaQTL = 0.8,
  sizeMarker = 5,
  sizeQTLmin = 6,
  sizeQTLmax = 12
)
Arguments
alphaMarker

[numeric] transparency for markers see plot_ly

alphaQTL

[numeric] transparency for QTLs see plot_ly

sizeMarker

[numeric] size for markers

sizeQTLmin

[numeric] size for QTL with minimum effect

sizeQTLmax

[numeric] size for QTL with maximum effect

Examples
myLoci$plot(alphaMarker = 0.1, alphaQTL = 0.9,
            sizeMarker = 5, sizeQTLmin = 6, sizeQTLmax = 12)

Method clone()

The objects of this class are cloneable with this method.

Usage
traitInfo$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.

Examples


## ------------------------------------------------
## Method `traitInfo$new`
## ------------------------------------------------

mySimInfo <- simInfo$new(simName = "Simulation Example",
                         simGeno = TRUE,
                         simPheno = TRUE,
                         nSimGeno = 1,
                         nSimPheno = 3,
                         nCoreMax = 4,
                         nCorePerGeno = 1,
                         nCorePerPheno = 3,
                         saveDataFileName = NULL)

### create specie information
mySpec <- specie$new(nChr = 3,
                     lChr = c(100, 150, 200),
                     specName = "Example 1",
                     ploidy = 2,
                     mutRate = 10^-8,
                     recombRate = 10^-7,
                     recombRateOneVal = FALSE,
                     chrNames = c("C1", "C2", "C3"),
                     nLoci = 100,
                     effPopSize = 100,
                     simInfo = mySimInfo,
                     verbose = TRUE)

### create SNP information
myLoci <- lociInfo$new(genoMap = NULL,
                     specie = mySpec,
                     seedSimGeno = NA,
                     lociNames = NULL,
                     founderNames = NULL)


### create traitInfo object
myTrait <- traitInfo$new(lociInfo = myLoci,
                         nMarkers = 80,
                         nTraits = 3,
                         nQTLs = c(4, 8, 3),
                         actionTypeEpiSimple = TRUE,
                         qtlOverlap = TRUE,
                         nOverlap = c(2, 3, 0),
                         effCor = 0.1,
                         propDomi = 0.2,
                         interactionMean = c(4, 1, 2))
print(myTrait)


## ------------------------------------------------
## Method `traitInfo$genoMapDetail`
## ------------------------------------------------

myLoci$genoMapDetail()
myLoci$genoMapDetail("Loci_6")

## ------------------------------------------------
## Method `traitInfo$plot`
## ------------------------------------------------

myLoci$plot(alphaMarker = 0.1, alphaQTL = 0.9,
            sizeMarker = 5, sizeQTLmin = 6, sizeQTLmax = 12)

KosukeHamazaki/myBreedSimulatR documentation built on Aug. 31, 2024, 3:55 p.m.