PAM50-class: PAM50 S4 implementation in R

Description Slots Superclassses Subclasses Function Author(s) References See Also Examples

Description

This is a concrete MolecularPermutationClassifier based on Perou et al. (2000 & 2010) PAM50 molecular signature, using genefu package implementation (Haibe-Kains et al. 2014).

Slots

parameters

named list with at least the following fields:

$nPerm

integer with number of permutations. Default: 1e4L

$where

character with significant value used. Default value is "fdr".

$pCutoff

numeric with p-value or fdr cutoff used, i.e., variable<pCutoff. Default: 0.01

$keep

should null distribution simulation values be kept?. Default: FALSE

corCutoff

PAM50 additional numeric parameter with the correlation difference between classes cutoff used, i.e., |ρ(profile,class_A)-ρ(profile,classB)|>corCutoff

exprs

matrix with gene exprs profile, where genes are in rows and subjects as columns, a.k.a., M matrix.

annotation

data.frame with individual annotations (genes, etc). Minimal compulsory fields are:

$probe

same characters as in row.names(M).

$EntrezGene.ID

integer with NCBI Entrez Data Base.

$NCBI.gene.symbol

character with gene mnemonic, a.k.a. gene symbol.

targets

data.frame with additional subject data (optional).

classification

named list with at least the following fields:

$subtype

factor with PAM50 subtype of each sample.

$probability

matrix with the subtype probability of each subtype per sample, as in genefu library.

$correlation

matrix with the observed correlation of each subtype per sample.

permutation

named list with at least the following fields:

$correlation

Only if keep==TRUE is a list of the five subtypes containing a matrix with the permuted null distribution correlations.

$pvalues

matrix with the subject's p-values of the permutation test per subject.

$fdr

matrix with the corresponding adjusted p-values.

$subtype

data.frame where each subject has the reported "PAM50" subtype, the "Permuted" test result i.e. "Assigned", "Not Assigned" or "Ambiguous"; "Classes" whether is a single PAM50 subtype or more than one if Ambiguous case; "Class" if it is needed to assign just one i.e., a single PAM50 subtype or Not Assigned.

Superclassses

Direct descendant from MolecularPermutationClassifier-class.

Subclasses

None declared.

Function

Redefinition from MolecularPermutationClassifier: filtrate, classify, permutate, subjectReporta and databaseReport.

Author(s)

Cristobal Fresno cfresno@bdmg.com.ar, German A. Gonzalez ggonzalez@bdmg.com.ar, Andrea S. Llera allera@leloir.org.ar and Elmer Andres Fernandez efernandez@bdmg.com.ar

References

  1. Haibe-Kains B, Schroeder M, Bontempi G, Sotiriou C and Quackenbush J, 2014, genefu: Relevant Functions for Gene Expression Analysis, Especially in Breast Cancer. R package version 1.16.0, www.pmgenomics.ca/bhklab/

  2. Perou CM, Sorlie T, Eisen MB, et al., 2000, Molecular portraits of human breast tumors. Nature 406:747-752.

  3. Perou CM, Parker JS, Prat A, Ellis MJ, Bernard PB., 2010, Clinical implementation of the intrinsic subtypes of breast cancer, The Lancet Oncology 11(8):718-719

See Also

Other MolecularPermutationClassifier PAM50: filtrate, loadBCDataset

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
##Example 1: Create a PAM50 object -----------------------------------------  
##1) Just an empty object
object<-PAM50()
object

##2) Using Breast Cancer NKI database, if available. 
if(requireNamespace("breastCancerNKI")){
    object<-loadBCDataset(Class=PAM50, libname="nki", verbose=TRUE)  
    object    
    ##Now we can inspect the object   
    head(exprs(object))      ##The gene expression    
    head(annotation(object)) ##The available annotation 
    head(targets(object))    ##The clinical data present in the package  
}

##Example 2: Build a PAM50 object with user data -------------------------   
##Option 1: using PAM50 constructor. The user will only need:   
##a) The M gene expression object, i. e., gene in rows and sample in columns  
##b) The annotation data.frame which must include the compulsory fields   
## "probe", "NCBI.gene.symbol" and "EntrezGene.ID"
M<-pam50$centroids
genes<-pam50$centroids.map
names(genes)<-c("probe", "NCBI.gene.symbol", "EntrezGene.ID")  
object<-PAM50(exprs=M, annotation=genes)   
object

##Option 2: Two ways to build it from a MAList (as or as.PAM50)-------------
##Let's use PAM50 classifier's centroids toy example, i. e., the five subject 
##subtypes, which must correctly classify all the subject. 
M<-pam50$centroids
genes<-pam50$centroids.map
names(genes)<-c("probe", "NCBI.gene.symbol", "EntrezGene.ID")  
maux<-new("MAList", list(M=M, genes=genes))  
##calling as function  
object<-as(maux, "PAM50")   
object
##same result with as.PAM50 function
object<-as.PAM50(maux)
object

##Example3: Work with PAM50 object: filtrate, classify and permutate--------
##1)Keep only annotated genes presentes in PAM50 centroids 
object<-filtrate(object, verbose=TRUE)   

##2)Get PAM50 subtypes without any normalization   
object<-classify(object, std="none", verbose=TRUE)  
##Now we can inspect the how the calssification went
head(classification(object))

##3)Obtain the permutation subtype 
##Let's run a quick example with 100 permutations. It is recommended at 
##least 10.000   
object<-permutate(object, nPerm=100, pCutoff=0.01, corCutoff=0.1, 
    keep=TRUE, seed=1234567890, verbose=TRUE)  
object
##Now we can inspect the how the permutation went
head(permutation(object))
##Which parameters were used? 
parameters(object)

##Example 4: Obtain summary statistics and reports--------------------------  
##1) Let's check if we have a diagonal contigency matrix, i. e., no mistake   
##is made in subtype assesment.
summary(object)

##2)Let's take a look at the how the patient genes behave according 
## to PAM50  
subjectReport(object, subject=1)   
##3)Just get a pdf with all the used subjects (PAM50 centroids in this    
##example).
#databaseReport(object, fileName="PAM50.pdf", verbose=TRUE)  

pbcmc documentation built on Nov. 1, 2018, 2:09 a.m.