Introduction

Ee are interested in comparing DEGs between the following comparison groups:

  • Latently- vs productively-infected cells (groups 3 vs 4).

  • Latently-infected vs bystander cells (2 vs 3).

  • Productively-infected vs mock (4 vs 1)

  • Mock vs bystander (1 vs 2).

As discussed, I think we will do these comparisons separately for both MDM and AlvMDM samples initially. Then, it would be of interest to compare DEGs for MDM vs AlvMDM for each of the four infection groups.

suppressPackageStartupMessages({
  library("kableExtra")
  library("ggplot2")
  library("plyr")
  library("Seurat")
  library("hdf5r")
  library("SingleCellExperiment")
  library("parallel")
  library("stringi")
  library("beeswarm")
  library("muscat")
  library("DESeq2")
  library("mitch")
  library("harmony")
  library("celldex")
  library("SingleR")
  library("limma")
  library("gplots")
})

Load data

Sample Patient Group
mock0 MDMP236 mock
mock1 MDMV236 mock
mock2 MDMO236 mock
mock3 MDMP239 mock
mock4 AlvP239 mock
mock5 AlvM239 mock
mock6 AlvN239 mock
active0 MDMP236 active
active1 MDMV236 active
active2 MDMO236 active
active3 MDMP239 active
active4 AlvP239 active
active5 AlvM239 active
active6 AlvN239 active
latent0 MDMP236 latent
latent1 MDMV236 latent
latent2 MDMO236 latent
latent3 MDMP239 latent
latent4 AlvP239 latent
latent5 AlvM239 latent
latent6 AlvN239 latent
bystander0 MDMP236 bystander
bystander1 MDMV236 bystander
bystander2 MDMO236 bystander
bystander3 MDMP239 bystander
bystander4 AlvP239 bystander
bystander5 AlvM239 bystander
bystander6 AlvN239 bystander
react6 AlvN239 reactivated

exclude react6

ss <- read.table("samplesheet.tsv",header=TRUE,row.names=1)

ss %>% kbl(caption="sample sheet") %>% kable_paper("hover", full_width = F)
sample sheet
Patient Group
mock0 MDMP236 mock
mock1 MDMV236 mock
mock2 MDMO236 mock
mock3 MDMP239 mock
mock4 AlvP239 mock
mock5 AlvM239 mock
mock6 AlvN239 mock
active0 MDMP236 active
active1 MDMV236 active
active2 MDMO236 active
active3 MDMP239 active
active4 AlvP239 active
active5 AlvM239 active
active6 AlvN239 active
latent0 MDMP236 latent
latent1 MDMV236 latent
latent2 MDMO236 latent
latent3 MDMP239 latent
latent4 AlvP239 latent
latent5 AlvM239 latent
latent6 AlvN239 latent
bystander0 MDMP236 bystander
bystander1 MDMV236 bystander
bystander2 MDMO236 bystander
bystander3 MDMP239 bystander
bystander4 AlvP239 bystander
bystander5 AlvM239 bystander
bystander6 AlvN239 bystander
react6 AlvN239 reactivated
mylist <- readRDS("macrophage_counts.rds")

Make single cell experiment object

comb <- do.call(cbind,mylist)
sce <- SingleCellExperiment(list(counts=comb))
sce
## class: SingleCellExperiment 
## dim: 36622 24311 
## metadata(0):
## assays(1): counts
## rownames(36622): HIV_LTRR HIV_LTRU5 ... AC007325.4 AC007325.2
## rowData names(0):
## colnames(24311): mdm_mock1|AAACGAATCACATACG mdm_mock1|AAACGCTCATCAGCGC
##   ... react6|TTTGTTGTCTGAACGT react6|TTTGTTGTCTTGGCTC
## colData names(0):
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
## reducedDimNames(0):
## mainExpName: NULL
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
## altExpNames(0):

Normalise data

cellmetadata <- data.frame(colnames(comb) ,sapply(strsplit(colnames(comb),"\\|"),"[[",1))
colnames(cellmetadata) <- c("cell","sample")
comb <- CreateSeuratObject(comb, project = "mac", assay = "RNA", meta.data = cellmetadata)
## Warning: Feature names cannot have underscores ('_'), replacing with dashes
## ('-')
comb <- NormalizeData(comb)
## Normalizing layer: counts
comb <- FindVariableFeatures(comb, selection.method = "vst", nfeatures = 2000)
## Finding variable features for layer counts
comb <- ScaleData(comb)
## Centering and scaling data matrix

PCA and Cluster

comb <- RunPCA(comb, features = VariableFeatures(object = comb))
## PC_ 1 
## Positive:  GAPDH, FABP3, TXN, IFI30, S100A10, PRDX6, TUBA1B, BLVRB, OTOA, S100A9 
##     FAH, C15orf48, CYSTM1, GCHFR, CARD16, GSTP1, HAMP, PSMA7, CSTA, FABP4 
##     ACTG1, CTSB, H2AFZ, LDHB, LINC01827, CFD, TUBA1A, MMP9, LINC02244, SELENOW 
## Negative:  ARL15, DOCK3, FTX, NEAT1, EXOC4, MALAT1, DPYD, LRMDA, RASAL2, JMJD1C 
##     TMEM117, PLXDC2, VPS13B, FHIT, ATG7, TRIO, TPRG1, ZNF438, ZFAND3, MAML2 
##     MITF, COP1, ZEB2, ELMO1, DENND4C, MED13L, TCF12, ERC1, JARID2, FMNL2 
## PC_ 2 
## Positive:  HLA-DRB1, CD74, HLA-DRA, HLA-DPA1, GCLC, HLA-DPB1, LYZ, RCBTB2, KCNMA1, MRC1 
##     SPRED1, C1QA, FGL2, AC020656.1, SLCO2B1, CYP1B1, AIF1, HLA-DRB5, PTGDS, S100A4 
##     VAMP5, LINC02345, CA2, CRIP1, CAMK1, ALOX5AP, RTN1, HLA-DQB1, MX1, TGFBI 
## Negative:  CYSTM1, CD164, PSAT1, FAH, FDX1, GDF15, ATP6V1D, BCAT1, SAT1, CCPG1 
##     PHGDH, PSMA7, HEBP2, SLAMF9, RETREG1, GARS, HES2, TXN, TCEA1, RHOQ 
##     RILPL2, B4GALT5, CLGN, NUPR1, CSTA, SPTBN1, HSD17B12, SNHG5, STMN1, PTER 
## PC_ 3 
## Positive:  NCAPH, CRABP2, RGCC, CHI3L1, TM4SF19, DUSP2, GAL, CCL22, AC015660.2, ACAT2 
##     LINC01010, TMEM114, MGST1, RGS20, TRIM54, LINC02244, MREG, NUMB, TCTEX1D2, GPC4 
##     CCND1, POLE4, SYNGR1, SLC20A1, SERTAD2, IL1RN, GCLC, CLU, PLEK, AC092353.2 
## Negative:  MARCKS, CD14, BTG1, MS4A6A, TGFBI, CTSC, FPR3, HLA-DQA1, AIF1, MPEG1 
##     MEF2C, CD163, IFI30, TIMP1, HLA-DPB1, ALDH2, SELENOP, NUPR1, NAMPT, HLA-DQB1 
##     HIF1A, C1QC, MS4A7, FUCA1, EPB41L3, HLA-DQA2, RNASE1, ARL4C, ZNF331, TCF4 
## PC_ 4 
## Positive:  ACTG1, TPM4, CTSB, CCL3, TUBA1B, CSF1, DHCR24, CYTOR, LGMN, INSIG1 
##     GAPDH, TUBB, CD36, HAMP, C1QA, CCL7, AIF1, MGLL, LIMA1, TYMS 
##     C1QC, HSP90B1, CCL2, C1QB, TNFSF13, PCLAF, C15orf48, CLSPN, CAMK1, TK1 
## Negative:  PTGDS, LINC02244, CLU, CSTA, CCPG1, MGST1, SYNGR1, EPHB1, LINC01010, ALDH2 
##     LY86-AS1, AC015660.2, GAS5, NCF1, BX664727.3, S100P, AP000331.1, TMEM91, SNHG5, CLEC12A 
##     APOD, PDE4D, C1QTNF4, VAMP5, DIXDC1, LYZ, AC073359.2, ARHGAP15, RCBTB2, CFD 
## PC_ 5 
## Positive:  TYMS, PCLAF, TK1, MKI67, MYBL2, RRM2, CENPM, BIRC5, CEP55, CLSPN 
##     CDK1, DIAPH3, SHCBP1, NUSAP1, CENPF, CENPK, PRC1, TOP2A, NCAPG, ESCO2 
##     KIF11, ANLN, CCNA2, TPX2, ASPM, FAM111B, MAD2L1, RAD51AP1, GTSE1, HMMR 
## Negative:  HIV-BaLEnv, HIV-LTRU5, HIV-Polprot, HIV-Gagp17, HIV-Nef, HIV-TatEx1, HIV-Polp15p31, HIV-LTRR, HIV-Vif, HIV-Gagp1Pol 
##     HIV-TatEx2Rev, HIV-Gagp2p7, HIV-EnvStart, HIV-Vpu, HIV-Vpr, HIV-EGFP, CTSB, MMP19, IL6R-AS1, CSF1 
##     IL1RN, CCL3, MGLL, INSIG1, AL157912.1, SDS, TCTEX1D2, TNFRSF9, LGMN, PHLDA1
comb <- RunHarmony(comb,"sample")
## Transposing data matrix
## Initializing state using k-means centroids initialization
## Harmony 1/10
## Harmony 2/10
## Harmony 3/10
## Harmony 4/10
## Harmony converged after 4 iterations
DimHeatmap(comb, dims = 1:6, cells = 500, balanced = TRUE)

ElbowPlot(comb)

comb <- JackStraw(comb, num.replicate = 100)
comb <- FindNeighbors(comb, dims = 1:10)
## Computing nearest neighbor graph
## Computing SNN
comb <- FindClusters(comb, resolution = 0.5)
## Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
## 
## Number of nodes: 24311
## Number of edges: 745637
## 
## Running Louvain algorithm...
## Maximum modularity in 10 random starts: 0.8948
## Number of communities: 14
## Elapsed time: 3 seconds

UMAP

comb <- RunUMAP(comb, dims = 1:10)
## 14:02:19 UMAP embedding parameters a = 0.9922 b = 1.112
## 14:02:19 Read 24311 rows and found 10 numeric columns
## 14:02:19 Using Annoy for neighbor search, n_neighbors = 30
## 14:02:19 Building Annoy index with metric = cosine, n_trees = 50
## 0%   10   20   30   40   50   60   70   80   90   100%
## [----|----|----|----|----|----|----|----|----|----|
## **************************************************|
## 14:02:21 Writing NN index file to temp file /tmp/RtmpRdHgON/file11d0d411a46f10
## 14:02:21 Searching Annoy index using 1 thread, search_k = 3000
## 14:02:28 Annoy recall = 100%
## 14:02:28 Commencing smooth kNN distance calibration using 1 thread with target n_neighbors = 30
## 14:02:31 Initializing from normalized Laplacian + noise (using RSpectra)
## 14:02:31 Commencing optimization for 200 epochs, with 972676 positive edges
## 14:02:31 Using rng type: pcg
## 14:02:38 Optimization finished
DimPlot(comb, reduction = "umap")

Assign names to clusters

ADGRE1, CCR2, CD169, CX3CR1, CD206, CD163, LYVE1, CD9, TREM2

HLA-DP, HLA-DM, HLA-DOA, HLA-DOB, HLA-DQ, and HLA-DR.

message("macrophage markers")
## macrophage markers
FeaturePlot(comb, features = c("ADGRE1", "CCR2", "SIGLEC1", "CX3CR1", "MRC1", "CD163", "LYVE1", "CD9", "TREM2"))

DimPlot(comb, reduction = "umap", label = TRUE, pt.size = 0.5) + NoLegend()

That’s pretty useless. Let’s use celldex pkg to annotate cells and get the macs.

ref <- celldex::MonacoImmuneData()

DefaultAssay(comb) <- "RNA"
comb2 <- as.SingleCellExperiment(comb)
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
lc <- logcounts(comb2)

pred_imm_broad <- SingleR(test=comb2, ref=ref,
                          labels=ref$label.main)

head(pred_imm_broad)
## DataFrame with 6 rows and 4 columns
##                                                    scores      labels
##                                                  <matrix> <character>
## mdm_mock1|AAACGAATCACATACG 0.306472:0.325537:0.166567:...   Monocytes
## mdm_mock1|AAACGCTCATCAGCGC 0.311527:0.281167:0.189514:...   Monocytes
## mdm_mock1|AAACGCTGTCGAGTGA 0.316271:0.276472:0.170736:...   Monocytes
## mdm_mock1|AAAGGTAAGCCATATC 0.290547:0.291036:0.154976:...   Monocytes
## mdm_mock1|AAAGGTAGTTTCCAAG 0.290907:0.279384:0.181857:...   Monocytes
## mdm_mock1|AAATGGAAGATCGCCC 0.242404:0.241021:0.117564:...   Monocytes
##                            delta.next pruned.labels
##                             <numeric>   <character>
## mdm_mock1|AAACGAATCACATACG  0.1823977     Monocytes
## mdm_mock1|AAACGCTCATCAGCGC  0.0338547     Monocytes
## mdm_mock1|AAACGCTGTCGAGTGA  0.1301308     Monocytes
## mdm_mock1|AAAGGTAAGCCATATC  0.1794308     Monocytes
## mdm_mock1|AAAGGTAGTTTCCAAG  0.0952702     Monocytes
## mdm_mock1|AAATGGAAGATCGCCC  0.1508974     Monocytes
table(pred_imm_broad$pruned.labels)
## 
##       Basophils Dendritic cells       Monocytes 
##               1              86           23423
cellmetadata$label <- pred_imm_broad$pruned.labels

pred_imm_fine <- SingleR(test=comb2, ref=ref,
                          labels=ref$label.fine)
head(pred_imm_fine)
## DataFrame with 6 rows and 4 columns
##                                                    scores              labels
##                                                  <matrix>         <character>
## mdm_mock1|AAACGAATCACATACG 0.180057:0.485292:0.202974:... Classical monocytes
## mdm_mock1|AAACGCTCATCAGCGC 0.195973:0.430960:0.226764:... Classical monocytes
## mdm_mock1|AAACGCTGTCGAGTGA 0.170594:0.441313:0.186890:... Classical monocytes
## mdm_mock1|AAAGGTAAGCCATATC 0.156243:0.415082:0.167816:... Classical monocytes
## mdm_mock1|AAAGGTAGTTTCCAAG 0.185006:0.431679:0.205883:... Classical monocytes
## mdm_mock1|AAATGGAAGATCGCCC 0.125917:0.383407:0.146835:... Classical monocytes
##                            delta.next       pruned.labels
##                             <numeric>         <character>
## mdm_mock1|AAACGAATCACATACG  0.0675290 Classical monocytes
## mdm_mock1|AAACGCTCATCAGCGC  0.1150706 Classical monocytes
## mdm_mock1|AAACGCTGTCGAGTGA  0.0651352 Classical monocytes
## mdm_mock1|AAAGGTAAGCCATATC  0.1076301 Classical monocytes
## mdm_mock1|AAAGGTAGTTTCCAAG  0.1521533 Classical monocytes
## mdm_mock1|AAATGGAAGATCGCCC  0.1282183 Classical monocytes
table(pred_imm_fine$pruned.labels)
## 
##          Classical monocytes       Intermediate monocytes 
##                        20826                         2648 
##      Low-density neutrophils      Myeloid dendritic cells 
##                            1                           90 
##      Non classical monocytes Plasmacytoid dendritic cells 
##                           11                            6
cellmetadata$finelabel <- pred_imm_fine$pruned.labels

col_pal <- c('#e31a1c', '#ff7f00', "#999900", '#cc00ff', '#1f78b4', '#fdbf6f',
             '#33a02c', '#fb9a99', "#a6cee3", "#cc6699", "#b2df8a", "#99004d", "#66ff99",
             "#669999", "#006600", "#9966ff", "#cc9900", "#e6ccff", "#3399ff", "#ff66cc",
             "#ffcc66", "#003399")

annot_df <- data.frame(
  barcodes = rownames(pred_imm_broad),
  monaco_broad_annotation = pred_imm_broad$labels,
  monaco_broad_pruned_labels = pred_imm_broad$pruned.labels,
  monaco_fine_annotation = pred_imm_fine$labels,
  monaco_fine_pruned_labels = pred_imm_fine$pruned.labels
)

meta_inf <- comb@meta.data
meta_inf$cell_barcode <- colnames(comb)

meta_inf <- meta_inf %>% dplyr::left_join(y = annot_df,
                                          by = c("cell_barcode" = "barcodes"))
rownames(meta_inf) <- colnames(lc)

comb@meta.data <- meta_inf

DimPlot(comb, label=TRUE, group.by = "monaco_broad_annotation", reduction = "umap",
  cols = col_pal, pt.size = 0.5) + ggtitle("Annotation With the Monaco Reference Database")

DimPlot(comb, label=TRUE, group.by = "monaco_fine_annotation", reduction = "umap",
  cols = col_pal, pt.size = 0.5) + ggtitle("Annotation With the Monaco Reference Database")

Make MDM object

mdmlist <- mylist[grep("mdm",names(mylist))]
comb1 <- do.call(cbind,mdmlist)
sce1 <- SingleCellExperiment(list(counts=comb1))
sce1
## class: SingleCellExperiment 
## dim: 36622 10269 
## metadata(0):
## assays(1): counts
## rownames(36622): HIV_LTRR HIV_LTRU5 ... AC007325.4 AC007325.2
## rowData names(0):
## colnames(10269): mdm_mock1|AAACGAATCACATACG mdm_mock1|AAACGCTCATCAGCGC
##   ... mdm_bystander4|TTTGTTGAGAACGCGT mdm_bystander4|TTTGTTGCAAATGCGG
## colData names(0):
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
## reducedDimNames(0):
## mainExpName: NULL
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
## altExpNames(0):
cellmetadata1 <- data.frame(colnames(comb1) ,sapply(strsplit(colnames(comb1),"\\|"),"[[",1))
colnames(cellmetadata1) <- c("cell","sample")
comb1 <- CreateSeuratObject(comb1, project = "mac", assay = "RNA", meta.data = cellmetadata1)
## Warning: Feature names cannot have underscores ('_'), replacing with dashes
## ('-')
comb1 <- NormalizeData(comb1)
## Normalizing layer: counts
comb1 <- FindVariableFeatures(comb1, selection.method = "vst", nfeatures = 2000)
## Finding variable features for layer counts
comb1 <- ScaleData(comb1)
## Centering and scaling data matrix
comb1 <- RunPCA(comb1, features = VariableFeatures(object = comb1))
## PC_ 1 
## Positive:  S100A10, TXN, COX5B, PRDX6, FABP3, C15orf48, BCL2A1, CALM3, PSME2, TUBA1B 
##     CYSTM1, SPP1, CHI3L1, TUBA1A, CRABP2, ACTB, ACTG1, MGST1, ACAT2, FBP1 
##     IFI30, FABP4, GAL, HAMP, RGCC, MMP9, AKR7A2, LILRA1, CTSL, LDHA 
## Negative:  ARL15, FTX, EXOC4, NEAT1, DPYD, FHIT, JMJD1C, RAD51B, VPS13B, ZFAND3 
##     MALAT1, PLXDC2, TRIO, LRMDA, ZEB2, DOCK3, COP1, MBD5, TCF12, ATXN1 
##     RASAL2, MAML2, ATG7, ZSWIM6, FNDC3B, DOCK4, ELMO1, ZNF438, SPIDR, ARHGAP15 
## PC_ 2 
## Positive:  TM4SF19, ANO5, GPC4, CYSTM1, FNIP2, TXNRD1, BCL2A1, SPP1, SNX10, PSD3 
##     RETREG1, RGS20, TXN, TCTEX1D2, SLC28A3, MGST1, EPB41L1, FABP3, RGCC, CALM3 
##     NIBAN1, TGM2, ATP6V0D2, ACAT2, CCL22, CCDC26, LINC01010, CHI3L1, MREG, CRABP2 
## Negative:  HLA-DPB1, HLA-DRA, CD74, HLA-DPA1, TGFBI, MS4A6A, AIF1, HLA-DQB1, C1QA, HLA-DQA1 
##     HLA-DRB1, CEBPD, FPR3, C1QC, MS4A7, CD163, CD14, MPEG1, LYZ, TIMP1 
##     ST8SIA4, LILRB2, FOS, EPB41L3, TCF4, MAFB, HLA-DRB5, RNASE1, SELENOP, FCN1 
## PC_ 3 
## Positive:  CCPG1, NUPR1, HES2, PSAT1, S100P, CLGN, CARD16, TCEA1, PHGDH, SUPV3L1 
##     BTG1, NIBAN1, G0S2, BEX2, NMB, PDE4D, PLEKHA5, RAB6B, STMN1, XIST 
##     ME1, CLEC4A, CLEC4E, RETREG1, IFI6, CYSTM1, GDF15, CXCR4, DUSP1, SEL1L3 
## Negative:  ACTB, CALR, SLC35F1, TIMP3, TUBA1B, FBP1, ACTG1, LINC01091, HSP90B1, GSN 
##     MGLL, IL1RN, GLIPR1, INSIG1, LPL, GCLC, PLEK, PDIA4, MADD, RGCC 
##     LDHA, MANF, ALCAM, HLA-DRB1, IGSF6, TMEM176B, DHCR24, CSF1, TUBA1A, CYP1B1 
## PC_ 4 
## Positive:  PTGDS, NCAPH, CLU, BX664727.3, LINC02244, SYNGR1, COX5B, RCBTB2, CRABP2, AL136317.2 
##     MT-ATP6, SSBP3, RARRES1, ADRA2B, LINC01010, AC015660.2, S100A4, CRIP1, MT-ND2, LY86-AS1 
##     RNASE6, HLA-C, S100A8, VAMP5, MT-CO3, MT-CYB, CCL22, CPE, CSRP2, TMEM176B 
## Negative:  HIV-Gagp17, HIV-BaLEnv, HIV-Polprot, HIV-Polp15p31, HIV-LTRU5, HIV-Vif, HIV-Nef, HIV-TatEx1, HIV-LTRR, HIV-Gagp1Pol 
##     HIV-Gagp2p7, HIV-TatEx2Rev, MARCKS, CCL3, HIV-Vpu, HIV-EGFP, TPM4, UGCG, SNCA, HIV-EnvStart 
##     HIV-Vpr, CD36, LGMN, G0S2, HES4, B4GALT5, CLEC4A, BCAT1, TNFRSF9, SDS 
## PC_ 5 
## Positive:  TYMS, PCLAF, BIRC5, MKI67, CEP55, CENPF, CENPM, TK1, CDKN3, PRC1 
##     CDK1, DIAPH3, MYBL2, SHCBP1, NUSAP1, DLGAP5, RRM2, CENPK, HMMR, TPX2 
##     ASPM, NCAPG, CCNA2, MAD2L1, PTTG1, TOP2A, CLSPN, KIF4A, CIT, KIF11 
## Negative:  GCLC, TIMP3, TMEM117, TMEM176B, AC067751.1, CRABP2, NUMB, LINC01091, CHI3L1, LY86-AS1 
##     LINC00278, TNFSF14, RGCC, KCNJ1, IGSF6, SH3RF3, AC015660.2, IL1RN, DUSP2, MADD 
##     KCNA2, DOCK3, FLT1, RPS4Y1, TTTY14, TNS3, GADD45G, NCAPH, AL157886.1, TM4SF19-AS1
comb1 <- RunHarmony(comb1,"sample")
## Transposing data matrix
## Initializing state using k-means centroids initialization
## Harmony 1/10
## Harmony 2/10
## Harmony 3/10
## Harmony 4/10
## Harmony 5/10
## Harmony converged after 5 iterations
DimHeatmap(comb1, dims = 1:6, cells = 500, balanced = TRUE)

ElbowPlot(comb1)

comb1 <- JackStraw(comb1, num.replicate = 100)
comb1 <- FindNeighbors(comb1, dims = 1:10)
## Computing nearest neighbor graph
## Computing SNN
comb1 <- FindClusters(comb1, resolution = 0.5)
## Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
## 
## Number of nodes: 10269
## Number of edges: 322519
## 
## Running Louvain algorithm...
## Maximum modularity in 10 random starts: 0.8766
## Number of communities: 12
## Elapsed time: 0 seconds
comb1 <- RunUMAP(comb1, dims = 1:10)
## 14:06:37 UMAP embedding parameters a = 0.9922 b = 1.112
## 14:06:37 Read 10269 rows and found 10 numeric columns
## 14:06:37 Using Annoy for neighbor search, n_neighbors = 30
## 14:06:37 Building Annoy index with metric = cosine, n_trees = 50
## 0%   10   20   30   40   50   60   70   80   90   100%
## [----|----|----|----|----|----|----|----|----|----|
## **************************************************|
## 14:06:37 Writing NN index file to temp file /tmp/RtmpRdHgON/file11d0d455058116
## 14:06:38 Searching Annoy index using 1 thread, search_k = 3000
## 14:06:40 Annoy recall = 100%
## 14:06:41 Commencing smooth kNN distance calibration using 1 thread with target n_neighbors = 30
## 14:06:43 Initializing from normalized Laplacian + noise (using RSpectra)
## 14:06:43 Commencing optimization for 200 epochs, with 405542 positive edges
## 14:06:43 Using rng type: pcg
## 14:06:47 Optimization finished
DimPlot(comb1, reduction = "umap")

message("macrophage markers")
## macrophage markers
FeaturePlot(comb1, features = c("ADGRE1", "CCR2", "SIGLEC1", "CX3CR1", "MRC1", "CD163", "LYVE1", "CD9", "TREM2"))

DimPlot(comb1, reduction = "umap", label = TRUE, pt.size = 0.5) + NoLegend()

ref <- celldex::MonacoImmuneData()
DefaultAssay(comb1) <- "RNA"
comb21 <- as.SingleCellExperiment(comb1)
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
lc1 <- logcounts(comb21)
pred_imm_broad1 <- SingleR(test=comb21, ref=ref,labels=ref$label.main)
head(pred_imm_broad1)
## DataFrame with 6 rows and 4 columns
##                                                    scores      labels
##                                                  <matrix> <character>
## mdm_mock1|AAACGAATCACATACG 0.306472:0.325537:0.166567:...   Monocytes
## mdm_mock1|AAACGCTCATCAGCGC 0.311527:0.281167:0.189514:...   Monocytes
## mdm_mock1|AAACGCTGTCGAGTGA 0.316271:0.276472:0.170736:...   Monocytes
## mdm_mock1|AAAGGTAAGCCATATC 0.290547:0.291036:0.154976:...   Monocytes
## mdm_mock1|AAAGGTAGTTTCCAAG 0.290907:0.279384:0.181857:...   Monocytes
## mdm_mock1|AAATGGAAGATCGCCC 0.242404:0.241021:0.117564:...   Monocytes
##                            delta.next pruned.labels
##                             <numeric>   <character>
## mdm_mock1|AAACGAATCACATACG  0.1823977     Monocytes
## mdm_mock1|AAACGCTCATCAGCGC  0.0338547     Monocytes
## mdm_mock1|AAACGCTGTCGAGTGA  0.1301308     Monocytes
## mdm_mock1|AAAGGTAAGCCATATC  0.1794308     Monocytes
## mdm_mock1|AAAGGTAGTTTCCAAG  0.0952702     Monocytes
## mdm_mock1|AAATGGAAGATCGCCC  0.1508974     Monocytes
table(pred_imm_broad1$pruned.labels)
## 
##       Basophils Dendritic cells       Monocytes 
##               1              71            9629
cellmetadata1$label <- pred_imm_broad1$pruned.labels
pred_imm_fine1 <- SingleR(test=comb21, ref=ref, labels=ref$label.fine)
head(pred_imm_fine1)
## DataFrame with 6 rows and 4 columns
##                                                    scores              labels
##                                                  <matrix>         <character>
## mdm_mock1|AAACGAATCACATACG 0.180057:0.485292:0.202974:... Classical monocytes
## mdm_mock1|AAACGCTCATCAGCGC 0.195973:0.430960:0.226764:... Classical monocytes
## mdm_mock1|AAACGCTGTCGAGTGA 0.170594:0.441313:0.186890:... Classical monocytes
## mdm_mock1|AAAGGTAAGCCATATC 0.156243:0.415082:0.167816:... Classical monocytes
## mdm_mock1|AAAGGTAGTTTCCAAG 0.185006:0.431679:0.205883:... Classical monocytes
## mdm_mock1|AAATGGAAGATCGCCC 0.125917:0.383407:0.146835:... Classical monocytes
##                            delta.next       pruned.labels
##                             <numeric>         <character>
## mdm_mock1|AAACGAATCACATACG  0.0675290 Classical monocytes
## mdm_mock1|AAACGCTCATCAGCGC  0.1150706 Classical monocytes
## mdm_mock1|AAACGCTGTCGAGTGA  0.0651352 Classical monocytes
## mdm_mock1|AAAGGTAAGCCATATC  0.1076301 Classical monocytes
## mdm_mock1|AAAGGTAGTTTCCAAG  0.1521533 Classical monocytes
## mdm_mock1|AAATGGAAGATCGCCC  0.1282183 Classical monocytes
table(pred_imm_fine1$pruned.labels)
## 
##          Classical monocytes       Intermediate monocytes 
##                         8841                          823 
##      Low-density neutrophils      Myeloid dendritic cells 
##                            1                           51 
##      Non classical monocytes Plasmacytoid dendritic cells 
##                            8                            6
cellmetadata1$finelabel <- pred_imm_fine1$pruned.labels
col_pal <- c('#e31a1c', '#ff7f00', "#999900", '#cc00ff', '#1f78b4', '#fdbf6f',
             '#33a02c', '#fb9a99', "#a6cee3", "#cc6699", "#b2df8a", "#99004d", "#66ff99",
             "#669999", "#006600", "#9966ff", "#cc9900", "#e6ccff", "#3399ff", "#ff66cc",
             "#ffcc66", "#003399")
annot_df1 <- data.frame(
  barcodes = rownames(pred_imm_broad1),
  monaco_broad_annotation = pred_imm_broad1$labels,
  monaco_broad_pruned_labels = pred_imm_broad1$pruned.labels,
  monaco_fine_annotation = pred_imm_fine1$labels,
  monaco_fine_pruned_labels = pred_imm_fine1$pruned.labels)

meta_inf1 <- comb1@meta.data
meta_inf1$cell_barcode <- colnames(comb1)
meta_inf1 <- meta_inf1 %>% dplyr::left_join(y = annot_df1, by = c("cell_barcode" = "barcodes"))
rownames(meta_inf1) <- colnames(lc1)
comb1@meta.data <- meta_inf1
DimPlot(comb1, label=TRUE, group.by = "monaco_broad_annotation", reduction = "umap",
  cols = col_pal, pt.size = 0.5) + ggtitle("Annotation With the Monaco Reference Database")

DimPlot(comb1, label=TRUE, group.by = "monaco_fine_annotation", reduction = "umap",
  cols = col_pal, pt.size = 0.5) + ggtitle("Annotation With the Monaco Reference Database")

message("extract mono")
## extract mono
mono <- comb1[,which(meta_inf1$monaco_broad_annotation == "Monocytes")]
mono_metainf1 <- meta_inf1[which(meta_inf1$monaco_broad_annotation == "Monocytes"),]
mono_metainf1 <- mono_metainf1[grep("monocytes",mono_metainf1$monaco_fine_pruned_labels),]
mono <- mono[,which(colnames(mono) %in% rownames(mono_metainf1))]
mono <- FindVariableFeatures(mono, selection.method = "vst", nfeatures = 2000)
## Finding variable features for layer counts
mono <- RunPCA(mono, features = VariableFeatures(object = mono))
## Warning in PrepDR5(object = object, features = features, layer = layer, : The
## following features were not available: AL358779.1, CSTA, RALA, PLAUR, ACP5,
## ALDH1A1, NABP1, PTPRJ, S100A9, ZCCHC7, LCP1, GATAD2B, FDX1, RPS20, EML1, RAB10,
## AL669970.1, RPS6KA2, RASGEF1B, FAM13B, SLC11A1, AC002429.2.
## PC_ 1 
## Positive:  S100A10, TXN, COX5B, PRDX6, C15orf48, FABP3, BCL2A1, PSME2, TUBA1B, CALM3 
##     ACTB, CYSTM1, CHI3L1, ACTG1, TUBA1A, CRABP2, ACAT2, MGST1, IFI30, SPP1 
##     FBP1, RGCC, LDHA, MMP9, CTSL, HAMP, AKR7A2, ANXA1, LILRA1, HLA-C 
## Negative:  ARL15, FTX, EXOC4, NEAT1, DPYD, FHIT, RAD51B, MALAT1, VPS13B, JMJD1C 
##     ZFAND3, MBD5, LRMDA, TRIO, ZEB2, TCF12, DOCK4, COP1, DOCK3, ZSWIM6 
##     SPIDR, ARHGAP15, ELMO1, PLXDC2, MAML2, RERE, SBF2, ATP9B, MED13L, ATG7 
## PC_ 2 
## Positive:  TM4SF19, ANO5, GPC4, CYSTM1, FNIP2, TXNRD1, BCL2A1, SPP1, PSD3, SNX10 
##     RETREG1, RGS20, TCTEX1D2, SLC28A3, TXN, EPB41L1, NIBAN1, MGST1, CALM3, FABP3 
##     RGCC, TGM2, CCL22, ATP6V0D2, CCDC26, LINC01010, AC092353.2, ACAT2, LINC01135, HES2 
## Negative:  HLA-DPB1, HLA-DRA, CD74, HLA-DPA1, TGFBI, AIF1, HLA-DQB1, MS4A6A, C1QA, HLA-DQA1 
##     HLA-DRB1, CEBPD, C1QC, FPR3, MS4A7, CD163, CD14, MPEG1, TIMP1, LYZ 
##     ST8SIA4, FOS, EPB41L3, MAFB, TCF4, HLA-DRB5, SELENOP, FCN1, RNASE1, ARL4C 
## PC_ 3 
## Positive:  CCPG1, NUPR1, HES2, PSAT1, CARD16, CLGN, S100P, TCEA1, BTG1, SUPV3L1 
##     PHGDH, NIBAN1, G0S2, BEX2, NMB, STMN1, IFI6, CLEC4A, CLEC4E, PLEKHA5 
##     RAB6B, DUSP1, GDF15, CYSTM1, ME1, PDE4D, CXCR4, RETREG1, QPCT, XIST 
## Negative:  ACTB, CALR, SLC35F1, TIMP3, LINC01091, TUBA1B, FBP1, ACTG1, IL1RN, HSP90B1 
##     GSN, INSIG1, MGLL, LPL, GLIPR1, GCLC, MADD, PDIA4, ALCAM, PLEK 
##     MANF, RGCC, CSF1, DHCR24, LDHA, GADD45G, TMEM176B, HLA-DRB1, DUSP2, TNS3 
## PC_ 4 
## Positive:  HIV-Gagp17, HIV-BaLEnv, HIV-Polprot, HIV-Polp15p31, HIV-LTRU5, HIV-Vif, HIV-Nef, HIV-TatEx1, HIV-LTRR, HIV-Gagp1Pol 
##     HIV-Gagp2p7, HIV-TatEx2Rev, HIV-Vpu, HIV-EGFP, MARCKS, CCL3, HIV-EnvStart, TPM4, SNCA, UGCG 
##     HIV-Vpr, G0S2, CD36, LGMN, HES4, B4GALT5, TNFRSF9, CLEC4A, BCAT1, SDS 
## Negative:  PTGDS, CLU, NCAPH, BX664727.3, LINC02244, SYNGR1, COX5B, RCBTB2, MT-ATP6, CRABP2 
##     AL136317.2, RARRES1, SSBP3, LINC01010, ADRA2B, AC015660.2, MT-ND2, S100A4, CRIP1, MT-CYB 
##     LY86-AS1, RNASE6, MT-CO3, S100A8, HLA-C, VAMP5, CCL22, CPE, CSRP2, TMEM176B 
## PC_ 5 
## Positive:  TYMS, BIRC5, MKI67, PCLAF, CEP55, CENPF, CENPM, TK1, PRC1, CDKN3 
##     DIAPH3, CDK1, MYBL2, SHCBP1, NUSAP1, DLGAP5, RRM2, CENPK, HMMR, ASPM 
##     TPX2, NCAPG, CCNA2, MAD2L1, TOP2A, CIT, KIF4A, CLSPN, KIF11, PTTG1 
## Negative:  RGCC, TMEM176B, CRABP2, IGSF6, GCLC, TIMP3, IFI30, AC005280.2, GSN, CCND1 
##     NUMB, TNFSF14, PLEK, BCL2A1, NCAPH, KCNJ1, GPAT3, MGLL, AC015660.2, MREG 
##     PTGDS, RPS4Y1, RASSF4, TMEM117, CFD, CHI3L1, HLA-DRB1, DUSP2, ACTB, AC067751.1
DimHeatmap(mono, dims = 1:2, cells = 500, balanced = TRUE)

DimHeatmap(mono, dims = 3:4, cells = 500, balanced = TRUE)

ElbowPlot(mono)

mono <- FindNeighbors(mono, dims = 1:4)
## Computing nearest neighbor graph
## Computing SNN
mono <- FindClusters(mono, algorithm = 3, resolution = 0.3, verbose = FALSE)
mono <- RunUMAP(mono, dims = 1:4)
## 14:07:21 UMAP embedding parameters a = 0.9922 b = 1.112
## 14:07:21 Read 9669 rows and found 4 numeric columns
## 14:07:21 Using Annoy for neighbor search, n_neighbors = 30
## 14:07:21 Building Annoy index with metric = cosine, n_trees = 50
## 0%   10   20   30   40   50   60   70   80   90   100%
## [----|----|----|----|----|----|----|----|----|----|
## **************************************************|
## 14:07:22 Writing NN index file to temp file /tmp/RtmpRdHgON/file11d0d46217c49b
## 14:07:22 Searching Annoy index using 1 thread, search_k = 3000
## 14:07:25 Annoy recall = 100%
## 14:07:26 Commencing smooth kNN distance calibration using 1 thread with target n_neighbors = 30
## 14:07:28 Initializing from normalized Laplacian + noise (using RSpectra)
## 14:07:29 Commencing optimization for 500 epochs, with 332446 positive edges
## 14:07:29 Using rng type: pcg
## 14:07:35 Optimization finished
DimPlot(mono, reduction = "umap", label=TRUE)

DimPlot(mono, group.by="monaco_fine_annotation" , reduction = "umap", label=TRUE)

DimPlot(mono, group.by="sample" , reduction = "umap", label=TRUE)

Make Alv object

alvlist <- mylist[grep("alv",names(mylist))]

comb1 <- do.call(cbind,alvlist)
sce1 <- SingleCellExperiment(list(counts=comb1))
sce1
## class: SingleCellExperiment 
## dim: 36622 11212 
## metadata(0):
## assays(1): counts
## rownames(36622): HIV_LTRR HIV_LTRU5 ... AC007325.4 AC007325.2
## rowData names(0):
## colnames(11212): alv_mock1|AAACCCAGTGCTGCAC alv_mock1|AAAGGATAGCATGAAT
##   ... alv_bystander3|TTTGGTTCAGGTTCCG alv_bystander3|TTTGTTGTCGCGTTTC
## colData names(0):
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
## reducedDimNames(0):
## mainExpName: NULL
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
## altExpNames(0):
cellmetadata1 <- data.frame(colnames(comb1) ,sapply(strsplit(colnames(comb1),"\\|"),"[[",1))
colnames(cellmetadata1) <- c("cell","sample")
comb1 <- CreateSeuratObject(comb1, project = "mac", assay = "RNA", meta.data = cellmetadata1)
## Warning: Feature names cannot have underscores ('_'), replacing with dashes
## ('-')
comb1 <- NormalizeData(comb1)
## Normalizing layer: counts
comb1 <- FindVariableFeatures(comb1, selection.method = "vst", nfeatures = 2000)
## Finding variable features for layer counts
comb1 <- ScaleData(comb1)
## Centering and scaling data matrix
comb1 <- RunPCA(comb1, features = VariableFeatures(object = comb1))
## PC_ 1 
## Positive:  S100A6, GAPDH, LGALS1, DBI, MIF, LGALS3, PRDX6, PSME2, CSTB, GSTO1 
##     LINC02244, PTGDS, CALM3, CYSTM1, ELOC, TXN, TMEM176B, GSTP1, CLU, MGST1 
##     CRIP1, MMP9, CHI3L1, SYNGR1, FAH, H2AFZ, ACTB, TMEM176A, TUBA1A, LDHA 
## Negative:  DOCK3, ARL15, MALAT1, RASAL2, LRMDA, TMEM117, DPYD, PLXDC2, EXOC4, ASAP1 
##     FTX, ATG7, NEAT1, MITF, TPRG1, JMJD1C, VPS13B, FHIT, ELMO1, UBE2E2 
##     MAML2, ZNF438, ZFAND3, FMNL2, FRMD4B, LPP, COP1, TRIO, ZEB2, DENND4C 
## PC_ 2 
## Positive:  HLA-DPA1, HLA-DRA, CD74, HLA-DPB1, LYZ, AIF1, MRC1, HLA-DRB1, TGFBI, CTSC 
##     C1QA, VAMP5, RCBTB2, SAMSN1, HMOX1, FOS, CLEC7A, SLCO2B1, FCGR2A, C1QC 
##     FGL2, SPRED1, SLC8A1, RBPJ, SELENOP, PDGFC, CLEC4A, ME1, FCGR3A, CD14 
## Negative:  TM4SF19, GAL, CCL22, CYSTM1, ATP6V1D, GM2A, CD164, FDX1, SCD, ACAT2 
##     CSTB, TGM2, CIR1, IARS, TCTEX1D2, RHOF, BCAT1, CYTOR, NCAPH, EPB41L1 
##     DCSTAMP, SLC20A1, GOLGA7B, LGALS1, CSF1, SNHG32, ADCY3, DUSP13, NRIP3, MREG 
## PC_ 3 
## Positive:  PTGDS, TMEM176B, LINC02244, CLU, LINC01800, RGS20, LGALS3, TMEM176A, MGST1, KCNMA1 
##     SERTAD2, NCAPH, CRIP1, AC067751.1, SYNGR1, GPC4, GCLC, C2orf92, NOS1AP, TRIM54 
##     S100A6, LINC01010, FCMR, SLC35F1, LY86-AS1, NCF1, FGL2, ST5, NRCAM, CT69 
## Negative:  CTSZ, SLC11A1, MS4A7, AIF1, MRC1, FCER1G, CTSB, LGMN, ID3, MSR1 
##     FCGR3A, TPM4, CLEC7A, FPR3, C1QA, CTSC, CAMK1, CTSL, HLA-DRB5, CCL3 
##     S100A9, C1QC, HAMP, CSTB, HLA-DQA1, HLA-DQB1, MARCO, MARCKS, SLA, PLAU 
## PC_ 4 
## Positive:  TYMS, PCLAF, CLSPN, TK1, DIAPH3, MYBL2, RRM2, ESCO2, CENPM, MKI67 
##     FAM111B, TCF19, SHCBP1, CDK1, HELLS, CEP55, CENPK, BIRC5, CENPU, ATAD2 
##     DTL, KIF11, NCAPG, NUSAP1, MCM10, TOP2A, PRC1, GINS2, ANLN, TPX2 
## Negative:  GCHFR, XIST, HLA-DRB5, GPX3, SAT1, SLC11A1, MS4A7, MSR1, QPCT, AC020656.1 
##     GPRIN3, MARCO, NMB, PAX8-AS1, FRMD4A, ST6GAL1, AL035446.2, FDX1, SERINC2, CTSZ 
##     S100A9, STX4, FUCA1, RARRES1, SASH1, AC008591.1, LINC01500, CCDC26, GM2A, C22orf34 
## PC_ 5 
## Positive:  AC020656.1, NIPAL2, LINC02244, GCHFR, RARRES1, TDRD3, BX664727.3, FDX1, XIST, AL136317.2 
##     LINC01010, TDRD9, OSBP2, QPCT, GJB2, CFD, LYZ, S100A9, GAPLINC, TMTC1 
##     PKD1L1, PRSS21, SLC6A16, CCDC26, GM2A, HES2, CTSK, PLEKHA5, HLA-DRB5, ANO5 
## Negative:  HIV-Gagp17, HIV-BaLEnv, HIV-LTRU5, HIV-TatEx1, HIV-Polprot, MIF, HIV-Nef, HIV-LTRR, HIV-Polp15p31, HIV-Vif 
##     HIV-Gagp1Pol, IL1RN, PLEK, HIV-EnvStart, HIV-TatEx2Rev, HIV-Vpu, HIV-Gagp2p7, SLC35F1, ACTB, HIV-Vpr 
##     TMEM176A, CYTOR, ACTG1, HIV-EGFP, PSME2, TUBA1A, CTSB, MARCKS, MYL9, PHLDA1
comb1 <- RunHarmony(comb1,"sample")
## Transposing data matrix
## Initializing state using k-means centroids initialization
## Harmony 1/10
## Harmony 2/10
## Harmony 3/10
## Harmony 4/10
## Harmony converged after 4 iterations
DimHeatmap(comb1, dims = 1:6, cells = 500, balanced = TRUE)

