A function to generate signalomes

Signalomes(KSR, predMatrix, exprsMat, KOI, threskinaseNetwork=0.9,
signalomeCutoff=0.5, module_res = NULL, filter = FALSE, verbose = TRUE)

Arguments

KSR

kinase-substrate relationship scoring results

predMatrix

output of kinaseSubstratePred function

exprsMat

a matrix with rows corresponding to phosphosites and columns corresponding to samples

KOI

a character vector that contains kinases of interest for which expanded signalomes will be generated

threskinaseNetwork

threshold used to select interconnected kinases for the expanded signalomes

signalomeCutoff

threshold used to filter kinase-substrate relationships

module_res

parameter to select number of final modules

filter

parameter to filter modules with only few proteins

verbose

Default to TRUE to show messages during the progress. All messages will be suppressed if set to FALSE

Value

A list of 3 elements. Signalomes, proteinModules and kinaseSubstrates

Examples

# \donttest{
data('phospho_L6_ratio_pe')
data('SPSs')
data('PhosphoSitePlus')

grps = gsub('_.+', '', colnames(phospho.L6.ratio.pe))

# Construct a design matrix by condition
design = model.matrix(~ grps - 1)

# phosphoproteomics data normalisation using RUV

L6.sites = paste(sapply(GeneSymbol(phospho.L6.ratio.pe), function(x)paste(x)),
                 ";",
                 sapply(Residue(phospho.L6.ratio.pe), function(x)paste(x)),
                 sapply(Site(phospho.L6.ratio.pe), function(x)paste(x)),
                 ";", sep = "")
ctl = which(L6.sites %in% SPSs)
phospho.L6.ratio.RUV = RUVphospho(
    SummarizedExperiment::assay(phospho.L6.ratio.pe, "Quantification"), 
    M = design, k = 3, ctl = ctl)

phosphoL6 = phospho.L6.ratio.RUV

# filter for up-regulated phosphosites
phosphoL6.mean <- meanAbundance(phosphoL6, grps = grps)
aov <- matANOVA(mat=phosphoL6, grps=grps)
phosphoL6.reg <- phosphoL6[(aov < 0.05) &
                         (rowSums(phosphoL6.mean > 0.5) > 0),, drop = FALSE]
L6.phos.std <- standardise(phosphoL6.reg)
idx <- match(rownames(L6.phos.std), rownames(phospho.L6.ratio.pe))
rownames(L6.phos.std) <- L6.sites[idx]

L6.phos.seq <- Sequence(phospho.L6.ratio.pe)[idx]

L6.matrices <- kinaseSubstrateScore(PhosphoSite.mouse, L6.phos.std,
                                    L6.phos.seq, numMotif = 5, numSub = 1)
#> Number of kinases passed motif size filtering: 114
#> Number of kinases passed profile size filtering: 44
#> Scoring phosphosites against kinase motifs:
#> 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.
#> 72.
#> 73.
#> 74.
#> 75.
#> 76.
#> 77.
#> 78.
#> 79.
#> 80.
#> 81.
#> 82.
#> 83.
#> 84.
#> 85.
#> 86.
#> 87.
#> 88.
#> 89.
#> 90.
#> 91.
#> 92.
#> 93.
#> 94.
#> 95.
#> 96.
#> 97.
#> 98.
#> 99.
#> 100.
#> 101.
#> 102.
#> 103.
#> 104.
#> 105.
#> 106.
#> 107.
#> 108.
#> 109.
#> 110.
#> 111.
#> 112.
#> 113.
#> 114.
#> done.
#> Scoring phosphosites against kinase-substrate profiles:
#> done.
#> Generating combined scores for phosphosites
#> by motifs and phospho profiles:
#> done.

set.seed(1)
L6.predMat <- kinaseSubstratePred(L6.matrices, top=30)
#> Predicting kinases for phosphosites:
#> 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.
#> done

kinaseOI = c('PRKAA1', 'AKT1')

Signalomes_results <- Signalomes(KSR=L6.matrices,
                                 predMatrix=L6.predMat,
                                 exprsMat=L6.phos.std,
                                 KOI=kinaseOI)
#> calculating optimal number of clusters...
#> optimal number of clusters = 3

# }