% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/Diversity.R
\name{Diversity}
\alias{Diversity}
\title{Diversity function for FCM data}
\usage{
Diversity(x, d = 4, plot = FALSE, R = 999, progress = TRUE)
}
\arguments{
\item{x}{Microbial fingerprint generated by flowBasis(). flowBasis class object.}

\item{d}{Rounding factor for density values. Defaults to 4.}

\item{plot}{Make plot of diversity values? Defaults to FALSE.}

\item{R}{Number of bootstraps to conduct. Defaults to 999}

\item{progress}{Should progress be reported? Defaults to yes.}
}
\description{
This function calculates Hill diversity metrics from FCM data but does so without
resampling the individual samples. Use this function to compare samples with
more or less equal number of cells, with more than 10,000 cells or to get a quick approximation.
This function is much faster than its Diversity_rf() counterpart.
Go to https://github.com/rprops/Phenoflow_package/wiki/Effect-of-sample-size for more information.
}
\examples{
## Short example

# Load precomputed fingerprint object
data(CoolingTower)

# Calculate diversity values
Diversity(CoolingTower, plot=TRUE)

## Full data processing example

# Load raw data (imported using flowCore)
data(flowData)
# Asinh transform and select parameters of interest (cells were stained with Sybr Green I).
flowData_transformed <- flowCore::transform(flowData,`FL1-H`=asinh(`FL1-H`),
       `SSC-H`=asinh(`SSC-H`), 
       `FL3-H`=asinh(`FL3-H`), 
       `FSC-H`=asinh(`FSC-H`))
param=c('FL1-H', 'FL3-H','SSC-H','FSC-H')
flowData_transformed = flowData_transformed[,param]

# Create a PolygonGate for denoising the dataset
# Define coordinates for gate in sqrcut1 in format: c(x,x,x,x,y,y,y,y)
sqrcut1 <- matrix(c(8.75,8.75,14,14,3,7.5,14,3),ncol=2, nrow=4)
colnames(sqrcut1) <- c('FL1-H','FL3-H')
polyGate1 <- flowCore::polygonGate(.gate=sqrcut1, filterId = 'Total Cells')

# Gating quality check
flowViz::xyplot(`FL3-H` ~ `FL1-H`, data=flowData_transformed[1], filter=polyGate1,
         scales=list(y=list(limits=c(0,14)),
         x=list(limits=c(6,16))),
         axis = lattice::axis.default, nbin=125, 
         par.strip.text=list(col='white', font=2, cex=2), smooth=FALSE)
 
 # Isolate only the cellular information based on the polyGate1
 flowData_transformed <- flowCore::Subset(flowData_transformed, polyGate1)
 
 # Normalize parameter values to [0,1] interval based on max. value across parameters
 summary <- flowCore::fsApply(x=flowData_transformed,FUN=function(x) apply(x,2,max),use.exprs=TRUE)
 max = max(summary[,1])
 mytrans <- function(x) x/max
 flowData_transformed <- flowCore::transform(flowData_transformed,`FL1-H`=mytrans(`FL1-H`),
         `FL3-H`=mytrans(`FL3-H`), 
         `SSC-H`=mytrans(`SSC-H`),
         `FSC-H`=mytrans(`FSC-H`))
 
 # Calculate fingerprint
 fbasis <- flowFDA::flowBasis(flowData_transformed, param, nbin=128, 
         bw=0.01, normalize=function(x) x)
 
 # Calculate diversity
 Diversity(fbasis, plot=TRUE)
}
\keyword{alpha}
\keyword{diversity,}
\keyword{fcm,}