ElbowPlot(comb1)

comb1 <- JackStraw(comb1, num.replicate = 100)
comb1 <- FindNeighbors(comb1, dims = 1:10)
## Computing nearest neighbor graph
## Computing SNN
comb1 <- FindClusters(comb1, resolution = 0.5)
## Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
## 
## Number of nodes: 11212
## Number of edges: 344775
## 
## Running Louvain algorithm...
## Maximum modularity in 10 random starts: 0.8624
## Number of communities: 10
## Elapsed time: 1 seconds
comb1 <- RunUMAP(comb1, dims = 1:10)
## 14:11:24 UMAP embedding parameters a = 0.9922 b = 1.112
## 14:11:24 Read 11212 rows and found 10 numeric columns
## 14:11:24 Using Annoy for neighbor search, n_neighbors = 30
## 14:11:24 Building Annoy index with metric = cosine, n_trees = 50
## 0%   10   20   30   40   50   60   70   80   90   100%
## [----|----|----|----|----|----|----|----|----|----|
## **************************************************|
## 14:11:25 Writing NN index file to temp file /tmp/RtmpRdHgON/file11d0d472ae0258
## 14:11:25 Searching Annoy index using 1 thread, search_k = 3000
## 14:11:29 Annoy recall = 100%
## 14:11:30 Commencing smooth kNN distance calibration using 1 thread with target n_neighbors = 30
## 14:11:32 Initializing from normalized Laplacian + noise (using RSpectra)
## 14:11:33 Commencing optimization for 200 epochs, with 450140 positive edges
## 14:11:33 Using rng type: pcg
## 14:11:37 Optimization finished
DimPlot(comb1, reduction = "umap")

message("macrophage markers")
## macrophage markers
FeaturePlot(comb1, features = c("ADGRE1", "CCR2", "SIGLEC1", "CX3CR1", "MRC1", "CD163", "LYVE1", "CD9", "TREM2"))

DimPlot(comb1, reduction = "umap", label = TRUE, pt.size = 0.5) + NoLegend()

ref <- celldex::MonacoImmuneData()
DefaultAssay(comb1) <- "RNA"
comb21 <- as.SingleCellExperiment(comb1)
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
lc1 <- logcounts(comb21)
pred_imm_broad1 <- SingleR(test=comb21, ref=ref,labels=ref$label.main)
head(pred_imm_broad1)
## DataFrame with 6 rows and 4 columns
##                                                    scores      labels
##                                                  <matrix> <character>
## alv_mock1|AAACCCAGTGCTGCAC 0.273560:0.272344:0.161242:...   Monocytes
## alv_mock1|AAAGGATAGCATGAAT 0.318711:0.307377:0.191663:...   Monocytes
## alv_mock1|AAAGGATAGTCAGGGT 0.294485:0.275673:0.182914:...   Monocytes
## alv_mock1|AAAGGATAGTTCCGGC 0.294678:0.294725:0.183945:...   Monocytes
## alv_mock1|AAAGGATTCACCATCC 0.278966:0.268607:0.190627:...   Monocytes
## alv_mock1|AAAGGGCCATGACGTT 0.284776:0.293739:0.171230:...   Monocytes
##                            delta.next pruned.labels
##                             <numeric>   <character>
## alv_mock1|AAACCCAGTGCTGCAC   0.134488     Monocytes
## alv_mock1|AAAGGATAGCATGAAT   0.104645     Monocytes
## alv_mock1|AAAGGATAGTCAGGGT   0.140018     Monocytes
## alv_mock1|AAAGGATAGTTCCGGC   0.128407     Monocytes
## alv_mock1|AAAGGATTCACCATCC   0.147810     Monocytes
## alv_mock1|AAAGGGCCATGACGTT   0.166792     Monocytes
table(pred_imm_broad1$pruned.labels)
## 
## Dendritic cells       Monocytes 
##              12           11014
cellmetadata1$label <- pred_imm_broad1$pruned.labels
pred_imm_fine1 <- SingleR(test=comb21, ref=ref, labels=ref$label.fine)
head(pred_imm_fine1)
## DataFrame with 6 rows and 4 columns
##                                                    scores              labels
##                                                  <matrix>         <character>
## alv_mock1|AAACCCAGTGCTGCAC 0.163017:0.398232:0.176698:... Classical monocytes
## alv_mock1|AAAGGATAGCATGAAT 0.180234:0.435146:0.208731:... Classical monocytes
## alv_mock1|AAAGGATAGTCAGGGT 0.169967:0.389207:0.187751:... Classical monocytes
## alv_mock1|AAAGGATAGTTCCGGC 0.166462:0.422480:0.189466:... Classical monocytes
## alv_mock1|AAAGGATTCACCATCC 0.184520:0.383707:0.203877:... Classical monocytes
## alv_mock1|AAAGGGCCATGACGTT 0.173873:0.439659:0.198357:... Classical monocytes
##                            delta.next       pruned.labels
##                             <numeric>         <character>
## alv_mock1|AAACCCAGTGCTGCAC  0.1433756 Classical monocytes
## alv_mock1|AAAGGATAGCATGAAT  0.1213924 Classical monocytes
## alv_mock1|AAAGGATAGTCAGGGT  0.0502055 Classical monocytes
## alv_mock1|AAAGGATAGTTCCGGC  0.0994518 Classical monocytes
## alv_mock1|AAAGGATTCACCATCC  0.0283404 Classical monocytes
## alv_mock1|AAAGGGCCATGACGTT  0.0687853 Classical monocytes
table(pred_imm_fine1$pruned.labels)
## 
##     Classical monocytes  Intermediate monocytes Myeloid dendritic cells 
##                    9702                    1332                      25 
## Non classical monocytes 
##                       3
cellmetadata1$finelabel <- pred_imm_fine1$pruned.labels
col_pal <- c('#e31a1c', '#ff7f00', "#999900", '#cc00ff', '#1f78b4', '#fdbf6f',
             '#33a02c', '#fb9a99', "#a6cee3", "#cc6699", "#b2df8a", "#99004d", "#66ff99",
             "#669999", "#006600", "#9966ff", "#cc9900", "#e6ccff", "#3399ff", "#ff66cc",
             "#ffcc66", "#003399")
annot_df1 <- data.frame(
  barcodes = rownames(pred_imm_broad1),
  monaco_broad_annotation = pred_imm_broad1$labels,
  monaco_broad_pruned_labels = pred_imm_broad1$pruned.labels,
  monaco_fine_annotation = pred_imm_fine1$labels,
  monaco_fine_pruned_labels = pred_imm_fine1$pruned.labels)

meta_inf1 <- comb1@meta.data
meta_inf1$cell_barcode <- colnames(comb1)
meta_inf1 <- meta_inf1 %>% dplyr::left_join(y = annot_df1, by = c("cell_barcode" = "barcodes"))
rownames(meta_inf1) <- colnames(lc1)
comb1@meta.data <- meta_inf1
DimPlot(comb1, label=TRUE, group.by = "monaco_broad_annotation", reduction = "umap",
  cols = col_pal, pt.size = 0.5) + ggtitle("Annotation With the Monaco Reference Database")

DimPlot(comb1, label=TRUE, group.by = "monaco_fine_annotation", reduction = "umap",
  cols = col_pal, pt.size = 0.5) + ggtitle("Annotation With the Monaco Reference Database")

message("extract mono")
## extract mono
mono <- comb1[,which(meta_inf1$monaco_broad_annotation == "Monocytes")]
mono_metainf1 <- meta_inf1[which(meta_inf1$monaco_broad_annotation == "Monocytes"),]
mono_metainf1 <- mono_metainf1[grep("monocytes",mono_metainf1$monaco_fine_pruned_labels),]
mono <- mono[,which(colnames(mono) %in% rownames(mono_metainf1))]
mono <- FindVariableFeatures(mono, selection.method = "vst", nfeatures = 2000)
## Finding variable features for layer counts
mono <- RunPCA(mono, features = VariableFeatures(object = mono))
## Warning in PrepDR5(object = object, features = features, layer = layer, : The
## following features were not available: AC074099.1, MBOAT4, CYP1B1, AC022035.1,
## MS4A4A, IFI30, PSMA7, ZCCHC7, CPEB2-DT, ZNF609, CEP85L, AC023194.3, GLUL,
## LINC01951, LINC02643, DIAPH3-AS1, F2RL1, AC108860.2, DNAI1, HULC, AL135818.3,
## KIF16B, TESK2, HCAR3, LIMCH1, PGBD5, DOP1B, YJEFN3, LINC02732.
## PC_ 1 
## Positive:  S100A6, GAPDH, LGALS1, DBI, MIF, LGALS3, PSME2, PRDX6, CSTB, GSTO1 
##     LINC02244, PTGDS, CYSTM1, ELOC, CALM3, TXN, GSTP1, TMEM176B, MMP9, CRIP1 
##     MGST1, CLU, CHI3L1, H2AFZ, FAH, TUBA1A, LDHA, TMEM176A, SYNGR1, S100A4 
## Negative:  DOCK3, ARL15, MALAT1, RASAL2, LRMDA, TMEM117, DPYD, PLXDC2, FTX, EXOC4 
##     ASAP1, TPRG1, ATG7, MITF, NEAT1, JMJD1C, VPS13B, FHIT, ELMO1, MAML2 
##     UBE2E2, ZNF438, COP1, FMNL2, LPP, ZFAND3, TRIO, FRMD4B, ZEB2, MED13L 
## PC_ 2 
## Positive:  TM4SF19, CCL22, GAL, CYSTM1, ATP6V1D, GM2A, CD164, FDX1, SCD, ACAT2 
##     CSTB, TGM2, IARS, CIR1, TCTEX1D2, RHOF, BCAT1, CYTOR, NCAPH, EPB41L1 
##     DCSTAMP, SLC20A1, GOLGA7B, CSF1, LGALS1, ADCY3, SNHG32, DUSP13, NRIP3, MREG 
## Negative:  HLA-DPA1, HLA-DRA, CD74, HLA-DPB1, AIF1, LYZ, HLA-DRB1, MRC1, CTSC, TGFBI 
##     VAMP5, C1QA, RCBTB2, SAMSN1, HMOX1, FOS, CLEC7A, SLCO2B1, FCGR2A, C1QC 
##     FGL2, SPRED1, SLC8A1, SELENOP, RBPJ, PDGFC, CLEC4A, ME1, FCGR3A, CD14 
## PC_ 3 
## Positive:  PTGDS, TMEM176B, LINC02244, CLU, LINC01800, LGALS3, TMEM176A, RGS20, MGST1, KCNMA1 
##     CRIP1, NCAPH, SERTAD2, SYNGR1, AC067751.1, GPC4, GCLC, TRIM54, C2orf92, NOS1AP 
##     S100A6, FCMR, SLC35F1, LINC01010, NCF1, LY86-AS1, FGL2, ST5, PLEK, MX1 
## Negative:  CTSZ, SLC11A1, MS4A7, AIF1, MRC1, FCER1G, LGMN, CTSB, MSR1, FCGR3A 
##     ID3, TPM4, CLEC7A, FPR3, CAMK1, C1QA, CTSC, HLA-DRB5, CTSL, CCL3 
##     S100A9, HAMP, C1QC, CSTB, HLA-DQA1, MARCO, HLA-DQB1, FMN1, SLA, MARCKS 
## PC_ 4 
## Positive:  GCHFR, XIST, SAT1, GPX3, HLA-DRB5, QPCT, MS4A7, SLC11A1, AC020656.1, MSR1 
##     GPRIN3, NMB, MARCO, PAX8-AS1, FRMD4A, ST6GAL1, FDX1, AL035446.2, SERINC2, CTSZ 
##     FUCA1, S100A9, STX4, RARRES1, SASH1, AC008591.1, LINC01500, CCDC26, GM2A, CFD 
## Negative:  TYMS, PCLAF, CLSPN, TK1, MYBL2, DIAPH3, RRM2, ESCO2, CENPM, FAM111B 
##     MKI67, TCF19, SHCBP1, HELLS, CDK1, CENPU, CEP55, CENPK, DTL, BIRC5 
##     ATAD2, NCAPG, KIF11, MCM10, GINS2, NUSAP1, TOP2A, PRC1, TPX2, ANLN 
## PC_ 5 
## Positive:  AC020656.1, NIPAL2, LINC02244, GCHFR, RARRES1, TDRD3, BX664727.3, XIST, FDX1, AL136317.2 
##     LINC01010, GJB2, CFD, QPCT, OSBP2, TDRD9, LYZ, S100A9, GAPLINC, TMTC1 
##     PRSS21, CTSK, SLC6A16, PKD1L1, GM2A, HES2, CCDC26, PLEKHA5, HLA-DRB5, ANO5 
## Negative:  HIV-Gagp17, HIV-LTRU5, HIV-BaLEnv, HIV-TatEx1, HIV-Polprot, MIF, HIV-Nef, HIV-LTRR, HIV-Polp15p31, HIV-Vif 
##     HIV-Gagp1Pol, IL1RN, PLEK, HIV-EnvStart, HIV-Vpu, HIV-TatEx2Rev, HIV-Gagp2p7, ACTB, SLC35F1, HIV-Vpr 
##     CYTOR, ACTG1, TMEM176A, HIV-EGFP, PSME2, CTSB, MARCKS, TUBA1A, MYL9, PHLDA1
DimHeatmap(mono, dims = 1:2, cells = 500, balanced = TRUE)

DimHeatmap(mono, dims = 3:4, cells = 500, balanced = TRUE)

ElbowPlot(mono)

mono <- FindNeighbors(mono, dims = 1:4)
## Computing nearest neighbor graph
## Computing SNN
mono <- FindClusters(mono, algorithm = 3, resolution = 0.3, verbose = FALSE)
mono <- RunUMAP(mono, dims = 1:4)
## 14:12:24 UMAP embedding parameters a = 0.9922 b = 1.112
## 14:12:24 Read 11036 rows and found 4 numeric columns
## 14:12:24 Using Annoy for neighbor search, n_neighbors = 30
## 14:12:24 Building Annoy index with metric = cosine, n_trees = 50
## 0%   10   20   30   40   50   60   70   80   90   100%
## [----|----|----|----|----|----|----|----|----|----|
## **************************************************|
## 14:12:25 Writing NN index file to temp file /tmp/RtmpRdHgON/file11d0d470aad126
## 14:12:25 Searching Annoy index using 1 thread, search_k = 3000
## 14:12:29 Annoy recall = 100%
## 14:12:31 Commencing smooth kNN distance calibration using 1 thread with target n_neighbors = 30
## 14:12:33 Initializing from normalized Laplacian + noise (using RSpectra)
## 14:12:33 Commencing optimization for 200 epochs, with 374004 positive edges
## 14:12:33 Using rng type: pcg
## 14:12:37 Optimization finished
DimPlot(mono, reduction = "umap", label=TRUE)

DimPlot(mono, group.by="monaco_fine_annotation" , reduction = "umap", label=TRUE)

DimPlot(mono, group.by="sample" , reduction = "umap", label=TRUE)

Extract monocytes MDM only

mono <- comb[,which(meta_inf$monaco_broad_annotation == "Monocytes")]
mono_metainf <- meta_inf[which(meta_inf$monaco_broad_annotation == "Monocytes"),]
mono_metainf1 <- mono_metainf[grep("monocytes",mono_metainf$monaco_fine_pruned_labels),]
mono <- mono[,which(colnames(mono) %in% rownames(mono_metainf))]
mono <- FindVariableFeatures(mono, selection.method = "vst", nfeatures = 2000)
## Finding variable features for layer counts
mono <- RunPCA(mono, features = VariableFeatures(object = mono))
## Warning in PrepDR5(object = object, features = features, layer = layer, : The
## following features were not available: ADGRF1, AP000812.1, ACTB, AC005740.5,
## AC138123.1, HIF1A-AS3, PRH1, AL592494.2.
## PC_ 1 
## Positive:  GAPDH, FABP3, TXN, IFI30, S100A10, PRDX6, TUBA1B, BLVRB, OTOA, S100A9 
##     FAH, C15orf48, GCHFR, CYSTM1, CARD16, GSTP1, HAMP, PSMA7, CTSB, CSTA 
##     ACTG1, FABP4, H2AFZ, LDHB, LINC01827, CFD, TUBA1A, MMP9, SELENOW, LINC02244 
## Negative:  ARL15, DOCK3, FTX, NEAT1, EXOC4, MALAT1, DPYD, LRMDA, RASAL2, JMJD1C 
##     TMEM117, PLXDC2, VPS13B, FHIT, TPRG1, TRIO, ATG7, ZNF438, MAML2, ZFAND3 
##     MITF, COP1, ZEB2, ELMO1, MED13L, DENND4C, TCF12, ERC1, JARID2, FMNL2 
## PC_ 2 
## Positive:  HLA-DRB1, CD74, HLA-DRA, HLA-DPA1, GCLC, HLA-DPB1, LYZ, RCBTB2, MRC1, KCNMA1 
##     SPRED1, C1QA, FGL2, AC020656.1, SLCO2B1, CYP1B1, AIF1, HLA-DRB5, PTGDS, S100A4 
##     VAMP5, LINC02345, CA2, CRIP1, CAMK1, ALOX5AP, RTN1, HLA-DQB1, MX1, TGFBI 
## Negative:  CYSTM1, CD164, PSAT1, FAH, FDX1, GDF15, ATP6V1D, BCAT1, SAT1, CCPG1 
##     PHGDH, PSMA7, HEBP2, SLAMF9, RETREG1, GARS, HES2, TCEA1, TXN, RHOQ 
##     RILPL2, B4GALT5, CLGN, NUPR1, CSTA, SPTBN1, HSD17B12, STMN1, SNHG5, PTER 
## PC_ 3 
## Positive:  MARCKS, CD14, BTG1, MS4A6A, TGFBI, CTSC, FPR3, HLA-DQA1, AIF1, MPEG1 
##     MEF2C, CD163, IFI30, TIMP1, HLA-DPB1, ALDH2, SELENOP, NUPR1, NAMPT, HLA-DQB1 
##     HIF1A, C1QC, MS4A7, FUCA1, EPB41L3, HLA-DQA2, RNASE1, ARL4C, ZNF331, TCF4 
## Negative:  NCAPH, CRABP2, RGCC, CHI3L1, TM4SF19, DUSP2, GAL, AC015660.2, CCL22, ACAT2 
##     LINC01010, TMEM114, MGST1, RGS20, TRIM54, LINC02244, MREG, NUMB, TCTEX1D2, GPC4 
##     CCND1, POLE4, SYNGR1, SLC20A1, SERTAD2, IL1RN, GCLC, CLU, PLEK, AC092353.2 
## PC_ 4 
## Positive:  ACTG1, TPM4, CCL3, CTSB, TUBA1B, CSF1, DHCR24, CYTOR, LGMN, INSIG1 
##     GAPDH, TUBB, CD36, HAMP, CCL7, C1QA, AIF1, MGLL, TYMS, LIMA1 
##     C1QC, PCLAF, CCL2, HSP90B1, CLSPN, C1QB, TNFSF13, TK1, C15orf48, CAMK1 
## Negative:  PTGDS, LINC02244, CLU, CSTA, CCPG1, MGST1, SYNGR1, LINC01010, EPHB1, ALDH2 
##     AC015660.2, LY86-AS1, GAS5, NCF1, BX664727.3, S100P, TMEM91, SNHG5, CLEC12A, AP000331.1 
##     APOD, PDE4D, C1QTNF4, VAMP5, LYZ, CFD, RCBTB2, DIXDC1, AC073359.2, ARHGAP15 
## PC_ 5 
## Positive:  TYMS, PCLAF, TK1, MKI67, MYBL2, RRM2, CENPM, BIRC5, CEP55, CLSPN 
##     CDK1, DIAPH3, SHCBP1, NUSAP1, CENPF, CENPK, PRC1, TOP2A, NCAPG, ESCO2 
##     KIF11, ANLN, CCNA2, TPX2, ASPM, FAM111B, MAD2L1, RAD51AP1, GTSE1, HMMR 
## Negative:  HIV-BaLEnv, HIV-LTRU5, HIV-Polprot, HIV-Gagp17, HIV-Nef, HIV-TatEx1, HIV-Polp15p31, HIV-LTRR, HIV-Vif, HIV-Gagp1Pol 
##     HIV-TatEx2Rev, HIV-Gagp2p7, HIV-EnvStart, HIV-Vpu, HIV-Vpr, HIV-EGFP, CTSB, MMP19, IL6R-AS1, CSF1 
##     CCL3, MGLL, IL1RN, INSIG1, AL157912.1, SDS, LGMN, TCTEX1D2, TNFRSF9, PHLDA1
DimHeatmap(mono, dims = 1:2, cells = 500, balanced = TRUE)

DimHeatmap(mono, dims = 3:4, cells = 500, balanced = TRUE)

ElbowPlot(mono)

mono <- FindNeighbors(mono, dims = 1:4)
## Computing nearest neighbor graph
## Computing SNN
mono <- FindClusters(mono, algorithm = 3, resolution = 0.3, verbose = FALSE)
mono <- RunUMAP(mono, dims = 1:4)
## 14:13:28 UMAP embedding parameters a = 0.9922 b = 1.112
## 14:13:28 Read 24224 rows and found 4 numeric columns
## 14:13:28 Using Annoy for neighbor search, n_neighbors = 30
## 14:13:28 Building Annoy index with metric = cosine, n_trees = 50
## 0%   10   20   30   40   50   60   70   80   90   100%
## [----|----|----|----|----|----|----|----|----|----|
## **************************************************|
## 14:13:30 Writing NN index file to temp file /tmp/RtmpRdHgON/file11d0d47c64da0b
## 14:13:30 Searching Annoy index using 1 thread, search_k = 3000
## 14:13:39 Annoy recall = 100%
## 14:13:41 Commencing smooth kNN distance calibration using 1 thread with target n_neighbors = 30
## 14:13:43 Initializing from normalized Laplacian + noise (using RSpectra)
## 14:13:44 Commencing optimization for 200 epochs, with 793206 positive edges
## 14:13:44 Using rng type: pcg
## 14:13:51 Optimization finished
DimPlot(mono, reduction = "umap", label=TRUE)

DimPlot(mono, group.by="monaco_fine_annotation" , reduction = "umap", label=TRUE)

DimPlot(mono, group.by="sample" , reduction = "umap", label=TRUE)

Cell counts

Most cells are classified as monocytes.

cc <- table(meta_inf[,c("sample","monaco_broad_annotation")])

cc %>% kbl(caption="cell counts") %>% kable_paper("hover", full_width = F)
cell counts
Basophils Dendritic cells Monocytes
alv_active1 0 0 774
alv_active2 0 3 543
alv_active3 0 1 540
alv_bystander1 0 1 2458
alv_bystander2 0 0 1948
alv_bystander3 0 1 1936
alv_latent1 0 1 301
alv_latent2 0 0 99
alv_latent3 0 1 137
alv_mock1 0 1 883
alv_mock2 0 0 649
alv_mock3 0 3 1031
mdm_active1 0 3 599
mdm_active2 0 0 414
mdm_active3 0 2 305
mdm_active4 0 0 401
mdm_bystander1 0 12 1845
mdm_bystander2 0 8 1957
mdm_bystander3 0 19 490
mdm_bystander4 0 1 1495
mdm_latent1 1 11 160
mdm_latent2 0 8 187
mdm_latent3 0 3 72
mdm_latent4 0 0 23
mdm_mock1 0 1 691
mdm_mock2 0 1 549
mdm_mock3 0 2 135
mdm_mock4 0 0 775
react6 0 3 2827
tcc <- t(cc)

pctcc <- apply(tcc,2,function(x) { x/sum(x)*100} )

pctcc %>% kbl(caption="cell proportions") %>% kable_paper("hover", full_width = F)
cell proportions
alv_active1 alv_active2 alv_active3 alv_bystander1 alv_bystander2 alv_bystander3 alv_latent1 alv_latent2 alv_latent3 alv_mock1 alv_mock2 alv_mock3 mdm_active1 mdm_active2 mdm_active3 mdm_active4 mdm_bystander1 mdm_bystander2 mdm_bystander3 mdm_bystander4 mdm_latent1 mdm_latent2 mdm_latent3 mdm_latent4 mdm_mock1 mdm_mock2 mdm_mock3 mdm_mock4 react6
Basophils 0 0.0000000 0.0000000 0.0000000 0 0.0000000 0.0000000 0 0.0000000 0.0000000 0 0.0000000 0.0000000 0 0.0000000 0 0.0000000 0.0000000 0.000000 0.0000000 0.5813953 0.000000 0 0 0.0000000 0.0000000 0.000000 0 0.0000000
Dendritic cells 0 0.5494505 0.1848429 0.0406669 0 0.0516262 0.3311258 0 0.7246377 0.1131222 0 0.2901354 0.4983389 0 0.6514658 0 0.6462036 0.4071247 3.732809 0.0668449 6.3953488 4.102564 4 0 0.1445087 0.1818182 1.459854 0 0.1060071
Monocytes 100 99.4505495 99.8151571 99.9593331 100 99.9483738 99.6688742 100 99.2753623 99.8868778 100 99.7098646 99.5016611 100 99.3485342 100 99.3537964 99.5928753 96.267191 99.9331551 93.0232558 95.897436 96 100 99.8554913 99.8181818 98.540146 100 99.8939929

Focus on MOCK vs ACTIVE - exclude latent and bystander

focus <- meta_inf[grep("latent",rownames(meta_inf),invert=TRUE),]
focus <- focus[grep("bystander",rownames(focus),invert=TRUE),]
focus_mdm <- focus[grep("mdm",rownames(focus)),]
focus_alv <- focus[grep("alv",rownames(focus)),]

mono_focus_mdm <- mono[,which(colnames(mono) %in% rownames(focus_mdm))]
mono_focus_alv <- mono[,which(colnames(mono) %in% rownames(focus_alv))]

# mono_focus_mdm
mono_focus_mdm <- FindVariableFeatures(mono_focus_mdm, selection.method = "vst", nfeatures = 2000)
## Finding variable features for layer counts
mono_focus_mdm <- RunPCA(mono_focus_mdm, features = VariableFeatures(object = mono_focus_mdm))
## Warning: The following 36 features requested have zero variance; running
## reduction without them: CCL3, PDE7B, NEAT1, KCNIP1, BX664727.3, ARL4C,
## BX284613.2, HIST1H3J, ANXA1, NCALD, SLC51A, CPEB2, PRMT9, MGST1, ABCG1, EPSTI1,
## PPP2R3A, PRKCA, CU638689.5, DIAPH2-AS1, RGS20, CST7, ARMC9, AC013799.1,
## AC137770.1, GRAMD1B, RRAS2, PPP1R12B, AC124017.1, ENTPD1, GTDC1, LINC00511,
## AC024901.1, AC006001.2, PRKG2, SCLT1
## Warning in PrepDR5(object = object, features = features, layer = layer, : The
## following features were not available: HIST1H2BJ, ENG, OASL, CENPA, SSBP3,
## MT-ND5, CCND2, TVP23A, PCBP3, LINC00885, SCAI, AL009177.1, AC013287.1,
## AL355388.1, IFT80, PIWIL2, AC106793.1, AL358944.1, C16orf89, KLF12, AC108134.2,
## SETD2, C5AR2, PPP6R2, FANCM, TTK, HIF1A-AS3, TNRC6C, STXBP1, ZZEF1, HCAR2,
## GPR155, MARCH1, SLC2A14, RPS4Y1, IPCEF1, AC064805.2, PNPLA7, AL353759.1, KLRG1,
## PDIA4, TENM1, EIF2B3, LRRK2, TNFRSF4, RASIP1, ZBTB41, AGPAT5, LPL, RAP1GDS1,
## NUP93, LINC02853, CLPX, FAM118B, ESR2, MT-ATP6, SH3GL1, ATP6V0A2, CWC22, PSME2,
## PAWR, GYG2, AC034213.1, AL157911.1, AC007091.1, LINC02585, AC007364.1,
## AL357873.1, P2RY12, AC025262.1, NR2F1-AS1, ANKRD34B, PCA3, CLIC5, DUSP16, CREM,
## AL360015.1, IFT140, AURKC, CCNB2, ASTL, CHRNB4, PKIA-AS1, WWP1, SF3B3,
## TMEM220-AS1, DOK5, RAB10, LDHA, STAT5B, AC005740.5, MT-ND2, PARD3, LYPD1,
## AL355388.3, AP000462.1, AC072022.2, ZNF276, HLA-C, AC093766.1, BTBD2, FAM184A,
## IFI6, PDGFD, SRRM2-AS1, SIGLEC10, SRGN, SEMA6D, AC108879.1, MT-CO3, AC133550.2,
## MAP4K1, CPLX1, LINC01054, PACS1, OBI1-AS1, MAP3K15, ACTR3C, AL021917.1, LRRC9,
## RASSF4, TMEM212-AS1, AC105001.1, AL031658.1, CDK19, SF3B1, MT-CYB, AP000446.1,
## TTC21B-AS1, JAKMIP3, VGLL3, RGS18, CHRM3, DAPK2, AC099552.1, UBASH3B, ANK3,
## AC006427.2, AC079062.1, ACMSD, ZNF385D-AS1, CFAP52, SETBP1, MRC2, BCL2A1,
## ZFPM2-AS1, COX5B, MT-ND1, CTHRC1, AL592295.3, AC100849.2, TRIM71, CCDC7,
## AC078923.1, DPEP3, CARD11, AC240274.1, AC112236.3, ZDHHC17, IGSF6, AC089983.1,
## P2RY13, AC092490.1, MANF, GRM7, FDXACB1, NLRP4, APCDD1L, FHOD3, AC092811.1,
## MMP28, AC009315.1, AHR, KIF21A, CRISPLD2, TFG, AC007389.1, GNG4, RORA, ARC,
## SAMD11, GAS1RR, MIR155HG, DARS, CLEC4C, TRIM37, SLC44A5, AC114977.1,
## AC019117.1, CEP112, TUBB3, ADRA2B, TPTE2, STPG2, GTSF1, CORIN, CEP135,
## AL132775.1, SNAP25-AS1, AL049828.1, DNAH2, AL391807.1, PRRT2, TEX15, OR8D1,
## SOAT2, MCF2L-AS1, AC005393.1, SESN3, DHX8, VIPR1, NWD1, TNS3, GSN, OR3A2,
## HIST1H2AC, AKR7A2, ALDH1A1, TMEM45A, SRGAP3, AC084809.2, CPE, SNHG12,
## AC026333.3, AC073050.1, LINC01600, LCTL, AC019330.1, AC073569.1, ATP6V0D2,
## TACC3, GFRA2, MAPK8, LRRIQ4, LINC00649, RUFY2, CD93, ATF3, AC011365.1, GAL3ST4,
## Z99758.1, CREG2, U62317.4, SCAPER, LYPLAL1-DT, LNX1, AC096570.1, AC016074.2,
## ERO1A, AC009264.1, ENPEP, CNDP1, SIGLEC7, GLIPR1, OSBPL6, AL136418.1,
## HIST1H2BG, SULF2, MNAT1, AL589740.1, TUBB4B, PAX8-AS1, TASP1, ABCA13,
## LINC00237, AC020743.2, TSPAN8, AC015849.1, AL078602.1, CACNA2D3, LINC01917,
## LINC01855, Z94721.1, MAPK13, FKBP1B, AC021231.1, PRTG, GAK, RALGAPA2, RTKN2,
## AL445584.2, LINC02208, PODN, PDE11A, DPF1, ACTB, RPS6KA6, MCCC2, TFRC,
## AC005264.1, TMEM71, KDM6A, HIST2H2BE, EPHA6, COL8A2, LINC00958, ZBTB46,
## AC011476.3, SCFD2, GLRX, C11orf45, MLLT3, RAP2C-AS1, LGALSL, LINC01353, SOX15,
## KIAA0825, CD72, NPRL3, LINC01891, AL645929.2, MMD2, LINC02449, MAP1A, OXSR1,
## AC104459.1, SLC26A7, ZHX2, AC021086.1, SPAG7, CALR, AC090630.1, HERPUD1, ITGA4,
## AC087683.3, AC114763.1, ZFP36L1, SPEG, LINC01191, RFX3, RNF24, STAG1,
## AC117473.1, MGAT5, TUBB4A, MRVI1, CKMT1A, AC073475.1, LY96, SPTLC3, KIAA1841,
## AL031710.2, NYX, LGALS3, PTPRG-AS1, CHM, TMEM131L, MCM9, JAKMIP2-AS1, BACH1,
## AP000829.1, CFAP69, CLDN4, RHCE, PRSS3, AC010834.2, AL356379.2, MDH1, HCAR3,
## ADORA2B, MARCH3, LINC02015, CALM3, PROCR, LILRB2, IGF2R, SOCS3, NETO2,
## TMEM72-AS1, RNF180, E2F1, TNIK, P3H2, AC008115.2, SPIB, PLBD1, AF131216.1,
## AC103726.2, NALCN, AC008555.2, AC008655.2, AL672032.1, AP002793.1, AL110292.1,
## AC098588.3, UBE2T, PIP4K2C, PCLO, AC097654.1, MKX, AL121772.1, AC020637.1,
## LINC00571, LINC02112, KCNJ1, AL136298.1, TRAF2, BMPR1B, AFF1, SPIRE1, PAFAH1B1,
## CASP1, LINC02851, CNIH3, EXD2, PTPRB, SNX10, ITPR2, KIF20B, AC129803.1, NFKB1,
## BUB1, SOS1, ADAMTS10, PLXNC1, SGO1, BFSP2, AL365295.2, AHCYL2, PKN2, ZC4H2,
## HSP90AA1, FAM135A, XKR9, CDT1, PRORP, LINC01762, ITM2A, NEGR1, ANGPTL4,
## AC079584.1, LINC00987, SLC7A8, PFKFB3, LPP, STUM, FAM110B, QKI, FILIP1L, DYM,
## MYADM, ADIRF, TXNIP, ARRDC3-AS1, LINC02798, AL139246.1, AL137076.1, AL158839.1,
## AL589765.6, C4BPA, C1orf229, AC114810.1, AL133243.1, AC009229.3, AC012358.1,
## LINC01104, AC063944.3, AC092902.6, AC128709.2, AC021220.2, ADAMTS3, RBM46,
## AC116351.1, AC011374.3, LINC02533, LINC02571, Z84484.1, MRAP2, FUT9,
## AL357992.1, AL078582.1, AC002480.2, TRIM74, DEFB136, PRDM14, CALB1, AF178030.1,
## AF235103.1, CNTFR-AS1, AL353764.1, TMEM246-AS1, PPP3R2, AL356481.2, AL731559.1,
## AL121748.1, LINC02625, SYCE1, OR10A4, LINC02751, SAA4, AC013714.1, AC024940.1,
## AC012464.3, AC063943.1, C1QTNF9-AS1, SMAD9-IT1, LINC00563, AL161717.1,
## CLYBL-AS2, AL442125.2, KLHL33, CMA1, AL163953.1, AC104938.1, AC048382.1,
## AC091167.5, BAIAP3, AL133297.1, AC106820.2, NPIPB8, AC012186.2, AC092378.1,
## AC129507.2, RAI1-AS1, AC007952.6, AC004448.3, AC243773.2, KRT19, AC105094.2,
## OR7E24, ANGPTL8, LINC01858, AC022150.2, AL021396.1, LINC01747, CU634019.5,
## NUDT11, LINC00266-4P, PLA2G5, BDNF-AS, KCNA2, AC021546.1, LINC00407,
## AC246817.1, GNG7, DNAH3, GMDS, LINC02398, AL096794.1, AL390800.1, AC083836.1,
## NELL2, UFL1-AS1, PRH1, SUCLG2-AS1, ITGA9, GLUL, LINC01572, SPOCK3, POF1B, FAIM,
## SPATA5, TIMP4, CAMK2D, ELANE, PCNX2, ABCA1, TOM1L2, SLC41A2, HCRTR2, ST3GAL3,
## MCTP2, DUSP5, MARF1, COBL, PRDM1, CD200R1, AC092134.3, CPXM2, EDA, CASC2, PKP2,
## TTLL7, GPAT3, PLAA, PRAG1, DMXL2, AL009179.1, SH3GL2, AL158068.2, AC005736.1,
## CYP4F22, LINC01098, EFL1, RERE, CRELD2, ZNF609, STAU2, EMP1, AC024084.1, RHPN2,
## MPDZ, TYW1B, LINC02457, RAB7B.
## PC_ 1 
## Positive:  PRDX6, TUBA1B, C15orf48, FABP3, S100A10, TUBA1A, TXN, S100A9, CRABP2, CHI3L1 
##     SLC35F1, RGCC, ACTG1, ACAT2, MMP9, FBP1, TUBA1C, GAL, HPGDS, LDHB 
##     BLVRB, HAMP, MYL9, SPP1, UCHL1, CCNA1, TMEM176B, LINC02244, TMEM114, TMEM176A 
## Negative:  FHIT, RAD51B, FMN1, ARL15, MALAT1, FTX, AL035446.2, MBD5, EXOC4, SLC22A15 
##     ZFAND3, SNTB1, FNDC3B, GMDS-DT, COP1, VTI1A, PDE4D, JMJD1C, DENND1A, VPS13B 
##     TRIO, DOCK4, SBF2, SMYD3, FRMD4B, DOCK3, COG5, TBC1D8, REV3L, ZBTB20 
## PC_ 2 
## Positive:  HLA-DRB1, LYZ, PTGDS, CD74, HLA-DRA, HLA-DPA1, CFD, HLA-DPB1, KCNMA1, CEBPD 
##     RCBTB2, CYP1B1, GCLC, NCAPH, RNASE6, TGFBI, SIPA1L1, S100A4, CRIP1, HLA-DRB5 
##     MNDA, ATP8B4, ATG7, CA2, HLA-DQB1, ALOX5AP, MRC1, DUSP2, VAMP5, RAPGEF1 
## Negative:  HIV-Gagp17, HIV-Polp15p31, HIV-BaLEnv, HIV-Polprot, HIV-Vif, HIV-LTRU5, HIV-Gagp2p7, GDF15, PSAT1, CYSTM1 
##     HIV-Gagp1Pol, BEX2, HIV-EGFP, TCEA1, G0S2, HIV-TatEx2Rev, SNCA, PHGDH, HIV-Vpu, B4GALT5 
##     OCIAD2, SLAMF9, HIV-TatEx1, HIV-LTRR, SUPV3L1, UGCG, RAB38, GARS, S100A10, NMRK2 
## PC_ 3 
## Positive:  BTG1, MARCKS, CD14, G0S2, TGFBI, FUCA1, MS4A6A, CLEC4E, SEMA4A, CXCR4 
##     VMO1, TIMP1, MEF2C, HIF1A, CEBPD, MS4A7, MAFB, P2RY8, RNASE1, FPR3 
##     TCF4, MPEG1, PDK4, CTSC, CD163, HLA-DQA2, HIV-Gagp17, ST8SIA4, SDS, SELENOP 
## Negative:  RGCC, NCAPH, CRABP2, CHI3L1, TM4SF19, LINC01010, MREG, LINC02244, GPC4, AC015660.2 
##     TMEM114, FNIP2, NUMB, ACAT2, PSD3, TCTEX1D2, LRCH1, SLC28A3, PLEK, ST3GAL6 
##     AC005280.2, ANO5, DOCK3, FBP1, AC092353.2, CSF1, ASAP1, GCLC, FDX1, TXNRD1 
## PC_ 4 
## Positive:  HES2, CCPG1, LINC02244, NUPR1, CARD16, RAB6B, LINC01010, S100P, PSAT1, CPD 
##     PTGDS, CLGN, CLU, BEX2, NIBAN1, SYNGR1, PHGDH, TDRD3, PLEKHA5, QPCT 
##     NMB, RETREG1, PCDH19, C5orf17, GAS5, SUPV3L1, TCEA1, PDE4D, CLEC12A, SEL1L3 
## Negative:  AC078850.1, SLC35F1, INSIG1, TUBA1B, CCL7, ACTG1, LINC01091, CD36, FABP4, C3 
##     MGLL, TPM4, TIMP3, PHLDA1, CD300LB, CSF1, TMEM176A, CADM1, TUBB, ALCAM 
##     HSP90B1, IL1RN, TNFRSF9, LIMA1, TPM2, SDS, IL18BP, PLEK, IL4I1, MACC1 
## PC_ 5 
## Positive:  PCLAF, STMN1, TYMS, CTSL, CENPF, MKI67, CEP55, CDKN3, BIRC5, KIF4A 
##     DLGAP5, PTTG1, RAD51AP1, CENPM, TK1, PRC1, PLEKHA5, CDK1, HMMR, CENPK 
##     CLSPN, CCNA2, NUSAP1, SHCBP1, TPX2, ASPM, BUB1B, TUBB, MYBL2, NCAPG 
## Negative:  HIV-Vif, HIV-Gagp2p7, HIV-Polp15p31, HIV-Polprot, HIV-Gagp17, HIV-Gagp1Pol, HIV-BaLEnv, HIV-LTRU5, HIV-TatEx1, HIV-Vpu 
##     HIV-TatEx2Rev, HIV-LTRR, HIV-EGFP, HIV-Nef, HIV-EnvStart, HIV-Vpr, CHI3L1, HES1, GCLC, PLCL1 
##     SPRED1, IL1RN, HES4, ISG15, MX1, CDKN1A, DUSP2, ST6GALNAC3, ADK, MDM2
DimHeatmap(mono_focus_mdm, dims = 1:2, cells = 500, balanced = TRUE)

