PAM50-class {pbcmc} | R Documentation

## PAM50 S4 implementation in R

### 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

    ##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)

[Package pbcmc version 1.8.0 Index]