## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
    eval = TRUE,
    collapse = TRUE,
    comment = "#>",
    out.width = "100%",
    dev = "png",
    dpi = 60,
    fig.height = 4.2,
    fig.width = 5.6
)

## ----install_pkg, eval=FALSE--------------------------------------------------
# if (!requireNamespace("BiocManager", quietly = TRUE)) {
#     install.packages("BiocManager")
# }
# 
# BiocManager::install("RankMap")

## ----load_pkgs----------------------------------------------------------------
library(RankMap)
library(Seurat)

## ----read_sc------------------------------------------------------------------
seu_sc <- readRDS(system.file("extdata", "seu_sc.rds", package = "RankMap"))
seu_sc

## ----read_xen-----------------------------------------------------------------
seu_xen <- readRDS(system.file("extdata", "seu_xen.rds", package = "RankMap"))
seu_xen

## ----run_rankmap--------------------------------------------------------------
pred_df <- RankMap(
    ref_data = seu_sc,
    ref_labels = seu_sc$cell_type,
    new_data = seu_xen,
    k = 20
)

## ----pred_res-----------------------------------------------------------------
head(pred_df)

## ----pred_performance---------------------------------------------------------
perf <- evaluatePredictionPerformance(
    prediction_df = pred_df,
    truth = seu_xen$cell_type_SingleR
)
perf

## ----load_pkg_sce-------------------------------------------------------------
library(SingleCellExperiment)

## ----prepare_sce_data---------------------------------------------------------
sce_sc <- SingleCellExperiment(
    assays = list(
        counts = GetAssayData(seu_sc, layer = "counts"),
        logcounts = GetAssayData(seu_sc, layer = "data")
    ),
    colData = seu_sc[[]] # seu_sc@meta.data
)

sce_sp <- SingleCellExperiment(
    assays = list(
        counts = GetAssayData(seu_xen, layer = "counts"),
        logcounts = GetAssayData(seu_xen, layer = "data")
    ),
    colData = seu_xen[[]] # seu_xen@meta.data
)

## ----run_rankmap_sce----------------------------------------------------------
pred_df <- RankMap(
    ref_data = sce_sc,
    ref_labels = sce_sc$cell_type,
    new_data = sce_sp,
    k = 100
)

## ----pred_performance_sce-----------------------------------------------------
perf <- evaluatePredictionPerformance(
    prediction_df = pred_df,
    truth = sce_sp$cell_type_SingleR
)
perf

## ----sessioninfo--------------------------------------------------------------
sessionInfo()

