This is cRegulon software: an optimization model to identify combinatorial regulon from single cell expression and chromatin accessibility data.
- Python >=3.0 with packages: numpy, sklearn, and scipy
- matlab >= 2021
- Homer
wget https://github.com/fengzhanying/cRegulon/archive/master.zip
unzip master.zip
cd cRegulon-master
wget https://www.dropbox.com/s/0h1wxlu7iqheajo/cRegulon.tar.gz
tar -xzvf cRegulon.tar.gz
The typic input file (CL_scRNA.txt) of scRNA-seq data is a gene by cell count matrix:
scRNA | RNACell1 | RNACell2 | RNACell3 |
Gene1 | 5 | 0 | 3 |
Gene2 | 0 | 2 | 0 |
Gene3 | 1 | 0 | 0 |
scATAC | ATACell1 | ATACell2 | ATACell3 | ATACell4 |
Peak1 | 1 | 0 | 1 | 0 |
Peak2 | 0 | 1 | 0 | 1 |
Peak3 | 1 | 0 | 0 | 0 |
The typic cell type meta file (CL_scRNA_Cluster.txt) of scRNA-seq data is as follows:
RNACell1 | C1 |
RNACell2 | C2 |
RNACell3 | C3 |
ATACell1 | C2 |
ATACell2 | C3 |
ATACell3 | C1 |
ATACell4 | C2 |
We run the following script to construct regulatory network for each cell cluster (current we support hg38 and mm10):
source runNet.sh CL hg38
This process will produce GRN files (network.txt, TFName.txt, TGName.txt, TRS.txt) for each cell cluster.
We run the following script of cRegulon model:
python cRegulon.py CL hg38
This will output:
- TF combinatorial effects in each cRegulon: X.txt
- Association matrix between cell clusters and cRegulons: A.txt
- TF module of each cRegulon: TFs (*TF.txt) and TF pairs (*TFPair.txt).
- Regulatory sub-network of each cRegulon: *SubNet.txt
We run the following script to annotate cells of certain cell type:
python Annot.py CL
If you use cRegulon software or cRegulon associated concepts, please cite:
Zhanying Feng, et al. Modeling combinatorial regulation from single-cell multi-omics provides units underpinning cell type landscape. 2024.