predict_classes-ConsensusPartition-method: Predict classes for new samples based on cola classification

Description Usage Arguments Details Value See Also Examples

Description

Predict classes for new samples based on cola classification

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
## S4 method for signature 'ConsensusPartition'
predict_classes(object, k, mat,
    silhouette_cutoff = 0.5,
    fdr_cutoff = cola_opt$fdr_cutoff,
    group_diff = cola_opt$group_diff,
    scale_rows = object@scale_rows,
    diff_method = "Ftest",
    dist_method = c("euclidean", "correlation", "cosine"), nperm = 1000,
    p_cutoff = 0.05, plot = TRUE, force = FALSE,
    verbose = TRUE, help = TRUE, prefix = "")

Arguments

object

A ConsensusPartition-class object.

k

Number of subgroups to get the classifications.

mat

The new matrix where the sample classes are going to be predicted. The number of rows should be the same as the original matrix for cola analysis (also make sure the row orders are the same). Be careful that the scaling of mat should be the same as that applied in cola analysis.

silhouette_cutoff

Send to get_signatures,ConsensusPartition-method for determining signatures.

fdr_cutoff

Send to get_signatures,ConsensusPartition-method for determining signatures.

group_diff

Send to get_signatures,ConsensusPartition-method for determining signatures.

scale_rows

Send to get_signatures,ConsensusPartition-method for determining signatures.

diff_method

Send to get_signatures,ConsensusPartition-method for determining signatures.

dist_method

Distance method. Value should be "euclidean", "correlation" or "cosine". Send to predict_classes,matrix-method.

nperm

Number of permutatinos. It is used when dist_method is set to "euclidean" or "cosine". Send to predict_classes,matrix-method.

p_cutoff

Cutoff for the p-values for determining class assignment. Send to predict_classes,matrix-method.

plot

Whether to draw the plot that visualizes the process of prediction. Send to predict_classes,matrix-method.

force

If the value is TRUE and when get_signatures,ConsensusPartition-method internally failed, top 1000 rows with the highest between-group mean difference are used for constructing the signature centroid matrix. It is basically used internally.

verbose

Whether to print messages. Send to predict_classes,matrix-method.

help

Whether to print help messages.

prefix

Used internally.

Details

The prediction is based on the signature centroid matrix from cola classification. The processes are as follows:

1. For the provided ConsensusPartition-class object and a selected k, the signatures that discriminate classes are extracted by get_signatures,ConsensusPartition-method. If number of signatures is more than 2000, only 2000 signatures are randomly sampled. 2. The signature centroid matrix is a k-column matrix where each column is the centroid of samples in the corresponding class, i.e. the mean across samples. If rows were scaled in cola analysis, the signature centroid matrix is the mean of scaled values and vise versa. Please note the samples with silhouette score less than silhouette_cutoff are removed for calculating the centroids. 3. With the signature centroid matrix and the new matrix, it calls predict_classes,matrix-method to perform the prediction. Please see more details of the prediction on that help page. Please note, the scales of the new matrix should be the same as the matrix used for cola analysis.

Value

A data frame with two columns: the class labels (in numeric) and the corresponding p-values.

See Also

predict_classes,matrix-method that predicts the classes for new samples.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
data(golub_cola)
res = golub_cola["ATC:skmeans"]
mat = get_matrix(res)
# note scaling should be applied here because the matrix was scaled in the cola analysis
mat2 = t(scale(t(mat)))
cl = predict_classes(res, k = 3, mat2)
# compare the real classification and the predicted classification
data.frame(cola_class = get_classes(res, k = 3)[, "class"],
           predicted = cl[, "class"])
# change to correlation method
cl = predict_classes(res, k = 3, mat2, dist_method = "correlation")
# compare the real classification and the predicted classification
data.frame(cola_class = get_classes(res, k = 3)[, "class"],
           predicted = cl[, "class"]) 

cola documentation built on Nov. 8, 2020, 8:12 p.m.