Cicero by cluster as part of Seurat pipeline

196 views
Skip to first unread message

Yura Grabovska

unread,
Jan 27, 2022, 1:01:45 AM1/27/22
to cicero-users
Hi,

I am currently trying to use Cicero as wrapped by Signac/Seurat. I have defined a set of clusters in my data and would like to use the cluster assignment from Seurat in order to run Cicero by cluster and compare the CCNAs generated. 

What would be the best approach to splitting the data by cluster? Do I need to split the data at the Seurat object level? Or can I feed the Cicero CDS object the cluster assignments? Or would you recommend starting from scratch and making a CDS object from my data?

I apologise ahead of time, I know you don't maintain the Signac/Seurat packages but I was advised by the devs to ask here. I also had a look through previous questions and couldn't find an answer - but perhaps I missed it.

Referring to the Seurat vignette it provides the following code:

# load the object created in the Monocle 3 vignette bone <- readRDS("../vignette_data/cd34.rds")
# convert to CellDataSet format and make the cicero object bone.cds <- as.cell_data_set(x = bone) bone.cicero <- make_cicero_cds(bone.cds, reduced_coordinates = reducedDims(bone.cds)$UMAP)

# get the chromosome sizes from the Seurat object genome <- seqlengths(bone) # use chromosome 1 to save some time # omit this step to run on the whole genome genome <- genome[1] # convert chromosome sizes to a dataframe genome.df <- data.frame("chr" = names(genome), "length" = genome) # run cicero conns <- run_cicero(bone.cicero, genomic_coords = genome.df, sample_num = 100)

hpl...@gmail.com

unread,
Mar 6, 2022, 5:57:43 AM3/6/22
to cicero-users
Hello,

Sorry for the long delay. If I'm understanding correctly, you want to generate a set of CCANs/coaccessibility scores for the cells in each of your clusters? If that's the case, you'll need to divide your object into the different clusters first, either in Seurat (before the code you posted) or in monocle3 (after loading bone.cds). Then you'll still need to pass the cds through the make_cicero_cds function in order to generate the bagged cell groups that are used downstream. 

Hope this helps,
Hannah

Reply all
Reply to author
Forward
0 new messages