rarefyDiversity - Generate a clonal diversity index curve


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


rarefyDiversity(data, group, 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, 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 the maximum if automatically determined from the size of the largest group.
confidence interval to calculate; the value must be between 0 and 1.
number of bootstrap realizations to generate.
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. 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.


# Group by sample identifier
div <- rarefyDiversity(ExampleDb, "SAMPLE", step_q=1, max_q=10, nboot=100)

plotDiversityCurve(div, legend_title="Sample")

Warning:Transformation introduced infinite values in continuous x-axisWarning:Transformation introduced infinite values in continuous x-axis6

# Grouping by isotype rather than sample identifier
div <- rarefyDiversity(ExampleDb, "ISOTYPE", min_n=40, step_q=1, max_q=10, 

plotDiversityCurve(div, legend_title="Isotype")

Warning:Transformation introduced infinite values in continuous x-axisWarning:Transformation introduced infinite values in continuous x-axis12

See also

See calcDiversity for the basic calculation and DiversityCurve for the return object. See testDiversity for significance testing. See plotDiversityCurve for plotting the return object.