Advanced Usage - PBMC + IFNb in cell type (CT) scenario¶
As opposed to previous example, in this tutorial we are going to explore the variation within cell types. Given that our dataset, the same as in previous tutorial, has a perturbation and control groups, computing pyroma scores on such subset will capture the variation linked specifically to the IFNb stimulation.
This scenario requires to have predefined CT labels. Alternatively for similar analysis to explore the variation within the population one could perform clustering e.g. Leiden.
[ ]:
import os
import zipfile
import io
import numpy as np
import pandas as pd
import scanpy as sc
import scipy.io
from glob import glob
import time
sc.set_figure_params(figsize=(3, 3), frameon=False )
import pyroma
roma = pyroma.ROMA()
roma
scROMA
load the PBMC dataset with IFNb stimulation from Kang et al. 2018¶
[2]:
adata = pyroma.datasets.pbmc_ifnb()
adata
[2]:
AnnData object with n_obs × n_vars = 13576 × 14053
obs: 'orig.ident', 'nCount_RNA', 'nFeature_RNA', 'stim', 'seurat_annotations', 'integrated_snn_res.0.5', 'seurat_clusters', 'condition', 'cell_type'
subsmaple to reduce the computation cost
[3]:
sc.pp.subsample(adata, n_obs=3000)
standard preprocessing¶
[4]:
sc.pp.filter_cells(adata, min_genes=100)
sc.pp.filter_genes(adata, min_cells=3)
sc.pp.normalize_total(adata)
sc.pp.log1p(adata)
[5]:
adata
[5]:
AnnData object with n_obs × n_vars = 3000 × 12158
obs: 'orig.ident', 'nCount_RNA', 'nFeature_RNA', 'stim', 'seurat_annotations', 'integrated_snn_res.0.5', 'seurat_clusters', 'condition', 'cell_type', 'n_genes'
var: 'n_cells'
uns: 'log1p'
first look at the data¶
[6]:
sc.tl.pca(adata)
sc.pp.neighbors(adata)
sc.tl.umap(adata)
[7]:
# "seurat_annotations" contain cell type information
# "condition" - is the IFNb stimulation category
sc.pl.umap(adata, color=['seurat_annotations', 'condition'],
ncols=2,
wspace=0.5)
run pyroma¶
[8]:
hallmarks_gmt_path = pyroma.genesets.use_hallmarks()
We need to copy the full adata into sample_adata to keep it untouched, and then we slice though each cell type adata subset to compute pyroma on it.
[9]:
iters = 100
ct_label = 'seurat_annotations'
### change to your output directory
output_dir = "/home/az/Downloads/tutorial-test-results/03_pbmc_ifnb_ct/"
sample_name = "kang_sample_all"
sample_adata = adata.copy()
loop_start = time.time()
for ct in sample_adata.obs[ct_label].unique():
adata = sample_adata[sample_adata.obs[ct_label] == ct].copy()
if adata.shape[0] < 3:
continue # skip if there are less than 3 cells
roma = pyroma.ROMA()
roma.gmt = hallmarks_gmt_path
roma.adata = adata
roma.pc_sign_mode = 'UseMeanExpressionAllWeights'
pathways_to_check = 'all'
start = time.time()
roma.compute(pathways_to_check,
parallel=True,
loocv_on=True,
iters=iters,
)
# the directory to save results will consist of the sample name (if you would like to slice through several samples) + cell type folder
sample_dir = os.path.join(output_dir, sample_name, ct)
os.makedirs(sample_dir, exist_ok=True)
roma.save_active_modules_results(sample_dir, only_active=False)
end = time.time()
minutes, seconds = divmod(end - start, 60)
print(f"CPU Parallel {iters} iterations for sample of shape {adata.shape}, running time (min): " + "{:0>2}:{:05.2f}".format(int(minutes),seconds))
loop_end = time.time()
minutes, seconds = divmod(loop_end - loop_start, 60)
print(f"CPU Parallel {iters} iterations, full loop running time (min): " + "{:0>2}:{:05.2f}".format(int(minutes),seconds))
Processing gene set: HALLMARK_NOTCH_SIGNALING | len of subsetlist: 27
Processing gene set: HALLMARK_HEDGEHOG_SIGNALING | len of subsetlist: 17
Processing gene set: HALLMARK_ANGIOGENESIS | len of subsetlist: 20
Processing gene set: HALLMARK_PANCREAS_BETA_CELLS | len of subsetlist: 14
Processing gene set: HALLMARK_WNT_BETA_CATENIN_SIGNALING | len of subsetlist: 33
Processing gene set: HALLMARK_APICAL_SURFACE | len of subsetlist: 23
Processing gene set: HALLMARK_REACTIVE_OXYGEN_SPECIES_PATHWAY | len of subsetlist: 46
Processing gene set: HALLMARK_TGF_BETA_SIGNALING | len of subsetlist: 48
Processing gene set: HALLMARK_MYC_TARGETS_V2 | len of subsetlist: 54
Processing gene set: HALLMARK_CHOLESTEROL_HOMEOSTASIS | len of subsetlist: 61
Processing gene set: HALLMARK_IL6_JAK_STAT3_SIGNALING | len of subsetlist: 74
Processing gene set: HALLMARK_PROTEIN_SECRETION | len of subsetlist: 87
Processing gene set: HALLMARK_INTERFERON_ALPHA_RESPONSE | len of subsetlist: 93
Processing gene set: HALLMARK_ANDROGEN_RESPONSE | len of subsetlist: 78
Processing gene set: HALLMARK_PEROXISOME | len of subsetlist: 82
Processing gene set: HALLMARK_PI3K_AKT_MTOR_SIGNALING | len of subsetlist: 91
Processing gene set: HALLMARK_BILE_ACID_METABOLISM | len of subsetlist: 66
Processing gene set: HALLMARK_UNFOLDED_PROTEIN_RESPONSE | len of subsetlist: 101
Processing gene set: HALLMARK_SPERMATOGENESIS | len of subsetlist: 64
Processing gene set: HALLMARK_COAGULATION | len of subsetlist: 72
Processing gene set: HALLMARK_UV_RESPONSE_DN | len of subsetlist: 101
Processing gene set: HALLMARK_DNA_REPAIR | len of subsetlist: 140
Processing gene set: HALLMARK_FATTY_ACID_METABOLISM | len of subsetlist: 126
Processing gene set: HALLMARK_UV_RESPONSE_UP | len of subsetlist: 125
Processing gene set: HALLMARK_APOPTOSIS | len of subsetlist: 142
Processing gene set: HALLMARK_MITOTIC_SPINDLE | len of subsetlist: 171
Processing gene set: HALLMARK_IL2_STAT5_SIGNALING | len of subsetlist: 167
Processing gene set: HALLMARK_TNFA_SIGNALING_VIA_NFKB | len of subsetlist: 187
Processing gene set: HALLMARK_HYPOXIA | len of subsetlist: 140
Processing gene set: HALLMARK_G2M_CHECKPOINT | len of subsetlist: 151
Processing gene set: HALLMARK_ADIPOGENESIS | len of subsetlist: 157
Processing gene set: HALLMARK_ESTROGEN_RESPONSE_EARLY | len of subsetlist: 116
Processing gene set: HALLMARK_ESTROGEN_RESPONSE_LATE | len of subsetlist: 118
Processing gene set: HALLMARK_MYOGENESIS | len of subsetlist: 90
Processing gene set: HALLMARK_INTERFERON_GAMMA_RESPONSE | len of subsetlist: 190
Processing gene set: HALLMARK_APICAL_JUNCTION | len of subsetlist: 110
Processing gene set: HALLMARK_COMPLEMENT | len of subsetlist: 159
Processing gene set: HALLMARK_MTORC1_SIGNALING | len of subsetlist: 183
Processing gene set: HALLMARK_E2F_TARGETS | len of subsetlist: 168
Processing gene set: HALLMARK_MYC_TARGETS_V1 | len of subsetlist: 188
Processing gene set: HALLMARK_EPITHELIAL_MESENCHYMAL_TRANSITION | len of subsetlist: 96
Processing gene set: HALLMARK_INFLAMMATORY_RESPONSE | len of subsetlist: 163
Processing gene set: HALLMARK_XENOBIOTIC_METABOLISM | len of subsetlist: 129
Processing gene set: HALLMARK_OXIDATIVE_PHOSPHORYLATION | len of subsetlist: 178
Processing gene set: HALLMARK_GLYCOLYSIS | len of subsetlist: 141
Processing gene set: HALLMARK_P53_PATHWAY | len of subsetlist: 161
Processing gene set: HALLMARK_HEME_METABOLISM | len of subsetlist: 148
Processing gene set: HALLMARK_ALLOGRAFT_REJECTION | len of subsetlist: 172
Processing gene set: HALLMARK_KRAS_SIGNALING_UP | len of subsetlist: 131
Processing gene set: HALLMARK_KRAS_SIGNALING_DN | len of subsetlist: 62
Finished: CPU Parallel 100 iterations for sample of shape (182, 12158), running time (min): 00:58.29
Processing gene set: HALLMARK_NOTCH_SIGNALING | len of subsetlist: 27
Processing gene set: HALLMARK_HEDGEHOG_SIGNALING | len of subsetlist: 17
Processing gene set: HALLMARK_ANGIOGENESIS | len of subsetlist: 20
Processing gene set: HALLMARK_PANCREAS_BETA_CELLS | len of subsetlist: 14
Processing gene set: HALLMARK_WNT_BETA_CATENIN_SIGNALING | len of subsetlist: 33
Processing gene set: HALLMARK_APICAL_SURFACE | len of subsetlist: 23
Processing gene set: HALLMARK_REACTIVE_OXYGEN_SPECIES_PATHWAY | len of subsetlist: 46
Processing gene set: HALLMARK_TGF_BETA_SIGNALING | len of subsetlist: 48
Processing gene set: HALLMARK_MYC_TARGETS_V2 | len of subsetlist: 54
Processing gene set: HALLMARK_CHOLESTEROL_HOMEOSTASIS | len of subsetlist: 61
Processing gene set: HALLMARK_IL6_JAK_STAT3_SIGNALING | len of subsetlist: 74
Processing gene set: HALLMARK_PROTEIN_SECRETION | len of subsetlist: 87
Processing gene set: HALLMARK_INTERFERON_ALPHA_RESPONSE | len of subsetlist: 93
Processing gene set: HALLMARK_ANDROGEN_RESPONSE | len of subsetlist: 78
Processing gene set: HALLMARK_PEROXISOME | len of subsetlist: 82
Processing gene set: HALLMARK_PI3K_AKT_MTOR_SIGNALING | len of subsetlist: 91
Processing gene set: HALLMARK_BILE_ACID_METABOLISM | len of subsetlist: 66
Processing gene set: HALLMARK_UNFOLDED_PROTEIN_RESPONSE | len of subsetlist: 101
Processing gene set: HALLMARK_SPERMATOGENESIS | len of subsetlist: 64
Processing gene set: HALLMARK_COAGULATION | len of subsetlist: 72
Processing gene set: HALLMARK_UV_RESPONSE_DN | len of subsetlist: 101
Processing gene set: HALLMARK_DNA_REPAIR | len of subsetlist: 140
Processing gene set: HALLMARK_FATTY_ACID_METABOLISM | len of subsetlist: 126
Processing gene set: HALLMARK_UV_RESPONSE_UP | len of subsetlist: 125
Processing gene set: HALLMARK_APOPTOSIS | len of subsetlist: 142
Processing gene set: HALLMARK_MITOTIC_SPINDLE | len of subsetlist: 171
Processing gene set: HALLMARK_IL2_STAT5_SIGNALING | len of subsetlist: 167
Processing gene set: HALLMARK_TNFA_SIGNALING_VIA_NFKB | len of subsetlist: 187
Processing gene set: HALLMARK_HYPOXIA | len of subsetlist: 140
Processing gene set: HALLMARK_G2M_CHECKPOINT | len of subsetlist: 151
Processing gene set: HALLMARK_ADIPOGENESIS | len of subsetlist: 157
Processing gene set: HALLMARK_ESTROGEN_RESPONSE_EARLY | len of subsetlist: 116
Processing gene set: HALLMARK_ESTROGEN_RESPONSE_LATE | len of subsetlist: 118
Processing gene set: HALLMARK_MYOGENESIS | len of subsetlist: 90
Processing gene set: HALLMARK_INTERFERON_GAMMA_RESPONSE | len of subsetlist: 190
Processing gene set: HALLMARK_APICAL_JUNCTION | len of subsetlist: 110
Processing gene set: HALLMARK_COMPLEMENT | len of subsetlist: 159
Processing gene set: HALLMARK_MTORC1_SIGNALING | len of subsetlist: 183
Processing gene set: HALLMARK_E2F_TARGETS | len of subsetlist: 168
Processing gene set: HALLMARK_MYC_TARGETS_V1 | len of subsetlist: 188
Processing gene set: HALLMARK_EPITHELIAL_MESENCHYMAL_TRANSITION | len of subsetlist: 96
Processing gene set: HALLMARK_INFLAMMATORY_RESPONSE | len of subsetlist: 163
Processing gene set: HALLMARK_XENOBIOTIC_METABOLISM | len of subsetlist: 129
Processing gene set: HALLMARK_OXIDATIVE_PHOSPHORYLATION | len of subsetlist: 178
Processing gene set: HALLMARK_GLYCOLYSIS | len of subsetlist: 141
Processing gene set: HALLMARK_P53_PATHWAY | len of subsetlist: 161
Processing gene set: HALLMARK_HEME_METABOLISM | len of subsetlist: 148
Processing gene set: HALLMARK_ALLOGRAFT_REJECTION | len of subsetlist: 172
Processing gene set: HALLMARK_KRAS_SIGNALING_UP | len of subsetlist: 131
Processing gene set: HALLMARK_KRAS_SIGNALING_DN | len of subsetlist: 62
Finished: CPU Parallel 100 iterations for sample of shape (982, 12158), running time (min): 01:49.41
Processing gene set: HALLMARK_NOTCH_SIGNALING | len of subsetlist: 27
Processing gene set: HALLMARK_HEDGEHOG_SIGNALING | len of subsetlist: 17
Processing gene set: HALLMARK_ANGIOGENESIS | len of subsetlist: 20
Processing gene set: HALLMARK_PANCREAS_BETA_CELLS | len of subsetlist: 14
Processing gene set: HALLMARK_WNT_BETA_CATENIN_SIGNALING | len of subsetlist: 33
Processing gene set: HALLMARK_APICAL_SURFACE | len of subsetlist: 23
Processing gene set: HALLMARK_REACTIVE_OXYGEN_SPECIES_PATHWAY | len of subsetlist: 46
Processing gene set: HALLMARK_TGF_BETA_SIGNALING | len of subsetlist: 48
Processing gene set: HALLMARK_MYC_TARGETS_V2 | len of subsetlist: 54
Processing gene set: HALLMARK_CHOLESTEROL_HOMEOSTASIS | len of subsetlist: 61
Processing gene set: HALLMARK_IL6_JAK_STAT3_SIGNALING | len of subsetlist: 74
Processing gene set: HALLMARK_PROTEIN_SECRETION | len of subsetlist: 87
Processing gene set: HALLMARK_INTERFERON_ALPHA_RESPONSE | len of subsetlist: 93
Processing gene set: HALLMARK_ANDROGEN_RESPONSE | len of subsetlist: 78
Processing gene set: HALLMARK_PEROXISOME | len of subsetlist: 82
Processing gene set: HALLMARK_PI3K_AKT_MTOR_SIGNALING | len of subsetlist: 91
Processing gene set: HALLMARK_BILE_ACID_METABOLISM | len of subsetlist: 66
Processing gene set: HALLMARK_UNFOLDED_PROTEIN_RESPONSE | len of subsetlist: 101
Processing gene set: HALLMARK_SPERMATOGENESIS | len of subsetlist: 64
Processing gene set: HALLMARK_COAGULATION | len of subsetlist: 72
Processing gene set: HALLMARK_UV_RESPONSE_DN | len of subsetlist: 101
Processing gene set: HALLMARK_DNA_REPAIR | len of subsetlist: 140
Processing gene set: HALLMARK_FATTY_ACID_METABOLISM | len of subsetlist: 126
Processing gene set: HALLMARK_UV_RESPONSE_UP | len of subsetlist: 125
Processing gene set: HALLMARK_APOPTOSIS | len of subsetlist: 142
Processing gene set: HALLMARK_MITOTIC_SPINDLE | len of subsetlist: 171
Processing gene set: HALLMARK_IL2_STAT5_SIGNALING | len of subsetlist: 167
Processing gene set: HALLMARK_TNFA_SIGNALING_VIA_NFKB | len of subsetlist: 187
Processing gene set: HALLMARK_HYPOXIA | len of subsetlist: 140
Processing gene set: HALLMARK_G2M_CHECKPOINT | len of subsetlist: 151
Processing gene set: HALLMARK_ADIPOGENESIS | len of subsetlist: 157
Processing gene set: HALLMARK_ESTROGEN_RESPONSE_EARLY | len of subsetlist: 116
Processing gene set: HALLMARK_ESTROGEN_RESPONSE_LATE | len of subsetlist: 118
Processing gene set: HALLMARK_MYOGENESIS | len of subsetlist: 90
Processing gene set: HALLMARK_INTERFERON_GAMMA_RESPONSE | len of subsetlist: 190
Processing gene set: HALLMARK_APICAL_JUNCTION | len of subsetlist: 110
Processing gene set: HALLMARK_COMPLEMENT | len of subsetlist: 159
Processing gene set: HALLMARK_MTORC1_SIGNALING | len of subsetlist: 183
Processing gene set: HALLMARK_E2F_TARGETS | len of subsetlist: 168
Processing gene set: HALLMARK_MYC_TARGETS_V1 | len of subsetlist: 188
Processing gene set: HALLMARK_EPITHELIAL_MESENCHYMAL_TRANSITION | len of subsetlist: 96
Processing gene set: HALLMARK_INFLAMMATORY_RESPONSE | len of subsetlist: 163
Processing gene set: HALLMARK_XENOBIOTIC_METABOLISM | len of subsetlist: 129
Processing gene set: HALLMARK_OXIDATIVE_PHOSPHORYLATION | len of subsetlist: 178
Processing gene set: HALLMARK_GLYCOLYSIS | len of subsetlist: 141
Processing gene set: HALLMARK_P53_PATHWAY | len of subsetlist: 161
Processing gene set: HALLMARK_HEME_METABOLISM | len of subsetlist: 148
Processing gene set: HALLMARK_ALLOGRAFT_REJECTION | len of subsetlist: 172
Processing gene set: HALLMARK_KRAS_SIGNALING_UP | len of subsetlist: 131
Processing gene set: HALLMARK_KRAS_SIGNALING_DN | len of subsetlist: 62
Finished: CPU Parallel 100 iterations for sample of shape (129, 12158), running time (min): 00:48.19
Processing gene set: HALLMARK_NOTCH_SIGNALING | len of subsetlist: 27
Processing gene set: HALLMARK_HEDGEHOG_SIGNALING | len of subsetlist: 17
Processing gene set: HALLMARK_ANGIOGENESIS | len of subsetlist: 20
Processing gene set: HALLMARK_PANCREAS_BETA_CELLS | len of subsetlist: 14
Processing gene set: HALLMARK_WNT_BETA_CATENIN_SIGNALING | len of subsetlist: 33
Processing gene set: HALLMARK_APICAL_SURFACE | len of subsetlist: 23
Processing gene set: HALLMARK_REACTIVE_OXYGEN_SPECIES_PATHWAY | len of subsetlist: 46
Processing gene set: HALLMARK_TGF_BETA_SIGNALING | len of subsetlist: 48
Processing gene set: HALLMARK_MYC_TARGETS_V2 | len of subsetlist: 54
Processing gene set: HALLMARK_CHOLESTEROL_HOMEOSTASIS | len of subsetlist: 61
Processing gene set: HALLMARK_IL6_JAK_STAT3_SIGNALING | len of subsetlist: 74
Processing gene set: HALLMARK_PROTEIN_SECRETION | len of subsetlist: 87
Processing gene set: HALLMARK_INTERFERON_ALPHA_RESPONSE | len of subsetlist: 93
Processing gene set: HALLMARK_ANDROGEN_RESPONSE | len of subsetlist: 78
Processing gene set: HALLMARK_PEROXISOME | len of subsetlist: 82
Processing gene set: HALLMARK_PI3K_AKT_MTOR_SIGNALING | len of subsetlist: 91
Processing gene set: HALLMARK_BILE_ACID_METABOLISM | len of subsetlist: 66
Processing gene set: HALLMARK_UNFOLDED_PROTEIN_RESPONSE | len of subsetlist: 101
Processing gene set: HALLMARK_SPERMATOGENESIS | len of subsetlist: 64
Processing gene set: HALLMARK_COAGULATION | len of subsetlist: 72
Processing gene set: HALLMARK_UV_RESPONSE_DN | len of subsetlist: 101
Processing gene set: HALLMARK_DNA_REPAIR | len of subsetlist: 140
Processing gene set: HALLMARK_FATTY_ACID_METABOLISM | len of subsetlist: 126
Processing gene set: HALLMARK_UV_RESPONSE_UP | len of subsetlist: 125
Processing gene set: HALLMARK_APOPTOSIS | len of subsetlist: 142
Processing gene set: HALLMARK_MITOTIC_SPINDLE | len of subsetlist: 171
Processing gene set: HALLMARK_IL2_STAT5_SIGNALING | len of subsetlist: 167
Processing gene set: HALLMARK_TNFA_SIGNALING_VIA_NFKB | len of subsetlist: 187
Processing gene set: HALLMARK_HYPOXIA | len of subsetlist: 140
Processing gene set: HALLMARK_G2M_CHECKPOINT | len of subsetlist: 151
Processing gene set: HALLMARK_ADIPOGENESIS | len of subsetlist: 157
Processing gene set: HALLMARK_ESTROGEN_RESPONSE_EARLY | len of subsetlist: 116
Processing gene set: HALLMARK_ESTROGEN_RESPONSE_LATE | len of subsetlist: 118
Processing gene set: HALLMARK_MYOGENESIS | len of subsetlist: 90
Processing gene set: HALLMARK_INTERFERON_GAMMA_RESPONSE | len of subsetlist: 190
Processing gene set: HALLMARK_APICAL_JUNCTION | len of subsetlist: 110
Processing gene set: HALLMARK_COMPLEMENT | len of subsetlist: 159
Processing gene set: HALLMARK_MTORC1_SIGNALING | len of subsetlist: 183
Processing gene set: HALLMARK_E2F_TARGETS | len of subsetlist: 168
Processing gene set: HALLMARK_MYC_TARGETS_V1 | len of subsetlist: 188
Processing gene set: HALLMARK_EPITHELIAL_MESENCHYMAL_TRANSITION | len of subsetlist: 96
Processing gene set: HALLMARK_INFLAMMATORY_RESPONSE | len of subsetlist: 163
Processing gene set: HALLMARK_XENOBIOTIC_METABOLISM | len of subsetlist: 129
Processing gene set: HALLMARK_OXIDATIVE_PHOSPHORYLATION | len of subsetlist: 178
Processing gene set: HALLMARK_GLYCOLYSIS | len of subsetlist: 141
Processing gene set: HALLMARK_P53_PATHWAY | len of subsetlist: 161
Processing gene set: HALLMARK_HEME_METABOLISM | len of subsetlist: 148
Processing gene set: HALLMARK_ALLOGRAFT_REJECTION | len of subsetlist: 172
Processing gene set: HALLMARK_KRAS_SIGNALING_UP | len of subsetlist: 131
Processing gene set: HALLMARK_KRAS_SIGNALING_DN | len of subsetlist: 62
Finished: CPU Parallel 100 iterations for sample of shape (94, 12158), running time (min): 00:42.48
Processing gene set: HALLMARK_NOTCH_SIGNALING | len of subsetlist: 27
Processing gene set: HALLMARK_HEDGEHOG_SIGNALING | len of subsetlist: 17
Processing gene set: HALLMARK_ANGIOGENESIS | len of subsetlist: 20
Processing gene set: HALLMARK_PANCREAS_BETA_CELLS | len of subsetlist: 14
Processing gene set: HALLMARK_WNT_BETA_CATENIN_SIGNALING | len of subsetlist: 33
Processing gene set: HALLMARK_APICAL_SURFACE | len of subsetlist: 23
Processing gene set: HALLMARK_REACTIVE_OXYGEN_SPECIES_PATHWAY | len of subsetlist: 46
Processing gene set: HALLMARK_TGF_BETA_SIGNALING | len of subsetlist: 48
Processing gene set: HALLMARK_MYC_TARGETS_V2 | len of subsetlist: 54
Processing gene set: HALLMARK_CHOLESTEROL_HOMEOSTASIS | len of subsetlist: 61
Processing gene set: HALLMARK_IL6_JAK_STAT3_SIGNALING | len of subsetlist: 74
Processing gene set: HALLMARK_PROTEIN_SECRETION | len of subsetlist: 87
Processing gene set: HALLMARK_INTERFERON_ALPHA_RESPONSE | len of subsetlist: 93
Processing gene set: HALLMARK_ANDROGEN_RESPONSE | len of subsetlist: 78
Processing gene set: HALLMARK_PEROXISOME | len of subsetlist: 82
Processing gene set: HALLMARK_PI3K_AKT_MTOR_SIGNALING | len of subsetlist: 91
Processing gene set: HALLMARK_BILE_ACID_METABOLISM | len of subsetlist: 66
Processing gene set: HALLMARK_UNFOLDED_PROTEIN_RESPONSE | len of subsetlist: 101
Processing gene set: HALLMARK_SPERMATOGENESIS | len of subsetlist: 64
Processing gene set: HALLMARK_COAGULATION | len of subsetlist: 72
Processing gene set: HALLMARK_UV_RESPONSE_DN | len of subsetlist: 101
Processing gene set: HALLMARK_DNA_REPAIR | len of subsetlist: 140
Processing gene set: HALLMARK_FATTY_ACID_METABOLISM | len of subsetlist: 126
Processing gene set: HALLMARK_UV_RESPONSE_UP | len of subsetlist: 125
Processing gene set: HALLMARK_APOPTOSIS | len of subsetlist: 142
Processing gene set: HALLMARK_MITOTIC_SPINDLE | len of subsetlist: 171
Processing gene set: HALLMARK_IL2_STAT5_SIGNALING | len of subsetlist: 167
Processing gene set: HALLMARK_TNFA_SIGNALING_VIA_NFKB | len of subsetlist: 187
Processing gene set: HALLMARK_HYPOXIA | len of subsetlist: 140
Processing gene set: HALLMARK_G2M_CHECKPOINT | len of subsetlist: 151
Processing gene set: HALLMARK_ADIPOGENESIS | len of subsetlist: 157
Processing gene set: HALLMARK_ESTROGEN_RESPONSE_EARLY | len of subsetlist: 116
Processing gene set: HALLMARK_ESTROGEN_RESPONSE_LATE | len of subsetlist: 118
Processing gene set: HALLMARK_MYOGENESIS | len of subsetlist: 90
Processing gene set: HALLMARK_INTERFERON_GAMMA_RESPONSE | len of subsetlist: 190
Processing gene set: HALLMARK_APICAL_JUNCTION | len of subsetlist: 110
Processing gene set: HALLMARK_COMPLEMENT | len of subsetlist: 159
Processing gene set: HALLMARK_MTORC1_SIGNALING | len of subsetlist: 183
Processing gene set: HALLMARK_E2F_TARGETS | len of subsetlist: 168
Processing gene set: HALLMARK_MYC_TARGETS_V1 | len of subsetlist: 188
Processing gene set: HALLMARK_EPITHELIAL_MESENCHYMAL_TRANSITION | len of subsetlist: 96
Processing gene set: HALLMARK_INFLAMMATORY_RESPONSE | len of subsetlist: 163
Processing gene set: HALLMARK_XENOBIOTIC_METABOLISM | len of subsetlist: 129
Processing gene set: HALLMARK_OXIDATIVE_PHOSPHORYLATION | len of subsetlist: 178
Processing gene set: HALLMARK_GLYCOLYSIS | len of subsetlist: 141
Processing gene set: HALLMARK_P53_PATHWAY | len of subsetlist: 161
Processing gene set: HALLMARK_HEME_METABOLISM | len of subsetlist: 148
Processing gene set: HALLMARK_ALLOGRAFT_REJECTION | len of subsetlist: 172
Processing gene set: HALLMARK_KRAS_SIGNALING_UP | len of subsetlist: 131
Processing gene set: HALLMARK_KRAS_SIGNALING_DN | len of subsetlist: 62
Finished: CPU Parallel 100 iterations for sample of shape (515, 12158), running time (min): 01:02.32
Processing gene set: HALLMARK_NOTCH_SIGNALING | len of subsetlist: 27
Processing gene set: HALLMARK_HEDGEHOG_SIGNALING | len of subsetlist: 17
Processing gene set: HALLMARK_ANGIOGENESIS | len of subsetlist: 20
Processing gene set: HALLMARK_PANCREAS_BETA_CELLS | len of subsetlist: 14
Processing gene set: HALLMARK_WNT_BETA_CATENIN_SIGNALING | len of subsetlist: 33
Processing gene set: HALLMARK_APICAL_SURFACE | len of subsetlist: 23
Processing gene set: HALLMARK_REACTIVE_OXYGEN_SPECIES_PATHWAY | len of subsetlist: 46
Processing gene set: HALLMARK_TGF_BETA_SIGNALING | len of subsetlist: 48
Processing gene set: HALLMARK_MYC_TARGETS_V2 | len of subsetlist: 54
Processing gene set: HALLMARK_CHOLESTEROL_HOMEOSTASIS | len of subsetlist: 61
Processing gene set: HALLMARK_IL6_JAK_STAT3_SIGNALING | len of subsetlist: 74
Processing gene set: HALLMARK_PROTEIN_SECRETION | len of subsetlist: 87
Processing gene set: HALLMARK_INTERFERON_ALPHA_RESPONSE | len of subsetlist: 93
Processing gene set: HALLMARK_ANDROGEN_RESPONSE | len of subsetlist: 78
Processing gene set: HALLMARK_PEROXISOME | len of subsetlist: 82
Processing gene set: HALLMARK_PI3K_AKT_MTOR_SIGNALING | len of subsetlist: 91
Processing gene set: HALLMARK_BILE_ACID_METABOLISM | len of subsetlist: 66
Processing gene set: HALLMARK_UNFOLDED_PROTEIN_RESPONSE | len of subsetlist: 101
Processing gene set: HALLMARK_SPERMATOGENESIS | len of subsetlist: 64
Processing gene set: HALLMARK_COAGULATION | len of subsetlist: 72
Processing gene set: HALLMARK_UV_RESPONSE_DN | len of subsetlist: 101
Processing gene set: HALLMARK_DNA_REPAIR | len of subsetlist: 140
Processing gene set: HALLMARK_FATTY_ACID_METABOLISM | len of subsetlist: 126
Processing gene set: HALLMARK_UV_RESPONSE_UP | len of subsetlist: 125
Processing gene set: HALLMARK_APOPTOSIS | len of subsetlist: 142
Processing gene set: HALLMARK_MITOTIC_SPINDLE | len of subsetlist: 171
Processing gene set: HALLMARK_IL2_STAT5_SIGNALING | len of subsetlist: 167
Processing gene set: HALLMARK_TNFA_SIGNALING_VIA_NFKB | len of subsetlist: 187
Processing gene set: HALLMARK_HYPOXIA | len of subsetlist: 140
Processing gene set: HALLMARK_G2M_CHECKPOINT | len of subsetlist: 151
Processing gene set: HALLMARK_ADIPOGENESIS | len of subsetlist: 157
Processing gene set: HALLMARK_ESTROGEN_RESPONSE_EARLY | len of subsetlist: 116
Processing gene set: HALLMARK_ESTROGEN_RESPONSE_LATE | len of subsetlist: 118
Processing gene set: HALLMARK_MYOGENESIS | len of subsetlist: 90
Processing gene set: HALLMARK_INTERFERON_GAMMA_RESPONSE | len of subsetlist: 190
Processing gene set: HALLMARK_APICAL_JUNCTION | len of subsetlist: 110
Processing gene set: HALLMARK_COMPLEMENT | len of subsetlist: 159
Processing gene set: HALLMARK_MTORC1_SIGNALING | len of subsetlist: 183
Processing gene set: HALLMARK_E2F_TARGETS | len of subsetlist: 168
Processing gene set: HALLMARK_MYC_TARGETS_V1 | len of subsetlist: 188
Processing gene set: HALLMARK_EPITHELIAL_MESENCHYMAL_TRANSITION | len of subsetlist: 96
Processing gene set: HALLMARK_INFLAMMATORY_RESPONSE | len of subsetlist: 163
Processing gene set: HALLMARK_XENOBIOTIC_METABOLISM | len of subsetlist: 129
Processing gene set: HALLMARK_OXIDATIVE_PHOSPHORYLATION | len of subsetlist: 178
Processing gene set: HALLMARK_GLYCOLYSIS | len of subsetlist: 141
Processing gene set: HALLMARK_P53_PATHWAY | len of subsetlist: 161
Processing gene set: HALLMARK_HEME_METABOLISM | len of subsetlist: 148
Processing gene set: HALLMARK_ALLOGRAFT_REJECTION | len of subsetlist: 172
Processing gene set: HALLMARK_KRAS_SIGNALING_UP | len of subsetlist: 131
Processing gene set: HALLMARK_KRAS_SIGNALING_DN | len of subsetlist: 62
Finished: CPU Parallel 100 iterations for sample of shape (208, 12158), running time (min): 00:40.91
Processing gene set: HALLMARK_NOTCH_SIGNALING | len of subsetlist: 27
Processing gene set: HALLMARK_HEDGEHOG_SIGNALING | len of subsetlist: 17
Processing gene set: HALLMARK_ANGIOGENESIS | len of subsetlist: 20
Processing gene set: HALLMARK_PANCREAS_BETA_CELLS | len of subsetlist: 14
Processing gene set: HALLMARK_WNT_BETA_CATENIN_SIGNALING | len of subsetlist: 33
Processing gene set: HALLMARK_APICAL_SURFACE | len of subsetlist: 23
Processing gene set: HALLMARK_REACTIVE_OXYGEN_SPECIES_PATHWAY | len of subsetlist: 46
Processing gene set: HALLMARK_TGF_BETA_SIGNALING | len of subsetlist: 48
Processing gene set: HALLMARK_MYC_TARGETS_V2 | len of subsetlist: 54
Processing gene set: HALLMARK_CHOLESTEROL_HOMEOSTASIS | len of subsetlist: 61
Processing gene set: HALLMARK_IL6_JAK_STAT3_SIGNALING | len of subsetlist: 74
Processing gene set: HALLMARK_PROTEIN_SECRETION | len of subsetlist: 87
Processing gene set: HALLMARK_INTERFERON_ALPHA_RESPONSE | len of subsetlist: 93
Processing gene set: HALLMARK_ANDROGEN_RESPONSE | len of subsetlist: 78
Processing gene set: HALLMARK_PEROXISOME | len of subsetlist: 82
Processing gene set: HALLMARK_PI3K_AKT_MTOR_SIGNALING | len of subsetlist: 91
Processing gene set: HALLMARK_BILE_ACID_METABOLISM | len of subsetlist: 66
Processing gene set: HALLMARK_UNFOLDED_PROTEIN_RESPONSE | len of subsetlist: 101
Processing gene set: HALLMARK_SPERMATOGENESIS | len of subsetlist: 64
Processing gene set: HALLMARK_COAGULATION | len of subsetlist: 72
Processing gene set: HALLMARK_UV_RESPONSE_DN | len of subsetlist: 101
Processing gene set: HALLMARK_DNA_REPAIR | len of subsetlist: 140
Processing gene set: HALLMARK_FATTY_ACID_METABOLISM | len of subsetlist: 126
Processing gene set: HALLMARK_UV_RESPONSE_UP | len of subsetlist: 125
Processing gene set: HALLMARK_APOPTOSIS | len of subsetlist: 142
Processing gene set: HALLMARK_MITOTIC_SPINDLE | len of subsetlist: 171
Processing gene set: HALLMARK_IL2_STAT5_SIGNALING | len of subsetlist: 167
Processing gene set: HALLMARK_TNFA_SIGNALING_VIA_NFKB | len of subsetlist: 187
Processing gene set: HALLMARK_HYPOXIA | len of subsetlist: 140
Processing gene set: HALLMARK_G2M_CHECKPOINT | len of subsetlist: 151
Processing gene set: HALLMARK_ADIPOGENESIS | len of subsetlist: 157
Processing gene set: HALLMARK_ESTROGEN_RESPONSE_EARLY | len of subsetlist: 116
Processing gene set: HALLMARK_ESTROGEN_RESPONSE_LATE | len of subsetlist: 118
Processing gene set: HALLMARK_MYOGENESIS | len of subsetlist: 90
Processing gene set: HALLMARK_INTERFERON_GAMMA_RESPONSE | len of subsetlist: 190
Processing gene set: HALLMARK_APICAL_JUNCTION | len of subsetlist: 110
Processing gene set: HALLMARK_COMPLEMENT | len of subsetlist: 159
Processing gene set: HALLMARK_MTORC1_SIGNALING | len of subsetlist: 183
Processing gene set: HALLMARK_E2F_TARGETS | len of subsetlist: 168
Processing gene set: HALLMARK_MYC_TARGETS_V1 | len of subsetlist: 188
Processing gene set: HALLMARK_EPITHELIAL_MESENCHYMAL_TRANSITION | len of subsetlist: 96
Processing gene set: HALLMARK_INFLAMMATORY_RESPONSE | len of subsetlist: 163
Processing gene set: HALLMARK_XENOBIOTIC_METABOLISM | len of subsetlist: 129
Processing gene set: HALLMARK_OXIDATIVE_PHOSPHORYLATION | len of subsetlist: 178
Processing gene set: HALLMARK_GLYCOLYSIS | len of subsetlist: 141
Processing gene set: HALLMARK_P53_PATHWAY | len of subsetlist: 161
Processing gene set: HALLMARK_HEME_METABOLISM | len of subsetlist: 148
Processing gene set: HALLMARK_ALLOGRAFT_REJECTION | len of subsetlist: 172
Processing gene set: HALLMARK_KRAS_SIGNALING_UP | len of subsetlist: 131
Processing gene set: HALLMARK_KRAS_SIGNALING_DN | len of subsetlist: 62
Finished: CPU Parallel 100 iterations for sample of shape (144, 12158), running time (min): 00:43.86
Processing gene set: HALLMARK_NOTCH_SIGNALING | len of subsetlist: 27
Processing gene set: HALLMARK_HEDGEHOG_SIGNALING | len of subsetlist: 17
Processing gene set: HALLMARK_ANGIOGENESIS | len of subsetlist: 20
Processing gene set: HALLMARK_PANCREAS_BETA_CELLS | len of subsetlist: 14
Processing gene set: HALLMARK_WNT_BETA_CATENIN_SIGNALING | len of subsetlist: 33
Processing gene set: HALLMARK_APICAL_SURFACE | len of subsetlist: 23
Processing gene set: HALLMARK_REACTIVE_OXYGEN_SPECIES_PATHWAY | len of subsetlist: 46
Processing gene set: HALLMARK_TGF_BETA_SIGNALING | len of subsetlist: 48
Processing gene set: HALLMARK_MYC_TARGETS_V2 | len of subsetlist: 54
Processing gene set: HALLMARK_CHOLESTEROL_HOMEOSTASIS | len of subsetlist: 61
Processing gene set: HALLMARK_IL6_JAK_STAT3_SIGNALING | len of subsetlist: 74
Processing gene set: HALLMARK_PROTEIN_SECRETION | len of subsetlist: 87
Processing gene set: HALLMARK_INTERFERON_ALPHA_RESPONSE | len of subsetlist: 93
Processing gene set: HALLMARK_ANDROGEN_RESPONSE | len of subsetlist: 78
Processing gene set: HALLMARK_PEROXISOME | len of subsetlist: 82
Processing gene set: HALLMARK_PI3K_AKT_MTOR_SIGNALING | len of subsetlist: 91
Processing gene set: HALLMARK_BILE_ACID_METABOLISM | len of subsetlist: 66
Processing gene set: HALLMARK_UNFOLDED_PROTEIN_RESPONSE | len of subsetlist: 101
Processing gene set: HALLMARK_SPERMATOGENESIS | len of subsetlist: 64
Processing gene set: HALLMARK_COAGULATION | len of subsetlist: 72
Processing gene set: HALLMARK_UV_RESPONSE_DN | len of subsetlist: 101
Processing gene set: HALLMARK_DNA_REPAIR | len of subsetlist: 140
Processing gene set: HALLMARK_FATTY_ACID_METABOLISM | len of subsetlist: 126
Processing gene set: HALLMARK_UV_RESPONSE_UP | len of subsetlist: 125
Processing gene set: HALLMARK_APOPTOSIS | len of subsetlist: 142
Processing gene set: HALLMARK_MITOTIC_SPINDLE | len of subsetlist: 171
Processing gene set: HALLMARK_IL2_STAT5_SIGNALING | len of subsetlist: 167
Processing gene set: HALLMARK_TNFA_SIGNALING_VIA_NFKB | len of subsetlist: 187
Processing gene set: HALLMARK_HYPOXIA | len of subsetlist: 140
Processing gene set: HALLMARK_G2M_CHECKPOINT | len of subsetlist: 151
Processing gene set: HALLMARK_ADIPOGENESIS | len of subsetlist: 157
Processing gene set: HALLMARK_ESTROGEN_RESPONSE_EARLY | len of subsetlist: 116
Processing gene set: HALLMARK_ESTROGEN_RESPONSE_LATE | len of subsetlist: 118
Processing gene set: HALLMARK_MYOGENESIS | len of subsetlist: 90
Processing gene set: HALLMARK_INTERFERON_GAMMA_RESPONSE | len of subsetlist: 190
Processing gene set: HALLMARK_APICAL_JUNCTION | len of subsetlist: 110
Processing gene set: HALLMARK_COMPLEMENT | len of subsetlist: 159
Processing gene set: HALLMARK_MTORC1_SIGNALING | len of subsetlist: 183
Processing gene set: HALLMARK_E2F_TARGETS | len of subsetlist: 168
Processing gene set: HALLMARK_MYC_TARGETS_V1 | len of subsetlist: 188
Processing gene set: HALLMARK_EPITHELIAL_MESENCHYMAL_TRANSITION | len of subsetlist: 96
Processing gene set: HALLMARK_INFLAMMATORY_RESPONSE | len of subsetlist: 163
Processing gene set: HALLMARK_XENOBIOTIC_METABOLISM | len of subsetlist: 129
Processing gene set: HALLMARK_OXIDATIVE_PHOSPHORYLATION | len of subsetlist: 178
Processing gene set: HALLMARK_GLYCOLYSIS | len of subsetlist: 141
Processing gene set: HALLMARK_P53_PATHWAY | len of subsetlist: 161
Processing gene set: HALLMARK_HEME_METABOLISM | len of subsetlist: 148
Processing gene set: HALLMARK_ALLOGRAFT_REJECTION | len of subsetlist: 172
Processing gene set: HALLMARK_KRAS_SIGNALING_UP | len of subsetlist: 131
Processing gene set: HALLMARK_KRAS_SIGNALING_DN | len of subsetlist: 62
Finished: CPU Parallel 100 iterations for sample of shape (232, 12158), running time (min): 00:46.31
Processing gene set: HALLMARK_NOTCH_SIGNALING | len of subsetlist: 27
Processing gene set: HALLMARK_HEDGEHOG_SIGNALING | len of subsetlist: 17
Processing gene set: HALLMARK_ANGIOGENESIS | len of subsetlist: 20
Processing gene set: HALLMARK_PANCREAS_BETA_CELLS | len of subsetlist: 14
Processing gene set: HALLMARK_WNT_BETA_CATENIN_SIGNALING | len of subsetlist: 33
Processing gene set: HALLMARK_APICAL_SURFACE | len of subsetlist: 23
Processing gene set: HALLMARK_REACTIVE_OXYGEN_SPECIES_PATHWAY | len of subsetlist: 46
Processing gene set: HALLMARK_TGF_BETA_SIGNALING | len of subsetlist: 48
Processing gene set: HALLMARK_MYC_TARGETS_V2 | len of subsetlist: 54
Processing gene set: HALLMARK_CHOLESTEROL_HOMEOSTASIS | len of subsetlist: 61
Processing gene set: HALLMARK_IL6_JAK_STAT3_SIGNALING | len of subsetlist: 74
Processing gene set: HALLMARK_PROTEIN_SECRETION | len of subsetlist: 87
Processing gene set: HALLMARK_INTERFERON_ALPHA_RESPONSE | len of subsetlist: 93
Processing gene set: HALLMARK_ANDROGEN_RESPONSE | len of subsetlist: 78
Processing gene set: HALLMARK_PEROXISOME | len of subsetlist: 82
Processing gene set: HALLMARK_PI3K_AKT_MTOR_SIGNALING | len of subsetlist: 91
Processing gene set: HALLMARK_BILE_ACID_METABOLISM | len of subsetlist: 66
Processing gene set: HALLMARK_UNFOLDED_PROTEIN_RESPONSE | len of subsetlist: 101
Processing gene set: HALLMARK_SPERMATOGENESIS | len of subsetlist: 64
Processing gene set: HALLMARK_COAGULATION | len of subsetlist: 72
Processing gene set: HALLMARK_UV_RESPONSE_DN | len of subsetlist: 101
Processing gene set: HALLMARK_DNA_REPAIR | len of subsetlist: 140
Processing gene set: HALLMARK_FATTY_ACID_METABOLISM | len of subsetlist: 126
Processing gene set: HALLMARK_UV_RESPONSE_UP | len of subsetlist: 125
Processing gene set: HALLMARK_APOPTOSIS | len of subsetlist: 142
Processing gene set: HALLMARK_MITOTIC_SPINDLE | len of subsetlist: 171
Processing gene set: HALLMARK_IL2_STAT5_SIGNALING | len of subsetlist: 167
Processing gene set: HALLMARK_TNFA_SIGNALING_VIA_NFKB | len of subsetlist: 187
Processing gene set: HALLMARK_HYPOXIA | len of subsetlist: 140
Processing gene set: HALLMARK_G2M_CHECKPOINT | len of subsetlist: 151
Processing gene set: HALLMARK_ADIPOGENESIS | len of subsetlist: 157
Processing gene set: HALLMARK_ESTROGEN_RESPONSE_EARLY | len of subsetlist: 116
Processing gene set: HALLMARK_ESTROGEN_RESPONSE_LATE | len of subsetlist: 118
Processing gene set: HALLMARK_MYOGENESIS | len of subsetlist: 90
Processing gene set: HALLMARK_INTERFERON_GAMMA_RESPONSE | len of subsetlist: 190
Processing gene set: HALLMARK_APICAL_JUNCTION | len of subsetlist: 110
Processing gene set: HALLMARK_COMPLEMENT | len of subsetlist: 159
Processing gene set: HALLMARK_MTORC1_SIGNALING | len of subsetlist: 183
Processing gene set: HALLMARK_E2F_TARGETS | len of subsetlist: 168
Processing gene set: HALLMARK_MYC_TARGETS_V1 | len of subsetlist: 188
Processing gene set: HALLMARK_EPITHELIAL_MESENCHYMAL_TRANSITION | len of subsetlist: 96
Processing gene set: HALLMARK_INFLAMMATORY_RESPONSE | len of subsetlist: 163
Processing gene set: HALLMARK_XENOBIOTIC_METABOLISM | len of subsetlist: 129
Processing gene set: HALLMARK_OXIDATIVE_PHOSPHORYLATION | len of subsetlist: 178
Processing gene set: HALLMARK_GLYCOLYSIS | len of subsetlist: 141
Processing gene set: HALLMARK_P53_PATHWAY | len of subsetlist: 161
Processing gene set: HALLMARK_HEME_METABOLISM | len of subsetlist: 148
Processing gene set: HALLMARK_ALLOGRAFT_REJECTION | len of subsetlist: 172
Processing gene set: HALLMARK_KRAS_SIGNALING_UP | len of subsetlist: 131
Processing gene set: HALLMARK_KRAS_SIGNALING_DN | len of subsetlist: 62
Finished: CPU Parallel 100 iterations for sample of shape (404, 12158), running time (min): 00:54.97
Processing gene set: HALLMARK_NOTCH_SIGNALING | len of subsetlist: 27
Processing gene set: HALLMARK_HEDGEHOG_SIGNALING | len of subsetlist: 17
Processing gene set: HALLMARK_ANGIOGENESIS | len of subsetlist: 20
Processing gene set: HALLMARK_PANCREAS_BETA_CELLS | len of subsetlist: 14
Processing gene set: HALLMARK_WNT_BETA_CATENIN_SIGNALING | len of subsetlist: 33
Processing gene set: HALLMARK_APICAL_SURFACE | len of subsetlist: 23
Processing gene set: HALLMARK_REACTIVE_OXYGEN_SPECIES_PATHWAY | len of subsetlist: 46
Processing gene set: HALLMARK_TGF_BETA_SIGNALING | len of subsetlist: 48
Processing gene set: HALLMARK_MYC_TARGETS_V2 | len of subsetlist: 54
Processing gene set: HALLMARK_CHOLESTEROL_HOMEOSTASIS | len of subsetlist: 61
Processing gene set: HALLMARK_IL6_JAK_STAT3_SIGNALING | len of subsetlist: 74
Processing gene set: HALLMARK_PROTEIN_SECRETION | len of subsetlist: 87
Processing gene set: HALLMARK_INTERFERON_ALPHA_RESPONSE | len of subsetlist: 93
Processing gene set: HALLMARK_ANDROGEN_RESPONSE | len of subsetlist: 78
Processing gene set: HALLMARK_PEROXISOME | len of subsetlist: 82
Processing gene set: HALLMARK_PI3K_AKT_MTOR_SIGNALING | len of subsetlist: 91
Processing gene set: HALLMARK_BILE_ACID_METABOLISM | len of subsetlist: 66
Processing gene set: HALLMARK_UNFOLDED_PROTEIN_RESPONSE | len of subsetlist: 101
Processing gene set: HALLMARK_SPERMATOGENESIS | len of subsetlist: 64
Processing gene set: HALLMARK_COAGULATION | len of subsetlist: 72
Processing gene set: HALLMARK_UV_RESPONSE_DN | len of subsetlist: 101
Processing gene set: HALLMARK_DNA_REPAIR | len of subsetlist: 140
Processing gene set: HALLMARK_FATTY_ACID_METABOLISM | len of subsetlist: 126
Processing gene set: HALLMARK_UV_RESPONSE_UP | len of subsetlist: 125
Processing gene set: HALLMARK_APOPTOSIS | len of subsetlist: 142
Processing gene set: HALLMARK_MITOTIC_SPINDLE | len of subsetlist: 171
Processing gene set: HALLMARK_IL2_STAT5_SIGNALING | len of subsetlist: 167
Processing gene set: HALLMARK_TNFA_SIGNALING_VIA_NFKB | len of subsetlist: 187
Processing gene set: HALLMARK_HYPOXIA | len of subsetlist: 140
Processing gene set: HALLMARK_G2M_CHECKPOINT | len of subsetlist: 151
Processing gene set: HALLMARK_ADIPOGENESIS | len of subsetlist: 157
Processing gene set: HALLMARK_ESTROGEN_RESPONSE_EARLY | len of subsetlist: 116
Processing gene set: HALLMARK_ESTROGEN_RESPONSE_LATE | len of subsetlist: 118
Processing gene set: HALLMARK_MYOGENESIS | len of subsetlist: 90
Processing gene set: HALLMARK_INTERFERON_GAMMA_RESPONSE | len of subsetlist: 190
Processing gene set: HALLMARK_APICAL_JUNCTION | len of subsetlist: 110
Processing gene set: HALLMARK_COMPLEMENT | len of subsetlist: 159
Processing gene set: HALLMARK_MTORC1_SIGNALING | len of subsetlist: 183
Processing gene set: HALLMARK_E2F_TARGETS | len of subsetlist: 168
Processing gene set: HALLMARK_MYC_TARGETS_V1 | len of subsetlist: 188
Processing gene set: HALLMARK_EPITHELIAL_MESENCHYMAL_TRANSITION | len of subsetlist: 96
Processing gene set: HALLMARK_INFLAMMATORY_RESPONSE | len of subsetlist: 163
Processing gene set: HALLMARK_XENOBIOTIC_METABOLISM | len of subsetlist: 129
Processing gene set: HALLMARK_OXIDATIVE_PHOSPHORYLATION | len of subsetlist: 178
Processing gene set: HALLMARK_GLYCOLYSIS | len of subsetlist: 141
Processing gene set: HALLMARK_P53_PATHWAY | len of subsetlist: 161
Processing gene set: HALLMARK_HEME_METABOLISM | len of subsetlist: 148
Processing gene set: HALLMARK_ALLOGRAFT_REJECTION | len of subsetlist: 172
Processing gene set: HALLMARK_KRAS_SIGNALING_UP | len of subsetlist: 131
Processing gene set: HALLMARK_KRAS_SIGNALING_DN | len of subsetlist: 62
Finished: CPU Parallel 100 iterations for sample of shape (110, 12158), running time (min): 00:23.56
CPU Parallel 100 iterations, full loop running time (min): 08:50.47
Load results¶
[10]:
results_dir = os.path.join(output_dir, sample_name)
folder_data = {}
# Loop through each item in the results_dir
for folder in os.listdir(results_dir):
folder_path = os.path.join(results_dir, folder)
if os.path.isdir(folder_path):
csv_path = os.path.join(folder_path, "ROMA_active_modules.csv") #ROMA_active_modules.csv
if os.path.exists(csv_path):
try:
# Read the CSV. Assuming that the index is meaningful (e.g. module names)
df = pd.read_csv(csv_path, index_col=0)
folder_data[folder] = df
print(f"Loaded active_modules.csv from {folder}")
except Exception as e:
print(f"Error reading {csv_path}: {e}")
else:
print(f"No active_modules.csv in {folder}")
Loaded active_modules.csv from CD4 Memory T
Loaded active_modules.csv from CD16 Mono
Loaded active_modules.csv from B
Loaded active_modules.csv from B Activated
Loaded active_modules.csv from CD8 T
Loaded active_modules.csv from DC
Loaded active_modules.csv from CD4 Naive T
Loaded active_modules.csv from T activated
Loaded active_modules.csv from NK
Loaded active_modules.csv from CD14 Mono
In each of the ct run - we have statistical significance estimation, that is then could be retrieved from `folder_data’ dictionary.
[11]:
folder_data
[11]:
{'CD4 Memory T': Empty DataFrame
Columns: [L1, ppv L1, Median Exp, ppv Med Exp, q L1, q Med Exp]
Index: [],
'CD16 Mono': Empty DataFrame
Columns: [L1, ppv L1, Median Exp, ppv Med Exp, q L1, q Med Exp]
Index: [],
'B': Empty DataFrame
Columns: [L1, ppv L1, Median Exp, ppv Med Exp, q L1, q Med Exp]
Index: [],
'B Activated': L1 ppv L1 Median Exp ppv Med Exp q L1 \
HALLMARK_UV_RESPONSE_DN 0.463133 0.0 -0.004063 0.584158 0.0
q Med Exp
HALLMARK_UV_RESPONSE_DN 0.913938 ,
'CD8 T': Empty DataFrame
Columns: [L1, ppv L1, Median Exp, ppv Med Exp, q L1, q Med Exp]
Index: [],
'DC': Empty DataFrame
Columns: [L1, ppv L1, Median Exp, ppv Med Exp, q L1, q Med Exp]
Index: [],
'CD4 Naive T': Empty DataFrame
Columns: [L1, ppv L1, Median Exp, ppv Med Exp, q L1, q Med Exp]
Index: [],
'T activated': Empty DataFrame
Columns: [L1, ppv L1, Median Exp, ppv Med Exp, q L1, q Med Exp]
Index: [],
'NK': Empty DataFrame
Columns: [L1, ppv L1, Median Exp, ppv Med Exp, q L1, q Med Exp]
Index: [],
'CD14 Mono': Empty DataFrame
Columns: [L1, ppv L1, Median Exp, ppv Med Exp, q L1, q Med Exp]
Index: []}
[12]:
sample_adata
[12]:
AnnData object with n_obs × n_vars = 3000 × 12158
obs: 'orig.ident', 'nCount_RNA', 'nFeature_RNA', 'stim', 'seurat_annotations', 'integrated_snn_res.0.5', 'seurat_clusters', 'condition', 'cell_type', 'n_genes'
var: 'n_cells'
uns: 'log1p', 'pca', 'neighbors', 'umap', 'seurat_annotations_colors', 'condition_colors'
obsm: 'X_pca', 'X_umap'
varm: 'PCs'
obsp: 'distances', 'connectivities'
[13]:
#results_dir
for ct in sample_adata.obs[ct_label].unique():
adata = sample_adata[sample_adata.obs[ct_label] == ct].copy()
roma = pyroma.ROMA()
roma.adata = adata
# here it loads all the pathways (not only stat. sig. ones)
roma.load_active_modules_results(os.path.join(results_dir, ct))
pyroma.integrate_projection_results(sample_adata, ct, roma.adata.uns['ROMA'], ct_label)
Projection columns for cell type 'CD8 T' integrated successfully.
Projection columns for cell type 'CD14 Mono' integrated successfully.
Projection columns for cell type 'NK' integrated successfully.
Projection columns for cell type 'B Activated' integrated successfully.
Projection columns for cell type 'CD4 Naive T' integrated successfully.
Projection columns for cell type 'B' integrated successfully.
Projection columns for cell type 'T activated' integrated successfully.
Projection columns for cell type 'CD16 Mono' integrated successfully.
Projection columns for cell type 'CD4 Memory T' integrated successfully.
Projection columns for cell type 'DC' integrated successfully.
[14]:
# raw CT pyroma scores are in .uns['pyroma_scores]
[15]:
sample_adata
[15]:
AnnData object with n_obs × n_vars = 3000 × 12158
obs: 'orig.ident', 'nCount_RNA', 'nFeature_RNA', 'stim', 'seurat_annotations', 'integrated_snn_res.0.5', 'seurat_clusters', 'condition', 'cell_type', 'n_genes'
var: 'n_cells'
uns: 'log1p', 'pca', 'neighbors', 'umap', 'seurat_annotations_colors', 'condition_colors', 'pyroma_scores'
obsm: 'X_pca', 'X_umap'
varm: 'PCs'
obsp: 'distances', 'connectivities'
[16]:
sample_adata.uns['pyroma_scores']
[16]:
| CD8 T|HALLMARK_BILE_ACID_METABOLISM | CD8 T|HALLMARK_IL2_STAT5_SIGNALING | CD8 T|HALLMARK_MYOGENESIS | CD8 T|HALLMARK_INTERFERON_ALPHA_RESPONSE | CD8 T|HALLMARK_ALLOGRAFT_REJECTION | CD8 T|HALLMARK_MTORC1_SIGNALING | CD8 T|HALLMARK_XENOBIOTIC_METABOLISM | CD8 T|HALLMARK_UNFOLDED_PROTEIN_RESPONSE | CD8 T|HALLMARK_ANGIOGENESIS | CD8 T|HALLMARK_GLYCOLYSIS | ... | DC|HALLMARK_NOTCH_SIGNALING | DC|HALLMARK_INTERFERON_GAMMA_RESPONSE | DC|HALLMARK_REACTIVE_OXYGEN_SPECIES_PATHWAY | DC|HALLMARK_CHOLESTEROL_HOMEOSTASIS | DC|HALLMARK_PEROXISOME | DC|HALLMARK_KRAS_SIGNALING_UP | DC|HALLMARK_P53_PATHWAY | DC|HALLMARK_INFLAMMATORY_RESPONSE | DC|HALLMARK_EPITHELIAL_MESENCHYMAL_TRANSITION | DC|HALLMARK_PANCREAS_BETA_CELLS | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| index | |||||||||||||||||||||
| TGTGAGACATTCCT.1 | 0.078277 | -0.031965 | -0.080842 | -0.076393 | -0.059486 | 0.071351 | -0.059144 | -0.102842 | -0.045540 | -0.100340 | ... | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| GGAGTTTGAAGATG.1 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | ... | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| CGGCATCTCGTAGT.1 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | ... | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| AGAATACTTCCTGC.1 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | ... | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| ACGATTCTGTGTAC.1 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | ... | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| GCAAACTGCTCAGA.1 | -0.083255 | -0.022381 | 0.058903 | 0.071822 | 0.033784 | 0.004742 | 0.166854 | -0.036657 | 0.059809 | 0.044486 | ... | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| GACTGAACATCTCT.1 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | ... | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| GGGTAACTGTCTAG.1 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | ... | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| ACCTTTGAAGATCC.1 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | ... | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| TAAGGGCTCAATCG.1 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | ... | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
3000 rows × 500 columns
We can plot these raw CT scores
[17]:
ct_score = 'CD14 Mono|HALLMARK_INTERFERON_GAMMA_RESPONSE'
sample_adata.obs[ct_score] = sample_adata.uns['pyroma_scores'][ct_score]
sc.pl.umap(sample_adata, color=['seurat_annotations', 'condition', ct_score] ,
ncols=3,
wspace=0.5)
ct_score_2 = 'CD8 T|HALLMARK_INTERFERON_ALPHA_RESPONSE'
ct_score_3 = 'CD16 Mono|HALLMARK_IL2_STAT5_SIGNALING'
ct_score_4 = 'CD4 Memory T|HALLMARK_INTERFERON_GAMMA_RESPONSE'
sample_adata.obs[ct_score_2] = sample_adata.uns['pyroma_scores'][ct_score_2]
sample_adata.obs[ct_score_3] = sample_adata.uns['pyroma_scores'][ct_score_3]
sample_adata.obs[ct_score_4] = sample_adata.uns['pyroma_scores'][ct_score_4]
sc.pl.umap(sample_adata, color=[ct_score_2, ct_score_3, ct_score_4 ] ,
ncols=3,
wspace=0.5)
In order to have global gene set scores we need to aggregate the CT scores per one gene set across all cell types and normalize them. One could explore more deeply what way of aggregating and normalizing these score fit better for their purpose.
[51]:
from sklearn.preprocessing import StandardScaler, MinMaxScaler
scores = sample_adata.uns['pyroma_scores'].copy()
z_scores = np.zeros_like(scores)
z_scaler = StandardScaler()
z_scores = z_scaler.fit_transform(scores)
z_scores = pd.DataFrame(z_scores, index=sample_adata.obs_names, columns=scores.columns)
# build a mapping col → pathway by splitting on the first ‘|’
pathway_map = {
col: col.split('|', 1)[1]
for col in z_scores.columns
}
# use DataFrame.groupby over axis=1 with that mapping.
# here we sum—since only the matching cell‐type column is nonzero, sum==pick—but you
# could also use max, mean, median, etc.
def max_abs_dataframe(df):
return df.apply(lambda row: row.loc[row.abs().idxmax()], axis=1)
collapsed = z_scores.groupby(pathway_map, axis=1).sum() #apply(max_abs_dataframe)
# collapsed is now shape (n_cells, n_unique_pathways), with each cell’s score
# for each gene set aggregated across all cell types.
sample_adata.obsm['pyroma_pathway_scores_summed'] = collapsed
create scores anndata¶
sample_adata.obsm['pyroma_pathway_scores_summed'] contain pyroma CT scores equivalent to pyroma scores from tutorial #2. We can convert them to simple anndata of shape (cells x genesets)
[52]:
def scores_to_adata(sample_adata, obsm_key: str):
from anndata import AnnData
X_obsm = sample_adata.obsm[obsm_key]
obs = sample_adata.obs
var = pd.DataFrame(index=X_obsm.columns)
X = X_obsm.values
uns = sample_adata.uns
obsm = sample_adata.obsm
score_adata = AnnData(X=X, obs=obs, var=var, uns=uns, obsm=obsm)
return score_adata
scores_adata = scores_to_adata(sample_adata, obsm_key='pyroma_pathway_scores_summed')
scores_adata
[52]:
AnnData object with n_obs × n_vars = 3000 × 50
obs: 'orig.ident', 'nCount_RNA', 'nFeature_RNA', 'stim', 'seurat_annotations', 'integrated_snn_res.0.5', 'seurat_clusters', 'condition', 'cell_type', 'n_genes', 'CD14 Mono|HALLMARK_INTERFERON_GAMMA_RESPONSE', 'CD8 T|HALLMARK_INTERFERON_ALPHA_RESPONSE', 'CD16 Mono|HALLMARK_IL2_STAT5_SIGNALING', 'CD4 Memory T|HALLMARK_INTERFERON_GAMMA_RESPONSE'
uns: 'log1p', 'pca', 'neighbors', 'umap', 'seurat_annotations_colors', 'condition_colors', 'pyroma_scores', 'seurat_condition_colors'
obsm: 'X_pca', 'X_umap', 'pyroma_pathway_scores_summed'
[53]:
# put your directory
sc.set_figure_params(figsize=(4, 4), frameon=False )
save_dir = "/home/az/Downloads/pyroma_tutorial/03_pbmc_study/01_kang_3k_ct"
os.makedirs(save_dir, exist_ok=True)
sc.settings.figdir = save_dir
[54]:
scores_adata.obs['seurat_condition'] = scores_adata.obs['seurat_annotations'].astype(str) + '_' + scores_adata.obs['condition'].astype(str)
pathways = ["HALLMARK_INTERFERON_ALPHA_RESPONSE", "HALLMARK_INTERFERON_GAMMA_RESPONSE",
"HALLMARK_TNFA_SIGNALING_VIA_NFKB", "HALLMARK_INFLAMMATORY_RESPONSE",
"HALLMARK_IL6_JAK_STAT3_SIGNALING" ]
save_name = "_Key Pathways Activated Upon Stimulation_zscores_adatas_summed"
sc.pl.umap(scores_adata, color=pathways + ['seurat_annotations', 'condition'],
cmap='RdBu_r', ncols=3, wspace=0.5,
save=f"{save_name}.png")
sc.pl.violin(scores_adata, keys=pathways,
groupby='seurat_condition',
rotation=90,
save=f'{save_name}.png')
... storing 'seurat_condition' as categorical
WARNING: saving figure to file /home/az/Downloads/pyroma_tutorial/03_pbmc_study/01_kang_3k_ct/umap_Key Pathways Activated Upon Stimulation_zscores_adatas_summed.png
WARNING: saving figure to file /home/az/Downloads/pyroma_tutorial/03_pbmc_study/01_kang_3k_ct/violin_Key Pathways Activated Upon Stimulation_zscores_adatas_summed.png
rank gene sets by ‘cell type + condition’ group¶
To perform ranking of gene sets by groups we could use the package decoupler from scverse. https://decoupler.readthedocs.io/en/latest/ . To install run:
pip install decoupler
after installing it in the same environment we can call import it and perform the ranking, which would identify top n genesets per group (e.g. CD14 Monocytes stimulated).
[55]:
import decoupler as dc
df = dc.tl.rankby_group(adata=scores_adata, groupby="seurat_condition", reference="rest", method="t-test_overestim_var")
df = df[df["stat"] > 0]
df
[55]:
| group | reference | name | stat | meanchange | pval | padj | |
|---|---|---|---|---|---|---|---|
| 4 | CD8 T_control | rest | HALLMARK_ESTROGEN_RESPONSE_LATE | 9.523801 | 4.142254 | 9.974085e-17 | 9.974085e-16 |
| 14 | CD8 T_control | rest | HALLMARK_MTORC1_SIGNALING | 3.080557 | 1.769522 | 2.478203e-03 | 8.260676e-03 |
| 19 | CD8 T_control | rest | HALLMARK_MYC_TARGETS_V2 | 1.674365 | 1.040178 | 9.637831e-02 | 2.338365e-01 |
| 23 | CD8 T_control | rest | HALLMARK_CHOLESTEROL_HOMEOSTASIS | 1.507565 | 0.921257 | 1.339736e-01 | 2.791116e-01 |
| 25 | CD8 T_control | rest | HALLMARK_SPERMATOGENESIS | 1.290366 | 0.791707 | 1.991087e-01 | 3.769849e-01 |
| ... | ... | ... | ... | ... | ... | ... | ... |
| 992 | B Activated_control | rest | HALLMARK_E2F_TARGETS | 0.389469 | 0.369693 | 6.982309e-01 | 7.840861e-01 |
| 993 | B Activated_control | rest | HALLMARK_UV_RESPONSE_DN | 0.357452 | 0.352716 | 7.219773e-01 | 7.840861e-01 |
| 996 | B Activated_control | rest | HALLMARK_G2M_CHECKPOINT | 0.337274 | 0.326726 | 7.370410e-01 | 7.840861e-01 |
| 997 | B Activated_control | rest | HALLMARK_WNT_BETA_CATENIN_SIGNALING | 0.315923 | 0.311829 | 7.531310e-01 | 7.845115e-01 |
| 998 | B Activated_control | rest | HALLMARK_ESTROGEN_RESPONSE_EARLY | 0.159570 | 0.155867 | 8.737385e-01 | 8.915699e-01 |
500 rows × 7 columns
[56]:
n_markers = 3
source_markers = (
df.groupby("group")
.head(n_markers)
.drop_duplicates("name")
.groupby("group")["name"]
.apply(lambda x: list(x))
.to_dict()
)
source_markers
[56]:
{'B Activated_control': ['HALLMARK_COMPLEMENT'],
'B Activated_stimulated': [],
'B_control': [],
'B_stimulated': [],
'CD14 Mono_control': ['HALLMARK_P53_PATHWAY', 'HALLMARK_MYC_TARGETS_V1'],
'CD14 Mono_stimulated': ['HALLMARK_INTERFERON_ALPHA_RESPONSE',
'HALLMARK_INTERFERON_GAMMA_RESPONSE',
'HALLMARK_APOPTOSIS'],
'CD16 Mono_control': [],
'CD16 Mono_stimulated': [],
'CD4 Memory T_control': ['HALLMARK_IL2_STAT5_SIGNALING',
'HALLMARK_REACTIVE_OXYGEN_SPECIES_PATHWAY'],
'CD4 Memory T_stimulated': [],
'CD4 Naive T_control': ['HALLMARK_UV_RESPONSE_UP',
'HALLMARK_HEME_METABOLISM'],
'CD4 Naive T_stimulated': [],
'CD8 T_control': ['HALLMARK_ESTROGEN_RESPONSE_LATE',
'HALLMARK_MTORC1_SIGNALING',
'HALLMARK_MYC_TARGETS_V2'],
'CD8 T_stimulated': [],
'DC_control': ['HALLMARK_CHOLESTEROL_HOMEOSTASIS', 'HALLMARK_ADIPOGENESIS'],
'DC_stimulated': [],
'NK_control': ['HALLMARK_HYPOXIA',
'HALLMARK_GLYCOLYSIS',
'HALLMARK_KRAS_SIGNALING_UP'],
'NK_stimulated': [],
'T activated_control': ['HALLMARK_UNFOLDED_PROTEIN_RESPONSE'],
'T activated_stimulated': ['HALLMARK_KRAS_SIGNALING_DN']}