DimHeatmap(mono_focus_mdm, dims = 3:4, cells = 500, balanced = TRUE)

ElbowPlot(mono_focus_mdm)

mono_focus_mdm <- FindNeighbors(mono_focus_mdm, dims = 1:4)
## Computing nearest neighbor graph
## Computing SNN
mono_focus_mdm <- FindClusters(mono_focus_mdm, algorithm = 3, resolution = 0.3, verbose = FALSE)
mono_focus_mdm <- RunUMAP(mono_focus_mdm, dims = 1:4)
## 14:14:06 UMAP embedding parameters a = 0.9922 b = 1.112
## 14:14:06 Read 3869 rows and found 4 numeric columns
## 14:14:06 Using Annoy for neighbor search, n_neighbors = 30
## 14:14:06 Building Annoy index with metric = cosine, n_trees = 50
## 0%   10   20   30   40   50   60   70   80   90   100%
## [----|----|----|----|----|----|----|----|----|----|
## **************************************************|
## 14:14:06 Writing NN index file to temp file /tmp/RtmpRdHgON/file11d0d4211d0110
## 14:14:06 Searching Annoy index using 1 thread, search_k = 3000
## 14:14:07 Annoy recall = 100%
## 14:14:09 Commencing smooth kNN distance calibration using 1 thread with target n_neighbors = 30
## 14:14:11 Initializing from normalized Laplacian + noise (using RSpectra)
## 14:14:11 Commencing optimization for 500 epochs, with 135842 positive edges
## 14:14:11 Using rng type: pcg
## 14:14:14 Optimization finished
DimPlot(mono_focus_mdm, reduction = "umap", label=TRUE)

DimPlot(mono_focus_mdm, group.by="monaco_fine_annotation" , reduction = "umap", label=TRUE)

DimPlot(mono_focus_mdm, group.by="sample" , reduction = "umap", label=TRUE)

# mono_focus_alv
mono_focus_alv <- FindVariableFeatures(mono_focus_alv, selection.method = "vst", nfeatures = 2000)
## Finding variable features for layer counts
mono_focus_alv <- RunPCA(mono_focus_alv, features = VariableFeatures(object = mono_focus_alv))
## Warning: The following 35 features requested have zero variance; running
## reduction without them: MT1X, HAMP, APOA1, MT2A, INHBA, ID3, ISM1, ANKRD66,
## PKD1L1, AL591135.2, LINC00607, TXN, AC087857.1, CABCOCO1, LINGO1, PPP1R17,
## LINC02073, AC093916.1, SAMSN1, AC009292.2, IGSF23, LINC00639, PRKCG, KRTAP10-4,
## SIK3, CHD9, MED13L, AC104041.1, FAM13B, PLAT, AC016152.1, AC069410.1,
## AC130650.2, LINC01276, NME5
## Warning in PrepDR5(object = object, features = features, layer = layer, : The
## following features were not available: LINC00964, NUP210L, CPNE8, IFI6,
## AC083837.1, SMS, TMIGD1, HCAR2, AC011396.2, CD28, AP002075.1, SLC6A16, TEKT5,
## EMP3, MIF, AL096794.1, PPP1R1C, ACVR2A, LYPD1, EDIL3, AC022031.2, EFCAB7,
## LINC02068, IQCA1, SPINK6, TENM4, COL25A1, HIST1H2BG, C11orf49, SRL, AC092821.3,
## EXO1, IL6, DNAH12, DNAJC9, ACTN2, SLC7A14-AS1, AC135050.3, MRPS6, NPTX2,
## LINC02269, ERAP2, KIAA1755, GNLY, AC076968.2, AC026391.1, AC013391.2, INO80,
## ADAM22, LINC00589, DSG2, MS4A5, AC207130.1, PLAAT3, AC005740.5, BTNL8,
## AC084740.1, MSRB3, ARMC8, SMCHD1, CNTNAP2, BANK1, COL27A1, TEK, GCH1, SCFD1,
## CD226, GPRC5D, AHCTF1, PMAIP1, CTSW, DCSTAMP, TRIM2, TUBB4A, NWD1, LGALS1,
## GIGYF2, MARCKSL1, CH25H, BRMS1L, RAD51C, RFX3-AS1, AL353596.1, KIF6, SHCBP1L,
## LPCAT1, RLF, LINC00350, NEURL3, MIR4300HG, AC104596.1, IGF2R, LINC02789,
## AC019131.1, ADCY3, TMEM236, AL161646.1, CR1, SVEP1, USP10, ASAP3, PTPN2, ZC3H8,
## LINC01344, TNFAIP3, STK32B, YJEFN3, CTSZ, XDH, AC010834.2, CCDC85A, RFTN2,
## DYNC1H1, AC079313.2, MECP2, AC009435.1, LINC00299, SHANK2, AC005264.1,
## AC084809.2, SPOCK1, RPH3AL, ABCB1, LINC01862, SH3TC2, CCNC, NEK4, ZPLD1,
## LINC00511, NDRG1, SPACA3, URB1, PSME2, CFAP74, XPO5, CCDC57, PPEF1, CSTB,
## AC007785.1, HSF2BP, PTX3, MFSD11, POU6F2, SLC2A5, ABRAXAS2, AC063944.1, STS,
## FBXO4, NCMAP, PAX8-AS1, MBOAT4, ANGPT1, RXFP1, FCRLB, RAB7B, SMAD1-AS2,
## AL353595.1, AC125421.1, PHACTR1, LINC02466, SOX6, LDHA, AL672032.1, LINC00842,
## TEPP, EML2-AS1, ERI2, GAPLINC, GRID2, SYT12, TIMELESS, AKAP6, ANOS1, CKAP5,
## WDR90, GOLGA7B, HNRNPM, LGALS3, WIPF3, NRG1, MID2, AC007100.1, NBAT1, C2orf72,
## FSD1, GRHL2, GLIPR1, NRIP3, TMEM37, AC092957.1, SOAT2, HCAR3, LINC01414,
## AC011346.1, INKA2-AS1, FO393415.3, UPK1A-AS1, AC073569.2, AL513166.1, GTF2IRD2,
## IPCEF1, PMPCA, DHRS9, C22orf34, AC124852.1, RFX8, ELOC, PTPRB, HRH2, HMOX1,
## GATA2, SEMA6D, CLDN18, GNRHR, LMNB1-DT, COBL, SLC23A2, AC041005.1, ZNF385D-AS1,
## NNMT, AOC1, EAF2, AC107081.2, PDE1C, CLEC7A, SERINC2, CNR2, LCP1, IL17RB, RGS7,
## SPRY4-AS1, DACH1, AL592295.3, SVOP, STPG2, AL662884.3, AC022035.1, SLC44A5,
## AC006441.4, LINC00609, HLTF-AS1, KIAA0825, MOSPD1, SLC4A8, NDRG2, FAF1, PLCH1,
## RELN, LINC01299, MTFMT, SLC6A7, HIP1, WDFY4, KIF21A, NCR3, MAS1, LINC01999,
## AC007001.1, TNC, CLSTN2, PLXDC1, AC004949.1, CD5L, TNR, AL360015.1, LINGO2,
## TMEM132C, ZNF157, NEIL3, LINC01358, ADM, SFTPD-AS1, MIR3142HG, MRC2, MIR2052HG,
## HSPA1B, ULBP2, GLUL, AC068228.3, DZIP1, AC025430.1, TPSAB1, SLC12A3,
## AC092718.1, COL4A5, AC006460.1, VIPR1, SLC9A2, TDRD9, ABLIM1, ZSCAN5A, SIK2,
## SPSB1, YLPM1, SCIN, AC116563.1, NRCAM, CRIM1, BPIFC, SLA, GALNT14, MSH4, CRIPT,
## AL354811.2, UST, NIPAL4, CTXND1, ELOVL5, LINC00378, AL049828.1, KDR, CNGB1,
## Z99758.1, AC010997.3, AC109454.3, AL354733.2, NSG2, GPAT3, SHROOM4, RASSF4,
## FOXM1, LINC00571, TNIK, OASL, RBL1, POU2F2, EML4, IKZF3, CDHR3, CLPB,
## AL645933.3, PARD3, AL136456.1, PTP4A2, CSMD2, AHCYL2, NES, AC093898.1, MARCH1,
## ARHGAP6, SLC4A1, PAWR, AC110491.2, DPYS, PARN, ABCG2, CYP4F22, ITGA2,
## SH3TC2-DT, CHODL, GM2A, GINS2, CHDH, IGSF6, BRCA1, MEP1A, SRGAP3, AC084816.1,
## TROAP, LINC01900, APOM, COL8A2, RALGAPA2, AC005753.2, AC015908.2, STXBP5L,
## DNAJC1, FBXW7, AC099489.1, TMEM45A, FCMR, FRRS1, AC002454.1, ARL9, C1orf143,
## FAXC, ATP1B2, PDLIM4, AC016831.7, EMP1, RBPJ, ANKH, AC117453.1, CHAC1, KCP,
## SNAI3, FHAD1, DENND2A, TNFRSF12A, MX2, KDM7A, AC108066.1, SLC23A1, AL109930.1,
## SH3BP5, CENPU, KCNA2, AC011893.1, AIM2, TBC1D24, ATP1B1, AP000812.1, S100A6,
## JAML, MS4A4A, TGFB3, LINC00973, ING3, SOX5, MCAM, RBM47, AC246817.1, PCLO,
## PCDH15, TNFRSF11A, SNX10, ACTB, SCFD2, LINC02109, CHD5, AC093307.1, TSGA13,
## C11orf45, RHOD, AC007529.2, AC008443.9, AMPD1, CEP126, ITSN2, KCNJ1, CD1E,
## AL359220.1, RNF212, GNAI1, AC093010.2, TEX49, SPOPL, LINC02777, PRRX2,
## SEPTIN4-AS1, LIPG, HIST1H2AC, LINC02698, SDC2, CNTNAP5, SULT6B1, STXBP6,
## PPP1R16B, CFAP57, LINC01800, SLC22A2, EXOSC10, LINC02752, AC024901.1, ASPH,
## ZNF431, BICD1, DEGS2, GALNTL6, AC079742.1, MEI4, LINC01924, AMPD3, MB21D2,
## LINC01572, PLTP, ITPR2, SAMD12, EFNA2, HTRA4, XKR9, AL713998.1, AC016587.1,
## SLC35F3, EOGT, CDC5L, LINC00519, AC113137.1, ARSF, LIN28B-AS1, RASL10A, FCER1G,
## LINC00894, SYT10, RBPJL, AC007381.1, STMND1, AC006333.1, CNGA4, GLCCI1, TCEA3,
## LINC01739, AL355981.1, MOBP, AC079298.3, AC097487.1, AC137810.1, AL357146.1,
## TMEM213, AL136119.1, AC087897.2, AL160035.1, LINC01198, AC090515.6, AC018618.1,
## MAP1A, NR1H3, DNAH2, BX004807.1, NR6A1, IARS, TMEM131L, SYNE1, AL645465.1,
## BCL2A1, SH3PXD2B, AC099560.1, LPP, AL591845.1, HPN, KLB, SKA3, CPEB2-DT,
## INPP4B, ELF5, STUM, LMO4, NANOS1, ASTN2, STX4, LINC02805, GNGT1, HIST1H1C,
## AC010343.3, TYW1B, ACSBG2, TRMT5, LDLRAD4, SSH2, SLC25A23, LPAR1, AP001496.1,
## SERPINA1, HIST2H2BE, FCHO2, CDH12, AC011476.3, PAX5, GALNT18, FA2H, SDSL,
## ABCA1, CFI, LINC01948, IAPP, WASF3-AS1, AC130456.2, ROBO4, AC087280.2, IL3RA,
## DAO, AC073091.4, FUT2, GFOD1, AC055855.2, LINC02742, ZNF609, LINC01933, CORO1A,
## CLSTN3, LIMCH1, NABP1, FBXO43, DOCK2, ASMT, TREM1, CTNNA3, GRXCR2, AP000424.1,
## CNIH3, IGF1R, AC005280.1, PPP1R14C, GLT1D1, AC068587.4, AP001636.3, ERBB4,
## MIR155HG, ERLEC1, AGPAT4, GRAMD2A, ADGRL4, AC239860.4, LHCGR, AC103563.9,
## CCDC141, NECTIN3-AS1, AC010307.4, ZBED9, AC120498.4, OPRD1, SCG2, AC145146.1,
## AC068305.2, TMEM233, HECW1, NCAM2, SLAMF7, PRAG1, AL731563.2, FRMD6-AS2, GRIK5,
## AC021851.2, CDT1, WDR54, MYO16-AS1, LMCD1-AS1, AC096531.2, MAP1B, OR10G3,
## NUDT10, CIDEC, SSPO, FAM107B, RBM11, BARD1, EGFL7, MARCH3, SLC30A10, TFRC,
## PKIB, DENND5B, SPIRE1, AC079163.2, AHRR, ZNF543, QKI.
## PC_ 1 
## Positive:  RASAL2, DOCK3, AC092353.2, TMEM117, DPYD, CPEB2, LINC01374, LRMDA, ASAP1, PLXDC2 
##     NEAT1, FMNL2, TPRG1, LRCH1, ATG7, ARL15, MALAT1, MITF, ATXN1, MAML2 
##     RAPGEF1, DENND1B, NUMB, EXOC4, ELMO1, FHIT, ST3GAL6, VWA8, ZNF438, PPARG 
## Negative:  GAPDH, H2AFZ, BLVRB, GSTP1, NUPR1, MMP9, FABP4, SAT1, CARD16, ALDH2 
##     STMN1, CFD, CYSTM1, FAH, PRDX6, MARCKS, CD74, PSAT1, IFITM3, HLA-DPA1 
##     GDF15, PTGDS, PHGDH, SELENOP, LINC02244, BTG1, TUBA1B, TMEM176B, GCHFR, TUBB 
## PC_ 2 
## Positive:  LYZ, SLC8A1, MRC1, RCBTB2, FCGR3A, CTSC, NRP1, HLA-DPA1, CFD, AL356124.1 
##     TRPS1, ME1, RARRES1, HLA-DRA, ATP8B4, PDGFC, ARHGAP15, SELENOP, XYLT1, ZEB2 
##     FCHSD2, HLA-DPB1, SLCO2B1, DOCK4, AIF1, CD74, ALDH2, KCNMA1, CAMK1D, CCDC102B 
## Negative:  HIV-Nef, HIV-TatEx1, HIV-LTRU5, HIV-BaLEnv, HIV-LTRR, HIV-Polprot, HIV-Gagp17, HIV-Polp15p31, CCL22, HIV-EnvStart 
##     HIV-Vpr, HIV-Gagp1Pol, HIV-TatEx2Rev, IL6R-AS1, AL157912.1, GAL, HIV-Vif, HIV-Vpu, HIV-Gagp2p7, SLC20A1 
##     HIV-EGFP, DUSP13, IL1RN, TRIM54, CYTOR, MIR4435-2HG, MYL9, NMRK2, GPC3, RHOF 
## PC_ 3 
## Positive:  CTSL, BCAT1, FDX1, MARCO, S100A9, DNASE2B, CCDC26, B4GALT5, TPM4, SAT1 
##     CD164, FMN1, FAH, UGCG, TXNRD1, PLEKHA5, SCD, STMN1, HES2, FABP4 
##     BCL11A, BLVRB, SNCA, SEL1L2, FRMD4A, QPCT, NUPR1, SLC11A1, SNTB1, CLMP 
## Negative:  CRIP1, MMP7, CLU, GCLC, HIV-TatEx1, RNF128, HIV-Nef, PTGDS, HIV-LTRR, CDKN2A 
##     KCNMA1, RTN1, HIV-Vpr, DUSP2, LINC02345, C1QTNF4, HIV-Gagp1Pol, IL1RN, TMEM176B, TIMP3 
##     HIV-EnvStart, CYP1B1, S100A4, ALOX5AP, VAMP5, LINC02408, RAMP1, AC067751.1, FGL2, HIV-Polprot 
## PC_ 4 
## Positive:  NCAPH, LINC02244, AC015660.2, SYNGR1, RGS20, DUSP2, PTGDS, TMEM114, C2orf92, NIPAL2 
##     LINC01010, TRIM54, TM4SF19, MGST1, PSD3, SLC28A3, AC005280.2, ACAT2, SERTAD2, MICAL3 
##     MT1E, ANO5, ZNF366, BX664727.3, RGS16, TGM2, OCSTAMP, TDRD3, AL157886.1, SPP1 
## Negative:  HIV-TatEx1, HIV-LTRR, HIV-Vpr, HIV-Nef, HIV-Polprot, HIV-Gagp1Pol, HIV-EnvStart, HIV-BaLEnv, HIV-Vif, HIV-Polp15p31 
##     HIV-Gagp17, HIV-LTRU5, HIV-Vpu, HIV-Gagp2p7, HIV-TatEx2Rev, AIF1, HIV-EGFP, FPR3, CTSB, MARCKS 
##     MRC1, C1QA, CTSC, IL7R, CCL2, LGMN, OLR1, ALOX5, TNFSF13B, COLEC12 
## PC_ 5 
## Positive:  CLSPN, SHCBP1, TYMS, DIAPH3, TK1, PCLAF, RRM2, HELLS, FAM111B, ESCO2 
##     CENPK, MYBL2, MKI67, CENPM, CIT, CDK1, ACTG1, NCAPG, CCNA2, ATAD2 
##     TOP2A, TUBB, KIF11, CEP55, HMMR, DTL, KNL1, TUBA1B, BIRC5, CENPF 
## Negative:  AC008591.1, XIST, QPCT, AC020656.1, GCHFR, GPX3, AC012668.3, LINC01340, MIR646HG, ST6GAL1 
##     LINC01708, LINC02320, AL136317.2, NMB, OSBP2, KCNMB2-AS1, LIX1-AS1, SKAP1, CFD, NIPAL2 
##     CCDC26, PDE4D, LINC00923, TMTC1, CPD, BX664727.3, GPRIN3, AP000331.1, RARRES1, GPAT2
DimHeatmap(mono_focus_alv, dims = 1:2, cells = 500, balanced = TRUE)

DimHeatmap(mono_focus_alv, dims = 3:4, cells = 500, balanced = TRUE)

ElbowPlot(mono_focus_alv)

mono_focus_alv <- FindNeighbors(mono_focus_alv, dims = 1:4)
## Computing nearest neighbor graph
## Computing SNN
mono_focus_alv <- FindClusters(mono_focus_alv, algorithm = 3, resolution = 0.3, verbose = FALSE)
mono_focus_alv <- RunUMAP(mono_focus_alv, dims = 1:4)
## 14:14:25 UMAP embedding parameters a = 0.9922 b = 1.112
## 14:14:25 Read 4420 rows and found 4 numeric columns
## 14:14:25 Using Annoy for neighbor search, n_neighbors = 30
## 14:14:25 Building Annoy index with metric = cosine, n_trees = 50
## 0%   10   20   30   40   50   60   70   80   90   100%
## [----|----|----|----|----|----|----|----|----|----|
## **************************************************|
## 14:14:25 Writing NN index file to temp file /tmp/RtmpRdHgON/file11d0d4278f8c24
## 14:14:25 Searching Annoy index using 1 thread, search_k = 3000
## 14:14:27 Annoy recall = 100%
## 14:14:28 Commencing smooth kNN distance calibration using 1 thread with target n_neighbors = 30
## 14:14:30 Initializing from normalized Laplacian + noise (using RSpectra)
## 14:14:30 Commencing optimization for 500 epochs, with 154158 positive edges
## 14:14:30 Using rng type: pcg
## 14:14:34 Optimization finished
DimPlot(mono_focus_alv, reduction = "umap", label=TRUE)

