Note
This page was generated from 1_cell-cell_communication_LR_coexpression_analysis.ipynb. Interactive online version: . Some tutorial content may look better in light mode.
Ligand-receptor interaction inference¶
In this tutorial, we demonstrate the cell cell interaction based on ligand-receptor products conditioned on spatial proximity between clusters. This is done in the following three steps.
Find spatially adjacent clusters(celltypes);
Given two celltypes, find space-specific ligand-receptor pairs.
(Optional),Loop executes multiple two-cell type interactions.
[1]:
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import spateo as st
2024-02-01 10:26:37.904158: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT
Load data¶
We will be using a axolotl dataset from [Wei et al., 2022] (https://doi.org/10.1126/science.abp9444).
Here, we can get data directly from the functionst.sample.axolotl
or link:
axolotl_2DPI: https://www.dropbox.com/s/7w2jxf41xazrqxo/axolotl_2DPI.h5ad?dl=1
axolotl_2DPI_right: https://www.dropbox.com/s/pm5vvqcd4leahsb/axolotl_2DPI_right.h5ad?dl=1
[2]:
adata = st.sample_data.axolotl(filename='axolotl_2DPI.h5ad')
adata
|-----> Downloading data to ./data/axolotl_2DPI.h5ad
[2]:
AnnData object with n_obs × n_vars = 7668 × 27324
obs: 'CellID', 'spatial_leiden_e30_s8', 'Batch', 'cell_id', 'seurat_clusters', 'inj_uninj', 'D_V', 'inj_M_L', 'Annotation'
var: 'Axolotl_ID', 'hs_gene'
uns: 'Annotation_colors', '__type', 'color_key'
obsm: 'X_spatial', 'spatial'
layers: 'counts', 'log1p'
obsp: 'connectivities', 'distances', 'spatial_connectivities', 'spatial_distances'
[3]:
st.pl.space(adata,
color=['Annotation'],
pointsize=0.2,
color_key=adata.uns['color_key'],
show_legend='upper left',
figsize=(5, 5))
Find spatially adjacent celltypes¶
First, we calculate the weighted spatial graph between celltypes, which the nearest neighbor of a cell are based on the fixed-neighbor
or fixed-radius
methods. The spatial graphs and spatial distances are saves to adata.obsp['spatial_distances']
,adata.obsp['spatial_weights']
,adata.obsp['spatial_connectivities']
,adata.uns['spatial_neighbors']
.
[4]:
_, adata = st.tl.neighbors(
adata,
basis='spatial',
spatial_key='spatial',
n_neighbors=10
)
|-----> <insert> spatial_distances to obsp in AnnData Object.
|-----> <insert> spatial_connectivities to obsp in AnnData Object.
|-----> <insert> spatial_neighbors to uns in AnnData Object.
|-----> <insert> spatial_neighbors.indices to uns in AnnData Object.
|-----> <insert> spatial_neighbors.params to uns in AnnData Object.
[5]:
st.pl.plot_connections(
adata,
cat_key='Annotation',
save_show_or_return='show',
title_str=" ",
title_fontsize=6,
label_fontsize=6,
colormap=adata.uns['color_key'],
figsize=(4, 4),
)
|-----> Filtering out cell types with fewer than 30 cells...
|-----> <insert> spatial_distances to obsp in AnnData Object.
|-----> <insert> spatial_connectivities to obsp in AnnData Object.
|-----> <insert> spatial_neighbors to uns in AnnData Object.
|-----> <insert> spatial_neighbors.indices to uns in AnnData Object.
|-----> <insert> spatial_neighbors.params to uns in AnnData Object.
|----->
--- 18 labels, 7668 samples ---
initalized (19,) index ptr: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
initalized (7668,) indices: [0 0 0 ... 0 0 0]
initalized (7668,) data: [1 1 1 ... 1 1 1]
|-----> Deep copying AnnData object and working on the new copy. Original AnnData object will not be modified.
|-----> Matrix multiplying labels x weights x labels-transpose, shape (18, 7668) x (7668, 7668) x (7668, 18).
Given two celltypes, find space-specific ligand-receptor pairs.¶
Based on the result above, here we take the reaEGC
(sender celltype) and WSN
(receiver celltype) as an example.
[6]:
adata = st.sample_data.axolotl(filename='axolotl_2DPI_right.h5ad')
adata
|-----> Downloading data to ./data/axolotl_2DPI_right.h5ad
[6]:
AnnData object with n_obs × n_vars = 3625 × 27324
obs: 'CellID', 'spatial_leiden_e30_s8', 'Batch', 'cell_id', 'seurat_clusters', 'inj_uninj', 'D_V', 'inj_M_L', 'Annotation'
var: 'Axolotl_ID', 'hs_gene'
uns: 'Annotation_colors', '__type', 'color_key'
obsm: 'X_pca', 'X_spatial', 'spatial'
varm: 'PCs'
layers: 'counts'
obsp: 'connectivities', 'distances', 'spatial_connectivities', 'spatial_distances'
[7]:
sender_ct = 'reaEGC'
receptor_ct = 'WSN'
Plot cell type pair¶
[8]:
st.tl.prepare_cci_cellpair_adata(adata, sender_group=sender_ct,
receiver_group=receptor_ct, group='Annotation', all_cell_pair=True)
# plot all cell pair
st.pl.space(adata,
color=['spec'],
pointsize=0.2,
color_key={'other': '#D3D3D3', sender_ct: adata.uns['color_key']
[sender_ct], receptor_ct: adata.uns['color_key'][receptor_ct]},
show_legend='upper left',
figsize=(4, 4),
save_show_or_return='show',
#save_kwargs={"prefix": "./figures/left_2DPI_uninjury_cci_" + sender_ct + "_" + receptor_ct + "_all_cell_pair"}
)
Spatial ligand-receptor analysis¶
[9]:
_, adata = st.tl.neighbors(
adata,
basis='spatial',
spatial_key='spatial',
n_neighbors=10
)
|-----> <insert> spatial_distances to obsp in AnnData Object.
|-----> <insert> spatial_connectivities to obsp in AnnData Object.
|-----> <insert> spatial_neighbors to uns in AnnData Object.
|-----> <insert> spatial_neighbors.indices to uns in AnnData Object.
|-----> <insert> spatial_neighbors.params to uns in AnnData Object.
[10]:
# Replace with your database path:
db_dir = "/mnt/c/users/danie/Desktop/Github/spateo-release/spateo/tools/database/"
[11]:
res = st.tl.find_cci_two_group(adata,
path=db_dir,
species='axolotl',
group='Annotation',
sender_group=sender_ct,
receiver_group=receptor_ct,
filter_lr='outer',
min_pairs=0,
min_pairs_ratio=0,
top=20,)
|-----> 20 ligands for cell type reaEGC_prox with highest fraction of prevalence: ['AMEX60DD001392', 'AMEX60DD006146', 'AMEX60DD034565', 'AMEX60DD049502', 'AMEX60DD038105', 'AMEX60DD028699', 'AMEX60DD006363', 'AMEX60DD055544', 'AMEX60DD006229', 'AMEX60DD029944', 'AMEX60DD040253', 'AMEX60DD008951', 'AMEX60DD042911', 'AMEX60DD024888', 'AMEX60DD004095', 'AMEX60DD013396', 'AMEX60DD011644', 'AMEX60DD050822', 'AMEX60DD025240', 'AMEX60DD035775']. Testing interactions involving these genes.
/mnt/c/Users/danie/spateo_env_test/lib/python3.8/site-packages/spateo/tools/cci_two_cluster.py:183: ImplicitModificationWarning:
Trying to modify attribute `.var` of view, initializing view as actual.
/mnt/c/Users/danie/spateo_env_test/lib/python3.8/site-packages/spateo/tools/cci_two_cluster.py:207: ImplicitModificationWarning:
Trying to modify attribute `.var` of view, initializing view as actual.
|-----> 20 receptors for cell type WSN_prox with highest fraction of prevalence: ['AMEX60DD027855', 'AMEX60DD051542', 'AMEX60DD033799', 'AMEX60DD049635', 'AMEX60DD014152', 'AMEX60DD029894', 'AMEX60DD051881', 'AMEX60DD055551', 'AMEX60DD055467', 'AMEX60DD055675', 'AMEX60DD055776', 'AMEX60DD033101', 'AMEX60DD009754', 'AMEX60DD036540', 'AMEX60DDU001005617', 'AMEX60DD018191', 'AMEX60DD029326', 'AMEX60DD008017', 'AMEX60DD052078', 'AMEX60DD029929']. Testing interactions involving these genes.
100%|█████████████████████████████████████████████████████████████████| 1000/1000 [00:06<00:00, 157.93it/s]
Plot neighbors with the given cell type designations¶
[12]:
st.tl.prepare_cci_cellpair_adata(
adata, sender_group=sender_ct, receiver_group=receptor_ct, cci_dict=res, all_cell_pair=False)
# plot
st.pl.space(adata,
color=['spec'],
pointsize=0.2,
color_key={'other': '#D3D3D3', sender_ct: adata.uns['color_key']
[sender_ct], receptor_ct: adata.uns['color_key'][receptor_ct]},
show_legend='upper left',
figsize=(4, 4),
save_show_or_return='return',
#save_kwargs={"prefix": "./figures/left_2DPI_uninjury_cci_" + sender_ct + "_" + receptor_ct + "_cell_pair"}
)
[12]:
(None, [<AxesSubplot:title={'center':'spec'}>])
Plot heatmap : significant ligand-receptor pairs¶
From st.tl.find_cci_two_group
, we can get significant LR pairs specific to sender and receiver celltypes, res['lr_pair']
, with columns are lr_co_exp_num
, the number of cell-pairs co-expressed liagnd(expressed in sender cell type) and receptor(expressed in receiver cell type). lr_co_exp_ratio
,Co-expressed cell-pairs account for all the paired cells.lr_co_exp_ratio_pvalue
,p value of the LR pairs from permutation test, lr_co_exp_ratio_qvalue
,FDR value. Here we use heatmap
to show the LR pairs.
[13]:
df = res['lr_pair']
df = df.loc[df['lr_co_exp_num'] > 0].sort_values(
'lr_co_exp_ratio', ascending=False)[0:10]
[14]:
%matplotlib inline
data1 = df.iloc[:, [2, 3, 7]]
test = data1.pivot(index="human_ligand", columns="human_receptor",
values="lr_co_exp_ratio").fillna(0)
fig = plt.figure()
fig.set_size_inches(5, 5)
x_label = list(test.columns.tolist())
y_label = list(test.index)
ax = sns.heatmap(test,
cmap="winter",
square=True,
yticklabels=y_label,
linecolor='grey',
linewidths=0.3,
annot_kws={'size': 10, 'weight': 'bold', },
xticklabels=x_label,
mask=(test < 0.01))
plt.gcf().subplots_adjust(bottom=0.3)
plt.xlabel("Receptor in reaEGC")
plt.ylabel("Ligand in WSN")
ax.set_xticklabels(x_label, rotation=45, ha="right")
ax.xaxis.set_ticks_position('none')
ax.yaxis.set_ticks_position('none')
plt.tight_layout()
#plt.savefig("./figures/2DPI_sub_cci_WSN_ReaEGC_heatmap.pdf", transparent=True)
(Optional) Loop executes multiple two-cell type interactions.¶
In the case of multiple cell types interacting in a region, the following code can be run. Here we choose the reigon of injury of 2DPI datasets of axolotl. In this microenvironment, these types of cells(reaEGC
,MCG
,WSN
, nptxEX
) may interact and cause regeneration to occur.
[15]:
a = ['reaEGC', 'MCG', 'WSN', 'nptxEX']
First, construct the celltype pairs in this reigion.
[16]:
df = pd.DataFrame({
"celltype_sender": np.repeat(a, len(a)),
"celltype_receiver": list(a)*len(a),
})
df = df[df['celltype_sender'] != df['celltype_receiver']]
df["celltype_pair"] = df["celltype_sender"].str.cat(
df["celltype_receiver"], sep="-")
df = df.reset_index(drop=True)
df
[16]:
celltype_sender | celltype_receiver | celltype_pair | |
---|---|---|---|
0 | reaEGC | MCG | reaEGC-MCG |
1 | reaEGC | WSN | reaEGC-WSN |
2 | reaEGC | nptxEX | reaEGC-nptxEX |
3 | MCG | reaEGC | MCG-reaEGC |
4 | MCG | WSN | MCG-WSN |
5 | MCG | nptxEX | MCG-nptxEX |
6 | WSN | reaEGC | WSN-reaEGC |
7 | WSN | MCG | WSN-MCG |
8 | WSN | nptxEX | WSN-nptxEX |
9 | nptxEX | reaEGC | nptxEX-reaEGC |
10 | nptxEX | MCG | nptxEX-MCG |
11 | nptxEX | WSN | nptxEX-WSN |
Second, calculate the cell pairs and ligand-receptor pairs which interact significantly.
[17]:
res = {}
# For pairs with no L:R interactions:
dropped = []
for idx, i in enumerate(df['celltype_pair']):
s, r = i.split(sep='-')
result = st.tl.find_cci_two_group(adata,
path=db_dir,
species='axolotl',
group='Annotation',
sender_group=s,
receiver_group=r,
filter_lr='outer',
min_pairs=0,
min_pairs_ratio=0,
top=20,)
if result is not None:
res[i] = result
else:
dropped.append(idx)
result = pd.DataFrame(columns=res[df['celltype_pair'][1]]['lr_pair'].columns)
for l in df.index:
if l not in dropped:
res[df['celltype_pair'][l]]['lr_pair'] = res[df['celltype_pair'][l]
]['lr_pair'].sort_values('lr_co_exp_ratio', ascending=False)[0:3]
result = pd.concat([result, res[df['celltype_pair'][l]]
['lr_pair']], axis=0, join='outer')
df_result = result.loc[result['lr_co_exp_num'] > 5]
df_result.drop_duplicates(
subset=['lr_pair', 'sr_pair', ], keep='first', inplace=True)
|-----> 20 ligands for cell type reaEGC_prox with highest fraction of prevalence: ['AMEX60DD005285', 'AMEX60DD001694', 'AMEX60DD022450', 'AMEX60DD034565', 'AMEX60DD004095', 'AMEX60DD015004', 'AMEX60DD028699', 'AMEX60DD018261', 'AMEX60DD013396', 'AMEX60DD049502', 'AMEX60DD038105', 'AMEX60DD049490', 'AMEX60DD008914', 'AMEX60DD001392', 'AMEX60DD052146', 'AMEX60DD055544', 'AMEX60DD006010', 'AMEX60DD024888', 'AMEX60DD002776', 'AMEX60DD050615']. Testing interactions involving these genes.
/mnt/c/Users/danie/spateo_env_test/lib/python3.8/site-packages/spateo/tools/cci_two_cluster.py:183: ImplicitModificationWarning:
Trying to modify attribute `.var` of view, initializing view as actual.
/mnt/c/Users/danie/spateo_env_test/lib/python3.8/site-packages/spateo/tools/cci_two_cluster.py:207: ImplicitModificationWarning:
Trying to modify attribute `.var` of view, initializing view as actual.
|-----> 20 receptors for cell type MCG_prox with highest fraction of prevalence: ['AMEX60DDU001005665', 'AMEX60DD041858', 'AMEX60DD001963', 'AMEX60DD051542', 'AMEX60DD031598', 'AMEX60DD014152', 'AMEX60DD045012', 'AMEX60DD047992', 'AMEX60DD046037', 'AMEX60DD032718', 'AMEX60DD001912', 'AMEX60DD045536', 'AMEX60DD054777', 'AMEX60DD055178', 'AMEX60DD037922', 'AMEX60DD055954', 'AMEX60DD033101', 'AMEX60DD018338', 'AMEX60DD051010', 'AMEX60DD009754']. Testing interactions involving these genes.
100%|█████████████████████████████████████████████████████████████████| 1000/1000 [00:05<00:00, 167.01it/s]
|-----> 20 ligands for cell type reaEGC_prox with highest fraction of prevalence: ['AMEX60DD001392', 'AMEX60DD006146', 'AMEX60DD034565', 'AMEX60DD049502', 'AMEX60DD038105', 'AMEX60DD028699', 'AMEX60DD006363', 'AMEX60DD055544', 'AMEX60DD006229', 'AMEX60DD029944', 'AMEX60DD040253', 'AMEX60DD008951', 'AMEX60DD042911', 'AMEX60DD024888', 'AMEX60DD004095', 'AMEX60DD013396', 'AMEX60DD011644', 'AMEX60DD050822', 'AMEX60DD025240', 'AMEX60DD035775']. Testing interactions involving these genes.
/mnt/c/Users/danie/spateo_env_test/lib/python3.8/site-packages/spateo/tools/cci_two_cluster.py:183: ImplicitModificationWarning:
Trying to modify attribute `.var` of view, initializing view as actual.
/mnt/c/Users/danie/spateo_env_test/lib/python3.8/site-packages/spateo/tools/cci_two_cluster.py:207: ImplicitModificationWarning:
Trying to modify attribute `.var` of view, initializing view as actual.
|-----> 20 receptors for cell type WSN_prox with highest fraction of prevalence: ['AMEX60DD027855', 'AMEX60DD051542', 'AMEX60DD033799', 'AMEX60DD049635', 'AMEX60DD014152', 'AMEX60DD029894', 'AMEX60DD051881', 'AMEX60DD055551', 'AMEX60DD055467', 'AMEX60DD055675', 'AMEX60DD055776', 'AMEX60DD033101', 'AMEX60DD009754', 'AMEX60DD036540', 'AMEX60DDU001005617', 'AMEX60DD018191', 'AMEX60DD029326', 'AMEX60DD008017', 'AMEX60DD052078', 'AMEX60DD029929']. Testing interactions involving these genes.
100%|█████████████████████████████████████████████████████████████████| 1000/1000 [00:06<00:00, 159.45it/s]
|-----> No cells found in the category reaEGC_prox. Returning None.
|-----> 20 ligands for cell type MCG_prox with highest fraction of prevalence: ['AMEX60DD005285', 'AMEX60DD054671', 'AMEX60DD054218', 'AMEX60DD013396', 'AMEX60DD052549', 'AMEX60DD049259', 'AMEX60DD056132', 'AMEX60DD003767', 'AMEX60DD034707', 'AMEX60DD049502', 'AMEX60DD038339', 'AMEX60DD052070', 'AMEX60DD001392', 'AMEX60DD033981', 'AMEX60DD027633', 'AMEX60DD028699', 'AMEX60DD006619', 'AMEX60DD038300', 'AMEX60DD051636', 'AMEX60DD019011']. Testing interactions involving these genes.
/mnt/c/Users/danie/spateo_env_test/lib/python3.8/site-packages/spateo/tools/cci_two_cluster.py:183: ImplicitModificationWarning:
Trying to modify attribute `.var` of view, initializing view as actual.
/mnt/c/Users/danie/spateo_env_test/lib/python3.8/site-packages/spateo/tools/cci_two_cluster.py:207: ImplicitModificationWarning:
Trying to modify attribute `.var` of view, initializing view as actual.
|-----> 20 receptors for cell type reaEGC_prox with highest fraction of prevalence: ['AMEX60DD053573', 'AMEX60DD009877', 'AMEX60DD034378', 'AMEX60DD011957', 'AMEX60DD002586', 'AMEX60DD022211', 'AMEX60DD024484', 'AMEX60DD014152', 'AMEX60DD022702', 'AMEX60DD038156', 'AMEX60DD055675', 'AMEX60DD045536', 'AMEX60DD030160', 'AMEX60DD055776', 'AMEX60DD004560', 'AMEX60DD042070', 'AMEX60DD008017', 'AMEX60DD021741', 'AMEX60DD052063', 'AMEX60DD029929']. Testing interactions involving these genes.
100%|█████████████████████████████████████████████████████████████████| 1000/1000 [00:06<00:00, 162.60it/s]
|-----> 20 ligands for cell type MCG_prox with highest fraction of prevalence: ['AMEX60DD015004', 'AMEX60DD005285', 'AMEX60DD013396', 'AMEX60DD052549', 'AMEX60DD028514', 'AMEX60DD001946', 'AMEX60DD054671', 'AMEX60DD033437', 'AMEX60DD038300', 'AMEX60DD054218', 'AMEX60DD018576', 'AMEX60DD049259', 'AMEX60DD006619', 'AMEX60DD003767', 'AMEX60DD006711', 'AMEX60DD027633', 'AMEX60DD026682', 'AMEX60DD028699', 'AMEX60DD034707', 'AMEX60DD009063']. Testing interactions involving these genes.
/mnt/c/Users/danie/spateo_env_test/lib/python3.8/site-packages/spateo/tools/cci_two_cluster.py:183: ImplicitModificationWarning:
Trying to modify attribute `.var` of view, initializing view as actual.
/mnt/c/Users/danie/spateo_env_test/lib/python3.8/site-packages/spateo/tools/cci_two_cluster.py:207: ImplicitModificationWarning:
Trying to modify attribute `.var` of view, initializing view as actual.
|-----> 20 receptors for cell type WSN_prox with highest fraction of prevalence: ['AMEX60DD043057', 'AMEX60DD008551', 'AMEX60DD020537', 'AMEX60DD018528', 'AMEX60DD038203', 'AMEX60DD046905', 'AMEX60DD055153', 'AMEX60DD029894', 'AMEX60DD045012', 'AMEX60DD055467', 'AMEX60DD045536', 'AMEX60DD023546', 'AMEX60DD033101', 'AMEX60DD042067', 'AMEX60DD009754', 'AMEX60DDU001005617', 'AMEX60DD018191', 'AMEX60DD009964', 'AMEX60DD029326', 'AMEX60DD019156']. Testing interactions involving these genes.
100%|█████████████████████████████████████████████████████████████████| 1000/1000 [00:05<00:00, 168.92it/s]
|-----> 20 ligands for cell type MCG_prox with highest fraction of prevalence: ['AMEX60DD054218', 'AMEX60DD028514', 'AMEX60DD054221', 'AMEX60DD052549', 'AMEX60DD018576', 'AMEX60DD049488', 'AMEX60DD013396', 'AMEX60DD006711', 'AMEX60DD009962', 'AMEX60DD027336', 'AMEX60DD042075', 'AMEX60DD009229', 'AMEX60DD051109', 'AMEX60DD045792', 'AMEX60DDU001007321', 'AMEX60DD028699', 'AMEX60DD049338', 'AMEX60DD052070', 'AMEX60DD038300', 'AMEX60DD048288']. Testing interactions involving these genes.
/mnt/c/Users/danie/spateo_env_test/lib/python3.8/site-packages/spateo/tools/cci_two_cluster.py:183: ImplicitModificationWarning:
Trying to modify attribute `.var` of view, initializing view as actual.
/mnt/c/Users/danie/spateo_env_test/lib/python3.8/site-packages/spateo/tools/cci_two_cluster.py:207: ImplicitModificationWarning:
Trying to modify attribute `.var` of view, initializing view as actual.
|-----> 20 receptors for cell type nptxEX_prox with highest fraction of prevalence: ['AMEX60DD043057', 'AMEX60DD034378', 'AMEX60DD030013', 'AMEX60DD051542', 'AMEX60DD033799', 'AMEX60DDU001033895', 'AMEX60DD009947', 'AMEX60DD019887', 'AMEX60DD033778', 'AMEX60DD040513', 'AMEX60DD016175', 'AMEX60DD043107', 'AMEX60DD015830', 'AMEX60DD051903', 'AMEX60DD002665', 'AMEX60DD030144', 'AMEX60DD045542', 'AMEX60DD033101', 'AMEX60DD018338', 'AMEX60DD036540']. Testing interactions involving these genes.
100%|█████████████████████████████████████████████████████████████████| 1000/1000 [00:05<00:00, 176.14it/s]
|-----> 20 ligands for cell type WSN_prox with highest fraction of prevalence: ['AMEX60DD018576', 'AMEX60DD049490', 'AMEX60DD054671', 'AMEX60DD015004', 'AMEX60DD049502', 'AMEX60DD022816', 'AMEX60DD026682', 'AMEX60DD054218', 'AMEX60DD052549', 'AMEX60DD038105', 'AMEX60DD042075', 'AMEX60DD056311', 'AMEX60DD014882', 'AMEX60DD037141', 'AMEX60DD056132', 'AMEX60DDU001002333', 'AMEX60DD050615', 'AMEX60DD024179', 'AMEX60DD028699', 'AMEX60DD002881']. Testing interactions involving these genes.
/mnt/c/Users/danie/spateo_env_test/lib/python3.8/site-packages/spateo/tools/cci_two_cluster.py:183: ImplicitModificationWarning:
Trying to modify attribute `.var` of view, initializing view as actual.
/mnt/c/Users/danie/spateo_env_test/lib/python3.8/site-packages/spateo/tools/cci_two_cluster.py:207: ImplicitModificationWarning:
Trying to modify attribute `.var` of view, initializing view as actual.
|-----> 20 receptors for cell type reaEGC_prox with highest fraction of prevalence: ['AMEX60DD027855', 'AMEX60DD015696', 'AMEX60DD018528', 'AMEX60DD034378', 'AMEX60DD011957', 'AMEX60DD011408', 'AMEX60DD024484', 'AMEX60DDU001033895', 'AMEX60DD014152', 'AMEX60DD051881', 'AMEX60DD046037', 'AMEX60DD038156', 'AMEX60DD055675', 'AMEX60DD031636', 'AMEX60DD042348', 'AMEX60DD019369', 'AMEX60DD021356', 'AMEX60DD054983', 'AMEX60DD009964', 'AMEX60DD029929']. Testing interactions involving these genes.
100%|█████████████████████████████████████████████████████████████████| 1000/1000 [00:06<00:00, 155.06it/s]
|-----> 20 ligands for cell type WSN_prox with highest fraction of prevalence: ['AMEX60DD011161', 'AMEX60DD006587', 'AMEX60DD017034', 'AMEX60DD047475', 'AMEX60DD054671', 'AMEX60DD054218', 'AMEX60DD052549', 'AMEX60DD056311', 'AMEX60DD006711', 'AMEX60DD003392', 'AMEX60DD050615', 'AMEX60DD018576', 'AMEX60DD036126', 'AMEX60DD019011', 'AMEX60DD042075', 'AMEX60DD049490', 'AMEX60DD037141', 'AMEX60DD047873', 'AMEX60DD003207', 'AMEX60DD034687']. Testing interactions involving these genes.
/mnt/c/Users/danie/spateo_env_test/lib/python3.8/site-packages/spateo/tools/cci_two_cluster.py:183: ImplicitModificationWarning:
Trying to modify attribute `.var` of view, initializing view as actual.
/mnt/c/Users/danie/spateo_env_test/lib/python3.8/site-packages/spateo/tools/cci_two_cluster.py:207: ImplicitModificationWarning:
Trying to modify attribute `.var` of view, initializing view as actual.
|-----> 20 receptors for cell type MCG_prox with highest fraction of prevalence: ['AMEX60DD044042', 'AMEX60DDU001005665', 'AMEX60DD001963', 'AMEX60DD009334', 'AMEX60DD029894', 'AMEX60DD037920', 'AMEX60DD046037', 'AMEX60DD048520', 'AMEX60DD037922', 'AMEX60DD055359', 'AMEX60DD042224', 'AMEX60DD042223', 'AMEX60DD033101', 'AMEX60DD025098', 'AMEX60DD018338', 'AMEX60DDU001005617', 'AMEX60DD005288', 'AMEX60DD027192', 'AMEX60DD029326', 'AMEX60DD009754']. Testing interactions involving these genes.
100%|█████████████████████████████████████████████████████████████████| 1000/1000 [00:06<00:00, 163.08it/s]
|-----> 20 ligands for cell type WSN_prox with highest fraction of prevalence: ['AMEX60DD006587', 'AMEX60DD018576', 'AMEX60DD050451', 'AMEX60DD038105', 'AMEX60DD049490', 'AMEX60DD056311', 'AMEX60DD005869', 'AMEX60DD033480', 'AMEX60DD056132', 'AMEX60DD015004', 'AMEX60DD049502', 'AMEX60DD036126', 'AMEX60DD042075', 'AMEX60DD051109', 'AMEX60DD014882', 'AMEX60DD002185', 'AMEX60DD037141', 'AMEX60DD031350', 'AMEX60DD006711', 'AMEX60DD050615']. Testing interactions involving these genes.
/mnt/c/Users/danie/spateo_env_test/lib/python3.8/site-packages/spateo/tools/cci_two_cluster.py:183: ImplicitModificationWarning:
Trying to modify attribute `.var` of view, initializing view as actual.
/mnt/c/Users/danie/spateo_env_test/lib/python3.8/site-packages/spateo/tools/cci_two_cluster.py:207: ImplicitModificationWarning:
Trying to modify attribute `.var` of view, initializing view as actual.
|-----> 20 receptors for cell type nptxEX_prox with highest fraction of prevalence: ['AMEX60DD033647', 'AMEX60DDU001005665', 'AMEX60DD011408', 'AMEX60DD009334', 'AMEX60DD051542', 'AMEX60DDU001033895', 'AMEX60DD022256', 'AMEX60DD009634', 'AMEX60DD016175', 'AMEX60DD054777', 'AMEX60DD030160', 'AMEX60DD015830', 'AMEX60DD030144', 'AMEX60DD030734', 'AMEX60DD002309', 'AMEX60DD045542', 'AMEX60DD033101', 'AMEX60DD008017', 'AMEX60DD052078', 'AMEX60DD029929']. Testing interactions involving these genes.
100%|█████████████████████████████████████████████████████████████████| 1000/1000 [00:06<00:00, 151.44it/s]
|-----> No cells found in the category nptxEX_prox. Returning None.
|-----> 20 ligands for cell type nptxEX_prox with highest fraction of prevalence: ['AMEX60DD047475', 'AMEX60DD007305', 'AMEX60DD056311', 'AMEX60DD050615', 'AMEX60DDU001002333', 'AMEX60DD042075', 'AMEX60DD024179', 'AMEX60DD045327', 'AMEX60DD038300', 'AMEX60DD003212', 'AMEX60DD039130', 'AMEX60DD002185', 'AMEX60DD031350', 'AMEX60DDU001005418', 'AMEX60DD033437', 'AMEX60DD037141', 'AMEX60DD000670', 'AMEX60DD052441', 'AMEX60DD055540', 'AMEX60DD042028']. Testing interactions involving these genes.
/mnt/c/Users/danie/spateo_env_test/lib/python3.8/site-packages/spateo/tools/cci_two_cluster.py:183: ImplicitModificationWarning:
Trying to modify attribute `.var` of view, initializing view as actual.
/mnt/c/Users/danie/spateo_env_test/lib/python3.8/site-packages/spateo/tools/cci_two_cluster.py:207: ImplicitModificationWarning:
Trying to modify attribute `.var` of view, initializing view as actual.
|-----> 20 receptors for cell type MCG_prox with highest fraction of prevalence: ['AMEX60DD022047', 'AMEX60DD044042', 'AMEX60DD001963', 'AMEX60DD009334', 'AMEX60DD033799', 'AMEX60DDU001033895', 'AMEX60DD037920', 'AMEX60DD027709', 'AMEX60DD029458', 'AMEX60DD031740', 'AMEX60DD037922', 'AMEX60DD015830', 'AMEX60DD055359', 'AMEX60DD018914', 'AMEX60DD033101', 'AMEX60DD018338', 'AMEX60DD025098', 'AMEX60DDU001005617', 'AMEX60DD018191', 'AMEX60DD052063']. Testing interactions involving these genes.
100%|█████████████████████████████████████████████████████████████████| 1000/1000 [00:05<00:00, 167.22it/s]
|-----> 20 ligands for cell type nptxEX_prox with highest fraction of prevalence: ['AMEX60DD042075', 'AMEX60DD003767', 'AMEX60DD006711', 'AMEX60DD026682', 'AMEX60DD018576', 'AMEX60DD031350', 'AMEX60DD049490', 'AMEX60DD000670', 'AMEX60DD024179', 'AMEX60DD001392', 'AMEX60DD020701', 'AMEX60DDU001007321', 'AMEX60DD048295', 'AMEX60DD006619', 'AMEX60DD049338', 'AMEX60DD013396', 'AMEX60DD039130', 'AMEX60DDU001002333', 'AMEX60DDU001005418', 'AMEX60DD048309']. Testing interactions involving these genes.
/mnt/c/Users/danie/spateo_env_test/lib/python3.8/site-packages/spateo/tools/cci_two_cluster.py:183: ImplicitModificationWarning:
Trying to modify attribute `.var` of view, initializing view as actual.
/mnt/c/Users/danie/spateo_env_test/lib/python3.8/site-packages/spateo/tools/cci_two_cluster.py:207: ImplicitModificationWarning:
Trying to modify attribute `.var` of view, initializing view as actual.
|-----> 20 receptors for cell type WSN_prox with highest fraction of prevalence: ['AMEX60DD018528', 'AMEX60DD020537', 'AMEX60DD041858', 'AMEX60DD051542', 'AMEX60DD043161', 'AMEX60DD000016', 'AMEX60DD014152', 'AMEX60DDU001007023', 'AMEX60DD051881', 'AMEX60DD055551', 'AMEX60DD055467', 'AMEX60DD023546', 'AMEX60DD022164', 'AMEX60DD025567', 'AMEX60DD033101', 'AMEX60DD042067', 'AMEX60DD036540', 'AMEX60DDU001005617', 'AMEX60DD029326', 'AMEX60DD008017']. Testing interactions involving these genes.
100%|█████████████████████████████████████████████████████████████████| 1000/1000 [00:06<00:00, 163.05it/s]
/tmp/ipykernel_222/476618405.py:30: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
[18]:
df_result
[18]:
from | to | human_ligand | human_receptor | lr_pair | lr_product | lr_co_exp_num | lr_co_exp_ratio | lr_co_exp_ratio_pvalue | is_significant | sr_pair | |
---|---|---|---|---|---|---|---|---|---|---|---|
85 | AMEX60DDU001032566 | AMEX60DD055954 | MIF | CXCR4 | MIF-CXCR4 | 0.086219 | 6 | 0.105263 | 0.000 | True | reaEGC-MCG |
2154 | AMEX60DD050822 | AMEX60DD055305 | TNC | ITGAV | TNC-ITGAV | 0.420186 | 22 | 0.305556 | 0.000 | True | reaEGC-WSN |
2321 | AMEX60DD055544 | AMEX60DD002665 | COL18A1 | GPC1 | COL18A1-GPC1 | 0.135889 | 13 | 0.180556 | 0.000 | True | reaEGC-WSN |
734 | AMEX60DD050822 | AMEX60DD009754 | TNC | ITGB3 | TNC-ITGB3 | 0.382080 | 12 | 0.166667 | 0.000 | True | reaEGC-WSN |
1565 | AMEX60DD025587 | AMEX60DD052063 | L1CAM | EPHB2 | L1CAM-EPHB2 | 0.171647 | 9 | 0.209302 | 0.000 | True | MCG-reaEGC |
1887 | AMEX60DD052070 | AMEX60DD054061 | C1QB | C1QBP | C1QB-C1QBP | 0.265193 | 8 | 0.186047 | 0.000 | True | MCG-reaEGC |
753 | AMEX60DD044302 | AMEX60DD024484 | EGF | AXL | EGF-AXL | 0.144871 | 7 | 0.162791 | 0.000 | True | MCG-reaEGC |
575 | AMEX60DD012285 | AMEX60DD033101 | THBS1 | SDC1 | THBS1-SDC1 | 0.247186 | 7 | 0.225806 | 0.000 | True | MCG-WSN |
1388 | AMEX60DD007022 | AMEX60DD033101 | PTN | SDC1 | PTN-SDC1 | 0.168189 | 7 | 0.225806 | 0.000 | True | MCG-WSN |
2306 | AMEX60DD007066 | AMEX60DD045536 | TIMP3 | KDR | TIMP3-KDR | 0.516178 | 7 | 0.225806 | 0.000 | True | MCG-WSN |
2319 | AMEX60DD047408 | AMEX60DD002665 | APP | GPC1 | APP-GPC1 | 1.547716 | 18 | 0.692308 | 0.000 | True | MCG-nptxEX |
913 | AMEX60DD047408 | AMEX60DD043107 | APP | VLDLR | APP-VLDLR | 0.890461 | 11 | 0.423077 | 0.000 | True | MCG-nptxEX |
960 | AMEX60DD035913 | AMEX60DD034378 | CALM3 | ESR1 | CALM3-ESR1 | 0.503630 | 7 | 0.269231 | 0.000 | True | MCG-nptxEX |
598 | AMEX60DD004094 | AMEX60DD024484 | ADAM10 | AXL | ADAM10-AXL | 0.267034 | 17 | 0.253731 | 0.000 | True | WSN-reaEGC |
2383 | AMEX60DD025587 | AMEX60DD029929 | L1CAM | ERBB3 | L1CAM-ERBB3 | 0.203252 | 15 | 0.223881 | 0.000 | True | WSN-reaEGC |
582 | AMEX60DD012285 | AMEX60DD055675 | THBS1 | ITGA6 | THBS1-ITGA6 | 0.219074 | 13 | 0.194030 | 0.000 | True | WSN-reaEGC |
1882 | AMEX60DD047873 | AMEX60DD022278 | COL4A1 | ITGB8 | COL4A1-ITGB8 | 0.285102 | 9 | 0.333333 | 0.000 | True | WSN-MCG |
1204 | AMEX60DD031350 | AMEX60DD029261 | NPTX1 | NPTXR | NPTX1-NPTXR | 1.434149 | 32 | 0.415584 | 0.000 | True | WSN-nptxEX |
732 | AMEX60DD050822 | AMEX60DD033101 | TNC | SDC1 | TNC-SDC1 | 0.132684 | 10 | 0.129870 | 0.000 | True | WSN-nptxEX |
1445 | AMEX60DD025368 | AMEX60DD022256 | CALM1 | CALCR | CALM1-CALCR | 0.282748 | 9 | 0.116883 | 0.006 | True | WSN-nptxEX |
1204 | AMEX60DD031350 | AMEX60DD029261 | NPTX1 | NPTXR | NPTX1-NPTXR | 1.484038 | 13 | 0.541667 | 0.000 | True | nptxEX-MCG |
1974 | AMEX60DD035913 | AMEX60DD029458 | CALM3 | PDE1B | CALM3-PDE1B | 1.183570 | 8 | 0.333333 | 0.000 | True | nptxEX-MCG |
1973 | AMEX60DD025368 | AMEX60DD029458 | CALM1 | PDE1B | CALM1-PDE1B | 0.658097 | 8 | 0.333333 | 0.000 | True | nptxEX-MCG |
1204 | AMEX60DD031350 | AMEX60DD029261 | NPTX1 | NPTXR | NPTX1-NPTXR | 2.132398 | 46 | 0.605263 | 0.000 | True | nptxEX-WSN |
1668 | AMEX60DD038767 | AMEX60DD025567 | SEMA5A | PLXNB3 | SEMA5A-PLXNB3 | 0.044252 | 6 | 0.078947 | 0.000 | True | nptxEX-WSN |
[ ]: