Alteration of intercellular signaling in ulcerative colitis

Analysising single cell RNA-seq data for inter and intracellular interactions. The first step is to import the singel cell RNA-seq data file. The import file is the cell cluster averaged gene expression files. OmniPath is accesed by the python client.

First lets check the OmniPAth version and data.

Now we can donwload OmniPath intercellular network and see what kind of columns are in the intercellular dataframe.

Here we can check what are the categories what we can use for intercellular interactions. We can use the intercellular interctions directly, hovewer it contain porteins which are invovled in the adhesion process and binds to the intracelluar domains of receptor proteins. That is why we suggest the fitlering as in the paper.

The next step is to preprocess the data files. The imput file is the cell type specfic expression. The data are from Smillie et al 2019 (https://pubmed.ncbi.nlm.nih.gov/31348891/). Each column is the average per cell type in transcript per million. From that we will build a simple cell-cell interaction count. It is based on expression tresholding. Our assumptation was that the interactions are important if they are exisit in any way, so we have chosen a realtievely low expression treshold. We invite the user for testing various tresholds in their own work. You will need for this the expression data which are in this example's folder.

We will choose the mean -2SD of the whole data set. First we do a log2 based transformation.

We can check the distribuiton of the cell types. Here only for one.

After checking the histogram we can say that we will use the mean minus 2 standard deviation of the expressed genes.

For simplicity we call "NaN" each number which is below the treshold.

We will call every genee which is expressed below the treshold with "NaN".

Let's see what we hjave done and the avaialbe cell types.

Next we select healthy/uninflamed average expression data in the 5 selected cell types.

For calcualting the intercellular interactions we can store theese dataframes in a dictionarry.

Next we can use the intercellular interactions.

Create all of the possible interactions of cells (independently from the condition) Important: directionality (A-B and B-A are different)

Next we make the graphs of the interactions between the cells.

Now we can visualise the interactions. Igraph contain the visulasitation parameters as a dictionarry. You can also wirte out the edgelist to visualise it in cytoscape.

Below are the iGraph visual parameters which you can play with for your intercellular network.

Now we can do the same for the uninflmaed UC cells.

Below you can see what kind of data we have used.