Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
WPZgithub committed Jan 20, 2023
1 parent 0bfd853 commit 86e8cce
Showing 1 changed file with 27 additions and 44 deletions.
71 changes: 27 additions & 44 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,33 @@
# CEFCON
This is the PyTorch implementation of the paper:

Peizhuo Wang, Xiao Wen, Peng Lang, Hantao Shu, Lin Gao, Dan Zhao and Jianyang Zeng,
[Deciphering Driver Regulators of Cell Fate Decisions by Constructing and Controlling Cell-Lineage-Specific Gene Regulatory Networks](https://)
CEFCON is a computational tool for deciphering driver regulators of cell fate decisions from single-cell RNA-seq data.
CEFCON takes a prior gene interaction network and expression profiles from scRNA-seq data as inputs,
and consists of three main components, including cell-lineage-specific gene regulatory network (GRN) construction,
driver regulator identification and regulon-like gene module (RGM) identification.

![Overview.png](https://github.com/WPZgithub/CEFCON/blob/main/Overview.png)

CEFCON is a computational tool to characterize gene regulatory dynamics from a perspective of network control theory and identifies putative regulators that
drive cell fate decisions. CEFCON takes a prior gene interaction network and expression profiles from scRNA-seq data as inputs and consists of three main components, including cell-lineage-specific GRN construction, driver regulator
identification and regulon-like gene module identification.
![figs/Overview.png](https://github.com/WPZ/CEFCON/main/figs/Overview.png)

## Installation
### Requirements
- python>=3.7
- python>=3.8
- numpy, scipy, pandas, scikit-learn, tqdm
- [pytorch>=1.8.0](https://pytorch.org/get-started/locally/)
- [torch-geometric>=2.1.0](https://pytorch-geometric.readthedocs.io/en/latest/notes/installation.html)
- anndata>=0.7.0
- [scanpy>=1.9.0](https://scanpy.readthedocs.io/en/stable/installation.html)
- networkx>=2.8.0
- cvxpy>=1.2.0
- gurobipy>=9.5.0
- pyscenic>=0.12.0
- [pyscenic>=0.12.0](https://pyscenic.readthedocs.io/en/latest/installation.html)
- Recommended: An NVIDIA GPU with CUDA support for GPU acceleration
### Optional
### Optional (for evaluation and other analyses)
- rpy2>=3.4.1
- R>=3.6
- PRROC (R package)
- matplotlib-venn
- rpy2
- palantir
### Install using pip
```
pip install git+https://github.com/WPZgithub/CEFCON
pip install git+https://github.com/WPZgithub/CEFCON.git
```

### Using GUROBI
Expand All @@ -37,36 +37,19 @@ GUROBI is a commercial solver that requires licenses to run. Thankfully, it prov
licenses outside academia. If there is no problem about the licenses, you need to install the
`gurobipy` package.

If you have difficulty using GUROBI, a non-commercial solver, [SCIP](https://www.scipopt.org/), will be used by default.
If you have difficulty using GUROBI, a non-commercial solver, [SCIP](https://www.scipopt.org/), will be used. But it does not ensure a successful solution.

### Using GPU

We recommend using GPU. If so, you will need to install the GPU version of PyTorch.

## TODO
- [ ] Add support for visualization
- [ ] Add notebook file for analyses

## Input data
The pre-processed data in the paper can be downloaded from [here](https://www.dropbox.com/s/48oe7shjq0ih151/data.tar.gz?dl=0).
- `scRNA-seq data`: a 'csv' file in which rows represent cells and columns represent genes
- `Prior gene interaction network`: a edgelist formatted network file
```
From To Directed
Gene1 Gene1 True
Gene1 Gene2 True
...
GeneX GeneY False
```
We provide prior gene interaction networks for human and mouse respectively, located in `/prior_data`.
- `Differential expression level`:
```
GeneName absLogFC
Gene1 3.25
Gene2 1.06
...
GeneX 0.71
```
The pre-processed data in the paper can be downloaded from [here]().
- `Prior gene interaction network`: an edgelist formatted network file.\
   We provide prior gene interaction networks for human and mouse respectively, located in `/prior_data`.
- `scRNA-seq data`: a '.csv' file in which rows represent cells and columns represent genes, or a '.h5ad' formatted file with AnnData objects.
- `Differential expression level`: a 'csv' file contains the log fold change of each gene.\
Examples of input data are located in `/example_data`

## Usage example
### Command line usage
Expand All @@ -75,24 +58,24 @@ python CEFCON.py [-h] --input_expData PATH --input_priorNet PATH [--input_genesD
[--output_dim OUTPUT_DIM] [--heads HEADS] [--attention {COS,AD,SD}] [--miu MIU] [--epochs EPOCHS] [--repeats REPEATS] [--edge_threshold_param EDGE_THRESHOLD_PARAM] [--remove_self_loops]
[--topK_drivers TOPK_DRIVERS] --out_dir OUT_DIR
```
You can run the `run_CEFCON.sh` bash file for an usage example.
Please use `python CEFCON.py -h` to view parameters information. \
You can run the `run_CEFCON.sh` bash file for a usage example.

- Output (in the output folder `${OUT_DIR}/`):
- A cell-lineage-specific GRN with default name "cl_GRN.csv"
- Gene embeddings with default name "gene_embs.csv"
- A list of driver regulators with default name "driver_regulators.csv"
- A list of RGMs with default name "RGMs.csv"


## Citation
Please cite the following paper, if you find the repository or the paper useful.

Peizhuo Wang, Xiao Wen, Peng Lang, Hantao Shu, Lin Gao, Dan Zhao and Jianyang Zeng, [Deciphering Driver Regulators of Cell Fate Decisions by Constructing and Controlling Cell-Lineage-Specific Gene Regulatory Networks](https://arxiv.org/abs/2102.07810), Preprint, 2023
Peizhuo Wang, Xiao Wen, Peng Lang, Han Li, Hantao Shu, Lin Gao, Dan Zhao and Jianyang Zeng, [A network-based framework for deciphering driver regulators of cell fate decisions from single-cell RNA-seq data](https://github.com/WPZgithub/CEFCON), Preprint, 2023

```
@article{wang2022cefcon,
title={Deciphering Driver Regulators of Cell Fate Decisions by Constructing and Controlling Cell-Lineage-Specific Gene Regulatory Networks},
author={Wang, peizhuo and Wen, Xiao and Lang, Peng and Shu, Hantao and Gao, Lin and Zhao, Dan and Zeng, Jianyang},
@article{wang2023cefcon,
title={A network-based framework for deciphering driver regulators of cell fate decisions from single-cell RNA-seq data},
author={Wang, peizhuo and Wen, Xiao and Lang, Peng and Li, Han and Shu, Hantao and Gao, Lin and Zhao, Dan and Zeng, Jianyang},
journal={Preprint},
year={2023}
}
Expand Down

0 comments on commit 86e8cce

Please sign in to comment.