Nothing
## ----setup, include=FALSE-----------------------------------------------------
knitr::opts_chunk$set(echo = TRUE, dpi=300)
## ----install------------------------------------------------------------------
## install from source
## library(devtools)
## devtools::install_github("YY-SONG0718/scOntoMatch")
library(scOntoMatch)
library(ontologyIndex)
## ----load data----------------------------------------------------------------
metadata = '../inst/extdata/metadata.tsv'
anno_col = 'cell_ontology_class'
onto_id_col = 'cell_ontology_id'
obo_file = '../inst/extdata/cl-basic.obo'
propagate_relationships = c('is_a', 'part_of')
ont <- ontologyIndex::get_OBO(obo_file, propagate_relationships = propagate_relationships)
## ----load adata---------------------------------------------------------------
obj_list = getSeuratRds(metadata = metadata, sep = "\t")
## -----------------------------------------------------------------------------
levels(factor((obj_list$TM_lung@meta.data$cell_ontology_class)))
levels(factor((obj_list$TS_lung@meta.data$cell_ontology_class)))
## ----ontoMultiMinimal---------------------------------------------------------
obj_list_minimal = scOntoMatch::ontoMultiMinimal(obj_list = obj_list, ont = ont, anno_col = anno_col, onto_id_col = onto_id_col)
## ----re-annotate--------------------------------------------------------------
obj_list$TS_lung@meta.data[[anno_col]] = as.character(obj_list$TS_lung@meta.data[[anno_col]])
## nk cell can certainly be matched
obj_list$TS_lung@meta.data[which(obj_list$TS_lung@meta.data[[anno_col]] == 'nk cell'), anno_col] = 'natural killer cell'
## there are type 1 and type 2 alveolar fibroblast which both belongs to fibroblast of lung
obj_list$TS_lung@meta.data[which(obj_list$TS_lung@meta.data[[anno_col]] == 'alveolar fibroblast'), anno_col] = 'fibroblast of lung'
## capillary aerocyte is a recently discovered new lung-specific cell type that is good to keep it
## Gillich, A., Zhang, F., Farmer, C.G. et al. Capillary cell-type specialization in the alveolus. Nature 586, 785–789 (2020). https://doi.org/10.1038/s41586-020-2822-7
## ----ontoMultiMinimal_new-----------------------------------------------------
obj_list_minimal = scOntoMatch::ontoMultiMinimal(obj_list = obj_list, ont = ont, anno_col = anno_col, onto_id_col = onto_id_col)
## ----plotOntoTree-------------------------------------------------------------
plotOntoTree(ont = ont,
onts = names(getOntologyId(obj_list$TM_lung@meta.data[['cell_ontology_class']], ont = ont)),
ont_query = names(getOntologyId(obj_list$TM_lung@meta.data[['cell_ontology_class']], ont = ont)),
plot_ancestors = TRUE, roots = 'CL:0000548',
fontsize=25)
## ----plotOntoTree_two---------------------------------------------------------
plotOntoTree(ont = ont,
onts = names(getOntologyId(obj_list$TS_lung@meta.data[['cell_ontology_class']], ont = ont)),
ont_query = names(getOntologyId(obj_list$TS_lung@meta.data[['cell_ontology_class']], ont = ont)),
plot_ancestors = TRUE, roots = 'CL:0000548',
fontsize=25)
## ----plotOntoTree_minimal-----------------------------------------------------
plotOntoTree(ont = ont,
onts = names(getOntologyId(obj_list_minimal$TM_lung@meta.data[['cell_ontology_base']], ont = ont)),
ont_query = names(getOntologyId(obj_list_minimal$TM_lung@meta.data[['cell_ontology_base']], ont = ont)),
plot_ancestors = TRUE, roots = 'CL:0000548',
fontsize=25)
## ----plotOntoTree_minimal_two-------------------------------------------------
plotOntoTree(ont = ont,
onts = names(getOntologyId(obj_list_minimal$TS_lung@meta.data[['cell_ontology_base']], ont = ont)),
ont_query = names(getOntologyId(obj_list_minimal$TS_lung@meta.data[['cell_ontology_base']], ont = ont)),
plot_ancestors = TRUE, roots = 'CL:0000548',
fontsize=25)
## ----ontoMultiMatch-----------------------------------------------------------
## perform ontoMatch on the original tree
obj_list_matched = scOntoMatch::ontoMultiMatch(obj_list = obj_list_minimal, anno_col = 'cell_ontology_base', onto_id_col = onto_id_col, ont = ont)
## ----plotMatchedOntoTree------------------------------------------------------
plts = plotMatchedOntoTree(ont = ont, obj_list = obj_list_matched,
anno_col = 'cell_ontology_mapped',
onto_id_col = onto_id_col,
roots = 'CL:0000548', fontsize=25)
## -----------------------------------------------------------------------------
plts[[1]]
## ----plotMatchedOntoTree_two--------------------------------------------------
plts[[2]]
## ----getOntologyName----------------------------------------------------------
getOntologyName(onto_id = c("CL:0000082"), ont = ont)
## ----getOntologyId------------------------------------------------------------
getOntologyId(obj_list$TM_lung@meta.data[[anno_col]], ont = ont)
## ----sessionInfo--------------------------------------------------------------
sessionInfo()
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.