DimPlot(mono_focus_alv, group.by="monaco_fine_annotation" , reduction = "umap", label=TRUE)

DimPlot(mono_focus_alv, group.by="sample" , reduction = "umap", label=TRUE)

Differential expression

We are going to use muscat for pseudobulk analysis. First need to convert seurat obj to singlecellexperiment object. Then summarise counts to pseudobulk level.

sce <- Seurat::as.SingleCellExperiment(comb, assay = "RNA")
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
## Found more than one class "package_version" in cache; using the first, from namespace 'SeuratObject'
## Also defined by 'alabaster.base'
head(colData(sce),2)
## DataFrame with 2 rows and 13 columns
##                            orig.ident nCount_RNA nFeature_RNA
##                              <factor>  <numeric>    <integer>
## mdm_mock1|AAACGAATCACATACG        mac      72761         7103
## mdm_mock1|AAACGCTCATCAGCGC        mac      49143         6282
##                                              cell      sample RNA_snn_res.0.5
##                                       <character> <character>        <factor>
## mdm_mock1|AAACGAATCACATACG mdm_mock1|AAACGAATCA..   mdm_mock1              5 
## mdm_mock1|AAACGCTCATCAGCGC mdm_mock1|AAACGCTCAT..   mdm_mock1              12
##                            seurat_clusters           cell_barcode
##                                   <factor>            <character>
## mdm_mock1|AAACGAATCACATACG              5  mdm_mock1|AAACGAATCA..
## mdm_mock1|AAACGCTCATCAGCGC              12 mdm_mock1|AAACGCTCAT..
##                            monaco_broad_annotation monaco_broad_pruned_labels
##                                        <character>                <character>
## mdm_mock1|AAACGAATCACATACG               Monocytes                  Monocytes
## mdm_mock1|AAACGCTCATCAGCGC               Monocytes                  Monocytes
##                            monaco_fine_annotation monaco_fine_pruned_labels
##                                       <character>               <character>
## mdm_mock1|AAACGAATCACATACG    Classical monocytes       Classical monocytes
## mdm_mock1|AAACGCTCATCAGCGC    Classical monocytes       Classical monocytes
##                               ident
##                            <factor>
## mdm_mock1|AAACGAATCACATACG       5 
## mdm_mock1|AAACGCTCATCAGCGC       12
colnames(colData(sce))
##  [1] "orig.ident"                 "nCount_RNA"                
##  [3] "nFeature_RNA"               "cell"                      
##  [5] "sample"                     "RNA_snn_res.0.5"           
##  [7] "seurat_clusters"            "cell_barcode"              
##  [9] "monaco_broad_annotation"    "monaco_broad_pruned_labels"
## [11] "monaco_fine_annotation"     "monaco_fine_pruned_labels" 
## [13] "ident"
#muscat library
pb <- aggregateData(sce,
    assay = "counts", fun = "sum",
    by = c("monaco_broad_annotation", "sample"))

# one sheet per subpopulation
assayNames(pb)
## [1] "Basophils"       "Dendritic cells" "Monocytes"
t(head(assay(pb)))
##                HIV-LTRR HIV-LTRU5 HIV-Gagp17 HIV-Gagp24 HIV-Gagp2p7
## alv_active1           0         0          0          0           0
## alv_active2           0         0          0          0           0
## alv_active3           0         0          0          0           0
## alv_bystander1        0         0          0          0           0
## alv_bystander2        0         0          0          0           0
## alv_bystander3        0         0          0          0           0
## alv_latent1           0         0          0          0           0
## alv_latent2           0         0          0          0           0
## alv_latent3           0         0          0          0           0
## alv_mock1             0         0          0          0           0
## alv_mock2             0         0          0          0           0
## alv_mock3             0         0          0          0           0
## mdm_active1           0         0          0          0           0
## mdm_active2           0         0          0          0           0
## mdm_active3           0         0          0          0           0
## mdm_active4           0         0          0          0           0
## mdm_bystander1        0         0          0          0           0
## mdm_bystander2        0         0          0          0           0
## mdm_bystander3        0         0          0          0           0
## mdm_bystander4        0         0          0          0           0
## mdm_latent1           0         0          0          0           0
## mdm_latent2           0         0          0          0           0
## mdm_latent3           0         0          0          0           0
## mdm_latent4           0         0          0          0           0
## mdm_mock1             0         0          0          0           0
## mdm_mock2             0         0          0          0           0
## mdm_mock3             0         0          0          0           0
## mdm_mock4             0         0          0          0           0
## react6                0         0          0          0           0
##                HIV-Gagp1Pol
## alv_active1               0
## alv_active2               0
## alv_active3               0
## alv_bystander1            0
## alv_bystander2            0
## alv_bystander3            0
## alv_latent1               0
## alv_latent2               0
## alv_latent3               0
## alv_mock1                 0
## alv_mock2                 0
## alv_mock3                 0
## mdm_active1               0
## mdm_active2               0
## mdm_active3               0
## mdm_active4               0
## mdm_bystander1            0
## mdm_bystander2            0
## mdm_bystander3            0
## mdm_bystander4            0
## mdm_latent1               0
## mdm_latent2               0
## mdm_latent3               0
## mdm_latent4               0
## mdm_mock1                 0
## mdm_mock2                 0
## mdm_mock3                 0
## mdm_mock4                 0
## react6                    0
plotMDS(assays(pb)[[3]], main="Monocytes" )

par(mfrow=c(2,3))

dump <- lapply(1:length(assays(pb)) , function(i) {
  cellname=names(assays(pb))[i]
  plotMDS(assays(pb)[[i]],cex=1,pch=19,main=paste(cellname),labels=colnames(assays(pb)[[1]]))
})
## Warning in plotMDS.default(assays(pb)[[i]], cex = 1, pch = 19, main =
## paste(cellname), : dimension 2 is degenerate or all zero
par(mfrow=c(1,1))

DE Prep

pbmono <- assays(pb)[["Monocytes"]]

head(pbmono)
##              alv_active1 alv_active2 alv_active3 alv_bystander1 alv_bystander2
## HIV-LTRR            4391        3316        2601            111            134
## HIV-LTRU5         162741      127498      102452           2085           2885
## HIV-Gagp17         32789       27176       17079            106            162
## HIV-Gagp24             0           0           0              0              0
## HIV-Gagp2p7         1201        1242         744             16             26
## HIV-Gagp1Pol        2100        2334        1592             26             50
##              alv_bystander3 alv_latent1 alv_latent2 alv_latent3 alv_mock1
## HIV-LTRR                138         249         261         411        31
## HIV-LTRU5              2848       10994       10224       17207       753
## HIV-Gagp17              183        2306        1784        2576       106
## HIV-Gagp24                0           0           0           0         0
## HIV-Gagp2p7              17          69         104         121         2
## HIV-Gagp1Pol             42         129         163         210         6
##              alv_mock2 alv_mock3 mdm_active1 mdm_active2 mdm_active3
## HIV-LTRR            52       200        2251        1482        1476
## HIV-LTRU5         1311      7206      100998       71868       94108
## HIV-Gagp17         178      1530       38092       23541       40568
## HIV-Gagp24           0         0           0           0           0
## HIV-Gagp2p7          7        52        1462        1021        2365
## HIV-Gagp1Pol        21        94        2021        1375        3032
##              mdm_active4 mdm_bystander1 mdm_bystander2 mdm_bystander3
## HIV-LTRR            1648            103            147             26
## HIV-LTRU5          56478           1425           1946            449
## HIV-Gagp17         15110            255            254             57
## HIV-Gagp24             0              0              0              0
## HIV-Gagp2p7          414             23             32              3
## HIV-Gagp1Pol         785             20             61             16
##              mdm_bystander4 mdm_latent1 mdm_latent2 mdm_latent3 mdm_latent4
## HIV-LTRR                 41         119         142          37          48
## HIV-LTRU5               725        5359        6710        2150        1644
## HIV-Gagp17               61        1927        2077         566         534
## HIV-Gagp24                0           0           0           0           0
## HIV-Gagp2p7               8          51         108          37          12
## HIV-Gagp1Pol             10          83         129          63          24
##              mdm_mock1 mdm_mock2 mdm_mock3 mdm_mock4 react6
## HIV-LTRR            30        37         9        39    256
## HIV-LTRU5          486       685       106      1119   7461
## HIV-Gagp17         117       253        37       159    596
## HIV-Gagp24           0         0         0         0      0
## HIV-Gagp2p7          5         8         1         5     21
## HIV-Gagp1Pol         7        14         3        13     39
dim(pbmono)
## [1] 36622    29
hiv <- pbmono[1:2,]
pbmono <- pbmono[3:nrow(pbmono),]

Gene sets

Gene ontology.

#go <- gmt_import("c5.go.v2023.2.Hs.symbols.gmt")
#names(go) <- gsub("_"," ",names(go))

#wget https://ziemann-lab.net/public/tmp/go_2024-11.gmt
go <- gmt_import("go_2024-11.gmt")

DE Mock

Compare MDM mock vs Alv mock.

DE5 Mock MDM (ctrl) vs Mock AlvMDM (case)

head(pbmdm)
##               mdm_active1 mdm_active2 mdm_active3 mdm_active4 mdm_bystander1
## HIV-Gagp17          38092       23541       40568       15110            255
## HIV-Gagp24              0           0           0           0              0
## HIV-Gagp2p7          1462        1021        2365         414             23
## HIV-Gagp1Pol         2021        1375        3032         785             20
## HIV-Polprot         27388       18583       44857        9126            331
## HIV-Polp15p31       75686       55267      105649       14984           1033
##               mdm_bystander2 mdm_bystander3 mdm_bystander4 mdm_latent1
## HIV-Gagp17               254             57             61        1927
## HIV-Gagp24                 0              0              0           0
## HIV-Gagp2p7               32              3              8          51
## HIV-Gagp1Pol              61             16             10          83
## HIV-Polprot              492            181             81        1383
## HIV-Polp15p31           1505            413            181        3589
##               mdm_latent2 mdm_latent3 mdm_latent4 mdm_mock1 mdm_mock2 mdm_mock3
## HIV-Gagp17           2077         566         534       117       253        37
## HIV-Gagp24              0           0           0         0         0         0
## HIV-Gagp2p7           108          37          12         5         8         1
## HIV-Gagp1Pol          129          63          24         7        14         3
## HIV-Polprot          1587         877         250       136       196        47
## HIV-Polp15p31        5077        2425         441       341       550       101
##               mdm_mock4
## HIV-Gagp17          159
## HIV-Gagp24            0
## HIV-Gagp2p7           5
## HIV-Gagp1Pol         13
## HIV-Polprot         146
## HIV-Polp15p31       257
head(pbalv)
##               alv_active1 alv_active2 alv_active3 alv_bystander1 alv_bystander2
## HIV-Gagp17          32789       27176       17079            106            162
## HIV-Gagp24              0           0           0              0              0
## HIV-Gagp2p7          1201        1242         744             16             26
## HIV-Gagp1Pol         2100        2334        1592             26             50
## HIV-Polprot         23710       30544       21871            208            515
## HIV-Polp15p31       38437       59592       41124            476           1203
##               alv_bystander3 alv_latent1 alv_latent2 alv_latent3 alv_mock1
## HIV-Gagp17               183        2306        1784        2576       106
## HIV-Gagp24                 0           0           0           0         0
## HIV-Gagp2p7               17          69         104         121         2
## HIV-Gagp1Pol              42         129         163         210         6
## HIV-Polprot              534        1465        2065        3280        95
## HIV-Polp15p31           1151        2414        4070        5631       164
##               alv_mock2 alv_mock3
## HIV-Gagp17          178      1530
## HIV-Gagp24            0         0
## HIV-Gagp2p7           7        52
## HIV-Gagp1Pol         21        94
## HIV-Polprot         230      1596
## HIV-Polp15p31       360      2804
mock <- cbind( pbmdm[,grep("mock",colnames(pbmdm))],
  pbalv[,grep("mock",colnames(pbalv))] )


head(mock)
##               mdm_mock1 mdm_mock2 mdm_mock3 mdm_mock4 alv_mock1 alv_mock2
## HIV-Gagp17          117       253        37       159       106       178
## HIV-Gagp24            0         0         0         0         0         0
## HIV-Gagp2p7           5         8         1         5         2         7
## HIV-Gagp1Pol          7        14         3        13         6        21
## HIV-Polprot         136       196        47       146        95       230
## HIV-Polp15p31       341       550       101       257       164       360
##               alv_mock3
## HIV-Gagp17         1530
## HIV-Gagp24            0
## HIV-Gagp2p7          52
## HIV-Gagp1Pol         94
## HIV-Polprot        1596
## HIV-Polp15p31      2804
mockf <- mock[which(rowMeans(mock)>=10),]
head(mockf)
##               mdm_mock1 mdm_mock2 mdm_mock3 mdm_mock4 alv_mock1 alv_mock2
## HIV-Gagp17          117       253        37       159       106       178
## HIV-Gagp2p7           5         8         1         5         2         7
## HIV-Gagp1Pol          7        14         3        13         6        21
## HIV-Polprot         136       196        47       146        95       230
## HIV-Polp15p31       341       550       101       257       164       360
## HIV-Vif              15        45         8        17        10        33
##               alv_mock3
## HIV-Gagp17         1530
## HIV-Gagp2p7          52
## HIV-Gagp1Pol         94
## HIV-Polprot        1596
## HIV-Polp15p31      2804
## HIV-Vif             162
colSums(mockf)
## mdm_mock1 mdm_mock2 mdm_mock3 mdm_mock4 alv_mock1 alv_mock2 alv_mock3 
##  28548322  20540758   7023535  20633808  20209667  24560365  33149165
desmock <- as.data.frame(grepl("alv",colnames(mockf)))
colnames(desmock) <- "case"

plot(cmdscale(dist(t(mockf))), xlab="Coordinate 1", ylab="Coordinate 2",
  type = "p",pch=19,col="gray",cex=2)

text(cmdscale(dist(t(mockf))), labels=colnames(mockf) )

dds <- DESeqDataSetFromMatrix(countData = mockf , colData = desmock, design = ~ case)
## converting counts to integer mode
res <- DESeq(dds)
## estimating size factors
## estimating dispersions
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates
## fitting model and testing
z <- results(res)
vsd <- vst(dds, blind=FALSE)
zz <- cbind(as.data.frame(z),assay(vsd))
de <- as.data.frame(zz[order(zz$pvalue),])
demock <- de
write.table(demock,"demockf.tsv",sep="\t")

nrow(subset(demock,padj<0.05 & log2FoldChange>0))
## [1] 890
nrow(subset(demock,padj<0.05 & log2FoldChange<0))
## [1] 1317
head(subset(demock,padj<0.05 & log2FoldChange>0),10)[,1:6] %>%
  kbl(caption="Top upregulated genes in Alv cells compared to MDM") %>%
  kable_paper("hover", full_width = F)
Top upregulated genes in Alv cells compared to MDM
baseMean log2FoldChange lfcSE stat pvalue padj
STAC 411.32660 6.160050 0.4031531 15.279676 0 0
PPP1R16A 301.58230 2.616665 0.1799476 14.541256 0 0
SPRED1 1277.40147 2.756665 0.2789790 9.881264 0 0
FANCE 139.95617 2.513477 0.2613868 9.615929 0 0
PPP1R13B 224.15035 2.295557 0.2433500 9.433149 0 0
PPARD 673.81261 1.768911 0.1914837 9.237919 0 0
RGS16 135.58276 2.850967 0.3157553 9.029037 0 0
TXNRD3 124.06561 1.937977 0.2300826 8.422961 0 0
SMIM1 78.28049 3.015942 0.3611540 8.350848 0 0
RAB40B 175.67465 2.549723 0.3054759 8.346725 0 0
head(subset(demock, log2FoldChange<0),10)[,1:6] %>%
  kbl(caption="Top downregulated genes in Alv cells compared to MDM") %>%
  kable_paper("hover", full_width = F)
Top downregulated genes in Alv cells compared to MDM
baseMean log2FoldChange lfcSE stat pvalue padj
PLIN2 7536.75693 -1.756264 0.1082373 -16.226051 0 0
OLFML2B 334.87303 -4.478105 0.3001465 -14.919728 0 0
STMN1 2557.73767 -3.563794 0.2633830 -13.530842 0 0
MCUB 378.71322 -1.972595 0.1700001 -11.603491 0 0
FABP4 47047.92410 -3.900944 0.3954489 -9.864598 0 0
C12orf75 70.89386 -3.884104 0.3972731 -9.776913 0 0
SELENOW 4343.79011 -1.808964 0.1933682 -9.355026 0 0
CPA6 131.12764 -2.615639 0.2953175 -8.857042 0 0
CST7 120.81091 -4.333456 0.4897891 -8.847596 0 0
MME 2273.35794 -2.538423 0.3010091 -8.433045 0 0
demockm <- mitch_import(de,DEtype="deseq2",joinType="full")
## The input is a single dataframe; one contrast only. Converting
##         it to a list for you.
## Note: Mean no. genes in input = 15053
## Note: no. genes in output = 15053
## Note: estimated proportion of input genes in output = 1
mresmock <- mitch_calc(demockm,genesets=go,minsetsize=5,cores=4,priority="effect")
## Note: Enrichments with large effect sizes may not be
##             statistically significant.
res <- mresmock$enrichment_result

mitchtbl <- mresmock$enrichment_result
goid <- sapply(strsplit(mitchtbl$set," "),"[[",1)
mysplit <- strsplit(mitchtbl$set," ")
mysplit <- lapply(mysplit, function(x) { x[2:length(x)] } )
godescription <- unlist(lapply(mysplit, function(x) { paste(x,collapse=" ") } ))
em <- data.frame(goid,godescription,mitchtbl$pANOVA,mitchtbl$p.adjustANOVA,sign(mitchtbl$s.dist),mitchtbl$s.dist)
colnames(em) <- c("GO.ID","Description","p.Val","FDR","Phenotype","ES")
write.table(em,"demock_em.tsv",row.names = FALSE, quote=FALSE,sep="\t")

res <- subset(res,p.adjustANOVA<0.05)
resup <- subset(res,s.dist>0)
resdn <- subset(res,s.dist<0)
s <- c(head(resup$s.dist,10), head(resdn$s.dist,10))
names(s) <- c(head(resup$set,10),head(resdn$set,10))
s <- s[order(s)]
cols <- gsub("1","red",gsub("-1","blue",as.character(sign(s))))
par(mar=c(5,27,3,1))
barplot(abs(s),las=1,horiz=TRUE,col=cols,xlab="ES",cex.names=0.8,main="")

if (! file.exists("mock_Mdm_vs_Alv.html") ) {
  mitch_report(mresmock,outfile="mock_Mdm_vs_Alv.html")
}
## Dataset saved as " /tmp/RtmpRdHgON/mock_Mdm_vs_Alv.rds ".
## 
## 
## processing file: mitch.Rmd
## 1/36                             
## 2/36 [checklibraries]            
## 3/36                             
## 4/36 [peek]                      
## 5/36                             
## 6/36 [metrics]                   
## 7/36                             
## 8/36 [scatterplot]
## 9/36                             
## 10/36 [contourplot]               
## 11/36                             
## 12/36 [input_geneset_metrics1]    
## 13/36                             
## 14/36 [input_geneset_metrics2]
## 15/36                             
## 16/36 [input_geneset_metrics3]
## 17/36                             
## 18/36 [echart1d]                  
## 19/36 [echart2d]                  
## 20/36                             
## 21/36 [heatmap]                   
## 22/36                             
## 23/36 [effectsize]                
## 24/36                             
## 25/36 [results_table]             
## 26/36                             
## 27/36 [results_table_complete]    
## 28/36                             
## 29/36 [detailed_geneset_reports1d]
## 30/36                             
## 31/36 [detailed_geneset_reports2d]
## 32/36                             
## 33/36 [network]
## 34/36                             
## 35/36 [session_info]              
## 36/36
## output file: /scratch/hearps/macrophage/mitch.knit.md
## /usr/bin/pandoc +RTS -K512m -RTS /scratch/hearps/macrophage/mitch.knit.md --to html4 --from markdown+autolink_bare_uris+tex_math_single_backslash --output /tmp/RtmpRdHgON/mitch_report.html --lua-filter /usr/local/lib/R/site-library/rmarkdown/rmarkdown/lua/pagebreak.lua --lua-filter /usr/local/lib/R/site-library/rmarkdown/rmarkdown/lua/latex-div.lua --self-contained --variable bs3=TRUE --section-divs --template /usr/local/lib/R/site-library/rmarkdown/rmd/h/default.html --no-highlight --variable highlightjs=1 --variable theme=bootstrap --mathjax --variable 'mathjax-url=https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML' --include-in-header /tmp/RtmpRdHgON/rmarkdown-str11d0d45b2ec7f.html
## 
## Output created: /tmp/RtmpRdHgON/mitch_report.html
## [1] TRUE
networkplot(mresmock,FDR=0.05,n_sets=20)

