Created
January 5, 2021 05:34
-
-
Save ivirshup/b5fc24c758d9a920be5e469545f9dbfe to your computer and use it in GitHub Desktop.
glm-pca, normalization factor results
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import scanpy as sc, numpy as np | |
from matplotlib import pyplot as plt | |
from sklearn.utils import sparsefuncs | |
def norm_frac(adata): | |
sparsefuncs.inplace_row_scale(adata.X, 1 / adata.X.sum(axis=1).A1) | |
return adata | |
def norm_cpm(adata): | |
sparsefuncs.inplace_row_scale(adata.X, 1_000_000 / adata.X.sum(axis=1).A1) | |
return adata | |
def norm_median(adata): | |
sc.pp.normalize_total(adata) | |
return adata | |
!wget https://cf.10xgenomics.com/samples/cell-exp/1.1.0/cd14_monocytes/cd14_monocytes_filtered_gene_bc_matrices.tar.gz | |
!tar xzf cd14_monocytes_filtered_gene_bc_matrices.tar.gz | |
mono = sc.read_10x_mtx("./filtered_matrices_mex/hg19/") | |
sc.pp.filter_genes(mono, min_cells=1) | |
sc.pp.calculate_qc_metrics(mono, inplace=True) | |
adatas = { | |
"cpm": norm_cpm(mono.copy()), | |
"frac": norm_frac(mono.copy()), | |
"median": norm_median(mono.copy()), | |
} | |
for k, adata in adatas.items(): | |
sc.pp.log1p(adata) | |
sc.pp.pca(adata) | |
sc.tl.tsne(adata) | |
with plt.rc_context({"figure.dpi": 120, "figure.figsize": (18, 4)}): | |
fig, axs = plt.subplots(ncols=3) | |
for (k, adata), ax in zip(adatas.items(), axs): | |
sc.pl.tsne( | |
adata, | |
color="zero_frac", | |
title=f"{k}, tsne", | |
ax=ax, | |
show=False, | |
vmin=0.97, | |
size=30, | |
cmap="RdBu_r" | |
) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment