[23]:
import os,sys
%matplotlib inline
import matplotlib.pylab as plt
import anndata
import numpy as np
import pandas as pd
plt.rcParams['figure.dpi'] = 100
plt.rcParams['savefig.dpi']=300
plt.rcParams['font.family']='sans serif'
plt.rcParams['font.sans-serif']='Arial'
plt.rcParams['pdf.fonttype']=42
sys.path.append(os.path.expanduser("~/Projects/Github/adataviz/"))
import adataviz as av
print(av.__version__)
0.1
[24]:
import plotly.io as pio
pio.renderers.keys()
[24]:
dict_keys(['plotly_mimetype', 'jupyterlab', 'nteract', 'vscode', 'notebook', 'notebook_connected', 'kaggle', 'azure', 'colab', 'cocalc', 'databricks', 'json', 'png', 'jpeg', 'jpg', 'svg', 'pdf', 'browser', 'firefox', 'chrome', 'chromium', 'iframe', 'iframe_connected', 'sphinx_gallery', 'sphinx_gallery_png'])
Plot embedding (umap or tsne)¶
[25]:
adata_path="/home/x-wding2/Projects/BICAN/adata/HMBA_v2/HMBA.Group.downsample_1500.h5ad"
# # adata_path="/home/x-wding2/Projects/BICAN/adata/HMBA_v2/Human_HMBA_basalganglia_AIT_pre-print.h5ad"
palette_path="/home/x-wding2/Projects/BICAN/adata/HMBA_v2/HMBA_color_palette.xlsx"
[26]:
av.pl.interactive_embedding(adata=adata_path,obs=None,variable='Subclass',gene=None,
coord="umap",vmin='p1',vmax='p99',cmap='jet',renderer='sphinx_gallery',
width=800,height=600,palette_path=palette_path,downsample=20000,size=8)
[27]:
av.pl.interactive_embedding(adata_path,obs=None,variable='Group',gene="DRD2",
coord="umap",vmin='p1',vmax='p99',cmap='jet',renderer='sphinx_gallery',
width=800,height=700,palette_path=palette_path,downsample=20000,size=8)
'prior_mean' not found in obs
Plot dot heatmap¶
[28]:
adata_path="/home/x-wding2/Projects/BICAN/adata/HMBA_v2/HMBA.Group.downsample_1500.h5ad"
pseudobulk_adata_path="/home/x-wding2/Projects/BICAN/adata/HMBA_v2/Pseudobulk.Subclass.stats.h5ad"
genes=['SLC17A6', 'CNTNAP5', 'CACNA2D1', 'ST6GALNAC5', 'SLC18A2', 'TH', 'DDC', 'VIP', 'RGS12', 'CHST15',
'NXPH1', 'PTPRT', 'RRM2', 'DRD2', 'ADORA2A', 'UPB1', 'PDE7B', 'EBF1', 'RELN', 'DRD1', 'TSHZ1',
'FOXP2', 'ADARB2', 'CXCL14', 'PTPRZ1', 'COL4A1', 'ST18', 'CTXND1', 'PROX1', 'SST', 'CHODL', 'NPY',
'CHAT', 'LAMP5', 'LHX6', 'COL4A2', 'RSPO2', 'PRDM1', 'MEIS2', 'GAD1', 'GAD2', 'GATA3', 'OTX2',
'UNC13C', 'LHX8', 'GBX1', 'PAX7', 'ONECUT1', 'GFRA1']
print(",".join(genes))
SLC17A6,CNTNAP5,CACNA2D1,ST6GALNAC5,SLC18A2,TH,DDC,VIP,RGS12,CHST15,NXPH1,PTPRT,RRM2,DRD2,ADORA2A,UPB1,PDE7B,EBF1,RELN,DRD1,TSHZ1,FOXP2,ADARB2,CXCL14,PTPRZ1,COL4A1,ST18,CTXND1,PROX1,SST,CHODL,NPY,CHAT,LAMP5,LHX6,COL4A2,RSPO2,PRDM1,MEIS2,GAD1,GAD2,GATA3,OTX2,UNC13C,LHX8,GBX1,PAX7,ONECUT1,GFRA1
[29]:
genes=['SLC17A6', 'SLC18A2', 'TH', 'DDC', 'VIP',
'DRD2', 'ADORA2A', 'UPB1', 'PDE7B', 'EBF1', 'RELN', 'DRD1', 'TSHZ1',
'FOXP2', 'ADARB2', 'ST18', 'SST', 'CHODL', 'NPY',
'CHAT', 'LAMP5', 'LHX6', 'COL4A2', 'RSPO2', 'PRDM1', 'MEIS2', 'GAD1', 'GAD2', 'GATA3', 'OTX2',
'LHX8', 'GBX1', 'PAX7', 'ONECUT1']
print(",".join(genes))
SLC17A6,SLC18A2,TH,DDC,VIP,DRD2,ADORA2A,UPB1,PDE7B,EBF1,RELN,DRD1,TSHZ1,FOXP2,ADARB2,ST18,SST,CHODL,NPY,CHAT,LAMP5,LHX6,COL4A2,RSPO2,PRDM1,MEIS2,GAD1,GAD2,GATA3,OTX2,LHX8,GBX1,PAX7,ONECUT1
[30]:
av.pl.interactive_dotHeatmap(
adata=pseudobulk_adata_path,obs=None,genes=genes,group_col='Subclass',
modality="RNA",
expression_cutoff='p5',
width=800,height=600,gene_order=genes,colorscale='reds',
vmin='p1',vmax='p99',show=True,
reversescale=False,size_min=5,size_max=50,
renderer='sphinx_gallery',
)
[ ]:
av.pl.interactive_dotHeatmap(
adata=adata_path,obs=None,genes=genes,group_col='Subclass',
modality="RNA",
expression_cutoff='p5',
width=800,height=600,gene_order=genes,colorscale='reds',
vmin='p1',vmax='p99',show=True,
reversescale=False,size_min=5,size_max=50,
renderer='iframe',
)
Plot boxplot¶
[31]:
adata_path="/home/x-wding2/Projects/BICAN/adata/HMBA_v2/HMBA.Group.downsample_1500.h5ad"
pseudobulk_adata_path="/home/x-wding2/Projects/BICAN/adata/HMBA_v2/Pseudobulk.Subclass.stats.h5ad"
palette_path="/home/x-wding2/Projects/BICAN/adata/HMBA_v2/HMBA_color_palette.xlsx"
ann_path="/home/x-wding2/Projects/BICAN/adata/HMBA_v2/obs.tsv"
variable='Subclass'
gene="FOXP2"
[32]:
# read precomputed pseudobulk adata and plot boxplot: super fast
av.pl.interactive_boxplot(
pseudobulk_adata_path,variable,gene,palette_path=palette_path, #obs=ann_path
width=900,height=500,renderer='sphinx_gallery',)
[ ]:
# read single cell adata and plot boxplot
av.pl.interactive_boxplot(
adata_path,variable,gene,obs=None,palette_path=palette_path,
width=900,height=500,show=True,renderer='sphinx_gallery',)
[ ]: