citrus.calculateFeatures: Calculate descriptive cluster features

View source: R/citrus.featureFunctions.R

citrus.calculateFeaturesR Documentation

Calculate descriptive cluster features

Description

Calculate descriptive properties for each cluster in each sample

Usage

citrus.calculateFeatures(citrus.combinedFCSSet, clusterAssignments, clusterIds,
  featureType = "abundances", conditions = NULL, ...)

Arguments

citrus.combinedFCSSet

A citrus.combinedFCSSet object.

clusterAssignments

List of indicies of cluster assignments for each cluster.

clusterIds

Vector of cluster ID's for which to calculate features.

featureType

Type of feature to calculate. Valid options are: abundances and medians. See citrus.calculateFeature.* functions for feature-type specific arguments.

conditions

Vector of conditions for which to calculate features. See details.

...

Other arguments passed to individual feature-calculation functions.

Details

If conditions=NULL, citrus.calculateFeatures constructs features for all samples in the citrus.combinedFCSSet. If conditions is a single element, citrus.calculateFeatures constructs features for samples in that condition. If conditions contains two elements, the first condition is used as a baseline condition, the second is used as a comparison condition, and citrus.calculateFeatures returns the difference in feature values between the comparison and baseline conditions.

Value

Matrix of cluster features

Author(s)

Robert Bruggner

See Also

citrus.calculateFeature.type

Examples

######################################################
# Calculate cluster abundances for single condition
######################################################
# Where the data lives
dataDirectory = file.path(system.file(package = "citrus"),"extdata","example1")

# Create list of files to be analyzed
fileList = data.frame("unstim"=list.files(dataDirectory,pattern=".fcs"))

# Read the data
citrus.combinedFCSSet = citrus.readFCSSet(dataDirectory,fileList)

# List of columns to be used for clustering
clusteringColumns = c("Red","Blue")

# Cluster data
citrus.clustering = citrus.cluster(citrus.combinedFCSSet,clusteringColumns)

# Large enough clusters
largeEnoughClusters = citrus.selectClusters(citrus.clustering)

# Build features
abundanceFeatures = citrus.calculateFeatures(citrus.combinedFCSSet,clusterAssignments=citrus.clustering$clusterMembership,clusterIds=largeEnoughClusters)


######################################################
# Calculate median levels of functional markers in
# stimulated conditions relative to unstimluated
# condtion
######################################################
# Where the data Lives
dataDirectory = file.path(system.file(package = "citrus"),"extdata","example2")

# Create list of files to be analyzed
fileList = data.frame(unstim=list.files(dataDirectory,pattern="unstim"),stim1=list.files(dataDirectory,pattern="stim1"))

# Read the data
citrus.combinedFCSSet = citrus.readFCSSet(dataDirectory,fileList)

# Vector of parameters to be used for clustering
clusteringColumns = c("LineageMarker1","LineageMarker2")

# Vector of parameters to calculate medians for
functionalColumns = c("FunctionalMarker1","FunctionalMarker2")

# Cluster data
citrus.clustering = citrus.cluster(citrus.combinedFCSSet,clusteringColumns)

# Large enough clusters
largeEnoughClusters = citrus.selectClusters(citrus.clustering)

# Build features
medianDifferenceFeatures = citrus.calculateFeatures(citrus.combinedFCSSet,
                                                clusterAssignments=citrus.clustering$clusterMembership,
                                                clusterIds=largeEnoughClusters,
                                                featureType="medians",
                                                medianColumns=functionalColumns,
                                                conditions=c("unstim","stim1"))

nolanlab/citrus documentation built on April 19, 2024, 6:49 p.m.