SeSAMe implements inference of sex, age, ethnicity. These are valuable information for checking the integrity of the experiment and detecting sample swaps.

Sex

Sex is inferred based on our curated X-linked probes and Y chromosome probes excluding pseudo-autosomal regions.

sset = sesameDataGet('EPIC.1.LNCaP')$sset
inferSex(sset)
## [1] "MALE"
inferSexKaryotypes(sset)
## [1] "XaY"

Ethnicity

Ethnicity is inferred using a random forest model trained based on both the built-in SNPs (rs probes) and channel-switching Type-I probes.

inferEthnicity(sset)
## [1] "WHITE"

Age

SeSAMe provides age regression a la the Horvath 353 model.

betas <- sesameDataGet('HM450.1.TCGA.PAAD')$betas
predictAgeHorvath353(betas)
## [1] 84.13913

Mean intensity

The mean intensity of all the probes characterize the quantity of input DNA and efficiency of probe hybridization.

meanIntensity(sset)
## [1] 3171.483

Copy Number

SeSAMe performs copy number variation in three steps: 1) normalizes the signal intensity using a copy-number-normal data set; 2) groups adjacent probes into bins; 3) runs DNAcopy internally to group bins into segments.

ssets.normal <- sesameDataGet('EPIC.5.normal')
segs <- cnSegmentation(sset, ssets.normal)

To visualize segmentation in SeSAMe,

visualizeSegments(segs)

Cell Composition Deconvolution

SeSAMe estimates leukocyte fraction using a two-component model.This function works for samples whose targeted cell-of-origin is not related to white blood cells.

betas.tissue <- sesameDataGet('HM450.1.TCGA.PAAD')$betas
estimateLeukocyte(betas.tissue)
## [1] 0.2007592