## ----setup, include=FALSE-----------------------------------------------------
knitr::opts_chunk$set(
  collapse  = TRUE,
  comment   = "#>"
)

## ----install, eval=FALSE------------------------------------------------------
# # From Bioconductor (once accepted):
# if (!requireNamespace("BiocManager", quietly = TRUE))
#     install.packages("BiocManager")
# BiocManager::install("scPassport")
# 
# # Development version from GitHub:
# # devtools::install_github("sedatkacar56/scPassport")

## ----load---------------------------------------------------------------------
library(scPassport)

## ----create-se----------------------------------------------------------------
se <- SummarizedExperiment::SummarizedExperiment()
se

## ----read-empty---------------------------------------------------------------
# Before stamping — prints "No passport found"
read_passport(se)

## ----log-steps----------------------------------------------------------------
# Log a quality control step
se <- log_step(se, "QC filter", params = list(min_cells = 3))

# Log a normalization step
se <- log_step(se, "Normalization", params = list(method = "LogNormalize"))

# Log a dimension reduction step
se <- log_step(se, "PCA", params = list(npcs = 30))

## ----read-log-----------------------------------------------------------------
# Now read_passport shows the processing log
read_passport(se)

## ----seurat-workflow, eval=FALSE----------------------------------------------
# # Stamp a root object
# WTHeme <- scPassport(WTHeme)
# 
# # Stamp a child subset, linking lineage to parent automatically
# EndofrHeme <- subset(WTHeme, idents = "Endothelial")
# EndofrHeme <- scPassport(EndofrHeme, parent = WTHeme)
# 
# # Read passport
# read_passport(WTHeme)
# scPassport(WTHeme, read = TRUE)

## ----log-seurat, eval=FALSE---------------------------------------------------
# library(Seurat)
# WTHeme <- NormalizeData(WTHeme)
# WTHeme <- log_step(WTHeme, "NormalizeData",
#                    params = list(method = "LogNormalize", scale_factor = 10000))
# WTHeme <- RunPCA(WTHeme, npcs = 30)
# WTHeme <- log_step(WTHeme, "RunPCA", params = list(npcs = 30))
# read_passport(WTHeme)

## ----session------------------------------------------------------------------
sessionInfo()

