## ----setup, include = FALSE--------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>", crop = NULL ) ## ----warning=FALSE, message=FALSE--------------------------------------------- library("scp") library("scpdata") leduc <- leduc2022() ## ----------------------------------------------------------------------------- leduc <- leduc[, , 1:30] leduc <- selectRowData(leduc, c( "Sequence", "Leading.razor.protein", "Reverse", "Potential.contaminant", "PEP" )) ## ----------------------------------------------------------------------------- leduc <- filterFeatures(leduc, ~ Reverse != "+" & Potential.contaminant != "+" & PEP < 0.01) ## 1. leduc <- zeroIsNA(leduc, i = names(leduc)) ## 2. leduc <- filterNA(leduc, i = names(leduc), pNA = 0.9999) leduc <- subsetByColData( ## 3. leduc, leduc$SampleType %in% c("Monocyte", "Melanoma cell") ) leduc <- dropEmptyAssays(leduc) ## 4. ## ----message=FALSE------------------------------------------------------------ isIdentified <- function(x) colSums(!is.na(x)) != 0 leduc <- aggregateFeatures( leduc, i = names(leduc), name = paste0("id_", names(leduc)), fcol = "Sequence", fun = isIdentified ) ## ----message=FALSE------------------------------------------------------------ leduc <- joinAssays( leduc, i = grep("^id_", names(leduc)), name = "id" ) ## ----------------------------------------------------------------------------- isMissing <- is.na(assay(leduc[["id"]])) assay(leduc[["id"]])[isMissing] <- FALSE ## ----------------------------------------------------------------------------- reportMissingValues(leduc, "id", by = leduc$SampleType) ## ----------------------------------------------------------------------------- ji <- jaccardIndex(leduc, "id", by = leduc$SampleType) ## ----------------------------------------------------------------------------- library("ggplot2") ggplot(ji) + aes(x = jaccard) + geom_histogram() + facet_grid(~ by) ## ----------------------------------------------------------------------------- csc <- cumulativeSensitivityCurve(leduc, "id", by = leduc$SampleType, batch = leduc$Set, niters = 10, nsteps = 30) ## ----------------------------------------------------------------------------- (plCSC <- ggplot(csc) + aes(x = SampleSize, y = Sensitivity, colour = by) + geom_point(size = 1)) ## ----------------------------------------------------------------------------- predCSC <- predictSensitivity(csc, nSample = 1:30) plCSC + geom_line(data = predCSC) ## ----------------------------------------------------------------------------- predictSensitivity(csc, nSamples = Inf) ## ----citation----------------------------------------------------------------- citation("scp")