6 - Finding optimal number of clusters in SCT data using SCCAF

Creating h5ad file to use as input in SCCAF:

library(Seurat)

source("/projects/cangen/coliveir/SeuratToH5ad.R")

data <- readRDS("/Users/biagi/PhD/Adipocyte/output/10x/10x_SCT_Processed.rds")
SeuratToH5ad(data, "/Users/biagi/PhD/Adipocyte/SCCAF/Adipocytes/data.h5ad", "SCT", 1)

Defining the optimal accuracy number:

import warnings
warnings.filterwarnings("ignore")
from SCCAF import *
  
ad = sc.read("/Users/biagi/PhD/Adipocyte/SCCAF/Adipocytes/data.h5ad")

y_prob, y_pred, y_test, clf, cvsm, acc = SCCAF_assessment(ad.X, ad.obs['L1_Round0'], n = 100)
aucs = plot_roc(y_prob, y_test, clf, cvsm = cvsm, acc = acc)
plt.show()

Optimisation and general purpose usage:

cd /Users/biagi/PhD/Adipocyte/SCCAF/Adipocytes/
sccaf -i /Users/biagi/PhD/Adipocyte/SCCAF/Adipocytes/data.h5ad --optimise --skip-assessment -s L1_Round0 -a 0.796 -c 10 --produce-rounds-summary -o /Users/biagi/PhD/Adipocyte/SCCAF/Adipocytes/results.h5ad --optimisation-plots-output /Users/biagi/PhD/Adipocyte/SCCAF/Adipocytes/results.pdf

Parallel run of assessments:

sccaf-assess -i /Users/biagi/PhD/Adipocyte/SCCAF/Adipocytes/results.h5ad -o /Users/biagi/PhD/Adipocyte/SCCAF/Adipocytes/sccaf_assess_L1_Round0.txt --slot-for-existing-clustering L1_Round0 --iterations 20 --cores 16
sccaf-assess -i /Users/biagi/PhD/Adipocyte/SCCAF/Adipocytes/results.h5ad -o /Users/biagi/PhD/Adipocyte/SCCAF/Adipocytes/sccaf_assess_L1_Round1.txt --slot-for-existing-clustering L1_Round1 --iterations 20 --cores 16
sccaf-assess -i /Users/biagi/PhD/Adipocyte/SCCAF/Adipocytes/results.h5ad -o /Users/biagi/PhD/Adipocyte/SCCAF/Adipocytes/sccaf_assess_L1_Round2.txt --slot-for-existing-clustering L1_Round2 --iterations 20 --cores 16
sccaf-assess -i /Users/biagi/PhD/Adipocyte/SCCAF/Adipocytes/results.h5ad -o /Users/biagi/PhD/Adipocyte/SCCAF/Adipocytes/sccaf_assess_L1_Round3.txt --slot-for-existing-clustering L1_Round3 --iterations 20 --cores 16

Merging parallel runs to produce plot

sccaf-assess-merger -i /Users/biagi/PhD/Adipocyte/SCCAF/Adipocytes -r /Users/biagi/PhD/Adipocyte/SCCAF/Adipocytes/rounds.txt -o /Users/biagi/PhD/Adipocyte/SCCAF/Adipocytes/rounds-acc-comparison-plot.png

Exporting SCCAF results

import scanpy as sc

adata = sc.read("/Users/biagi/PhD/Adipocyte/SCCAF/Adipocytes/results.h5ad")
adata.write_csvs("/Users/biagi/PhD/Adipocyte/SCCAF/Adipocytes/results", sep = '\t', skip_data = True)