Neurons_subset <-subset(organoids.combined.newnames, idents ="Neurons")
DefaultAssay(Neurons_subset) <-"integrated"
# Run the standard workflow for visualization and clustering
Neurons_subset <-RunPCA(Neurons_subset, verbose =FALSE)
Neurons_subset <-FindVariableFeatures(Neurons_subset,selection.method ="vst", nfeatures =2000, verbose =FALSE)
Neurons_subset <-ScaleData(Neurons_subset)
#Find neighbors for cluster analysis
Neurons_subset <-FindNeighbors(Neurons_subset, reduction ="pca", dims =1:40)
Neurons_subset <-FindClusters(Neurons_subset, resolution =0.4)
# Assign identity of clusters
Idents(object =Neurons_subset) <-"integrated_snn_res.0.4"
all.genes <-rownames(Neurons_subset)
Neurons_subset <-ScaleData(Neurons_subset, features =all.genes)
DimPlot(Neurons_subset, reduction ="umap", group.by ="orig.ident")
DimPlot(Neurons_subset, reduction ="umap")
# to remove a non-specific cluster
Finalcluster <-subset(Neurons_subset, idents =5, invert = T)
DimPlot(Finalcluster, reduction ="umap")
# To visualize the two conditions side-by-side
DimPlot(Neurons_subset, reduction ="umap", split.by ="orig.ident")
## Cluster identification. Find conserved markers to any cluster
DefaultAssay(organoids.combined.sct) <-"RNA"
get_conserved <-function(cluster){FindConservedMarkers(Neurons_subset,ident.1 = cluster, grouping.var ="orig.ident",only.pos =TRUE) %>%rownames_to_column(var ="gene") %>%left_join(y =unique(annotations[, c("gene_name", "description")]), by =c("gene"="gene_name")) %>%cbind(cluster_id = cluster, .)}
# Iterate function across desired clusters.
conserved_markers <-map_dfr(0:8, get_conserved)
# Extract top 100 markers per cluster
top100 <-conserved_markers %>%
mutate(avg_fc =(GC1_avg_log2FC +GC2_avg_log2FC +GC3_avg_log2FC + MUT1_avg_log2FC +MUT2_avg_log2FC +MUT3_avg_log2FC) /6) %>%
group_by(cluster_id) %>%
top_n(n =100,
wt = avg_fc)
#OR save
write.csv(top100, "Clusters_top100_Neuronsubset.csv")