This is a detailed tutorial for differential regulation & differential expression analyses. For a brief tutorial on every step, see main.ipynb.
# Removes CPU usage limit by some jupyter versions
import os
os.environ['KMP_AFFINITY'] = ''
import numpy as np
import matplotlib.pyplot as plt
from dictys.net import network
from dictys.plot.static import fig_diff_scatter,fig_diff_rank
d0=network.from_file('../../data/static.h5')
Scatter plot
#Cell type/state names to compare in (reference, alternative) format
states=('Progenitor','Erythroid')
fig=plt.figure()
ax=fig.add_subplot(111)
data=fig_diff_scatter(d0,ax,states)
Bar plot of logFC based ranking
fig2=fig_diff_rank(data)
#Number of top genes to annotate on each side
ntop=20
#Find genes to annotate
t1=np.partition(data.values,[ntop-1,-ntop],axis=0)
t1=((data.values<=t1[ntop-1])|(data.values>=t1[-ntop])).any(axis=1)
annotate=list(data.index[t1])
#Draw figure
fig=plt.figure(figsize=(12,12))
ax=fig.add_subplot(111)
data=fig_diff_scatter(d0,ax,states,annotate=annotate)
#Cell type/state names to compare in (reference, alternative) format
annotate='HLF,KLF4,ZKSCAN3,TFCP2,NFE2L2,HLTF,RREB1,TAL1,KLF1,FOXO4,GATA1'.split(',')
fig=plt.figure()
ax=fig.add_subplot(111)
data=fig_diff_scatter(d0,ax,states,annotate=annotate)
fig2=fig_diff_rank(data,annotate=annotate)
fig=plt.figure(figsize=(18,18))
ax=fig.add_subplot(111)
data=fig_diff_scatter(d0,ax,states,annotate='all',ka_adjust_text=None)
data.head()
DE_logFC | DR_logFC | |
---|---|---|
AHR | -0.355064 | -0.552541 |
AR | -2.782750 | -6.954196 |
ARID3A | -0.318401 | 3.906891 |
ARID5B | -1.074636 | 3.700440 |
ARNT | 0.177926 | 0.671578 |
data['DE_logFC'].values
array([-3.55064076e-01, -2.78275007e+00, -3.18401355e-01, -1.07463579e+00, 1.77925535e-01, -2.29897668e+00, -4.13448443e+00, -5.51277861e-02, -1.04109557e-02, -4.61228822e+00, -2.83181936e-02, -1.76713221e-01, -1.69058826e-01, 2.10612310e-01, -1.57065481e-01, -7.89357794e-01, -2.55275942e+00, -1.02550042e+00, -1.50440728e+00, -1.76896431e-01, 4.19942317e-01, 2.89285154e-02, 3.79071580e-01, -2.97542283e+00, -4.36750600e-01, -2.66925386e+00, -5.93917737e-01, 1.23076970e-01, -4.89339810e-01, -3.58657297e-01, -5.19172436e-02, -3.41257992e-01, -2.53103725e-01, -3.73598762e-01, -1.55688661e-02, -3.47899723e-01, -1.81108297e-01, 3.32546509e-02, -9.27007096e-01, 3.27006642e-01, 9.36366290e-01, 2.37158247e-01, 6.87348413e-01, 8.08947828e-02, 2.26568701e-01, 1.28986355e+00, 4.50635867e-01, -2.00828334e+00, -1.53612879e-02, -1.32474272e-01, 2.39262144e-01, -1.26144910e+00, -5.51412498e-02, -1.08015189e+00, 5.31358722e-01, -2.33545488e-01, -8.70142139e-03, -2.19631155e+00, -6.52568634e-01, -8.99700954e-01, -8.36199814e-01, -5.85823505e-01, -1.03224131e+00, -7.53204325e-01, -2.23825830e+00, -1.97674444e+00, 8.30123773e-02, -1.26359013e-01, -3.35587004e-01, 5.24521101e-01, 3.59586685e-01, -1.68785747e-01, 2.74017825e+00, -2.37218369e-01, 1.67510281e-01, 3.81577029e-02, 7.42508216e+00, 1.20137088e+00, -4.12333492e+00, -3.55448861e+00, 1.40251054e+00, 9.92260475e-02, -3.91928573e+00, -4.80526329e-01, -3.46763881e-01, -5.86449837e-04, -4.17286112e-01, -5.24754579e-01, -5.08421738e+00, 8.34454192e-01, 9.07428585e-03, 2.38819295e-01, -4.60579298e-01, -2.97054437e-02, -1.10051896e+00, -5.29142384e-01, -7.09870386e-01, -3.18121345e-01, -1.39613416e+00, -2.54512019e-01, -1.72882791e-03, 1.10302794e-01, -5.16148202e-02, -1.36472210e+00, -4.34600622e-01, -4.15874181e-01, -1.17169447e+00, -1.38868126e+00, -1.62298908e+00, -4.51970674e-01, -2.90497980e+00, -1.62188788e+00, -3.02047912e-01, -8.16764269e-01, 5.39938636e+00, -4.40869904e-01, 1.27673996e-01, -1.40505673e-01, 4.42518272e-01, -1.31437186e+00, -3.66626265e+00, -1.29588423e+00, -5.43639825e-01, 4.68885878e+00, 1.71403870e-01, 2.00606470e-01, -1.17651772e-02, -9.78013335e-01, -4.68012112e-01, 7.56238540e-02, 3.44322173e-01, -1.51453736e-01, -5.58307660e-01, -3.29966321e-02, -1.10164703e+00, -5.60998603e-01, -4.33079582e-02, -6.33722989e-02, 1.16672574e+00, 1.15791733e-01, -3.97567634e-01, 3.83036592e-01, 2.71454256e-01, 1.06970874e+00, 1.59460882e+00, -9.63326284e-01, 1.52786009e-01, -5.98244182e-01, -3.95013790e-01, -4.43563225e-02, -1.15239217e-03, 1.55965981e-01, 7.04091621e-01, 1.98322725e-01, 1.65934057e-01, 1.85003969e+00, -4.56296033e-01, -8.13231226e-01, -3.08947213e-01, 3.19116643e-01, -8.52972058e-01, 1.06480622e-01, 2.73673404e-01, -1.37484897e-01, 6.14341402e-02, -1.13191825e+00, -1.47459151e-02, 2.98031588e-02, 7.58393808e-01, -4.31928002e-01, 3.48908660e-01, -3.11909458e-01, -1.33550817e+00, -1.08486837e-01, -1.17824488e-01, 8.88135223e-01, -3.57847627e-01, -3.86151781e-01, -4.06916093e-01, -3.31090001e+00, -6.20528211e-01, 3.36881433e-02, -1.57817656e+00, 4.30987808e-01, -2.07786342e-01, 3.50871196e-02, -4.14207322e-02, -6.20099988e-01, 1.50025485e-01, -6.29376340e-01, -1.77266973e-01, -1.28269892e-01, -3.85255038e-01, 2.32267752e-01, -2.41269111e-01, 8.74854979e-01, -6.96233916e-01, -1.59012785e+00, -1.41426428e+00, -2.45720920e-01, -1.16762400e-01, -3.83372671e-01, 1.08303248e-01, 4.59483509e-01, 2.73427544e-02, -3.05334289e+00, 2.06965843e-01, 1.37342356e-01, -1.09296762e-01, 9.83976489e-03, 7.04542951e-02, 1.55114851e-01, -1.58506367e+00, 7.81065208e-01, -3.21647130e-01, 5.12956078e-02, -1.47158129e-01, -2.50882426e-01, -3.47264574e-01, -2.55275942e+00, 6.35046658e-01, 4.24520060e-01, -1.83668561e-01, -8.82325056e-02, 1.70493227e+00, 2.59201661e-01, -1.11483246e-01, 5.23856529e-01, -1.03325370e+00, -7.91598508e-01, -2.22036560e+00, 1.48706641e-01, 9.32049151e-03, 8.80692163e-01, -5.96244433e-01, -2.23825830e+00, 6.31218569e-01, -4.13620210e-01, -1.92546018e-01, 1.16698151e-01, 1.27531905e-01, 1.55954164e-01, 2.97410491e-02, -7.05666793e-02, -3.02965119e+00, -7.07739874e-01, -9.47633635e-02, -1.28675109e+00, 1.31977202e-01, -2.95614828e+00, -3.17099246e-01, -2.45576347e-01, -1.39529479e-02, -4.51659142e-01, 7.45827277e-01, -4.56003531e-02, -5.40073844e-01, 4.74955379e-01, 4.34729126e-01, -9.83184434e-01, -8.69397404e-01, -1.11759520e-03, -1.27722470e-01, 7.86360647e-02, -1.46278071e-02, -5.63181479e-01, 2.73382407e-01, 9.14427640e-02, -1.72399586e-01, -2.43078184e-01, -7.73105335e-02, -2.91856594e-01, -5.24299782e-01, -2.05303301e-01, 3.36464503e-02, -3.08212191e-01, -1.01936667e-02, 3.69190352e-01, -8.41727584e-02, 1.09699980e-01, -2.05482561e-02, 1.17295810e-01, -2.10171758e-01, 1.56766470e-01, -3.78326521e-01, -2.57803699e-01, -2.05946406e-01, -3.19551846e-01, -2.85192958e+00, 7.94613169e-02, -5.06996189e-01, 7.00592615e-02, 2.29478621e-02, -2.79685390e+00, -4.39019871e-01, -4.42287306e-01, -3.08930247e-01, 1.84921495e-01, 3.05934466e-01, 1.42126649e-01, -2.42987213e-01, 4.96295512e-02, 1.45935000e-01, -6.50362744e-01, -2.01905359e-01, 8.35026431e-01, 2.91696503e-02])
states=('Progenitor','B')
annotate='SPIB,PAX5,ETS1,BACH2,IKZF1,SMAD3,SMAD2,XBP1,E2F1,MYCN,E2F2'.split(',')
fig=plt.figure()
ax=fig.add_subplot(111)
data=fig_diff_scatter(d0,ax,states,annotate=annotate)
fig2=fig_diff_rank(data,annotate=annotate)