rarefyDiversity - Generate a clonal diversity index curve


rarefyDiversity divides a set of clones by a group annotation, resamples the sequences from each group, and calculates diversity scores (D) over an interval of diversity orders (q).


clone = "CLONE",
copy = NULL,
min_q = 0,
max_q = 4,
step_q = 0.05,
min_n = 30,
max_n = NULL,
ci = 0.95,
nboot = 2000,
uniform = TRUE,
progress = FALSE


data.frame with Change-O style columns containing clonal assignments.
name of the data column containing group identifiers.
name of the data column containing clone identifiers.
name of the data column containing copy numbers for each sequence. If copy=NULL (the default), then clone abundance is determined by the number of sequences. If a copy column is specified, then clone abundances is determined by the sum of copy numbers within each clonal group.
minimum value of q.
maximum value of q.
value by which to increment q.
minimum number of observations to sample. A group with less observations than the minimum is excluded.
maximum number of observations to sample. If NULL then no maximum is set.
confidence interval to calculate; the value must be between 0 and 1.
number of bootstrap realizations to generate.
if TRUE then uniformly resample each group to the same number of observations. If FALSE then allow each group to be resampled to its original size or, if specified, max_size.
if TRUE show a progress bar.


A DiversityCurve object summarizing the diversity scores.


Clonal diversity is calculated using the generalized diversity index (Hill numbers) proposed by Hill (Hill, 1973). See calcDiversity for further details.

Diversity is calculated on the estimated complete clonal abundance distribution. This distribution is inferred by using the Chao1 estimator to estimate the number of seen clones, and applying the relative abundance correction and unseen clone frequency described in Chao et al, 2015.

To generate a smooth curve, D is calculated for each value of q from min_q to max_q incremented by step_q. When uniform=TRUE variability in total sequence counts across unique values in the group column is corrected by repeated resampling from the estimated complete clonal distribution to a common number of sequences.

The diversity index (D) for each group is the mean value of over all resampling realizations. Confidence intervals are derived using the standard deviation of the resampling realizations, as described in Chao et al, 2015.


  1. Hill M. Diversity and evenness: a unifying notation and its consequences. Ecology. 1973 54(2):427-32.
  2. Chao A. Nonparametric Estimation of the Number of Classes in a Population. Scand J Stat. 1984 11, 265270.
  3. Chao A, et al. Rarefaction and extrapolation with Hill numbers: A framework for sampling and estimation in species diversity studies. Ecol Monogr. 2014 84:45-67.
  4. Chao A, et al. Unveiling the species-rank abundance distribution by generalizing the Good-Turing sample coverage theory. Ecology. 2015 96, 11891201.


### Not run:
# Group by sample identifier
# div <- rarefyDiversity(ExampleDb, "sample_id", step_q=1, max_q=10, nboot=100)
# plotDiversityCurve(div, legend_title="Sample")
# # Grouping by isotype rather than sample identifier
# div <- rarefyDiversity(ExampleDb, "c_call", min_n=40, step_q=1, max_q=10, 
# nboot=100)
# plotDiversityCurve(div, legend_title="Isotype")

See also