-
Notifications
You must be signed in to change notification settings - Fork 1
QuickStart
To install the TopicVI package, you can folow these steps:
-
Install the
pytorchpackage with the guidance from the official PyTorch website based on your hardware and operating system. Noticed that your should install thetorchpackage with the version of2.0or later. -
Install the other required packages by running the following command in your terminal or command prompt:
pip install -r requirements.txt
-
Install the
TopicVIpackage by running the following command in your terminal or command prompt:pip install -e .
import scanpy as sc
import numpy as np
import pandas as pd
import os
import scvi
import topicvi as tv# achive the pbmc dataset
adata = scvi.data.pbmc_dataset()[34mINFO [0m Downloading file at data/gene_info_pbmc.csv
Downloading...: 909it [00:01, 776.05it/s]
[34mINFO [0m Downloading file at data/pbmc_metadata.pickle
Downloading...: 4001it [00:03, 1025.95it/s]
[34mINFO [0m Downloading file at data/pbmc8k\filtered_gene_bc_matrices.tar.gz
Downloading...: 37559it [00:33, 1111.97it/s]
[34mINFO [0m Extracting tar file
[34mINFO [0m Removing extracted data at data/pbmc8k/filtered_gene_bc_matrices\GRCh38
[34mINFO [0m Downloading file at data/pbmc4k\filtered_gene_bc_matrices.tar.gz
Downloading...: 100%|██████████| 18424/18424.0 [00:16<00:00, 1091.47it/s]
[34mINFO [0m Extracting tar file
[34mINFO [0m Removing extracted data at data/pbmc4k/filtered_gene_bc_matrices\GRCh38
sc.pp.filter_genes(adata, min_cells=1)
sc.pp.filter_cells(adata, min_genes=1)
adata.var_names_make_unique()
adata.obs_names_make_unique()
adata.var.set_index('gene_symbols', inplace=True)adata.obs['str_labels'].unique()array(['CD4 T cells', 'CD14+ Monocytes', 'CD8 T cells', 'B cells',
'Other', 'Dendritic Cells', 'FCGR3A+ Monocytes', 'NK cells',
'Megakaryocytes'], dtype=object)
To minimize the memory usage, we recommend you to use preprocess_adata function in the TopicVI package to preprocess your data.
This function will perform the following steps:
- Calculate the size factor for each cell.
- perform the quality control to remove the cells with low quality.
- Normalize the data, and log-transform the data.
- get HVGs (highly variable genes) based on the normalized data.
- reconvert the count data to the original format.
adata = tv.pp.preprocess_adata(adata, batch_key="batch", nhvg=2000)Total number of cells: 11990
Number of cells after filtering of low quality cells: 11746
In the TopicVI package, we provide a bunch of known gene sets.
In model, you should specify two kind of gene priors:
- cluster specific gene prior, like cell type specific gene prior.
- background gene prior, all others.
tv.prior.summary_of_builtin_priors() Summary of built-in priors:
Cell Types Related:
- CellMarkerDB. use `search_cellmarker_db` to search for cell markers.
- ScTypeDB. use `search_sctype_db` to search for cell types.
- Meta-Program. use `get_metaprogram` to get meta-programs.
Common Used Annotations:
(From Enrichr Database and MSigDB)
use get_priors to get the gene sets, specify the source as below.
- GO. (GOBP, GOMF, GOCC)
- KEGG.
- Reactome.
- Hallmark.
- Immune Related.
- TF.
- Tissue. (Tissue specific gene sets from DAVID database)
Others:
- DEGenes. use `get_de_genes` to get differentially expressed genes.
- Random. use `get_random_select_gs` to get random gene sets.
tv.prior.load_sctype_db().dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
| tissue_type | cell_type | positive_markers | negative_markers | cell_type_abbv | |
|---|---|---|---|---|---|
| 0 | Immune system | Pro-B cells | CD27,IgD,CD24,PTPRC,PAX5,CD24,CD38,CD79A,DNTT,... | NaN | Pro-B |
| 1 | Immune system | Pre-B cells | CD19,CD27,IgD,CD24,PTPRC,PAX5,CD24,CD38,CD79A,... | NaN | Pre-B |
| 2 | Immune system | Naive B cells | CD19,IgD,CD38,CD24,CD20,MS4A1,PTPRC,PAX5,CD24,... | NaN | Naive B |
| 3 | Immune system | Memory B cells | CD19,CD27,IgD,CD38,CD24,CD20,MS4A1,PTPRC,PAX5,... | NaN | Memory B |
| 4 | Immune system | Plasma B cells | CD27,IgD,CD38,CD24,CD20,MS4A1,PTPRC,PAX5,CD24,... | CD20,MS4A1 | Plasma B |
| ... | ... | ... | ... | ... | ... |
| 236 | Eye | Cancer cells | EPCAM | NaN | Cancer |
| 237 | Lung | Cancer stem cells | ABCG2,ALCAM,ALDH1A1,BMI1,CD24,CD44,KIT,NANOG,N... | NaN | CSCs |
| 238 | Brain | Cancer cells | CD44,MBTPS2,PARP1 | NaN | Cancer |
| 239 | Brain | Cancer stem cells | FUT4,MSI1,NES,PROM1,SOX2,THY1 | NaN | CSCs |
| 240 | Kidney | Cancer stem cells | EPCAM | NaN | CSCs |
241 rows × 5 columns
cell_markers = tv.prior.search_sctype_db(
cell_type = '', # use all cell types
tissue_type='Immune system',
)Loading cell type database
Searching for tissue type Immune system
Searching for cell type
cellmarkerdb_search_result = tv.prior.search_cellmarker_db(
cell_types=['B cell', 'T cell', 'Monocyte', 'NK'],
tissue_type='Peripheral blood',
)Searching for cell markers with tissue type Peripheral blood and cancer type Normal
# for background knowledge, here we use Hallmark and Reactome gene sets
background_genesets = {
**tv.prior.get_priors('Hallmark'),
**tv.prior.get_priors('Reactome'),
}tv.prior.add_prior_to_adata(
adata, background_prior=background_genesets,
cluster_prior=cell_markers,
cluster_min_genes=5,
background_min_genes=10,
key_added='annotation'
)adata.write_h5ad('./results/tutorial_pbmc/adata.h5ad')adata = sc.read_h5ad('./results/tutorial_pbmc/adata.h5ad')adataAnnData object with n_obs × n_vars = 11746 × 2000
obs: 'n_counts', 'batch', 'labels', 'str_labels', 'n_genes', 'size_factor', 'default_cluster'
var: 'n_counts-0', 'n_counts-1', 'n_counts', 'n_cells', 'highly_variable', 'highly_variable_rank', 'means', 'variances', 'variances_norm', 'highly_variable_nbatches'
uns: 'annotation', 'cell_types', 'hvg', 'log1p', 'pca'
obsm: 'X_pca', 'design', 'normalized_qc', 'qc_pc', 'raw_qc'
varm: 'PCs'
layers: 'counts', 'normalized'
config = tv.make_default_config(project_name='tutorial_pbmc', working_dir='./results/')
config['data_kwargs']['default_cluster_key'] = 'default_cluster'
config['data_kwargs']['batch_key'] = 'batch'
config['data_kwargs']['size_factor_key'] = 'size_factor'
config{'data_kwargs': {'annotation_key': 'annotation',
'batch_key': 'batch',
'default_cluster_key': 'default_cluster',
'size_factor_key': 'size_factor'},
'description': 'this is a default config, please modify it if need',
'extra_kwargs': {'topicvi': {'data_kwargs': {'label_key': None},
'model_kwargs': {'cluster_decoder_params': {'center_penalty_weight': 1},
'pretrain_kwargs': {'batch_size': 128,
'early_stopping': True,
'max_epochs': 1000,
'plan_kwargs': {'lr': 0.001, 'reduce_lr_on_plateau': True}}},
'train_kwargs': {'max_epochs': 1000,
'plan_kwargs': {'cl_weight': 1},
'pretrain_model': './results/tutorial_pbmc\\pretrain_model'}},
'topicvi_denovo_finding': {'data_kwargs': {'label_key': None},
'train_kwargs': {'pretrain_model': './results/tutorial_pbmc\\pretrain_model'}}},
'model_kwargs': {'n_clusters': 10, 'n_topics': 32},
'project_name': 'tutorial_pbmc',
'save_dir': './results/tutorial_pbmc',
'train_kwargs': {'batch_size': 1024,
'early_stopping': True,
'max_epochs': 500}}
tv.utils.write_config(config, './results/tutorial_pbmc/config.yaml')To initiate the cluster training process, we set the default_cluster_key in configuration file, and now we run the process by following code:
tv.model.run_default_cluster(adata, layer = 'counts', batch_key='batch', max_cells=2e5)WARNING: adata.X seems to be already log-transformed.
2025-06-09 13:02:59,603 - harmonypy - INFO - Computing initial centroids with sklearn.KMeans...
2025-06-09 13:02:59,603 - Computing initial centroids with sklearn.KMeans...
2025-06-09 13:03:00,488 - harmonypy - INFO - sklearn.KMeans initialization complete.
2025-06-09 13:03:00,488 - sklearn.KMeans initialization complete.
2025-06-09 13:03:00,535 - harmonypy - INFO - Iteration 1 of 10
2025-06-09 13:03:00,535 - Iteration 1 of 10
2025-06-09 13:03:02,299 - harmonypy - INFO - Iteration 2 of 10
2025-06-09 13:03:02,299 - Iteration 2 of 10
2025-06-09 13:03:04,090 - harmonypy - INFO - Iteration 3 of 10
2025-06-09 13:03:04,090 - Iteration 3 of 10
2025-06-09 13:03:04,701 - harmonypy - INFO - Iteration 4 of 10
2025-06-09 13:03:04,701 - Iteration 4 of 10
2025-06-09 13:03:05,289 - harmonypy - INFO - Iteration 5 of 10
2025-06-09 13:03:05,289 - Iteration 5 of 10
2025-06-09 13:03:07,174 - harmonypy - INFO - Iteration 6 of 10
2025-06-09 13:03:07,174 - Iteration 6 of 10
2025-06-09 13:03:07,777 - harmonypy - INFO - Converged after 6 iterations
2025-06-09 13:03:07,777 - Converged after 6 iterations
Cluster for default_cluster_0.1 with leiden
resolution: 0.1, inverse_davies_bouldin_score: 0.6893958775655347
Cluster for default_cluster_0.2 with leiden
resolution: 0.2, inverse_davies_bouldin_score: 0.6392904553639157
Cluster for default_cluster_0.30000000000000004 with leiden
resolution: 0.30000000000000004, inverse_davies_bouldin_score: 0.5934891939533107
Cluster for default_cluster_0.4 with leiden
resolution: 0.4, inverse_davies_bouldin_score: 0.5279317952626994
Cluster for default_cluster_0.5 with leiden
resolution: 0.5, inverse_davies_bouldin_score: 0.5094809137093559
Cluster for default_cluster_0.6 with leiden
resolution: 0.6, inverse_davies_bouldin_score: 0.4812182836305442
Cluster for default_cluster_0.7000000000000001 with leiden
resolution: 0.7000000000000001, inverse_davies_bouldin_score: 0.4818665994064204
Cluster for default_cluster_0.8 with leiden
resolution: 0.8, inverse_davies_bouldin_score: 0.48679599740633733
Cluster for default_cluster_0.9 with leiden
resolution: 0.9, inverse_davies_bouldin_score: 0.4860558345379068
Cluster for default_cluster_1.0 with leiden
resolution: 1.0, inverse_davies_bouldin_score: 0.48440001073369177
optimised clustering against None
optimal cluster resolution: 0.1
optimal score: 0.6893958775655347
tv.run_topicvi(
adata, config, verbose=True, save_model=True,
)[34mINFO [0m No backup URL provided for missing file .[35m/results/[0m[95mtutorial_pbmc[0m\pretrain_model\model.pt
GPU available: True (cuda), used: True
TPU available: False, using: 0 TPU cores
HPU available: False, using: 0 HPUs
You are using a CUDA device ('NVIDIA GeForce RTX 3060') that has Tensor Cores. To properly utilize them, you should set `torch.set_float32_matmul_precision('medium' | 'high')` which will trade-off precision for performance. For more details, read https://pytorch.org/docs/stable/generated/torch.set_float32_matmul_precision.html#torch.set_float32_matmul_precision
LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]
No pretrained model found or something error occuredstart training from scratch. Failed to load model file at ./results/tutorial_pbmc\pretrain_model\model.pt. If attempting to load a saved model from <v0.15.0, please use the util function `convert_legacy_save` to convert to an updated format.
use the parameters for pretrain {'n_hidden': 128, 'n_latent': 32, 'n_layers': 2, 'dropout_rate': 0, 'dispersion': 'gene', 'gene_likelihood': 'zinb'}
Epoch 475/1000: 48%|####7 | 475/1000 [07:01<07:46, 1.13it/s, v_num=1, train_loss_step=608, train_loss_epoch=601]Monitored metric elbo_validation did not improve in the last 45 records. Best score: 646.872. Signaling Trainer to stop.
GPU available: True (cuda), used: True
TPU available: False, using: 0 TPU cores
HPU available: False, using: 0 HPUs
LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]
Epoch 912/1000: 91%|#########1| 912/1000 [20:00<01:55, 1.32s/it, v_num=1, train_loss_step=4.79e+3, train_loss_epoch=4.78e+3]Monitored metric elbo_validation did not improve in the last 45 records. Best score: 25.990. Signaling Trainer to stop.
os.listdir('./results/tutorial_pbmc/')['adata.h5ad', 'pretrain_model', 'topicvi']
Directly get the results from the saved npz file.
with open('./results/tutorial_pbmc/topicvi/results.npz', 'rb') as f:
topicvi_results = np.load(f, allow_pickle=True)topicvi_results.keys()KeysView(NpzFile 'object' with keys: loading, factors, embedding, labels)
Or you can analyze the results with the TopicVI model.
model = tv.TopicVI.load(
'./results/tutorial_pbmc/topicvi/model/',
adata=adata,
) [34mINFO [0m File .[35m/results/tutorial_pbmc/topicvi/model/[0m[95mmodel.pt[0m already downloaded
model.store_topics_info()
adata.obsm['topicvi'] = model.get_latent_representation()
_ = model.get_cluster_assignment()adataAnnData object with n_obs × n_vars = 11746 × 2000
obs: 'n_counts', 'batch', 'labels', 'str_labels', 'n_genes', 'size_factor', 'default_cluster', '_scvi_batch', '_scvi_labels_', '_scvi_labels', 'model_predict', 'leiden_topicvi'
var: 'n_counts-0', 'n_counts-1', 'n_counts', 'n_cells', 'highly_variable', 'highly_variable_rank', 'means', 'variances', 'variances_norm', 'highly_variable_nbatches'
uns: 'annotation', 'cell_types', 'hvg', 'log1p', 'pca', '_scvi_uuid', '_scvi_manager_uuid', 'neighbors', 'umap', 'leiden_topicvi', 'model_predict_colors', 'default_cluster_colors', 'leiden_topicvi_colors', 'str_labels_colors'
obsm: 'X_pca', 'design', 'normalized_qc', 'qc_pc', 'raw_qc', 'topic_by_sample', 'topicvi', 'X_umap'
varm: 'PCs', 'topic_by_gene'
layers: 'counts', 'normalized'
obsp: 'distances', 'connectivities'
sc.pp.neighbors(adata, use_rep="topicvi", knn=True, metric="euclidean",)
sc.tl.umap(adata,)
sc.tl.leiden(adata, resolution=0.3, key_added="leiden_topicvi")sc.pl.umap(
adata,
color=['model_predict', 'default_cluster', 'leiden_topicvi', 'str_labels'],
frameon=False, palette="tab20", cmap="RdBu_r",
ncols=2,
# save = 'umaps.pdf',
)
# store the topic loading as a new data
fdata = model.get_topic_combined_data()
fdataAnnData object with n_obs × n_vars = 11746 × 32
obs: 'n_counts', 'batch', 'labels', 'str_labels', 'n_genes', 'size_factor', 'default_cluster', '_scvi_batch', '_scvi_labels_', '_scvi_labels', 'model_predict', 'leiden_topicvi'
var: 'ISG15', 'PANK4', 'KLHL21', 'PER3', 'CA6', 'CTNNBIP1', 'KIF1B', 'DFFA', 'FBXO2', 'PLOD1', 'TNFRSF8', 'TNFRSF1B', 'DHRS3', 'EFHD2', 'ATP13A2', 'PADI2', 'CDA', 'C1QA', 'C1QB', 'ID3', 'GALE', 'FUCA1', 'CNR2', 'ZNF593', 'SH3BGRL3', 'DHDDS', 'HMGN2', 'RPS6KA1', 'ZDHHC18', 'SLC9A1', 'MAP3K6', 'FGR', 'IFI6', 'FAM76A', 'EYA3', 'PHACTR4', 'GMEB1', 'MECR', 'TMEM39B', 'TXLNA', 'MARCKSL1', 'YARS', 'ZMYM1', 'KIAA0319L', 'CSF3R', 'SNIP1', 'FHL3', 'TRIT1', 'PPT1', 'COL9A2', 'HIVEP3', 'CDC20', 'HYI', 'DPH2', 'ATP6V0B', 'PTCH2', 'EIF2B3', 'TOE1', 'AKR1A1', 'IPP', 'MKNK1', 'ECHDC2', 'C1orf123', 'SSBP3', 'HOOK1', 'L1TD1', 'ALG6', 'ITGB3BP', 'PGM1', 'GADD45A', 'HHLA3', 'FPGT', 'CRYZ', 'AK5', 'IFI44L', 'GNG5', 'MCOLN3', 'BCL10', 'GBP2', 'TGFBR3', 'GFI1', 'GCLM', 'PTBP2', 'DPYD', 'SLC25A24', 'TAF13', 'AMPD2', 'GSTM3', 'RBM15', 'KCNA3', 'DENND2D', 'CHI3L2', 'RHOC', 'LRIG2', 'NRAS', 'TSPAN2', 'CD2', 'TTF2', 'FAM46C', 'GDAP2', 'WDR3', 'WARS2', 'PHGDH', 'FCGR1B', 'CD160', 'PIAS3', 'PEX11B', 'NOTCH2NL', 'PRKAB2', 'HIST2H2BE', 'MTMR11', 'PLEKHO1', 'C1orf54', 'ADAMTSL4', 'C1orf56', 'CDC42SE1', 'SELENBP1', 'RORC', 'S100A10', 'S100A11', 'S100A9', 'S100A12', 'S100A6', 'S100A4', 'SLC27A3', 'DENND4B', 'SLC39A1', 'RAB13', 'RPS27', 'ATP8B2', 'PMVK', 'CKS1B', 'ZBTB7B', 'ADAM15', 'CLK2', 'RIT1', 'KIAA0907', 'SEMA4A', 'MRPL24', 'SH2D2A', 'ETV3', 'FCRL2', 'CD1D', 'CD1C', 'MNDA', 'PYHIN1', 'AIM2', 'FCER1A', 'SLAMF1', 'SLAMF7', 'CD244', 'NIT1', 'FCER1G', 'FCGR2A', 'FCGR2B', 'POGK', 'GPA33', 'POU2F1', 'CD247', 'CREG1', 'SFT2D2', 'SELP', 'RALGPS2', 'TOR3A', 'ABL2', 'SOAT1', 'IER5', 'RNASEL', 'NPL', 'NCF2', 'C1orf21', 'C1orf27', 'PTGS2', 'RGS2', 'GLRX2', 'CFH', 'ASPM', 'NEK7', 'ZNF281', 'KIF21B', 'RNPEP', 'PTPN7', 'KLHL12', 'LAX1', 'RBBP5', 'CR2', 'CD34', 'G0S2', 'RCOR3', 'TRAF5', 'SLC30A1', 'LPGAT1', 'ATF3', 'RPS6KC1', 'GPATCH2', 'BPNT1', 'TLR5', 'TP53BP2', 'NVL', 'CNIH4', 'LBR', 'C1orf35', 'HIST3H2A', 'NUP133', 'TAF5L', 'COG2', 'TARBP1', 'GPR137B', 'MTR', 'OPN3', 'CHML', 'SMYD3', 'AHCTF1', 'TRIM58', 'ZNF672', 'ZNF692', 'SH3YL1', 'ADI1', 'RSAD2', 'KLF11', 'ODC1', 'NOL10', 'PQLC3', 'DDX1', 'SMC6', 'RHOB', 'HS1BP3', 'TP53I3', 'POMC', 'DNMT3A', 'ASXL2', 'MPV17', 'LBH', 'TTC27', 'RASGRP3', 'FAM98A', 'CEBPZ', 'QPCT', 'GEMIN6', 'DHX57', 'THUMPD2', 'EML4', 'HAAO', 'SRBD1', 'MSH2', 'FOXN2', 'MTIF2', 'VRK2', 'B3GNT2', 'VPS54', 'AFTPH', 'MEIS1', 'GMCL1', 'MXD1', 'PCYOX1', 'NAGK', 'MPHOSPH10', 'DYSF', 'STAMBP', 'MTHFD2', 'SUCLG1', 'TMSB10', 'CAPG', 'VAMP8', 'ST3GAL5', 'MRPL35', 'CD8A', 'KRCC1', 'MAL', 'DUSP2', 'TMEM127', 'ZAP70', 'MGAT4A', 'TSGA10', 'LIPT1', 'IL18R1', 'IL18RAP', 'C2orf49', 'FHL2', 'SLC20A1', 'SLC35F5', 'MARCO', 'PTPN4', 'CLASP1', 'MAP3K2', 'PROC', 'LIMS2', 'MBD5', 'NMI', 'ACVR1', 'BAZ2B', 'SLC4A10', 'GCA', 'SCN9A', 'STK39', 'DHRS9', 'FASTKD1', 'METTL8', 'CYBRD1', 'PDK1', 'CHN1', 'MTX2', 'AGPS', 'PRKRA', 'TTN', 'UBE2E3', 'SSFA2', 'ZNF804A', 'OSGEPL1', 'PMS1', 'INPP1', 'STAT4', 'NIF3L1', 'WDR12', 'CYP20A1', 'CTLA4', 'ICOS', 'KLF7', 'IDH1', 'IKZF2', 'BARD1', 'ATIC', 'MREG', 'PECR', 'SMARCAL1', 'BCS1L', 'RNF25', 'CYP27A1', 'STK16', 'CHPF', 'SLC4A3', 'SERPINE2', 'CCL20', 'TRIP12', 'ITM2C', 'RAMP1', 'FARP2', 'STK25', 'PDCD1', 'ARL8B', 'EDEM1', 'SETD5', 'MTMR14', 'BRPF1', 'CAMK1', 'CRELD1', 'TATDN2', 'SEC13', 'ATG7', 'TSEN2', 'TMEM40', 'FBLN2', 'XPC', 'NR2C2', 'ANKRD28', 'SATB1', 'NR1D2', 'TOP2B', 'AZI2', 'GPD1L', 'CMTM6', 'DYNC1LI1', 'CRTAP', 'UBP1', 'PDCD6IP', 'EPM2AIP1', 'PLCD1', 'MYD88', 'OXSR1', 'CX3CR1', 'CTNNB1', 'VIPR1', 'ZNF197', 'ZNF35', 'SACM1L', 'LZTFL1', 'FYCO1', 'XCR1', 'NBEAL2', 'UQCRC1', 'SLC25A20', 'IMPDH2', 'USP19', 'GPX1', 'TCTA', 'RNF123', 'GNAI2', 'RASSF1', 'CYB561D2', 'CISH', 'RAD54L2', 'PARP3', 'PCBP4', 'ALAS1', 'BAP1', 'NISCH', 'NEK4', 'SFMBT1', 'PRKCD', 'CACNA2D3', 'ARHGEF3', 'DNASE1L3', 'RPP14', 'FHIT', 'C3orf14', 'MITF', 'HTR1F', 'ZNF654', 'CLDND1', 'CPOX', 'SENP7', 'ZBTB11', 'IFT57', 'TRAT1', 'DPPA4', 'CD96', 'ABHD10', 'SLC35A5', 'GTPBP8', 'SIDT1', 'TMEM39A', 'GTF2E1', 'EAF2', 'CSTA', 'HSPBAP1', 'SEC22A', 'MYLK', 'OSBPL11', 'MGLL', 'SEC61A1', 'RPN1', 'GP9', 'H1FX', 'ASTE1', 'ACPP', 'DNAJC13', 'TOPBP1', 'SRPRB', 'DBR1', 'FAIM', 'ZBTB38', 'RASA2', 'ATP1B3', 'CHST2', 'CPA3', 'HLTF', 'SIAH2', 'GPR171', 'P2RY14', 'P2RY13', 'GMPS', 'SSR3', 'TIPARP', 'PTX3', 'RSRC1', 'LXN', 'MFSD1', 'MYNN', 'EIF5A2', 'ZMAT3', 'DCUN1D1', 'MCCC1', 'ABCC5', 'EIF2B5', 'ABCF3', 'MAGEF1', 'SENP2', 'IGF2BP2', 'RPL39L', 'RTP4', 'LRCH3', 'IQCG', 'MYL5', 'DGKQ', 'TACC3', 'CYTL1', 'MAN2B2', 'S100P', 'SLC2A9', 'BST1', 'CD38', 'QDPR', 'LAP3', 'TBC1D19', 'KLF3', 'TLR1', 'TMEM156', 'TMEM33', 'SLC30A9', 'GUF1', 'ATP10D', 'TXK', 'EXOC1', 'SPINK2', 'SULT1B1', 'PF4', 'PPBP', 'CXCL3', 'CXCL2', 'MTHFD2L', 'EREG', 'CXCL10', 'PAQR3', 'PLAC8', 'COQ2', 'HPSE', 'ARHGAP24', 'HERC6', 'HERC5', 'TSPAN5', 'METAP1', 'DAPP1', 'BANK1', 'NFKB1', 'MANBA', 'BDH2', 'INTS12', 'PAPSS1', 'PLA2G12A', 'ALPK1', 'USP53', 'MAD2L1', 'TNIP3', 'ANXA5', 'EXOSC9', 'SPRY1', 'MGST2', 'MAML3', 'ARHGAP10', 'FBXW7', 'TLR2', 'MAP9', 'GUCY1A3', 'CTSO', 'PDGFC', 'GALNT7', 'HMGB2', 'CASP3', 'BRD9', 'FASTKD3', 'ANKH', 'BASP1', 'C5orf22', 'MTMR12', 'TARS', 'IL7R', 'WDR70', 'TTC33', 'OXCT1', 'PARP8', 'MOCS2', 'NDUFS4', 'GZMK', 'GZMA', 'DHX29', 'ANKRD55', 'MAP3K1', 'PLK2', 'CD180', 'CCNB1', 'CDK7', 'MRPS27', 'PTCD2', 'ANKRA2', 'HEXB', 'GCNT4', 'COL4A3BP', 'IQGAP2', 'F2R', 'CRHBP', 'ARSB', 'HOMER1', 'SERINC5', 'ZFYVE16', 'ATG10', 'CCNH', 'CETN3', 'MCTP1', 'LNPEP', 'RIOK2', 'ST8SIA4', 'MAN2A1', 'CAMK4', 'DCP2', 'FEM1C', 'COMMD10', 'DMXL1', 'HSD17B4', 'CSNK1G3', 'LMNB1', 'MARCH3', 'SLC12A2', 'RAPGEF6', 'IRF1', 'KIF3A', 'TGFBI', 'FAM53C', 'SIL1', 'CD14', 'GNPDA1', 'LARS', 'TCERG1', 'ADRB2', 'SH3TC2', 'PCYOX1L', 'SLC26A2', 'CSF1R', 'CD74', 'ATOX1', 'ITK', 'THG1L', 'PTTG1', 'DOCK2', 'KCNMB1', 'RPL26L1', 'SFXN1', 'HRH2', 'RNF44', 'HK3', 'MXD3', 'PRR7', 'DOK3', 'N4BP3', 'RUFY1', 'MAML1', 'MGAT4B', 'CNOT6', 'TRIM52', 'DUSP22', 'EXOC2', 'SERPINB6', 'NQO2', 'RIPK1', 'TUBB2A', 'RPP40', 'LYRM4', 'F13A1', 'LY86', 'HIVEP1', 'PHACTR1', 'GFOD1', 'CD83', 'MYLIP', 'GMPR', 'KIF13A', 'GMNN', 'HIST1H1C', 'HIST1H2AC', 'HIST1H1E', 'HIST1H4E', 'HIST1H2AE', 'HIST1H1D', 'HIST1H2BJ', 'ZNF184', 'HIST1H2BN', 'GABBR1', 'HCG18', 'PRR3', 'ABCF1', 'IER3', 'MICA', 'MICB', 'LTA', 'TNF', 'LTB', 'NEU1', 'SKIV2L', 'NOTCH4', 'HLA-DOB', 'TAP1', 'HLA-DMB', 'HLA-DMA', 'HLA-DPB1', 'RPS18', 'ZBTB22', 'BAK1', 'TAF11', 'FKBP5', 'KCTD20', 'CDKN1A', 'FGD2', 'PIM1', 'TREM1', 'BYSL', 'MRPS10', 'TBCC', 'MAD2L1BP', 'NFKBIE', 'PLA2G7', 'CD2AP', 'CENPQ', 'MCM3', 'EFHC1', 'TMEM14A', 'ICK', 'COL19A1', 'SMAP1', 'OGFRL1', 'SLC17A5', 'TMEM30A', 'FAM46A', 'CYB5R4', 'NT5E', 'SLC35A1', 'MDN1', 'MANEA', 'FBXL4', 'ASCC3', 'PRDM1', 'PDSS2', 'SESN1', 'MICAL1', 'ZBTB24', 'SLC16A10', 'REV3L', 'TSPYL4', 'TSPYL1', 'KPNA5', 'SMPDL3A', 'TRMT11', 'RNF146', 'VNN1', 'VNN3', 'VNN2', 'RPS12', 'TBPL1', 'PERP', 'HEBP2', 'HECA', 'STX11', 'RAB32', 'KATNA1', 'RMND1', 'MYCT1', 'ZDHHC14', 'TULP4', 'DYNLT1', 'ACAT2', 'AGPAT4', 'CCR6', 'MAFK', 'NUDT1', 'CHST12', 'LFNG', 'GNA12', 'ZNF12', 'C1GALT1', 'RPA3', 'ARL4A', 'ANKMY2', 'BZW2', 'TSPAN13', 'AHR', 'HDAC9', 'TWISTNB', 'SP4', 'IL6', 'MPP6', 'SNX10', 'SCRN1', 'KBTBD2', 'AOAH', 'ELMO1', 'AEBP1', 'DDX56', 'OGDH', 'UPP1', 'LANCL2', 'MRPS17', 'PHKG1', 'ZNF273', 'GUSB', 'ASL', 'STYXL1', 'FGL2', 'CROT', 'ABCB4', 'ABCB1', 'SLC25A40', 'DBF4', 'STEAP4', 'CDK6', 'SAMD9', 'GNG11', 'CASD1', 'PDK4', 'SLC25A13', 'ASNS', 'STAG3', 'ZCWPW1', 'SLC12A9', 'PLOD3', 'CLDN15', 'SH2B2', 'ALKBH4', 'RINT1', 'PRKAR2B', 'DLD', 'TFEC', 'ING3', 'FAM3C', 'ARF5', 'SND1', 'RBM28', 'IMPDH1', 'MEST', 'MKLN1', 'C7orf49', 'TMEM140', 'CREB3L2', 'TBXAS1', 'PARP12', 'MRPS33', 'CLEC5A', 'EPHB6', 'TPK1', 'REPIN1', 'GIMAP6', 'TMEM176B', 'TMEM176A', 'ABCB8', 'CDK5', 'SLC4A2', 'SMARCD3', 'GALNT11', 'PAXIP1', 'WDR60', 'PLCXD1', 'IL3RA', 'PRKX', 'WWC3', 'TLR7', 'TLR8', 'TRAPPC2', 'OFD1', 'GEMIN8', 'SCML1', 'RPS6KA3', 'MBTPS2', 'SMS', 'PHEX', 'PRDX4', 'ACOT9', 'CXorf21', 'RPGR', 'MID1IP1', 'BCOR', 'CHST7', 'SLC9A7', 'RP2', 'TIMP1', 'CFP', 'PCSK1N', 'PIM2', 'GPKOW', 'PLP2', 'GSPT2', 'MAGED1', 'TSPYL2', 'MAGEH1', 'ZMYM3', 'CYSLTR1', 'P2RY10', 'BTK', 'GLA', 'ARMCX3', 'ARMCX2', 'ARMCX5', 'BEX1', 'TCEAL4', 'TCEAL1', 'RBM41', 'PSMD10', 'ATG4A', 'ACSL4', 'AMMECR1', 'WDR44', 'SLC25A5', 'UPF3B', 'ZBTB33', 'AIFM1', 'MBNL3', 'MOSPD1', 'SLC9A6', 'CD40LG', 'CXorf40A', 'HMGB3', 'CETN2', 'ZNF185', 'ABCD1', 'RENBP', 'IRAK1', 'DNASE1L1', 'ATP6AP1', 'PLXNA3', 'SLC10A3', 'G6PD', 'MPP1', 'CLIC2', 'TMLHE', 'ERICH1', 'KBTBD11', 'MYOM2', 'AGPAT5', 'MFHAS1', 'MSRA', 'LONRF1', 'ATP6V1B2', 'DOK2', 'NUDT18', 'POLR3D', 'RHOBTB2', 'CHMP7', 'KCTD9', 'DPYSL2', 'EPHX2', 'CCDC25', 'PNOC', 'HMBOX1', 'KIF13B', 'DCTN6', 'GSR', 'WRN', 'RAB11FIP1', 'EIF4EBP1', 'PLEKHA2', 'ADAM9', 'AP3M2', 'POLB', 'SLC20A2', 'HGSNAT', 'TGS1', 'PLAG1', 'IMPAD1', 'SDCBP', 'NSMAF', 'GGH', 'RRS1', 'MYBL1', 'VCPIP1', 'C8orf44', 'LACTB2', 'MSC', 'STAU2', 'UBE2W', 'LY96', 'GDAP1', 'PKIA', 'IL7', 'MRPS28', 'ZBTB10', 'IMPA1', 'CA2', 'DECR1', 'DPY19L4', 'PLEKHF2', 'ANKRD46', 'NCALD', 'KLF10', 'BAALC', 'OXR1', 'TRPS1', 'TAF2', 'MRPL13', 'ZHX2', 'ATAD2', 'TRMT12', 'TRIB1', 'MYC', 'NDRG1', 'LY6E', 'ZC3H3', 'ZNF623', 'GRINA', 'FBXL6', 'SLC39A4', 'ZNF7', 'C8orf33', 'RLN2', 'RANBP6', 'DDX58', 'TOPORS', 'CD72', 'SIT1', 'TLN1', 'GNE', 'TJP2', 'TMEM2', 'ALDH1A1', 'ANXA1', 'GCNT1', 'RMI1', 'ZCCHC6', 'CTSL', 'CKS2', 'GADD45G', 'AUH', 'NFIL3', 'NOL8', 'NINJ1', 'FBP1', 'XPA', 'NANS', 'TGFBR1', 'SEC61B', 'STX17', 'TEX10', 'SLC31A2', 'SLC31A1', 'POLE3', 'TNFSF8', 'TLR4', 'CDK5RAP2', 'TRAF1', 'DENND1A', 'ARPC5L', 'RABEPK', 'PBX3', 'SH2D3C', 'FPGS', 'FAM102A', 'LCN2', 'ENDOG', 'TOR1B', 'POMT1', 'RAPGEF1', 'GFI1B', 'GTF3C5', 'REXO4', 'SLC2A6', 'FCN1', 'NOTCH1', 'EGFL7', 'NPDC1', 'ANAPC2', 'EHMT1', 'BET1L', 'IFITM2', 'IFITM3', 'RNH1', 'IRF7', 'SCT', 'DRD4', 'DEAF1', 'TALDO1', 'SLC25A22', 'CD151', 'CTSD', 'TNNI2', 'LSP1', 'ASCL2', 'C11orf21', 'TSPAN32', 'CD81', 'SLC22A18', 'RHOG', 'TRIM22', 'ILK', 'TAF10', 'RIC3', 'ADM', 'RNF141', 'CTR9', 'ZBED5', 'CYP2R1', 'NUCB2', 'HPS5', 'UEVLD', 'ZDHHC13', 'FANCF', 'RCN1', 'PRRG4', 'QSER1', 'LMO2', 'APIP', 'COMMD9', 'TRAF6', 'HSD17B12', 'CD82', 'SLC35C1', 'PHF21A', 'MDK', 'C11orf49', 'DDB2', 'ACP2', 'SPI1', 'SLC43A1', 'UBE2L6', 'SERPING1', 'LPXN', 'FAM111A', 'MS4A6A', 'MS4A4A', 'CCDC86', 'PRPF19', 'TMEM109', 'SLC15A3', 'CD5', 'VPS37C', 'DDB1', 'BEST1', 'ASRGL1', 'MTA2', 'GNG3', 'RTN3', 'VEGFB', 'FKBP2', 'PPP1R14B', 'PLCB3', 'RPS6KA4', 'MAP4K2', 'TM7SF2', 'LTBP3', 'MAP3K11', 'CTSW', 'KLC2', 'RAB1B', 'RIN1', 'ZDHHC24', 'POLD4', 'CLCF1', 'CDK2AP2', 'GSTP1', 'UNC93B1', 'TCIRG1', 'FADD', 'FOLR3', 'FOLR2', 'INPPL1', 'FCHSD2', 'P2RY2', 'PLEKHB1', 'MRPL48', 'POLD3', 'UVRAG', 'PAK1', 'GAB2', 'NARS2', 'PRCP', 'RAB30', 'TMEM126B', 'SYTL2', 'PRSS23', 'CTSC', 'CHORDC1', 'BIRC3', 'BIRC2', 'PDGFD', 'ACAT1', 'DDX10', 'C11orf1', 'C11orf57', 'TIMM8B', 'IL18', 'ZBTB16', 'PAFAH1B2', 'TAGLN', 'FXYD2', 'FXYD6', 'CD3E', 'CD3D', 'CD3G', 'ARCN1', 'HYOU1', 'HMBS', 'CBL', 'CRTAM', 'GRAMD1B', 'NRGN', 'STT3A', 'PUS3', 'DCPS', 'ETS1', 'ZBTB44', 'NCAPD3', 'PFKP', 'AKR1C3', 'PFKFB3', 'KIN', 'DHTKD1', 'CAMK1D', 'PHYH', 'HSPA14', 'RPP38', 'TRDMT1', 'VIM', 'STAM', 'NSUN6', 'DNAJC1', 'COMMD3', 'MAP3K8', 'ZNF248', 'ZNF33B', 'MARCH8', 'NCOA4', 'CCDC6', 'ARID5B', 'EGR2', 'RUFY2', 'DDX50', 'HK1', 'H2AFY2', 'PRF1', 'PCBD1', 'DDIT4', 'P4HA1', 'ZMIZ1', 'TSPAN14', 'MINPP1', 'LIPA', 'IFIT2', 'IFIT3', 'IFIT1', 'CEP55', 'NOC3L', 'HELLS', 'PDLIM1', 'ALDH18A1', 'BLNK', 'TM9SF3', 'FRAT1', 'FRAT2', 'SLC25A28', 'CWF19L1', 'NPM3', 'HPS6', 'TRIM8', 'NT5C2', 'GSTO1', 'MXI1', 'DUSP5', 'CASP7', 'DCLRE1A', 'NHLRC2', 'BAG3', 'PLEKHA1', 'OAT', 'LHPP', 'DHX32', 'PTPRE', 'PPP2R2D', 'UTF1', 'NINJ2', 'C12orf4', 'KCNA5', 'CD9', 'TNFRSF1A', 'LTBR', 'CD27', 'NCAPD2', 'COPS7A', 'LAG3', 'USP5', 'ENO2', 'PTPN6', 'C1RL', 'CLSTN3', 'FOXJ2', 'C3AR1', 'CLEC4E', 'KLRG1', 'KLRB1', 'CD69', 'KLRF1', 'CLEC1B', 'CLEC7A', 'OLR1', 'KLRC4', 'ETV6', 'APOLD1', 'HEBP1', 'H2AFJ', 'EPS8', 'DERA', 'ST8SIA1', 'IPO8', 'FAM60A', 'DNM1L', 'ABCD2', 'YAF2', 'PUS7L', 'NELL2', 'SLC38A1', 'AMIGO2', 'TMEM106C', 'CCNT1', 'TROAP', 'SPATS2', 'LIMA1', 'GALNT6', 'KRT5', 'IGFBP6', 'ITGB7', 'MFSD5', 'AAAS', 'SP1', 'TARBP2', 'ATF7', 'NFE2', 'ITGA5', 'CD63', 'MYL6B', 'CS', 'ATP5B', 'PRIM1', 'NXPH4', 'R3HDM2', 'DDIT3', 'METTL1', 'XPOT', 'TBK1', 'IFNG', 'YEATS4', 'FRS2', 'TMEM19', 'RAB21', 'CRADD', 'ACTR6', 'SCYL2', 'CHPT1', 'NUP37', 'TDG', 'HCFC2', 'TXNRD1', 'CHST11', 'RIC8B', 'CORO1C', 'UNG', 'GLTP', 'ARPC3', 'SH2B3', 'ATXN2', 'ACAD10', 'ALDH2', 'RPH3A', 'OAS3', 'TPCN1', 'TESC', 'WSB2', 'DYNLL1', 'C12orf43', 'P2RX7', 'P2RX4', 'SETD1B', 'DIABLO', 'ZCCHC8', 'CDK2AP1', 'MMP17', 'ULK1', 'DDX51', 'PXMP2', 'GOLGA3', 'ZNF26', 'ZNF84', 'CRYL1', 'IFT88', 'SACS', 'PARP4', 'CENPJ', 'MTMR6', 'CDK8', 'FLT3', 'USPL1', 'ALOX5AP', 'EXOSC8', 'MTRF1', 'TSC22D1', 'LRCH1', 'SUCLA2', 'RCBTB2', 'CYSLTR2', 'CDADC1', 'RCBTB1', 'TRIM13', 'CKAP2', 'UCHL3', 'LMO7', 'TGDS', 'DNAJC3', 'GPR18', 'TM9SF2', 'ERCC5', 'PCID2', 'TEP1', 'RNASE6', 'RNASE2', 'CHD8', 'SLC7A7', 'C14orf93', 'PSMB5', 'ACIN1', 'THTPA', 'PCK2', 'GMPR2', 'CIDEB', 'GZMH', 'GZMB', 'COCH', 'ARHGAP5', 'EGLN3', 'NFKBIA', 'FKBP3', 'RPS29', 'SAV1', 'NIN', 'PYGL', 'PTGER2', 'CDKN3', 'GCH1', 'LGALS3', 'FBXO34', 'PELI2', 'ARID4A', 'DAAM1', 'MNAT1', 'TRMT5', 'SLC38A6', 'HIF1A', 'SNAPC1', 'SGPP1', 'SYNE2', 'MTHFD1', 'ZBTB25', 'AKAP5', 'FUT8', 'VTI1B', 'PNMA1', 'ENTPD5', 'NPC2', 'ACYP1', 'FOS', 'BATF', 'VASH1', 'GSTZ1', 'GTF2A1', 'GPR65', 'C14orf159', 'GPR68', 'FBLN5', 'LGMN', 'GOLGA5', 'IFI27', 'TCL1B', 'VRK1', 'BCL11B', 'DYNC1H1', 'RCOR1', 'CKB', 'GPR132', 'CRIP2', 'CYFIP1', 'TUBGCP5', 'HERC2', 'MTMR10', 'SLC12A6', 'RASGRP1', 'RPUSD2', 'GCHFR', 'DNAJC17', 'SPINT1', 'RPAP1', 'MGA', 'EHD4', 'TTBK2', 'EPB42', 'MFAP1', 'WDR76', 'SLC30A4', 'DTWD1', 'ATP8B4', 'USP8', 'TMOD3', 'MAPK6', 'PIGB', 'AQP9', 'CCNB2', 'PARP16', 'DPP8', 'DENND4A', 'ZWILCH', 'CLN6', 'GLCE', 'RPLP1', 'MYO9A', 'MPI', 'SCAMP5', 'PPCDC', 'MAN2C1', 'PTPN9', 'SNUPN', 'PSTPIP1', 'HMG20A', 'PSMA4', 'CTSH', 'TMED3', 'BCL2A1', 'FAH', 'TM6SF1', 'WDR73', 'MRPL46', 'MFGE8', 'ANPEP', 'FURIN', 'FES', 'MCTP2', 'LRRK1', 'CHSY1', 'NME4', 'MSLN', 'METRN', 'NTHL1', 'KCTD5', 'PRSS21', 'IL32', 'MEFV', 'TFAP4', 'CORO7', 'ROGDI', 'NAGPA', 'PMM2', 'CARHSP1', 'ATF7IP2', 'NUBP1', 'DEXI', 'TNFRSF17', 'ERCC4', 'PARN', 'BFAR', 'TMEM159', 'CRYM', 'METTL9', 'IGSF6', 'PALB2', 'ARHGAP17', 'LCMT1', 'IL4R', 'CD19', 'MAPK3', 'TBC1D10B', 'MYLPF', 'ITGAL', 'SETD1A', 'BCKDK', 'PYCARD', 'ITGAX', 'ZNF267', 'NETO2', 'HEATR3', 'ADCY7', 'BRD7', 'NOD2', 'MT2A', 'NUP93', 'HERPUD1', 'CETP', 'KIFC3', 'GOT2', 'C16orf70', 'FBXL8', 'FHOD1', 'ATP6V0D1', 'CTCF', 'PARD6A', 'DPEP2', 'SMPD3', 'NIP7', 'TERF2', 'PDPR', 'AARS', 'COG4', 'AP1G1', 'DHX38', 'RFWD3', 'ADAT1', 'MON1B', 'GAN', 'PLCG2', 'MPHOSPH6', 'MLYCD', 'COTL1', 'CRISPLD2', 'ZDHHC7', 'KIAA0513', 'IRF8', 'KLHDC4', 'SLC7A5', 'CYBA', 'CDT1', 'CBFA2T3', 'ANKRD11', 'ZNF276', 'DBNDD1', 'PRPF8', 'SERPINF2', 'SERPINF1', 'MNT', 'P2RX5', 'ITGAE', 'P2RX1', 'MYBBP1A', 'ARRB2', 'PFN1', 'MIS12', 'MED31', 'CLEC10A', 'ASGR2', 'ASGR1', 'ACADVL', 'GABARAP', 'CHRNB1', 'PIK3R5', 'HS3ST3B1', 'TRPV2', 'TNFRSF13B', 'FLCN', 'MED9', 'PEMT', 'SREBF1', 'GRAP', 'LGALS9', 'IFT20', 'UNC119', 'ERAL1', 'TAOK1', 'GIT1', 'BLMH', 'EVI2A', 'UTP6', 'SUZ12', 'C17orf75', 'SLFN12', 'CCL4', 'DUSP14', 'IKZF3', 'IGFBP4', 'CCR7', 'JUP', 'CNP', 'STAT5A', 'CCR10', 'IFI35', 'VAT1', 'DHX8', 'TMUB2', 'ACBD4', 'TBX21', 'SKAP1', 'HOXB2', 'UBE2Z', 'ZNF652', 'SLC35B1', 'FAM117A', 'ANKRD40', 'TOB1', 'NME1', 'MBTD1', 'MMD', 'PCTP', 'DGKE', 'TRIM25', 'SCPEP1', 'CUEDC1', 'RNF43', 'TRIM37', 'DHX40', 'PTRH2', 'USP32', 'MAP3K3', 'CCDC47', 'SMARCD2', 'CD79B', 'ERN1', 'TEX2', 'POLG2', 'HELZ', 'PITPNC1', 'SLC16A6', 'ABCA5', 'C17orf80', 'CD300C', 'SLC9A3R1', 'NAT9', 'NT5C', 'LLGL2', 'GALK1', 'SPHK1', 'UBE2O', 'RHBDF2', 'SYNGR2', 'TK1', 'PGS1', 'USP36', 'TIMP2', 'LGALS3BP', 'CBX4', 'GAA', 'EIF4A3', 'NPLOC4', 'PDE6G', 'DCXR', 'SECTM1', 'NARF', 'FOXK2', 'METTL4', 'EMILIN2', 'TWSG1', 'PPP4R1', 'NAPG', 'IMPA2', 'TUBB6', 'SEH1L', 'CEP192', 'ABHD3', 'RBBP8', 'TAF4B', 'RNF125', 'SETBP1', 'SLC14A1', 'PSTPIP2', 'POLI', 'ZCCHC2', 'SERPINB10', 'SERPINB8', 'CD226', 'CNDP2', 'ZNF516', 'TRIB3', 'SIRPG', 'AVP', 'FASTKD5', 'CDC25B', 'PANK2', 'RASSF2', 'PCNA', 'MKKS', 'ESF1', 'SNX5', 'RIN2', 'CRNKL1', 'CST3', 'CST7', 'ID1', 'TPX2', 'HCK', 'KIF3B', 'ASIP', 'AHCY', 'MYL9', 'SAMHD1', 'MAFB', 'MYBL2', 'PKIG', 'TOMM34', 'PIGT', 'TNNC2', 'CTSA', 'SNAI1', 'CEBPB', 'BCAS4', 'TSHZ2', 'ZNF217', 'ZBP1', 'TUBB1', 'SYCP2', 'LSM14B', 'SS18L1', 'BIRC7', 'STMN3', 'SLC2A4RG', 'UCKL1', 'RGS19', 'PCMTD2', 'CDC34', 'GZMM', 'CFD', 'ARID3A', 'ABCA7', 'MUM1', 'SCAMP4', 'BTBD2', 'MKNK2', 'DOT1L', 'TIMM13', 'GNA15', 'PIP5K1C', 'MATK', 'PTPRS', 'RFX2', 'MLLT1', 'DENND1C', 'CD70', 'TNFSF14', 'ZNF557', 'MCOLN1', 'PNPLA6', 'STXBP2', 'RETN', 'SNAPC2', 'CD320', 'MARCH2', 'MYO1F', 'ZNF266', 'ZNF426', 'ZNF562', 'DNMT1', 'ICAM4', 'KEAP1', 'TMED1', 'CARM1', 'RAB3D', 'ACP5', 'MAN2B1', 'HOOK2', 'JUNB', 'RNASEH2A', 'LYL1', 'STX10', 'IER2', 'CCDC130', 'RFX1', 'PKN1', 'GIPC1', 'OCEL1', 'ABHD8', 'PLVAP', 'FCHO1', 'IL12RB1', 'PGPEP1', 'ISYNA1', 'SLC25A42', 'GATAD2A', 'ATP13A1', 'ZNF85', 'ZNF493', 'ZNF91', 'PLEKHF1', 'ZNF507', 'GPATCH1', 'CEBPA', 'CEBPG', 'KIAA0355', 'GPI', 'FXYD1', 'FXYD7', 'LSR', 'FFAR2', 'ZBTB32', 'TYROBP', 'CAPNS1', 'ZNF529', 'ZNF573', 'SPINT2', 'RYR1', 'ACTN4', 'SIRT2', 'SAMD4B', 'PAF1', 'ZFP36', 'SUPT5H', 'TIMM50', 'ZNF780B', 'PLD3', 'SERTAD3', 'BLVRB', 'EXOSC5', 'CEACAM4', 'CD79A', 'ERF', 'PAFAH1B3', 'LYPD3', 'ETHE1', 'XRCC1', 'KCNN4', 'ZNF230', 'ZNF227', 'ZNF180', 'RELB', 'GEMIN7', 'ERCC2', 'CD3EAP', 'VASP', 'PTGIR', 'SLC1A5', 'CCDC9', 'C5AR1', 'KPTN', 'TMEM143', 'CA11', 'LIN7B', 'TRPM4', 'FCGRT', 'NOSIP', 'RRAS', 'FUZ', 'TBC1D17', 'KCNC3', 'POLD1', 'SPIB', 'KLK1', 'SIGLEC9', 'CD33', 'NKG7', 'ZNF350', 'ZNF480', 'ZNF528', 'ZNF468', 'ZNF331', 'TSEN34', 'LILRA6', 'LILRA4', 'LILRB4', 'KIR2DL3', 'KIR2DL1', 'TNNT1', 'HSPBP1', 'ISOC2', 'CCDC106', 'EPN1', 'ZNF787', 'ZNF264', 'ZNF550', 'ZNF134', 'ZNF587', 'ZNF606', 'ZNF274', 'SLC27A5', 'UBE2M', 'ZFY', 'TTTY15', 'IL17RA', 'PEX26', 'SLC25A1', 'HIRA', 'MRPL40', 'CLDN5', 'GNB1L', 'SNAP29', 'SDF2L1', 'YPEL1', 'GNAZ', 'VPREB3', 'SMARCB1', 'SLC2A11', 'TPST2', 'XBP1', 'OSM', 'TCN2', 'EIF4ENIF1', 'YWHAH', 'TOM1', 'HMOX1', 'APOL6', 'APOL3', 'CSF2RB', 'MPST', 'KCTD17', 'IL2RB', 'CDC42EP1', 'LGALS2', 'SH3BP1', 'H1F0', 'JOSD1', 'APOBEC3C', 'APOBEC3F', 'CBX7', 'GRAP2', 'XPNPEP3', 'CENPM', 'TTLL1', 'BIK', 'TSPO', 'UPK3A', 'FAM118A', 'TRMU', 'CERK', 'MLC1', 'SCO2', 'ARSA', 'SAMSN1', 'USP25', 'IL10RB', 'IFNAR1', 'IFNGR2', 'CRYZL1', 'CBR3', 'MORC3', 'WRB', 'BACE2', 'MX2', 'MX1', 'SLC37A1', 'PDE9A', 'U2AF1', 'CSTB', 'AGPAT3', 'AIRE', 'PTTG1IP', 'ITGB2', 'PCNT', 'S100B'
obsm: 'topicvi'
topics = tv.TopicDict.transfer_from_adata(adata, topk=50) # get top 50 genes for each topic
priors1 = adata.uns['annotation']['background']
priors2 = adata.uns['annotation']['clusters']
topics.compare_prior_overlap(prior = {**priors1, **priors2})topics[0]Index(['GNG5', 'GNG11', 'GNG3', 'GNAI2', 'GNA15', 'SPHK1', 'PLCB3', 'ADCY7',
'PRKAR2B', 'ZNF217', 'FKBP5', 'POU2F1', 'GTF2A1', 'CCNT1', 'EREG',
'CARM1', 'NRAS', 'MYC', 'FOS', 'TBCC', 'HLTF', 'UCHL3', 'UBE2W', 'USP5',
'FBXW7', 'MAPK3', 'TUBB6', 'CTR9', 'PAF1', 'UBE2Z', 'CDC34', 'BCL10',
'TALDO1', 'ACSL4', 'AKAP5', 'PRKX', 'CAMK4', 'CDK5', 'PRKAB2', 'PRKCD',
'DHRS9', 'DHRS3', 'AKR1C3', 'PDK4', 'SREBF1', 'MECR'],
dtype='object', name='gene_symbols')
topics.get_topic_annotes(ntop=1)[{'Signaling By Nuclear Receptors R-HSA-9006931': 0.4117647058823529},
{'DNA Repair R-HSA-73894': 0.5483870967741935},
{'Membrane Trafficking R-HSA-199991': 0.34782608695652173},
{'Organelle Biogenesis And Maintenance R-HSA-1852241': 0.6764705882352942},
{'Intra-Golgi And Retrograde Golgi-to-ER Traffic R-HSA-6811442': 0.4716981132075472},
{'RHO GTPase Cycle R-HSA-9012999': 0.8490566037735849},
{'KEAP1-NFE2L2 Pathway R-HSA-9755511': 0.21818181818181817},
{'SLC Transporter Disorders R-HSA-5619102': 0.3076923076923077},
{'S Phase R-HSA-69242': 0.8260869565217391},
{'Toll-like Receptor Cascades R-HSA-168898': 0.5714285714285714},
{'Plasmacytoid Dendritic cells': 0.8181818181818182},
{'Regulation Of Lipid Metabolism By PPARalpha R-HSA-400206': 0.6666666666666666},
{'HIV Infection R-HSA-162906': 0.8611111111111112},
{'C-type Lectin Receptors (CLRs) R-HSA-5621481': 0.5151515151515151},
{'Phospholipid Metabolism R-HSA-1483257': 0.46153846153846156},
{'Mitochondrial Translation R-HSA-5368287': 0.55},
{'Memory CD8+ T cells': 0.9090909090909091},
{'Intracellular Signaling By Second Messengers R-HSA-9006925': 0.39655172413793105},
{'Apoptosis R-HSA-109581': 0.265625},
{'Memory B cells': 0.14},
{'Costimulation By CD28 Family R-HSA-388841': 0.625},
{'DNA Double-Strand Break Repair R-HSA-5693532': 0.34},
{'CD4+ NKT-like cells': 0.6153846153846154},
{'M Phase R-HSA-68886': 1.0},
{'Interferon Alpha Response': 0.0379746835443038},
{'tRNA Modification In Nucleus And Cytosol R-HSA-6782315': 0.05172413793103448},
{'Xenobiotic Metabolism': 0.05952380952380952},
{'Interferon Gamma Response': 0.032520325203252036},
{'Neutrophil Degranulation R-HSA-6798695': 0.02531645569620253},
{'Oxidative Phosphorylation': 0.0379746835443038},
{'Complement': 0.04},
{'Metabolism Of Vitamins And Cofactors R-HSA-196854': 0.024691358024691357}]
sc.tl.rank_genes_groups(fdata, groupby='leiden_topicvi',)
sc.pl.rank_genes_groups_heatmap(
fdata, groupby='leiden_topicvi', n_genes=3, use_raw=False, cmap='RdBu_r',
vmin=0.25, vmax=0.75
)
tv.pl.ridge_topic_group(
fdata,
groupby='leiden_topicvi',
target_topic=0,
topic_annote='Signaling By Nuclear Receptors R-HSA-9006931'
)<seaborn.axisgrid.FacetGrid at 0x1ceec25de90>