network_genes(mresmock,FDR=0.05,n_sets=20)
## [[1]]
## [[1]]$`UP genesets.GO:0000978 RNA polymerase II cis-regulatory region sequence-specific DNA binding`
##  [1] "PPARD"    "PITX1"    "NFATC3"   "ZNF366"   "SKI"      "RBPJ"    
##  [7] "TCF7L2"   "EGR2"     "DLX3"     "STAT6"    "ESR1"     "RARA"    
## [13] "ZBTB7B"   "HIVEP3"   "AR"       "MAF"      "VDR"      "KLF9"    
## [19] "VAX2"     "CALCOCO1" "SNAI3"    "TEAD3"    "CEBPA"    "HDAC4"   
## [25] "NACC2"    "HIC2"     "POU3F1"   "KLF16"    "ZBTB8A"   "IKZF2"   
## [31] "NR2F6"    "ZNF362"   "DNMT3A"   "E2F3"     "TFCP2"    "MXD4"    
## [37] "ZNF678"   "ZNF76"    "MITF"     "NLRC5"    "KLF4"     "SREBF2"  
## [43] "ZNF711"   "ZNF808"   "MEF2A"    "TEF"      "POU2F2"   "NFYC"    
## [49] "ZFHX3"    "ZBTB7C"   "RXRA"     "NFATC1"   "RREB1"    "KDM2B"   
## [55] "MLXIPL"   "BCL6"     "DMTF1"    "MED1"     "ZNF692"   "GFI1"    
## [61] "TFE3"     "FOXK2"    "IKZF5"    "TP63"     "NR3C1"    "ZNF646"  
## [67] "SKIL"     "GRHL1"    "ZNF585A"  "MZF1"     "ZNF347"   "TFEB"    
## [73] "ZNF573"   "ZNF514"   "ZNF761"   "TARDBP"   "IKZF1"    "ZFAT"    
## [79] "ZNF623"   "ZNF470"   "CHD7"     "JUND"     "ZNF121"   "MAFK"    
## 
## [[1]]$`UP genesets.GO:0000981 DNA-binding transcription factor activity, RNA polymerase II-specific`
##  [1] "PPARD"  "PITX1"  "GTF2I"  "NFATC3" "SKI"    "RBPJ"   "TCF7L2" "EGR2"  
##  [9] "DLX3"   "STAT6"  "ESR1"   "RARA"   "ZBTB7B" "HIVEP3" "AR"     "MAF"   
## [17] "VDR"    "KLF9"   "VAX2"   "SNAI3"  "TEAD3"  "CEBPA"  "NACC2"  "POU3F1"
## [25] "KLF16"  "ZBTB8A" "NR2F6"  "NPAS1"  "E2F3"   "TFCP2"  "MXD4"   "ZBTB46"
## [33] "ZNF678" "ZNF76"  "MITF"   "ERF"    "MYRF"   "KLF4"   "SREBF2" "ZNF711"
## [41] "ZNF79"  "PKNOX1" "MEF2A"  "TEF"    "POU2F2" "NFYC"   "ZFHX3"  "ZBTB7C"
## [49] "RXRA"   "NFATC1" "MLXIPL" "ZBTB40" "DMTF1"  "ZNF768" "SCX"    "TFE3"  
## [57] "FOXK2"  "TP63"   "NR3C1"  "ZNF646" "SKIL"   "GRHL1"  "ZGLP1"  "ZNF316"
## [65] "MZF1"   "CASZ1"  "ESRRA"  "ZNF347" "TFEB"   "ZNF573" "ZNF514" "ZNF440"
## [73] "ZNF672" "ELF5"   "CREB5"  "ZNF761" "ZBTB42" "ZFAT"   "ZNF623" "ZNF470"
## [81] "JUND"   "CUX1"   "ZNF121" "MAFK"  
## 
## [[1]]$`UP genesets.GO:0003222 ventricular trabecula myocardium morphogenesis`
## [1] "TGFBR1" "RBPJ"   "ENG"    "TGFB2"  "HEG1"   "MED1"   "CHD7"  
## 
## [[1]]$`UP genesets.GO:0005096 GTPase activator activity`
##  [1] "RGS16"    "ABR"      "RAP1GAP"  "FAM13B"   "ASAP1"    "TBC1D1"  
##  [7] "RGS12"    "RANGAP1"  "ARHGAP31" "ACAP3"    "RANBP2"   "ARHGAP25"
## [13] "SGSM2"    "ARAP1"    "RASAL2"   "RGS18"    "ARHGAP10" "ARHGAP18"
## [19] "ARHGEF1"  "DEPDC5"   "RASGRP3"  "LLGL1"    "VPS9D1"   "SH3BP1"  
## [25] "TBC1D12"  "RGS3"     "TBC1D9B"  "AGAP1"    "RACGAP1"  "TBC1D22B"
## [31] "SRGAP3"   "TBCD"     "TBC1D2B"  "RASA4B"   "SIPA1"    "ARRB1"   
## [37] "TBC1D4"   "AGAP2"    "ARHGAP44" "RIN2"     "RABEP2"   "ARHGAP1" 
## [43] "ARHGAP22" "RASA4"    "TBC1D10C" "RAP1GAP2" "ARHGAP20" "SGSM3"   
## [49] "TBC1D14"  "AGFG2"   
## 
## [[1]]$`UP genesets.GO:0005524 ATP binding`
##   [1] "NEK6"     "TRPV1"    "ABCB9"    "ABCA6"    "TGFBR1"   "SHPK"    
##   [7] "VWA8"     "MYO1F"    "ENTPD1"   "MERTK"    "DCLK3"    "MAP3K5"  
##  [13] "ATP2B2"   "ABCA2"    "MYO1E"    "PDK2"     "MINK1"    "GCLC"    
##  [19] "CAMK1"    "CHD9"     "MARK2"    "TTLL12"   "ADCY7"    "NOD1"    
##  [25] "PIK3CD"   "MARK3"    "FGFR1"    "ATP2A3"   "ITPKB"    "KCNJ1"   
##  [31] "PRKACB"   "PRKCA"    "PRAG1"    "ABCD1"    "AKT1"     "TAP2"    
##  [37] "MAP3K11"  "MTHFD1"   "PRKCD"    "EEF2K"    "MYO6"     "DGKH"    
##  [43] "PI4KA"    "DDX6"     "COQ8A"    "DMPK"     "IKBKE"    "NPR1"    
##  [49] "KIF17"    "SNRK"     "TRIB1"    "TOP2B"    "TTLL11"   "KIFC2"   
##  [55] "GRK2"     "PEX6"     "PIKFYVE"  "IPPK"     "ATP2B3"   "ITPK1"   
##  [61] "TTL"      "DCLK2"    "ADCK1"    "CHKA"     "NLRC5"    "NWD1"    
##  [67] "ALPK1"    "PI4K2A"   "ACSS2"    "PIK3CG"   "ABCB8"    "KIF1B"   
##  [73] "EIF4G1"   "DAPK1"    "HK3"      "CLCN7"    "CSNK1G2"  "PTK2B"   
##  [79] "ABCA9"    "RPS6KL1"  "GAK"      "ACSF3"    "MLKL"     "ADK"     
##  [85] "SMG1"     "MYLK"     "TPK1"     "SLC12A4"  "CDK17"    "HSPA14"  
##  [91] "DCAF1"    "ULK2"     "XYLB"     "DGKZ"     "CARNS1"   "TGFBR2"  
##  [97] "MCM3"     "LMTK2"    "QRSL1"    "ATR"      "GATC"     "ADCY10"  
## [103] "DYRK1A"   "PTK6"     "AGAP2"    "AFG3L2"   "CHEK2"    "ACTR3B"  
## [109] "KATNAL2"  "MYO19"    "MCM5"     "ROR1"     "ABCC1"    "NLK"     
## [115] "ABL2"     "RNF213"   "MAPKAPK3" "FARSA"    "PMVK"     "IGF1R"   
## [121] "CSK"      "PIK3C2B"  "ABCC4"    "LRRK1"    "IP6K1"    "DHX38"   
## [127] "MKKS"     "DSTYK"    "CAMK2B"   "DHX34"    "MOV10"    "ABCC10"  
## [133] "CAMKK1"   "BBS10"    "BMPR2"    "MYO1C"    "PFKL"     "LIG1"    
## [139] "AKT2"     "OPLAH"    "LRGUK"    "BTK"      "ASCC3"    "FARS2"   
## [145] "AAK1"     "NLRP2"    "MYH11"    "ADCK2"    "PSKH1"    "PDPK1"   
## [151] "MYO15A"   "PIK3R4"   "PIK3C3"   "DDX10"    "CHD7"     "MAP3K14" 
## [157] "IKBKB"    "CDK6"     "MAP3K3"   "ARAF"    
## 
## [[1]]$`UP genesets.GO:0006338 chromatin remodeling`
##  [1] "NEK6"     "ENTPD1"   "MERTK"    "DPF3"     "DCLK3"    "ESR1"    
##  [7] "PTPRA"    "MINK1"    "CHD9"     "MARK2"    "RB1"      "DUSP2"   
## [13] "DUSP7"    "MARK3"    "FGFR1"    "PWWP2A"   "PRKCA"    "HDAC4"   
## [19] "AKT1"     "BCOR"     "PRKCD"    "KAT2B"    "DDX6"     "DMPK"    
## [25] "SNRK"     "BAP1"     "PHLPP1"   "PTPRC"    "SETD3"    "BRPF1"   
## [31] "PIKFYVE"  "PTPN13"   "PTPN22"   "DUSP19"   "DCLK2"    "CHKA"    
## [37] "ALPK1"    "CDC25B"   "PIK3CG"   "MBD3"     "DAPK1"    "UBASH3B" 
## [43] "CSNK1G2"  "PTK2B"    "RPS6KL1"  "GAK"      "PPM1M"    "SMG1"    
## [49] "PADI2"    "PTPRO"    "PER2"     "DCAF1"    "ULK2"     "PTPN7"   
## [55] "KDM2B"    "MCM3"     "LMTK2"    "ATR"      "DYRK1A"   "PPP3CA"  
## [61] "PTK6"     "AFG3L2"   "CHEK2"    "ALPL"     "EPM2A"    "MCM5"    
## [67] "TP63"     "ABL2"     "RNF213"   "MAPKAPK3" "IGF1R"    "CSK"     
## [73] "LRRK1"    "DHX38"    "DSTYK"    "DHX34"    "YEATS2"   "MYO1C"   
## [79] "PPM1N"    "PTPN18"   "GATAD2A"  "AKT2"     "BTK"      "ASCC3"   
## [85] "KDM4B"    "AAK1"     "PSKH1"    "KDM4C"    "PDPK1"    "PTPRM"   
## [91] "PIK3R4"   "HCFC2"    "DDX10"    "CHD7"     "IKBKB"    "ARAF"    
## 
## [[1]]$`UP genesets.GO:0032012 regulation of ARF protein signal transduction`
## [1] "CYTH4" "GBF1"  "PSD4" 
## 
## [[1]]$`UP genesets.GO:0046872 metal ion binding`
##   [1] "STAC"       "TRPV1"      "ADAM12"     "CBFA2T3"    "TGFBR1"    
##   [6] "SMAD6"      "ASAP1"      "FGD5"       "PDLIM7"     "ZNF366"    
##  [11] "STAC2"      "MICAL3"     "KCNC3"      "CSGALNACT1" "EGR2"      
##  [16] "RNF128"     "SLC30A3"    "SPON2"      "ATP2B2"     "ZBTB7B"    
##  [21] "HIVEP3"     "PARP12"     "LONRF3"     "SH3RF2"     "VAV1"      
##  [26] "WTIP"       "KLF9"       "ACAP3"      "CALCOCO1"   "CHSY3"     
##  [31] "ADCY7"      "HDAC7"      "ZC3H7B"     "NTHL1"      "ATP2A3"    
##  [36] "RANBP2"     "TRIP6"      "SOBP"       "FURIN"      "TAP2"      
##  [41] "PRKCD"      "CLEC7A"     "ZC3H12B"    "GALNT12"    "DGKH"      
##  [46] "ZNF618"     "TRERF1"     "HIC2"       "TATDN2"     "DPYD"      
##  [51] "ARAP1"      "ZNF804A"    "MICALL2"    "SMAD7"      "PHOSPHO1"  
##  [56] "KLF16"      "ZBTB8A"     "IKZF2"      "F13A1"      "OVCH1"     
##  [61] "KCNK6"      "DMPK"       "FRRS1"      "MBNL1"      "TOP2B"     
##  [66] "CHFR"       "TTLL11"     "ZNF362"     "PHLPP1"     "SLC30A1"   
##  [71] "XYLT1"      "DNMT3A"     "BRPF1"      "TNFRSF11A"  "PLEKHF1"   
##  [76] "ABAT"       "RNF40"      "ATP2B3"     "ZNF592"     "ADARB1"    
##  [81] "ZBTB46"     "ZNF678"     "KAT6B"      "ZNF76"      "MSL2"      
##  [86] "LIN54"      "RNF166"     "PHYHD1"     "ZNF711"     "MGRN1"     
##  [91] "FGD6"       "ZNF79"      "FHL3"       "B4GALT2"    "KCNK13"    
##  [96] "IRF2BPL"    "SMPD4"      "GNA11"      "ZNF808"     "NDUFS1"    
## [101] "ASXL2"      "ZC3H4"      "TNS1"       "AGAP1"      "ITGA11"    
## [106] "RACGAP1"    "EXT1"       "ADK"        "PDE4A"      "SMG1"      
## [111] "MYLK"       "PDSS1"      "ANKFY1"     "FYCO1"      "USP4"      
## [116] "ZBTB7C"     "SLC12A6"    "STAC3"      "RASA4B"     "TMEM129"   
## [121] "ITGAM"      "MT1F"       "NLN"        "DAGLA"      "OGDH"      
## [126] "CYB561D1"   "RREB1"      "BCL6"       "CNOT6"      "LNPK"      
## [131] "DGKZ"       "PDE8B"      "DBR1"       "GTF2E1"     "LIMD2"     
## [136] "USP2"       "CARNS1"     "TGFBR2"     "ZBTB40"     "CEPT1"     
## [141] "ADAM15"     "ZNF768"     "ZNF692"     "POLD1"      "AGAP2"     
## [146] "CHEK2"      "MIPEP"      "GALNT18"    "GFI1"       "ZNF41"     
## [151] "PAN2"       "FLYWCH1"    "TP63"       "ZNF646"     "HMOX1"     
## [156] "PHRF1"      "RNF213"     "BAK1"       "ADAM17"     "CSK"       
## [161] "UNC13D"     "ZNF585A"    "ZNF316"     "MZF1"       "RASA4"     
## [166] "LRRK1"      "CASZ1"      "CYBB"       "RAPSN"      "ZNF347"    
## [171] "CYB561A3"   "PDLIM2"     "ZNF573"     "ZNF514"     "ZNF440"    
## [176] "RNF121"     "BMPR2"      "THOP1"      "ZNF672"     "TCF20"     
## [181] "PFKL"       "ALKBH5"     "MAN2C1"     "LIG1"       "GATAD2A"   
## [186] "AKT2"       "RNF168"     "BTK"        "KDM4B"      "CREB5"     
## [191] "PPM1D"      "PRORP"      "MBNL3"      "ZNF761"     "ZBTB42"    
## [196] "LPP"        "CARD9"      "NUDT22"     "IKZF1"      "ZFAT"      
## [201] "ZNF623"     "ZNF470"     "AGFG2"      "ZNF121"     "MAP3K3"    
## [206] "ARAF"       "ABLIM1"    
## 
## [[1]]$`UP genesets.GO:0051056 regulation of small GTPase mediated signal transduction`
##  [1] "ABR"      "RAP1GAP"  "FAM13B"   "FGD5"     "ARHGEF3"  "VAV1"    
##  [7] "ARHGAP31" "ARHGEF17" "ARAP1"    "ARHGAP10" "ARHGAP18" "ARHGEF1" 
## [13] "TIAM1"    "SH3BP1"   "RACGAP1"  "SRGAP3"   "SIPA1"    "ARHGAP44"
## [19] "ARHGAP1"  "ARHGAP22" "ARHGEF40" "RAP1GAP2" "ARHGAP20"
## 
## [[1]]$`UP genesets.GO:0071467 cellular response to pH`
## [1] "HVCN1" "GPR68" "GPLD1" "GNA11"
## 
## [[1]]$`DOWN genesets.GO:0002181 cytoplasmic translation`
##  [1] "RPL7A"   "RPL17"   "RPS27A"  "RPL8"    "RPS7"    "RPL28"   "RPL6"   
##  [8] "RPL18"   "RPL5"    "RPL9"    "RPL24"   "RPS3A"   "RPS3"    "RACK1"  
## [15] "RPL11"   "RPL14"   "RPS19"   "RPS25"   "RPL15"   "RPL22"   "RPL35A" 
## [22] "RPS10"   "RPL13"   "RPS15A"  "RPS8"    "RPL26"   "RPL19"   "RPLP1"  
## [29] "RPL10"   "RPL27"   "RPL12"   "RPS13"   "RPS14"   "RPL29"   "RPL21"  
## [36] "RPLP0"   "RPL7"    "RPS23"   "RPS5"    "RPL3"    "RPS12"   "RPS11"  
## [43] "RPL37"   "RPS15"   "RPL39"   "RPS6"    "RPL30"   "RPL18A"  "RPL13A" 
## [50] "RPL23"   "RPS4X"   "RPL23A"  "RPS20"   "RPL34"   "RPL32"   "DRG1"   
## [57] "FAU"     "RPS9"    "UBA52"   "RPS24"   "RPL36A"  "RPL4"    "RPL35"  
## [64] "RPL41"   "RPS17"   "RPL31"   "RPS2"    "RPS16"   "RPS18"   "RPS27"  
## [71] "FTSJ1"   "RPL27A"  "RPL36"   "RPS28"   "RPLP2"   "RWDD1"   "RPL22L1"
## [78] "RPSA"    "RPL37A"  "RPS29"   "RPL38"   "RPL26L1" "ZC3H15"  "RPS21"  
## [85] "RPS26"   "DRG2"    "RPL10A" 
## 
## [[1]]$`DOWN genesets.GO:0002503 peptide antigen assembly with MHC class II protein complex`
##  [1] "HLA-DQA2" "HLA-DOA"  "HLA-DMB"  "HLA-DMA"  "HLA-DQA1" "HLA-DPB1"
##  [7] "B2M"      "HLA-DRA"  "HLA-DQB1" "HLA-DPA1" "HLA-DRB5" "HLA-DRB1"
## 
## [[1]]$`DOWN genesets.GO:0003735 structural constituent of ribosome`
##   [1] "RPL7A"   "RPL17"   "RPS27A"  "RPL8"    "RPS7"    "RPL28"   "RPL6"   
##   [8] "RPL18"   "RPL5"    "RPL9"    "RPL24"   "RPS3A"   "RPS3"    "RPL11"  
##  [15] "RPL14"   "MRPL9"   "RPS19"   "RPS25"   "RPL15"   "RPL22"   "RPL35A" 
##  [22] "RPS10"   "RPL13"   "RPS15A"  "RPS8"    "RPL26"   "RPL19"   "RPS27L" 
##  [29] "RPLP1"   "RPL10"   "RPL27"   "MRPL18"  "MRPL43"  "RPL12"   "RPS13"  
##  [36] "RPS14"   "RPL29"   "RPL21"   "RPLP0"   "RPL7"    "RPS23"   "RSL24D1"
##  [43] "RPS5"    "RPL3"    "RPS12"   "MRPL17"  "RPS11"   "RPL37"   "RPS15"  
##  [50] "MRPS16"  "RPL39"   "RPS6"    "RPL30"   "MRPS18C" "RPL18A"  "RPL13A" 
##  [57] "RPL23"   "RPS4X"   "RPL23A"  "MRPS23"  "RPS20"   "MRPS2"   "RPL34"  
##  [64] "RPL32"   "FAU"     "RPS9"    "MRPS6"   "MRPS22"  "MRPS15"  "UBA52"  
##  [71] "RPS24"   "RPL36AL" "SRBD1"   "RPL36A"  "RPL4"    "RPL39L"  "MRPL36" 
##  [78] "RPL35"   "MRPS21"  "RPL41"   "MRPS30"  "MRPS14"  "RPS17"   "RPL31"  
##  [85] "MRPL13"  "RPS2"    "MRPL10"  "RPS16"   "MRPL46"  "RPS18"   "RPS27"  
##  [92] "MRPL51"  "MRPL52"  "MRPL30"  "MRPL21"  "MRPS18B" "RPL27A"  "MRPL22" 
##  [99] "MRPL24"  "MRPL12"  "MRPS31"  "MRPL3"   "RPL36"   "MRPL23"  "RPL7L1" 
## [106] "MRPL49"  "MRPS12"  "MRPL28"  "RPS28"   "RPLP2"   "MRPS24"  "MRPS18A"
## [113] "MRPL2"   "RPL22L1" "MRPL1"   "RPSA"    "MRPL41"  "MRPL55"  "MRPL54" 
## [120] "MRPS35"  "RPL37A"  "RPS29"   "MRPL16"  "MRPL47"  "MRPL27"  "MRPS33" 
## [127] "MRPS34"  "MRPL20"  "MRPL14"  "RPL38"   "RPL26L1" "MRPS9"   "MRPL42" 
## [134] "MRPS11"  "MRPS25"  "MRPL4"   "MRPL33"  "RPS21"   "MRPL35"  "MRPL19" 
## [141] "MRPS7"   "MRPL57"  "MRPL15"  "RPS26"   "MRPL34"  "MRPL32"  "MRPS5"  
## [148] "RPS4Y1"  "MRPL45"  "MRPL11"  "RPL10A"  "MRPS17"  "DAP3"   
## 
## [[1]]$`DOWN genesets.GO:0005687 U4 snRNP`
##  [1] "SNRPD3" "SNRPD2" "SNRPG"  "SNRPE"  "PRPF31" "SNRPN"  "DDX39B" "SNRPD1"
##  [9] "SNRPF"  "SNRPB" 
## 
## [[1]]$`DOWN genesets.GO:0005839 proteasome core complex`
##  [1] "PSMB2"  "PSMA2"  "PSMA6"  "PSMB1"  "PSMA3"  "PSMB3"  "PSMA7"  "PSMA4" 
##  [9] "PSMA1"  "PSMB4"  "PSMF1"  "PSMB5"  "PSMB7"  "PSMA5"  "PSMB10" "PSMB8" 
## [17] "PSMB9"  "PSMB6" 
## 
## [[1]]$`DOWN genesets.GO:0006412 translation`
##   [1] "RPL7A"     "RPL17"     "RPS27A"    "RPL8"      "RPS7"      "RPL28"    
##   [7] "RPL6"      "RPL18"     "RPL5"      "NACA"      "RPL9"      "RPL24"    
##  [13] "RPS3A"     "RPS3"      "RPL11"     "RPL14"     "MRPL9"     "RPS19"    
##  [19] "RPS25"     "RPL15"     "RPL22"     "RPL35A"    "RPS10"     "RPL13"    
##  [25] "RPS15A"    "EEF1A1"    "RPS8"      "RPL26"     "RPL19"     "RPS27L"   
##  [31] "RPLP1"     "RPL10"     "RPL27"     "MRPL18"    "MRPL43"    "RPL12"    
##  [37] "RPS13"     "RPS14"     "RPL29"     "RPL21"     "RPLP0"     "RPL7"     
##  [43] "GSPT2"     "RPS23"     "RSL24D1"   "RPS5"      "RPL3"      "RPS12"    
##  [49] "RPS11"     "RPL37"     "RPS15"     "PABPC4"    "MRPS16"    "RPL39"    
##  [55] "RPS6"      "RPL30"     "MRPS18C"   "RPL18A"    "RPL13A"    "RPL23"    
##  [61] "RPS4X"     "RPL23A"    "PSTK"      "RPS20"     "RPL34"     "RPL32"    
##  [67] "FAU"       "EIF4EBP2"  "RPS9"      "MRPS6"     "MRPS15"    "UBA52"    
##  [73] "RPS24"     "EEF1E1"    "RPL36AL"   "SRBD1"     "RPL36A"    "RPL4"     
##  [79] "RPL39L"    "MRPL36"    "RPL35"     "MRPS21"    "YARS2"     "RPL41"    
##  [85] "MRPS14"    "RPS6KB2"   "RPS17"     "RPL31"     "MRPL13"    "RPS2"     
##  [91] "MRPL10"    "COPS5"     "RPS16"     "RPS18"     "RPS27"     "MRPL51"   
##  [97] "FARSB"     "METTL17"   "RMND1"     "MRPL52"    "MRPS18B"   "AIMP1"    
## [103] "RPL27A"    "MRPL22"    "MRPL24"    "MRPL12"    "MRPL3"     "RPL36"    
## [109] "MRPL23"    "MRPS12"    "MRPL28"    "RPS28"     "RPLP2"     "MRRF"     
## [115] "DHPS"      "MRPS18A"   "EIF2AK2"   "EIF4ENIF1" "RPSA"      "MRPL41"   
## [121] "MRPL55"    "AGO2"      "RPL37A"    "RPS29"     "ABCF1"     "MRPL27"   
## [127] "MRPS33"    "CPEB4"     "RPL38"     "GEMIN5"    "MRPL42"    "MRPS11"   
## [133] "CPEB1"     "LARP4"     "RPS21"     "RRBP1"     "MRPL35"    "GUF1"     
## [139] "MRPS7"     "RPS26"     "IGF2BP3"   "MRPL34"    "MRPL32"    "MRPS5"    
## [145] "HBS1L"     "GSPT1"     "RPS4Y1"    "MRPL11"    "AIMP2"     "HARS2"    
## [151] "PAIP2"     "RPL10A"    "MRPS17"   
## 
## [[1]]$`DOWN genesets.GO:0015935 small ribosomal subunit`
##  [1] "RPS27A" "RACK1"  "RPS25"  "RPS6"   "RPS4X"  "FAU"    "MRPS6"  "RPS24" 
##  [9] "RPS16"  "RPS18"  "RPS28"  "RPS29"  "RPS21"  "RPS26" 
## 
## [[1]]$`DOWN genesets.GO:0019731 antibacterial humoral response`
##  [1] "DEFB1"  "CAMP"   "ANG"    "BPI"    "RNASE4" "B2M"    "RPL39"  "FAU"   
##  [9] "HLA-A"  "RNASE6" "APP"    "ADM"    "PLA2G6" "HLA-E"  "WFDC2"  "WFDC3" 
## 
## [[1]]$`DOWN genesets.GO:0019773 proteasome core complex, alpha-subunit complex`
## [1] "PSMA2" "PSMA6" "PSMA3" "PSMA7" "PSMA4" "PSMA1" "PSMA5"
## 
## [[1]]$`DOWN genesets.GO:0019886 antigen processing and presentation of exogenous peptide antigen via MHC class II`
##  [1] "IFI30"    "CTSL"     "HLA-DQA2" "HLA-DOA"  "HLA-DMB"  "HLA-DMA" 
##  [7] "FCGR2B"   "LGMN"     "HLA-DQA1" "HLA-DPB1" "B2M"      "FCER1G"  
## [13] "CTSS"     "HLA-DRA"  "HLA-DQB1" "CD74"     "HLA-DPA1" "UNC93B1" 
## [19] "CTSF"     "CTSD"     "TRAF6"    "CTSV"     "HLA-DRB5" "HLA-DRB1"
## 
## [[1]]$`DOWN genesets.GO:0022625 cytosolic large ribosomal subunit`
##  [1] "RPL7A"   "RPL17"   "RPL8"    "RPL28"   "RPL6"    "RPL18"   "RPL5"   
##  [8] "RPL9"    "RPL24"   "RPL11"   "RPL14"   "RPL15"   "RPL22"   "RPL35A" 
## [15] "RPL13"   "RPL26"   "RPL19"   "RPLP1"   "RPL10"   "RPL27"   "RPL12"  
## [22] "RPL29"   "RPL21"   "RPLP0"   "RPL7"    "RPL3"    "RPL37"   "RPL39"  
## [29] "ZCCHC17" "RPL30"   "RPL18A"  "RPL13A"  "RPL23"   "RPL23A"  "RPL34"  
## [36] "RPL32"   "UBA52"   "RPL36AL" "RPL36A"  "RPL4"    "RPL39L"  "RPL35"  
## [43] "RPL41"   "RPL31"   "RPL27A"  "RPL36"   "RPL7L1"  "RPLP2"   "RPL37A" 
## [50] "RPL38"   "RPL26L1" "RPL10A" 
## 
## [[1]]$`DOWN genesets.GO:0022626 cytosolic ribosome`
##  [1] "RPL7A"   "RPL17"   "RPS27A"  "RPL8"    "RPS7"    "RPL28"   "RPL6"   
##  [8] "RPL18"   "RPL5"    "RPL9"    "RPL24"   "RPS3A"   "RPS3"    "RPL11"  
## [15] "RPL14"   "RPS19"   "RPS25"   "RPL15"   "RPL22"   "RPL35A"  "RPS10"  
## [22] "PELO"    "RPL13"   "RPS15A"  "EEF1A1"  "RPS8"    "RPL26"   "RPL19"  
## [29] "RPLP1"   "RPL10"   "RPL27"   "RPL12"   "RPS13"   "RPS14"   "RPL29"  
## [36] "RPL21"   "RPLP0"   "RPL7"    "RPS23"   "RPS5"    "RPL3"    "RPS12"  
## [43] "RPS11"   "RPL37"   "RPS15"   "RPL39"   "RPS6"    "RPL30"   "RPL18A" 
## [50] "EIF2AK4" "RPL13A"  "RPL23"   "RPS4X"   "RPL23A"  "RPS20"   "RPL34"  
## [57] "RPL32"   "FAU"     "RPS9"    "UBA52"   "RPS24"   "RPL36A"  "RPL4"   
## [64] "RPL35"   "ABCE1"   "RPS17"   "RPL31"   "RNF10"   "RPS2"    "RPS16"  
## [71] "RPS18"   "METAP1"  "RPS27"   "NEMF"    "ZNF598"  "RPL27A"  "RPL36"  
## [78] "LTN1"    "USP10"   "RPSA"    "RPL37A"  "APOD"    "ETF1"    "ASCC2"  
## [85] "RPL38"   "RNF25"   "RPS21"   "RNF14"   "HBS1L"   "GSPT1"   "RPL10A" 
## 
## [[1]]$`DOWN genesets.GO:0022627 cytosolic small ribosomal subunit`
##  [1] "RPS27A" "RPS7"   "RPS3A"  "RPS3"   "RACK1"  "RPS19"  "RPS25"  "RPS10" 
##  [9] "RPS15A" "RPS8"   "RPS27L" "RPS13"  "RPS14"  "RPS23"  "RPS5"   "RPS12" 
## [17] "RPS11"  "RPS15"  "RPS6"   "RPS4X"  "RPS20"  "FAU"    "RPS9"   "RPS24" 
## [25] "RPS17"  "RPS2"   "RPS16"  "RPS18"  "RPS27"  "RPS28"  "RPSA"   "RPS29" 
## [33] "DHX29"  "DDX3X"  "EIF2A"  "LARP4"  "RPS21"  "RPS26"  "RPS4Y1"
## 
## [[1]]$`DOWN genesets.GO:0030881 beta-2-microglobulin binding`
## [1] "MICA"  "FCGRT" "CD1D"  "HFE"   "HLA-F" "HLA-A" "MR1"   "HLA-E"
## 
## [[1]]$`DOWN genesets.GO:0042605 peptide antigen binding`
##  [1] "HLA-DQA2" "HLA-DOA"  "FCGRT"    "HLA-DMB"  "HLA-DMA"  "HFE"     
##  [7] "SLC7A5"   "HLA-B"    "HLA-DQA1" "HLA-DPB1" "B2M"      "HLA-DRA" 
## [13] "HLA-F"    "HLA-DQB1" "HLA-A"    "HLA-DPA1" "TAPBP"    "HLA-C"   
## [19] "HLA-E"    "HLA-DRB5" "HLA-G"    "TAP1"     "MAML1"    "HLA-DRB1"
## [25] "CD209"    "DHCR24"   "SLC7A8"  
## 
## [[1]]$`DOWN genesets.GO:0042613 MHC class II protein complex`
##  [1] "HLA-DQA2" "HLA-DOA"  "HLA-DMB"  "HLA-DMA"  "HLA-DQA1" "HLA-DPB1"
##  [7] "B2M"      "HLA-DRA"  "HLA-DQB1" "CD74"     "HLA-DPA1" "HLA-DRB5"
## [13] "HLA-DRB1"
## 
## [[1]]$`DOWN genesets.GO:0071011 precatalytic spliceosome`
##  [1] "SNRPD3"  "SNRPD2"  "SF3B4"   "RBMX2"   "SF3B2"   "SNRPG"   "SNRPE"  
##  [8] "PRPF31"  "LSM8"    "WBP4"    "SMU1"    "SNRPD1"  "SF3B5"   "LSM2"   
## [15] "LSM3"    "PHF5A"   "SNU13"   "PRPF38A" "PRPF38B"
## 
## [[1]]$`DOWN genesets.GO:0097435 supramolecular fiber organization`
##  [1] "SNCA"     "MFAP4"    "BID"      "FKBP1A"   "MFAP5"    "BASP1"   
##  [7] "HSP90AB1" "B4GALT7"  "CST3"     "BAX"     
## 
## [[1]]$`DOWN genesets.GO:0097542 ciliary tip`
##  [1] "KIF3A"    "IFT22"    "ARMC9"    "DYNLRB1"  "WDR19"    "IFT20"   
##  [7] "KIF3C"    "WDR35"    "IFT43"    "DYNLL1"   "DYNLRB2"  "KIFAP3"  
## [13] "DYNC2LI1" "IFT57"    "DYNC2H1"  "CLUAP1"   "TRAF3IP1" "TTC21B"  
## [19] "IFT52"    "IFT88"    "CYLD"     "IFT81"    "IFT140"   "DYNLL2"  
## [25] "IFT172"   "IFT27"    "CDKL5"    "SUFU"     "IFT80"    "IFT74"   
## [31] "IFT46"    "ULK3"     "KIF3B"   
## 
## [[1]]$`DOWN genesets.GO:1904645 response to amyloid-beta`
## [1] "MMP12"   "FYN"     "MMP2"    "HDAC2"   "PRNP"    "MMP9"    "CACNA1A"
## [8] "AGER"

Session information

For reproducibility.

save.image("scanalysis_demock.Rdata")

sessionInfo()
## R version 4.5.0 (2025-04-11)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 22.04.5 LTS
## 
## Matrix products: default
## BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.10.0 
## LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0  LAPACK version 3.10.0
## 
## locale:
##  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
##  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
##  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
##  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
## 
## time zone: Australia/Melbourne
## tzcode source: system (glibc)
## 
## attached base packages:
## [1] parallel  stats4    stats     graphics  grDevices utils     datasets 
## [8] methods   base     
## 
## other attached packages:
##  [1] gtools_3.9.5                future_1.40.0              
##  [3] gplots_3.2.0                limma_3.64.0               
##  [5] SingleR_2.10.0              celldex_1.18.0             
##  [7] harmony_1.2.3               Rcpp_1.0.14                
##  [9] mitch_1.20.0                DESeq2_1.48.0              
## [11] muscat_1.22.0               beeswarm_0.4.0             
## [13] stringi_1.8.7               SingleCellExperiment_1.30.0
## [15] SummarizedExperiment_1.38.0 Biobase_2.68.0             
## [17] GenomicRanges_1.60.0        GenomeInfoDb_1.44.0        
## [19] IRanges_2.42.0              S4Vectors_0.46.0           
## [21] BiocGenerics_0.54.0         generics_0.1.3             
## [23] MatrixGenerics_1.20.0       matrixStats_1.5.0          
## [25] hdf5r_1.3.12                Seurat_5.3.0               
## [27] SeuratObject_5.1.0          sp_2.2-0                   
## [29] plyr_1.8.9                  ggplot2_3.5.2              
## [31] kableExtra_1.4.0           
## 
## loaded via a namespace (and not attached):
##   [1] dichromat_2.0-0.1         progress_1.2.3           
##   [3] goftest_1.2-3             HDF5Array_1.36.0         
##   [5] Biostrings_2.76.0         vctrs_0.6.5              
##   [7] spatstat.random_3.3-3     digest_0.6.37            
##   [9] png_0.1-8                 corpcor_1.6.10           
##  [11] shape_1.4.6.1             gypsum_1.4.0             
##  [13] ggrepel_0.9.6             echarts4r_0.4.5          
##  [15] deldir_2.0-4              parallelly_1.43.0        
##  [17] MASS_7.3-65               reshape2_1.4.4           
##  [19] httpuv_1.6.16             foreach_1.5.2            
##  [21] withr_3.0.2               xfun_0.52                
##  [23] survival_3.8-3            memoise_2.0.1.9000       
##  [25] ggbeeswarm_0.7.2          systemfonts_1.2.2        
##  [27] zoo_1.8-14                GlobalOptions_0.1.2      
##  [29] pbapply_1.7-2             prettyunits_1.2.0        
##  [31] GGally_2.2.1              KEGGREST_1.48.0          
##  [33] promises_1.3.2            httr_1.4.7               
##  [35] globals_0.17.0            fitdistrplus_1.2-2       
##  [37] rhdf5filters_1.20.0       rhdf5_2.52.0             
##  [39] rstudioapi_0.17.1         UCSC.utils_1.4.0         
##  [41] miniUI_0.1.2              curl_6.2.2               
##  [43] h5mread_1.0.0             ScaledMatrix_1.16.0      
##  [45] polyclip_1.10-7           GenomeInfoDbData_1.2.14  
##  [47] ExperimentHub_2.16.0      SparseArray_1.8.0        
##  [49] xtable_1.8-4              stringr_1.5.1            
##  [51] doParallel_1.0.17         evaluate_1.0.3           
##  [53] S4Arrays_1.8.0            BiocFileCache_2.16.0     
##  [55] hms_1.1.3                 irlba_2.3.5.1            
##  [57] colorspace_2.1-1          filelock_1.0.3           
##  [59] ROCR_1.0-11               reticulate_1.42.0        
##  [61] spatstat.data_3.1-6       magrittr_2.0.3           
##  [63] lmtest_0.9-40             later_1.4.2              
##  [65] viridis_0.6.5             lattice_0.22-7           
##  [67] spatstat.geom_3.3-6       future.apply_1.11.3      
##  [69] scattermore_1.2           scuttle_1.18.0           
##  [71] cowplot_1.1.3             RcppAnnoy_0.0.22         
##  [73] pillar_1.10.2             nlme_3.1-168             
##  [75] iterators_1.0.14          caTools_1.18.3           
##  [77] compiler_4.5.0            beachmat_2.24.0          
##  [79] RSpectra_0.16-2           tensor_1.5               
##  [81] minqa_1.2.8               crayon_1.5.3             
##  [83] abind_1.4-8               scater_1.36.0            
##  [85] blme_1.0-6                locfit_1.5-9.12          
##  [87] bit_4.6.0                 dplyr_1.1.4              
##  [89] codetools_0.2-20          BiocSingular_1.24.0      
##  [91] bslib_0.9.0               alabaster.ranges_1.8.0   
##  [93] GetoptLong_1.0.5          plotly_4.10.4            
##  [95] remaCor_0.0.18            mime_0.13                
##  [97] splines_4.5.0             circlize_0.4.16          
##  [99] fastDummies_1.7.5         dbplyr_2.5.0             
## [101] sparseMatrixStats_1.20.0  knitr_1.50               
## [103] blob_1.2.4                clue_0.3-66              
## [105] BiocVersion_3.21.1        lme4_1.1-37              
## [107] listenv_0.9.1             DelayedMatrixStats_1.30.0
## [109] Rdpack_2.6.4              tibble_3.2.1             
## [111] Matrix_1.7-3              statmod_1.5.0            
## [113] svglite_2.1.3             fANCOVA_0.6-1            
## [115] pkgconfig_2.0.3           network_1.19.0           
## [117] tools_4.5.0               cachem_1.1.0             
## [119] RhpcBLASctl_0.23-42       rbibutils_2.3            
## [121] RSQLite_2.3.9             viridisLite_0.4.2        
## [123] DBI_1.2.3                 numDeriv_2016.8-1.1      
## [125] fastmap_1.2.0             rmarkdown_2.29           
## [127] scales_1.4.0              grid_4.5.0               
## [129] ica_1.0-3                 broom_1.0.8              
## [131] AnnotationHub_3.16.0      sass_0.4.10              
## [133] patchwork_1.3.0           coda_0.19-4.1            
## [135] BiocManager_1.30.25       ggstats_0.9.0            
## [137] dotCall64_1.2             RANN_2.6.2               
## [139] alabaster.schemas_1.8.0   farver_2.1.2             
## [141] reformulas_0.4.0          aod_1.3.3                
## [143] mgcv_1.9-3                yaml_2.3.10              
## [145] cli_3.6.5                 purrr_1.0.4              
## [147] lifecycle_1.0.4           uwot_0.2.3               
## [149] glmmTMB_1.1.11            mvtnorm_1.3-3            
## [151] backports_1.5.0           BiocParallel_1.42.0      
## [153] gtable_0.3.6              rjson_0.2.23             
## [155] ggridges_0.5.6            progressr_0.15.1         
## [157] jsonlite_2.0.0            edgeR_4.6.1              
## [159] RcppHNSW_0.6.0            bitops_1.0-9             
## [161] bit64_4.6.0-1             Rtsne_0.17               
## [163] alabaster.matrix_1.8.0    spatstat.utils_3.1-3     
## [165] BiocNeighbors_2.2.0       alabaster.se_1.8.0       
## [167] jquerylib_0.1.4           spatstat.univar_3.1-2    
## [169] pbkrtest_0.5.4            lazyeval_0.2.2           
## [171] alabaster.base_1.8.0      shiny_1.10.0             
## [173] htmltools_0.5.8.1         sctransform_0.4.1        
## [175] rappdirs_0.3.3            glue_1.8.0               
## [177] spam_2.11-1               httr2_1.1.2              
## [179] XVector_0.48.0            gridExtra_2.3            
## [181] EnvStats_3.1.0            boot_1.3-31              
## [183] igraph_2.1.4              variancePartition_1.38.0 
## [185] TMB_1.9.17                R6_2.6.1                 
## [187] tidyr_1.3.1               labeling_0.4.3           
## [189] cluster_2.1.8.1           Rhdf5lib_1.30.0          
## [191] nloptr_2.2.1              statnet.common_4.11.0    
## [193] DelayedArray_0.34.1       tidyselect_1.2.1         
## [195] vipor_0.4.7               xml2_1.3.8               
## [197] AnnotationDbi_1.70.0      rsvd_1.0.5               
## [199] KernSmooth_2.23-26        data.table_1.17.0        
## [201] htmlwidgets_1.6.4         ComplexHeatmap_2.24.0    
## [203] RColorBrewer_1.1-3        rlang_1.1.6              
## [205] spatstat.sparse_3.1-0     spatstat.explore_3.4-2   
## [207] lmerTest_3.1-3