From bba2d246d0fd77d388667a9ace9b6c77f3865a19 Mon Sep 17 00:00:00 2001 From: FerranC96 Date: Fri, 28 May 2021 10:08:08 +0100 Subject: [PATCH 1/9] Checklist for Nat. protocol --- README.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/README.md b/README.md index c586ed2..75c893a 100755 --- a/README.md +++ b/README.md @@ -10,6 +10,22 @@ Overview of CyGNAL (dashed blue line) within a standard mass cytometry analysis: [Overview]: https://github.com/TAPE-Lab/CyGNAL/blob/master/figs/flowchart_v1.2.png "Overview of CyGNAL" + +### WIP section -> Checklist of README contents + +* System requirements: + * Dependencies + * OS (version?) support +* Installation guide: + * Instructions + * Typical install time +* Demo: + * Instructions to run + * Expected output + * Expected run-time +* Instructions for use (regarding data in Nat. Protocols) + * How to run software + ## Using CyGNAL CyGNAL is distributed as a multilevel directory. The 'code' folder contains the main steps, with other utility scripts found in 'code/utils/'. Input data should be added to 'Raw_Data' for pre-processing and processed datasets are stored in 'Preprocessed_Data'. From 729331b5d0afdfb1cd6e3295b0cdd07865c9caba Mon Sep 17 00:00:00 2001 From: FerranC96 Date: Fri, 28 May 2021 12:02:45 +0100 Subject: [PATCH 2/9] New structure. Test TOC --- README.md | 183 ++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 129 insertions(+), 54 deletions(-) diff --git a/README.md b/README.md index 75c893a..282f5d8 100755 --- a/README.md +++ b/README.md @@ -3,13 +3,20 @@ # **Cy**TOF Si**gn**alling An**al**ysis (*CyGNAL*) -In this repository we present *CyGNAL*, a pipeline for analysing mass cytometry data similar to that used in our *Nature Methods* paper: [Cell-type-specific signaling networks in heterocellular organoids](https://www.nature.com/articles/s41592-020-0737-8). With code in both Python and R, CyGNAL assumes some preliminary and inter-step processing through the platform [Cytobank](https://cytobank.org/) (although the user could in theory use any other solution for this and the gating steps). +In this repository we present *CyGNAL*, a pipeline for analysing mass cytometry +data similar to that used in our *Nature Methods* paper: [Cell-type-specific signaling networks in heterocellular organoids](https://www.nature.com/articles/s41592-020-0737-8). +With code in both Python and R, CyGNAL assumes some preliminary and inter-step +processing through the platform [Cytobank](https://cytobank.org/) (although the +user could use any other solution for this and the gating steps). Overview of CyGNAL (dashed blue line) within a standard mass cytometry analysis: ![alt text][Overview] [Overview]: https://github.com/TAPE-Lab/CyGNAL/blob/master/figs/flowchart_v1.2.png "Overview of CyGNAL" +* [1.-System requirements](#1.-system-requirements) +* Test + * Test2 ### WIP section -> Checklist of README contents @@ -26,56 +33,14 @@ Overview of CyGNAL (dashed blue line) within a standard mass cytometry analysis: * Instructions for use (regarding data in Nat. Protocols) * How to run software -## Using CyGNAL - -CyGNAL is distributed as a multilevel directory. The 'code' folder contains the main steps, with other utility scripts found in 'code/utils/'. Input data should be added to 'Raw_Data' for pre-processing and processed datasets are stored in 'Preprocessed_Data'. -Input and output directories for the analysis and visualisation steps are found in the 'Analysis' directory. - -### Input data - -Raw data contains sample dataset files. Pipeline can take in both FCS and .txt files (as tab-separated dataframes). +## 1.-System requirements -*NOTE*: The toy dataset used in this tutorial is a down-sampled version (5,000 cells per time point, EpCAM/Pan-CK gated) of the small intestinal organoid time-course experiment described in Figure 4 of our [paper](https://www.nature.com/articles/s41592-020-0737-8). The full dataset is available through [Cytobank Community](https://community.cytobank.org/cytobank/experiments/81059). The users will need to register a free Cytobank Community account to access the project and are encouraged to clone the experiments and explore the data in further details. +OS info here -### A Brief Step-by-Step Tutorial - -Brief tutotorial to run all main steps in CyGNAL with a sequential order. -All console commands given assume the user is in the tool's root directory (.../CyGNAL/) and moves the relevant data from the ouput folder of the previous step to the input of the current. - +### Dependencies -0. **(SETUP):** Clone (or download) the repository and ensure you have all necessary software and dependencies. - * We strongly encourage using [conda](https://docs.conda.io/en/latest/miniconda.html) to setup an environment with `conda create -f conda_env.yml`. - -1. **Pre-process:** Copy all the data files to the 'Raw_Data' folder and run `1-data_preprocess.py`. The output files with their antibody panel processed (i.e. measured channels decluttered, empty channels deleted, cell-index assigned) will be saved in the 'Preprocessed_Data' folder, together with a *'panel_markers.csv'* file listing all the markers measured in the given experiment. - * `python 1-data_preprocess.py` - - *Optional (if exporting .txt datasets from Cytobank):* Go to the working illustration page (Illustrations - My working illustration), highlight the population(s) of interest, and export events as untransformed text files (Actions - Export - Export events, with *'Include header with FCS filename'* unchecked). - - *Note:* This step is essential for getting the dataset compatible with downstream analysis and has to be performed as the first step in our workflow. - -2. **UMAP:** Move the processed data file(s) and panel_marker.csv to 'Analysis/UMAP_input'. Edit *'panel_markers.csv'* to set all the markers used for UMAP analysis from 'N' to 'Y'. Run `2-umap.py`, and the output files will be saved within the 'Analysis/UMAP_output' folder. The markers and the indices of the cells used in the analysis will also be saved in the new folder. - * `python 2-umap.py` - - *Note:* When there is more than one data file used as input of the analysis, each data file can be downsampled to the lowest number of the input (i.e. 'equal' sampling) and concatenated prior to UMAP calculation. After the calculation is complete, the concatenated dataset as well as each individual condition are saved with their UMAP coordinates attached. - -3. **EMD:** To perform EMD calculation (using the tools available in the [scprep](https://github.com/KrishnaswamyLab/scprep) library), copy the input data files to 'Analysis/EMD_input'. Run `3-emd.py` and follow the instructions. By default, the denominator of the EMD calculation will be the concatenation of all the input data files, but the user is given the option to provide a specific denominator data file. While EMD scores of all channels can be calculated by default, by default the user should place the *'panel_markers.csv'* in the input folder to specifiy which marker are to be used. The calculated EMD scores will be saved in 'Analysis/EMD_output', within the 'EMD_arc_no_norm' column in the saved file. - * `python 3-emd.py` - -4. **DREMI:** To perform DREMI calculation (using the tools available in the [scprep](https://github.com/KrishnaswamyLab/scprep) library) copy the input data files to 'Analysis/DREMI_input'. Run `4-dremi.py` and follow the instructions. As with EMD, DREMI scores of all permutations of marker combinations can be calculated, but we suggest specifying the markers of interest by modifying the *'panel_markers.csv'* file. The calculated DREMI scores will be saved in 'Analysis/DREMI_output'. - * `python 4-dremi.py` - - *Optional:* The user is given the option to save the density-resampled plots for data inspection and to perform a standard deviation-based outlier removal step prior to DREMI calculation. - -5. **Heatmap:** To visualise EMD/DREMI scores in heatmaps, copy the EMD/DREMI calculation outputs to the 'Analysis/Vis_Heatmap' folder. Run `5v1-htmp.py` and follow the instructions in the GUI. The script accepts only one EMD data file and one DREMI data file (with 'EMD' and 'DREMI' in their file names respectively) to be visualised. - * `python 5v1-htmp.py` - -6. **Principal component analysis (PCA):** To perform PCA and visualise the results, copy the EMD/DREMI calculation outputs to the 'Analysis/Vis_PCA' folder. Run `5v2-pca.py` and follow the instructions in the GUI. - * `python 5v2-pca.py` - - -## Dependencies - -* Python: Tested with Python v3.6, v3.7, and v3.8. Used in the backbone of the workflow and most computational steps. +* Python: Tested with Python v3.6, v3.7, and v3.8. Used in the backbone of the +workflow and most computational steps. * `fcsparser` * `fcswrite` * `numpy` @@ -87,7 +52,8 @@ All console commands given assume the user is in the tool's root directory (.../ * `sklearn` * `umap-learn` -* R: Tested with v3.6.1 < R <= v4. Mostly used for visualisation, but also for computing the PCA. +* R: Tested with v3.6.1 < R <= v4. Mostly used for visualisation, but also for +computing the PCA. * `ComplexHeatmap` * `DT` * `factoextra` @@ -106,13 +72,122 @@ All console commands given assume the user is in the tool's root directory (.../ * Bourne shell: * `Rscript` -## Authors -The work here is actively being developed by Ferran Cardoso ([@FerranC96](https://github.com/FerranC96)) and Dr. Xiao Qin ([@qinxiao1990](https://github.com/qinxiao1990)). -Based also on original work by Pelagia Kyriakidou. +## Using CyGNAL + +CyGNAL is distributed as a multilevel directory. The 'code' folder contains the +main steps, with other utility scripts found in 'code/utils/'. +Input data should be added to 'Raw_Data' for pre-processing and processed +datasets are stored in 'Preprocessed_Data'. Input and output directories for +the analysis and visualisation steps are found in the 'Analysis' directory. + +### Input data + +Raw data contains sample dataset files. Pipeline can take in both FCS and +.txt files (as tab-separated dataframes). + +*NOTE*: The toy dataset used in this tutorial is a down-sampled version +(5,000 cells per time point, EpCAM/Pan-CK gated) of the small intestinal +organoid time-course experiment described in Figure 4 of our [paper](https://www.nature.com/articles/s41592-020-0737-8). +The full dataset is available through [Cytobank Community](https://community.cytobank.org/cytobank/experiments/81059). +The users will need to register a free Cytobank Community account to access +the project and are encouraged to clone the experiments and explore the data in +further details. + +### A Brief Step-by-Step Tutorial + +Brief tutotorial to run all main steps in CyGNAL with a sequential order. +All console commands given assume the user is in the tool's root directory +(.../CyGNAL/) and moves the relevant data from the ouput folder of the previous +step to the input of the current. + +With the toy datasets present by default in the 'Raw_Data' folder, running the +full set of steps within CyGNAL should take less than 15 minutes in total. +Keep in mind however that runtimes will scale with bigger, or multiple, datasets. + + +0. **(SETUP):** Clone (or download) the repository and ensure you have all +necessary software and dependencies. + * We strongly encourage using [conda](https://docs.conda.io/en/latest/miniconda.html) + to setup an environment with `conda create -f conda_env.yml`. + +1. **Pre-process:** Copy all the data files to the 'Raw_Data' folder and run +`1-data_preprocess.py`. The output files with their antibody panel processed +(i.e. measured channels decluttered, empty channels deleted, cell-index assigned) +will be saved in the 'Preprocessed_Data' folder, together with a *'panel_markers.csv'* +file listing all the markers measured in the given experiment. + * `python 1-data_preprocess.py` + + *Optional (if exporting .txt datasets from Cytobank):* Go to the working + illustration page (Illustrations - My working illustration), highlight the + population(s) of interest, and export events as untransformed text files + (Actions - Export - Export events, with *'Include header with FCS filename'* unchecked). + + *Note:* This step is essential for getting the dataset compatible with downstream analysis and has to be performed as the first step in our workflow. + +2. **UMAP:** Move the processed data file(s) and panel_marker.csv to 'Analysis/UMAP_input'. +Edit *'panel_markers.csv'* to set all the markers used for UMAP analysis from 'N' to 'Y'. +Run `2-umap.py`, and the output files will be saved within the 'Analysis/UMAP_output' folder. +The markers and the indices of the cells used in the analysis will also be saved in the new folder. + * `python 2-umap.py` + + *Note:* When there is more than one data file used as input of the analysis, + each data file can be downsampled to the lowest number of the input + (i.e. 'equal' sampling) and concatenated prior to UMAP calculation. + After the calculation is complete, the concatenated dataset as well as each + individual condition are saved with their UMAP coordinates attached. + +3. **EMD:** To perform EMD calculation (using the tools available in the +[scprep](https://github.com/KrishnaswamyLab/scprep) library), copy the input +data files to 'Analysis/EMD_input'. Run `3-emd.py` and follow the instructions. +By default, the denominator of the EMD calculation will be the concatenation +of all the input data files, but the user is given the option to provide a +specific denominator data file. While EMD scores of all channels can be +calculated by default, by default the user should place the *'panel_markers.csv'* +in the input folder to specifiy which marker are to be used. +The calculated EMD scores will be saved in 'Analysis/EMD_output', within the +'EMD_arc_no_norm' column in the saved file. + * `python 3-emd.py` + +4. **DREMI:** To perform DREMI calculation (using the tools available in the +[scprep](https://github.com/KrishnaswamyLab/scprep) library) copy the input +data files to 'Analysis/DREMI_input'. Run `4-dremi.py` and follow the +instructions. As with EMD, DREMI scores of all permutations of marker +combinations can be calculated, but we suggest specifying the markers of +interest by modifying the *'panel_markers.csv'* file. +The calculated DREMI scores will be saved in 'Analysis/DREMI_output'. + * `python 4-dremi.py` + + *Optional:* The user is given the option to save the density-resampled + plots for data inspection and to perform a standard deviation-based outlier + removal step prior to DREMI calculation. + +5. **Heatmap:** To visualise EMD/DREMI scores in heatmaps, copy the EMD/DREMI +calculation outputs to the 'Analysis/Vis_Heatmap' folder. +Run `5v1-htmp.py` and follow the instructions in the GUI. The script accepts +only one EMD data file and one DREMI data file (with 'EMD' and 'DREMI' in their +file names respectively) to be visualised. + * `python 5v1-htmp.py` + +6. **Principal component analysis (PCA):** To perform PCA and visualise the +results, copy the EMD/DREMI calculation outputs to the 'Analysis/Vis_PCA' folder. +Run `5v2-pca.py` and follow the instructions in the GUI. + * `python 5v2-pca.py` -We acknowledge the work of all third-parties whose packages are used in CyGNAL. ## About the group -Repository of the [Cell Communication Lab](http://tape-lab.com/) at UCL's Cancer Institute. The Cell Communication Lab studies how oncogenic mutations communicate with stromal and immune cells in the colorectal cancer (CRC) tumour microenvironment (TME). By understanding how mutations regulate all cell types within a tumour, we aim to uncover novel approaches to treat cancer. +Repository of the [Cell Communication Lab](http://tape-lab.com/) at UCL's Cancer Institute. +The Cell Communication Lab studies how oncogenic mutations communicate with +stromal and immune cells in the colorectal cancer (CRC) tumour microenvironment (TME). +By understanding how mutations regulate all cell types within a tumour, +we aim to uncover novel approaches to treat cancer. + +## Authors + +The work here is actively being developed by +Ferran Cardoso ([@FerranC96](https://github.com/FerranC96)) and +Dr. Xiao Qin ([@qinxiao1990](https://github.com/qinxiao1990)). +Based also on original work by Pelagia Kyriakidou. + +We acknowledge the work of all third-parties whose packages are used in CyGNAL. From f30f3cdb6f849cd09f616ab3305e90073ef1b5da Mon Sep 17 00:00:00 2001 From: FerranC96 Date: Fri, 28 May 2021 12:03:55 +0100 Subject: [PATCH 3/9] removed dash in headings --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 282f5d8..edcdfaf 100755 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ Overview of CyGNAL (dashed blue line) within a standard mass cytometry analysis: * Instructions for use (regarding data in Nat. Protocols) * How to run software -## 1.-System requirements +## 1. System requirements OS info here From bda8ff844c0a8a267f2b6ad3447097b443486dc1 Mon Sep 17 00:00:00 2001 From: FerranC96 Date: Fri, 28 May 2021 12:04:14 +0100 Subject: [PATCH 4/9] . --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index edcdfaf..9f588e2 100755 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ Overview of CyGNAL (dashed blue line) within a standard mass cytometry analysis: [Overview]: https://github.com/TAPE-Lab/CyGNAL/blob/master/figs/flowchart_v1.2.png "Overview of CyGNAL" -* [1.-System requirements](#1.-system-requirements) +* [1.-System requirements](#1. system-requirements) * Test * Test2 From fe4e0ba94fefd34526275400c578471def819d7a Mon Sep 17 00:00:00 2001 From: FerranC96 Date: Fri, 28 May 2021 12:04:44 +0100 Subject: [PATCH 5/9] . --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9f588e2..edcdfaf 100755 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ Overview of CyGNAL (dashed blue line) within a standard mass cytometry analysis: [Overview]: https://github.com/TAPE-Lab/CyGNAL/blob/master/figs/flowchart_v1.2.png "Overview of CyGNAL" -* [1.-System requirements](#1. system-requirements) +* [1.-System requirements](#1.-system-requirements) * Test * Test2 From d40c0ad48058ecbd4a2d45601f4fbf7b9ce5acec Mon Sep 17 00:00:00 2001 From: FerranC96 Date: Fri, 28 May 2021 12:05:40 +0100 Subject: [PATCH 6/9] just - in TOC links --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index edcdfaf..5ae4654 100755 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ Overview of CyGNAL (dashed blue line) within a standard mass cytometry analysis: [Overview]: https://github.com/TAPE-Lab/CyGNAL/blob/master/figs/flowchart_v1.2.png "Overview of CyGNAL" -* [1.-System requirements](#1.-system-requirements) +* [1.-System requirements](#1-system-requirements) * Test * Test2 From 5bfab3b8f5596a85b16875f5086be82df7ee36e8 Mon Sep 17 00:00:00 2001 From: FerranC96 Date: Fri, 28 May 2021 12:14:00 +0100 Subject: [PATCH 7/9] TOC updates --- README.md | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 5ae4654..72e3620 100755 --- a/README.md +++ b/README.md @@ -15,8 +15,13 @@ Overview of CyGNAL (dashed blue line) within a standard mass cytometry analysis: [Overview]: https://github.com/TAPE-Lab/CyGNAL/blob/master/figs/flowchart_v1.2.png "Overview of CyGNAL" * [1.-System requirements](#1-system-requirements) -* Test - * Test2 + * [Dependencies](#dependencies) +* [2.-Using CygNAL](#2-using-cygnal) + * [Input data](#input-data) + * [A brief step-by-step tutorial](#a-brief-step-by-step-tutorial) +* [3.-About us](#about-us) + * [Authors](#authors) + * [The group](#the-group) ### WIP section -> Checklist of README contents @@ -73,7 +78,7 @@ computing the PCA. * `Rscript` -## Using CyGNAL +## 2. Using CyGNAL CyGNAL is distributed as a multilevel directory. The 'code' folder contains the main steps, with other utility scripts found in 'code/utils/'. @@ -94,7 +99,7 @@ The users will need to register a free Cytobank Community account to access the project and are encouraged to clone the experiments and explore the data in further details. -### A Brief Step-by-Step Tutorial +### A brief step-by-step tutorial Brief tutotorial to run all main steps in CyGNAL with a sequential order. All console commands given assume the user is in the tool's root directory @@ -175,15 +180,9 @@ Run `5v2-pca.py` and follow the instructions in the GUI. * `python 5v2-pca.py` -## About the group +## 3. About us -Repository of the [Cell Communication Lab](http://tape-lab.com/) at UCL's Cancer Institute. -The Cell Communication Lab studies how oncogenic mutations communicate with -stromal and immune cells in the colorectal cancer (CRC) tumour microenvironment (TME). -By understanding how mutations regulate all cell types within a tumour, -we aim to uncover novel approaches to treat cancer. - -## Authors +### Authors The work here is actively being developed by Ferran Cardoso ([@FerranC96](https://github.com/FerranC96)) and @@ -191,3 +190,11 @@ Dr. Xiao Qin ([@qinxiao1990](https://github.com/qinxiao1990)). Based also on original work by Pelagia Kyriakidou. We acknowledge the work of all third-parties whose packages are used in CyGNAL. + +### The group + +Repository of the [Cell Communication Lab](http://tape-lab.com/) at UCL's Cancer Institute. +The Cell Communication Lab studies how oncogenic mutations communicate with +stromal and immune cells in the colorectal cancer (CRC) tumour microenvironment (TME). +By understanding how mutations regulate all cell types within a tumour, +we aim to uncover novel approaches to treat cancer. \ No newline at end of file From d9c42c2aa338f9f788bb8ca8f669cf239a2aa094 Mon Sep 17 00:00:00 2001 From: FerranC96 Date: Fri, 28 May 2021 12:17:56 +0100 Subject: [PATCH 8/9] final stucture and TOC --- README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 72e3620..5da389e 100755 --- a/README.md +++ b/README.md @@ -14,16 +14,17 @@ Overview of CyGNAL (dashed blue line) within a standard mass cytometry analysis: [Overview]: https://github.com/TAPE-Lab/CyGNAL/blob/master/figs/flowchart_v1.2.png "Overview of CyGNAL" +### Table of contents + * [1.-System requirements](#1-system-requirements) * [Dependencies](#dependencies) * [2.-Using CygNAL](#2-using-cygnal) * [Input data](#input-data) * [A brief step-by-step tutorial](#a-brief-step-by-step-tutorial) -* [3.-About us](#about-us) - * [Authors](#authors) - * [The group](#the-group) +* [3.-About us](#authors) + -### WIP section -> Checklist of README contents + ## 1. System requirements From 787706e2fa1a301404696b0d973b24c2b002fb54 Mon Sep 17 00:00:00 2001 From: FerranC96 Date: Fri, 28 May 2021 15:31:12 +0100 Subject: [PATCH 9/9] Final major update before merge --- README.md | 36 ++++++++++++++++++++++-------------- conda_env.yml | 2 +- dependency_troubleshoot.py | 1 + 3 files changed, 24 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 5da389e..bb8daad 100755 --- a/README.md +++ b/README.md @@ -41,7 +41,8 @@ Overview of CyGNAL (dashed blue line) within a standard mass cytometry analysis: ## 1. System requirements -OS info here +CyGNAL has been tested on both macOS (from Catalina onwards) and Debian-based +Linux distributions (including Ubuntu on [WSL](https://github.com/Microsoft/WSL)). ### Dependencies @@ -58,7 +59,7 @@ workflow and most computational steps. * `sklearn` * `umap-learn` -* R: Tested with v3.6.1 < R <= v4. Mostly used for visualisation, but also for +* R: Tested with v3.6 < R <= v4.0. Mostly used for visualisation, but also for computing the PCA. * `ComplexHeatmap` * `DT` @@ -66,6 +67,7 @@ computing the PCA. * `FactoMineR` * `flowCore` * `Ggally` + * `ggrepel`ma * `Hmisc` * `MASS` * `matrixStats` @@ -81,16 +83,16 @@ computing the PCA. ## 2. Using CyGNAL -CyGNAL is distributed as a multilevel directory. The 'code' folder contains the -main steps, with other utility scripts found in 'code/utils/'. -Input data should be added to 'Raw_Data' for pre-processing and processed +CyGNAL is distributed as a set of directories. The 'code' folder contains the +main steps, with other utility scripts found in 'code/utils/', to be run as `python` scripts. +Input data should be added to 'Raw_Data' for pre-processing, and processed datasets are stored in 'Preprocessed_Data'. Input and output directories for the analysis and visualisation steps are found in the 'Analysis' directory. ### Input data -Raw data contains sample dataset files. Pipeline can take in both FCS and -.txt files (as tab-separated dataframes). +CyGNAL can take in both FCS and .txt files (as tab-separated dataframes and +without a header). The 'Raw Data' directory contains sample dataset files. *NOTE*: The toy dataset used in this tutorial is a down-sampled version (5,000 cells per time point, EpCAM/Pan-CK gated) of the small intestinal @@ -129,7 +131,8 @@ file listing all the markers measured in the given experiment. population(s) of interest, and export events as untransformed text files (Actions - Export - Export events, with *'Include header with FCS filename'* unchecked). - *Note:* This step is essential for getting the dataset compatible with downstream analysis and has to be performed as the first step in our workflow. + *Note:* This step is essential for getting the dataset compatible with + downstream analysis and has to be performed as the first step in our workflow. 2. **UMAP:** Move the processed data file(s) and panel_marker.csv to 'Analysis/UMAP_input'. Edit *'panel_markers.csv'* to set all the markers used for UMAP analysis from 'N' to 'Y'. @@ -146,11 +149,11 @@ The markers and the indices of the cells used in the analysis will also be saved 3. **EMD:** To perform EMD calculation (using the tools available in the [scprep](https://github.com/KrishnaswamyLab/scprep) library), copy the input data files to 'Analysis/EMD_input'. Run `3-emd.py` and follow the instructions. -By default, the denominator of the EMD calculation will be the concatenation +By default, the reference of the EMD calculation will be the concatenation of all the input data files, but the user is given the option to provide a -specific denominator data file. While EMD scores of all channels can be -calculated by default, by default the user should place the *'panel_markers.csv'* -in the input folder to specifiy which marker are to be used. +specific reference data file. While EMD scores of all channels can be +calculated, the default behaviour requires the user to place the *'panel_markers.csv'* +in the input folder to specifiy which markers are to be used. The calculated EMD scores will be saved in 'Analysis/EMD_output', within the 'EMD_arc_no_norm' column in the saved file. * `python 3-emd.py` @@ -190,7 +193,10 @@ Ferran Cardoso ([@FerranC96](https://github.com/FerranC96)) and Dr. Xiao Qin ([@qinxiao1990](https://github.com/qinxiao1990)). Based also on original work by Pelagia Kyriakidou. -We acknowledge the work of all third-parties whose packages are used in CyGNAL. +### Support + +For any queries or issues regarding CyGNAL please check the +[Issues](https://github.com/TAPE-Lab/CyGNAL/issues) section in this repository. ### The group @@ -198,4 +204,6 @@ Repository of the [Cell Communication Lab](http://tape-lab.com/) at UCL's Cancer The Cell Communication Lab studies how oncogenic mutations communicate with stromal and immune cells in the colorectal cancer (CRC) tumour microenvironment (TME). By understanding how mutations regulate all cell types within a tumour, -we aim to uncover novel approaches to treat cancer. \ No newline at end of file +we aim to uncover novel approaches to treat cancer. + +We acknowledge the work of all third-parties whose packages are used in CyGNAL. diff --git a/conda_env.yml b/conda_env.yml index e75516d..4cd3777 100755 --- a/conda_env.yml +++ b/conda_env.yml @@ -30,7 +30,7 @@ dependencies: - r-ggrepel #in conda-forge - bioconda::bioconductor-complexheatmap #noarch - bioconda::bioconductor-flowcore=2.2.0 - - bioconda::bioconductor-cytolib=2.2.1 #2.2.1 fixed on 01/05/21 + - bioconda::bioconductor-cytolib=2.2.1 #2.2.1 set on 01/05/21 - pip: - fcswrite diff --git a/dependency_troubleshoot.py b/dependency_troubleshoot.py index 04d3ae8..036fcca 100755 --- a/dependency_troubleshoot.py +++ b/dependency_troubleshoot.py @@ -30,6 +30,7 @@ "FactoMineR", "flowCore", "GGally", + "ggrepel", "Hmisc", "MASS", "matrixStats",