Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ClusterFreeExpression Not S4 object #29

Open
jayp2919 opened this issue May 26, 2022 · 3 comments
Open

ClusterFreeExpression Not S4 object #29

jayp2919 opened this issue May 26, 2022 · 3 comments
Assignees

Comments

@jayp2919
Copy link

Thank you for the amazing package, I was running the steps and everything was working until the differential gene analysis. Error of not an S4 object. I was not sure what the problem was as all the previous steps ran fine with the cao environment.

cao$estimateClusterFreeExpressionShifts(gene.selection="expression", min.n.between=1, min.n.within=1)
Error in estimateClusterFreeExpressionShiftsC(t(cm), self$sample.per.cell[rownames(cm)], :
Not an S4 object.

image

I appreciate your help and this tool!

@VPetukhov
Copy link
Contributor

@jayp2919 ,
What kind of data.object do you use? Is it a count matrix?

@evanbiederstedt
Copy link
Collaborator

@jayp2919

Without more commands and data to reproduce this bug, we're left guessing.

Could you share your data and the precise commands you ran here? That will help with debugging. The more you share, the better---we'll be able to reproduce the problems.

Best, Evan

@jayp2919
Copy link
Author

Hello I am unable to perform downstream analysis of cluster differential expression/gene programs.
I am using Seurat to load into cao- created from count matrices. Everything is working until cluster free expression.

cao object: https://drive.google.com/file/d/1BFe00nZJQ-Ourpk9RdfaauuQ2zUH0aj7/view?usp=sharing

I appreciate your help

cao <- cacoa::Cacoa$new(
Seurat, sample.groups= sample.groups,
cell.groups= cell.groups,sample.per.cell = sample.per.cell,
target.level='L', ref.level='H', graph.name='integrated_nn', n.cores=1, verbose=FALSE
)

cao$plot.params <- list(size=0.1, alpha=0.1, font.size=c(2, 3))
cao$plot.theme <- cao$plot.theme + theme(legend.background=element_blank())

#Cell Loading and Expression Shift
cao$estimateCellLoadings()
cao$estimateExpressionShiftMagnitudes(min.cells.per.sample = 1,min.gene.frac = 0)

cao$plotCellLoadings(alpha=0.0, annotation.x=0.61, show.pvals=TRUE)

cao$plotCellGroupSizes(show.significance=TRUE, legend.position=c(1, 1))

cao$plotContrastTree()

cao$plotExpressionShiftMagnitudes(notch = FALSE)

#Cluster DE and Ontology
cao$estimateDEPerCellType(independent.filtering=TRUE, test='DESeq2.Wald', verbose=FALSE, min.cell.count = 1)

cao$estimateOntology(type="GSEA", org.db=org.Hs.eg.db::org.Hs.eg.db, verbose=FALSE, n.cores=1)

#Volcano Plot
pdf('L_PSO_Volcano.pdf',height=24, width=10)
cao3$plotVolcano(xlim=c(-3, 3), ylim=c(0, 3.5),max.overlaps=100,widthConnectors=0.25,size=c(0.1,0.5), lf.cutoff=2, p.cutoff=0.01, color.var= 'CellFrac', sel.labels=NULL, cell.frac.cutoff=0, lab.size=1)
dev.off()

#Ontology Plot
cao$plotOntologyHeatmapCollapsed(
name="GSEA", genes="all", n=50, clust.method="ward.D", size.range=c(1, 4))

cao$plotOntologyHeatmap(
name="GSEA", genes="up", description.regex="extracellular|matrix")

#Cluster Free Density

cao$plotEmbedding(color.by='cell.groups')
ggsave("cao_UMAP.TIFF",height=4, width=6, dpi=1200)

cao$estimateCellDensity(method='graph')
cao$estimateDiffCellDensity(type='wilcox')

plot_grid(
cao$plotEmbedding(color.by='cell.groups'),
cao$plotDiffCellDensity(legend.position= 'none',type = 'subtract', lims=c(0,1),labels=TRUE),
ncol=2)
ggsave("cao_DiffCellDensity_graph_subtract.TIFF",height=2, width=5,dpi=1200)

#ClusterFree Differential Expression
cao$estimateClusterFreeExpressionShifts(gene.selection="expression", min.n.between=1, min.n.within=1)

cao$plotClusterFreeExpressionShifts(legend.position=c(1, 0), font.size=2)
ggsave("cao_ClusterFreeExpression.TIFF",height=4, width=8, dpi=1200)

#DE gene programs

cao$estimateClusterFreeDE(
n.top.genes=1000, min.expr.frac=0.01, adjust.pvalues=TRUE, smooth=TRUE,
verbose=TRUE
)

cao$estimateGenePrograms(method="leiden", z.adj=TRUE, smooth=TRUE,resolution=1, n.pcs=100, k=30, n.cores=1, verbose=FALSE)

cao$plotGeneProgramScores(
legend.position=c(0, 1), plot.na=FALSE,
adj.list=theme(legend.key.width=unit(8, "pt"), legend.key.height=unit(12, "pt"))
)

#Plot genes from one program:

plot_grid(plotlist=cao$plotGeneProgramGenes(
program.id=4, max.genes=9, plot.na=FALSE, legend.position=c(0, 1)
), ncol=3)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants