Case 4: T cell
Datasource: Pan-cancer single-cell landscape of tumor-infiltrating T cells.
Datasource:
This example data has been integrated in the SPARKLE
(SPARKLE::Tcell.seurat_object)
Input data
Input formats : Seurat metadata
library(SPARKLE)
Tcell.seurat_object <-SPARKLE::Tcell.seurat_object
knitr::kable(head(Tcell.seurat_object@meta.data), caption = "Seurat metadata") | patient | cellID | libraryID | cancerType | loc | batchV | TCR | dataset | ClusterID | dataset.tech | cellID.uniq | S.Score | G2M.Score | Phase | DIG.Score1 | score.MALAT1 | percent.mito | miniCluster | ClusterID.harmony | meta.cluster | meta.cluster.coarse | cancerType.old | dataset.old | sampleID | treatment | stype | patient.uid | usedForFreq | dataSource | tech | tech.cate | pub |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| BC9 | s1_AAACCTGAGCAGACTG-1 | BC9T | BRCA | T | BC9 | NA | BRCA.ElhamAzizi2018.10X | BC.Elham2018.10X.C01 | Elham2018.10X | BC.Elham2018.10X.s1_AAACCTGAGCAGACTG-1 | 0.0624014 | -0.0152807 | S | 0.0684577 | 4.819072 | 0.0479115 | BC.Elham2018.10X.C0340 | C00 | CD8.c12.Tex.CXCL13 | CD8.c09.Tex.CXCL13 | BC | BC.Elham2018.10X | BC9T | baseline | CD8 | BRCA.ElhamAzizi2018.10X.BC9 | Y | other labs | 10X | Droplet | published |
| BC9 | s1_AAACCTGAGGTCGGAT-1 | BC9T | BRCA | T | BC9 | NA | BRCA.ElhamAzizi2018.10X | BC.Elham2018.10X.C06 | Elham2018.10X | BC.Elham2018.10X.s1_AAACCTGAGGTCGGAT-1 | 0.0070906 | -0.0321333 | S | 0.1849000 | 4.741140 | 0.0394322 | BC.Elham2018.10X.C0259 | C04 | CD8.c01.Tn.MAL | CD8.c01.Tn.MAL | BC | BC.Elham2018.10X | BC9T | baseline | CD8 | BRCA.ElhamAzizi2018.10X.BC9 | Y | other labs | 10X | Droplet | published |
| BC9 | s1_AAACCTGAGTGTACTC-1 | BC9T | BRCA | T | BC9 | NA | BRCA.ElhamAzizi2018.10X | BC.Elham2018.10X.C01 | Elham2018.10X | BC.Elham2018.10X.s1_AAACCTGAGTGTACTC-1 | -0.0044747 | -0.1017369 | G1 | 0.2887507 | 4.389487 | 0.0347877 | BC.Elham2018.10X.C0046 | C02 | CD8.c10.Trm.ZNF683 | CD8.c08.Trm.ZNF683 | BC | BC.Elham2018.10X | BC9T | baseline | CD8 | BRCA.ElhamAzizi2018.10X.BC9 | Y | other labs | 10X | Droplet | published |
| BC9 | s1_AAACCTGCAGATGGGT-1 | BC9T | BRCA | T | BC9 | NA | BRCA.ElhamAzizi2018.10X | BC.Elham2018.10X.C04 | Elham2018.10X | BC.Elham2018.10X.s1_AAACCTGCAGATGGGT-1 | -0.0145796 | -0.0379119 | G1 | 0.2692702 | 4.412709 | 0.0763457 | BC.Elham2018.10X.C0366 | C05 | CD8.c07.Temra.CX3CR1 | CD8.c06.Temra.CX3CR1 | BC | BC.Elham2018.10X | BC9T | baseline | CD8 | BRCA.ElhamAzizi2018.10X.BC9 | Y | other labs | 10X | Droplet | published |
| BC9 | s1_AAACCTGGTAGCACGA-1 | BC9T | BRCA | T | BC9 | NA | BRCA.ElhamAzizi2018.10X | BC.Elham2018.10X.C00 | Elham2018.10X | BC.Elham2018.10X.s1_AAACCTGGTAGCACGA-1 | -0.0049043 | -0.0171255 | G1 | -0.0084376 | 5.431369 | 0.0568655 | BC.Elham2018.10X.C0399 | C06 | CD8.c02.Tm.IL7R | CD8.c02.Tm.IL7R | BC | BC.Elham2018.10X | BC9T | baseline | CD8 | BRCA.ElhamAzizi2018.10X.BC9 | Y | other labs | 10X | Droplet | published |
| BC9 | s1_AAACCTGGTAGCGTGA-1 | BC9T | BRCA | T | BC9 | NA | BRCA.ElhamAzizi2018.10X | BC.Elham2018.10X.C00 | Elham2018.10X | BC.Elham2018.10X.s1_AAACCTGGTAGCGTGA-1 | -0.0397327 | -0.0198545 | G1 | 0.1531002 | 5.082257 | 0.0557621 | BC.Elham2018.10X.C0119 | C14 | CD8.c06.Tem.GZMK | CD8.c05.Tem.GZMK | BC | BC.Elham2018.10X | BC9T | baseline | CD8 | BRCA.ElhamAzizi2018.10X.BC9 | Y | other labs | 10X | Droplet | published |
sparkle.data <- cwas_build_model_data(inputdata = Tcell.seurat_object,
Sample = "patient",
Phenotype ="treatment",
Celltype = "meta.cluster.coarse",
Group = "cancerType",
Subgroup = "dataset.old",
Control_label = "baseline",
Disease_label = "post.treatment",
selected_celltype = c("CD8.c01.Tn.MAL","CD4.c01.Tn.LEF1","CD4.c11.Mix.NME2")
)## [1] "Warning: No Covariate1 infomation"
## [1] "Warning: No Covariate2 infomation"
## [1] "No gene infomation added"
## [1] "No geneset score infomation added"
Data exporlation (Optional)
PCA
PCA plot for data exploration
cwas_pcadraw(sparkle.data) Wilcoxon
Wilcoxon rank sum test and plot
cwas_classic_comparision(sparkle.data) Hausman_test
Test for Group
df <- cwas_hausman_test_all(sparkle.data,variable = "Group")
knitr::kable(df, caption = "Hausman test") | Celltype | Hausman_Statistic | Pvalue | Model_Selection | Varible |
|---|---|---|---|---|
| CD8.c01.Tn.MAL | -3.369674 | 1.000000 | Random Effects Model | Group : cancerType |
| CD4.c01.Tn.LEF1 | 5.879953 | 0.052867 | Random Effects Model | Group : cancerType |
| CD4.c11.Mix.NME2 | -19.184970 | 1.000000 | Random Effects Model | Group : cancerType |
Test for Subgroup
df2 <- cwas_hausman_test_all(sparkle.data,variable = "Subgroup")
knitr::kable(df2, caption = "Hausman test") | Celltype | Hausman_Statistic | Pvalue | Model_Selection | Varible |
|---|---|---|---|---|
| CD8.c01.Tn.MAL | -7.585510 | 1 | Random Effects Model | Subgroup : dataset.old |
| CD4.c01.Tn.LEF1 | -2.413249 | 1 | Random Effects Model | Subgroup : dataset.old |
| CD4.c11.Mix.NME2 | -56.717797 | 1 | Random Effects Model | Subgroup : dataset.old |
Cell-phenotype association analysis
All model calculation
all.models <- cwas_allmodel_cal(sparkle.data)### calculation for all modelHeatmap plot for all model
p <- cwas_allmodel_heatmap(all.models)# Plot all model AIC and PvalueForest plot for Best model selection
best.model <- cwas_autoselected_model(all.models)# Select the best model and plotCell-phenotype covariate analysis
all.model.cov <- cwas_2celltype_allmodel_cal(sparkle.data)# Select the best model and plot
cwas_allmodel_heatmap(all.model.cov)# Plot all model AIC and Pvaluebest.model.cov <- cwas_autoselected_model(all.model.cov)# Select the best model and plotCell-phenotype mediation analysis
Your_interested_celltype="CD8.c01.Tn.MAL"
all.model.med <- cwas_mediation_analysis(sparkle.data,X.cell = Your_interested_celltype,Best_model =best.model,method = "cell_mediate_cell" )# Select the best model and plotCell-phenotype moderation analysis
all.model.mod <- cwas_moderation_analysis(sparkle.data,X.cell =Your_interested_celltype,Best_model =best.model,method = "cell_moderation_cell" )# Select the best model and plotModeration network plot
SPARKLE::Cell_phenotype_network_plot(sparkle.data )