adjustRate: Adjust the overall mutation rate of a model

View source: R/adjustRate.R

adjustRateR Documentation

Adjust the overall mutation rate of a model

Description

Adjusts the overall mutation rate of a model by scaling the off-diagonal matrix entries.

Usage

adjustRate(mutmat, newrate, afreq = NULL, rate = NULL)

Arguments

mutmat

A mutation matrix with nonzero mutation overall rate.

newrate

The new overall mutation rate.

afreq

The allele frequencies. Extracted from the mutation matrix if not provided.

rate

The current overall mutation rate. Calculated from the input if not provided.

Details

The adjusted matrix is calculated as a * M + (1-a) * I, where M is the original matrix, a = newrate/rate, and I is the identity matrix.

The maximum allowed value of newrate (to avoid negative values in the adjusted matrix) is ⁠rate/(1 - m))⁠, where m is the smallest diagonal element in the original matrix.

Value

A new mutation matrix with the adjusted rate.

See Also

mutRate()

Examples

m = mutationMatrix("equal", afreq = c(a=0.2, b=0.3, c=0.5), rate = 0.2)
m
adjustRate(m, 0.4)


magnusdv/pedmut documentation built on June 8, 2025, 4:26 a.m.