Skip to content

Instantly share code, notes, and snippets.

@ivirshup
Created January 5, 2021 05:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ivirshup/b5fc24c758d9a920be5e469545f9dbfe to your computer and use it in GitHub Desktop.
Save ivirshup/b5fc24c758d9a920be5e469545f9dbfe to your computer and use it in GitHub Desktop.
glm-pca, normalization factor results
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