GDM - Use DEG to get cohort-specific and disease relatated ceRNA axis from GDM data
Use differential expressed (DE) miRNA/mRNA to get cohort-specific and disease relatated ceRNA axis from GDM data
Background of GDM data:
With applications to gestational diabetes mellitus (GDM), we predicted nine risk protein-coding biomarkers and some potential lncRNA–miRNA–mRNA regulatory axes, which all correlated with GDM. In those regulatory axes, the MALAT1/hsa-miR-144-3p/IRS1 axis was predicted to be the key axis and was identified as being associated with GDM for the first time.
%load_ext autoreload
# Just download the github, and load the cernaxis into python path
# do
import sys
sys.path.append('../../')
# or install cernaxis by pip
#!pip install git+https://github.com/compbioclub/cernaxis.git@v1_as
from cernaxis.cernaxis import ceRNAxis
# initialize cernaxis object
cernaxis = ceRNAxis()
%autoreload
# Use DE miRNA/mRNA to get the ceRNA_axis
import pandas as pd
# use DE miRNA list as the strict criteria
miRNA_list = pd.read_csv('../../demo/GDM_DEG_miRNA_GSE112168.txt')['symbol'].to_list()
print(miRNA_list[:5])
mRNA_list = pd.read_csv('../../demo/GDM_DEG_mRNA_GSE154377.txt')['symbol'].to_list()
print(mRNA_list[:5])
%autoreload
# Use strict DE miRNA to get the ceRNA_axis
ceRNA_df, axis_df = cernaxis.find_ceRNA_axis_by_DEG_list(miRNA_list, mRNA_list)
# store the filtered ceRNA network and ceRNA axis
ceRNA_df.to_csv('../../demo_out/GDM_ceRNA_network.csv')
axis_df.to_csv('../../demo_out/GDM_ceRNA_axis.csv')
axis_df
Compared with DLRAPom detected ceRNA axes
import pandas as pd
from plotnine import *
import matplotlib.pyplot as plt
df = pd.read_csv('../../demo_out/GDM_DLRAPom_ceRNA_axis.csv')
df['Tool'] = 'DLRAPom'
df3 = axis_df[['miRNA', 'ceRNA', 'type']].drop_duplicates()
df3['Tool'] = 'ceRNAxis'
df = pd.concat([df, df3])
df
summary = (
df
.drop_duplicates(['miRNA','ceRNA','type','Tool'])
.groupby('Tool')
.size()
.reset_index(name='# of interactions')
)
tools = summary['Tool'].tolist()
sets = {
tool: set(df[df.Tool==tool].apply(lambda r: f"{r.miRNA}|{r.ceRNA}", axis=1))
for tool in tools
}
print('Interactions detected by both tools:', sets['DLRAPom'] & sets['ceRNAxis'])
from matplotlib_venn import venn2
A, B = tools
fig = plt.figure(figsize=(5,5))
venn2([sets[A], sets[B]], set_labels=[A, B])
plt.title('Detected ceRNA interactions in GDM data')
plt.show()
fig.savefig('../../demo_out/GDM_venn.pdf', format='pdf')