scripro


Namescripro JSON
Version 1.1.9 PyPI version JSON
download
home_pagehttps://github.com/xuyunfan9991/SCRIPro
SummarySingle-cell gene regulation network inference by large-scale data integration Pro
upload_time2024-03-25 07:37:39
maintainerNone
docs_urlNone
authorXu Yunfan
requires_python>=3.8
licenseGPL-3.0+
keywords single-cell gene regulatory network inference using chip-seq for multi-omics
VCS
bugtrack_url
requirements anndata h5py matplotlib numpy pandas scanpy scipy seaborn scglue lisa2 tables tqdm ipywidgets
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # SCRIPro

[![Documentation Status](https://readthedocs.org/projects/scripro/badge/?version=latest)](https://scripro.readthedocs.io/en/latest/?badge=latest)


The increasing availability of single-cell genomics data allows characterizing gene regulation networks (GRNs) at an unprecedented resolution. Previously we developed SCRIP, a computational method that integrates single-cell ATAC-seq data with a large-scale transcription regulator (TR) ChIP-seq data and motif reference for reconstructing single-cell TR activities and GRNs. Here, we present SCRIPro, an extended framework of SCRIP that suits both single-cell and spatial multi-ome data. SCRIPro first performed a density clustering based on expression and spatial similarity of the data to generate high coverage SuperCells. Next, SCRIPro performed in silico deletion analyses based on matched scATAC-seq or reconstructed chromatin landscapes from Cistrome accessibility data to evaluate the importance of TRs in regulating each SuperCell. Finally, SCRIPro combines the importance score of each TR with its gene expression, which generates the TR-centered GRNs at Supercell resolution. We applied SCRIPro on human PBMC and human B-cell lymphoma scMulti-ome data, as well as mouse developing embryo spatial transcriptomic data, and demonstrated that SCRIPro is able to identify cell-type-specific TR regulations and show superior performance compared to conventional motif-based methods such as SCENIC+. Taken together, SCRIPro is a convenient and fast method that could reconstruct TR activities and GRNs for both single-cell and spatial multi-omic data.

![avatar](docs/_static/img/workflow_new.png)

## Documentation

For the detailed usage and examples of SCRIPro, please refer to the [documentation](https://scripro.readthedocs.io/en/latest).  
For any problems encountered in using, feel free to open an [issue](https://github.com/xuyunfan9991/SCRIPro/issues).  


## Installation
### Use the following commands to install Minicoda3:
``` bash
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
```
It is recommended to install scripro to a conda virtual environment.:
~~~~
conda create -n scripro python=3.8
conda install -c liulab-dfci lisa2
lisa install hg38 oneshot ./hg38_scripro.h5 --force
lisa install mm10 oneshot ./mm10_scripro.h5 --force
~~~~~
hg38_scripro.h5 and mm10_scripro.h5 can be downloaded from https://zenodo.org/records/10554173.
### Install SCRIPro from Github (developing version)
```bash
git clone git@github.com:xuyunfan9991/SCRIPro.git
cd SCRIPro
python setup.py install
```

### Install SCRIPro from Pypi
~~~~
pip install scripro
~~~~~

## Usage
``` bash
scripro enrich_rna [-h] -i FEATURE_MATRIX -n CELL_NUM -s {hg38,mm10} -p PROJECT [-t N_CORES]

optional arguments:
  -h, --help            show this help message and exit

Input files arguments:
  -i FEATURE_MATRIX, --input_feature_matrix FEATURE_MATRIX
                        scRNA-seq data matrix . REQUIRED.
  -n CELL_NUM, --cell_number CELL_NUM
                        Supercell Cell Number . REQUIRED.
  -s {hg38,mm10}, --species {hg38,mm10}
                        Species. "hg38"(human) or "mm10"(mouse). REQUIRED.

Output arguments:
  -p PROJECT, --project PROJECT
                        Project name, which will be used to generate output files.

Other options:
  -t N_CORES, --thread N_CORES
                        Number of cores use to run SCRIPro. DEFAULT: 8.

```
``` bash
scripro enrich_multiome [-h] -i FEATURE_MATRIX -n CELL_NUM -s {hg38,mm10} -a {fragment,matrix} -b {0,1} -f ATAC_PATH [-g GLUE_ANNOTATION] -p
                               PROJECT [-t N_CORES]

optional arguments:
  -h, --help            show this help message and exit

Input files arguments:
  -i FEATURE_MATRIX, --input_feature_matrix FEATURE_MATRIX
                        A cell by peak matrix . REQUIRED.
  -n CELL_NUM, --cell_number CELL_NUM
                        Supercell Cell Number . REQUIRED.
  -s {hg38,mm10}, --species {hg38,mm10}
                        Species. "hg38"(human) or "mm10"(mouse). REQUIRED.
  -a {fragment,matrix}, --atac_file_type {fragment,matrix}
                        atac_file_type,"fragment" or "matrix(h5,h5ad,mtx)"
  -b {0,1}, --barcode_corresponds {0,1}
                        Whether the scRNA-seq barcode matches the scATAC-seq barcode. "0"(Match) or "1"(Not match). REQUIRED.
  -f ATAC_PATH, --atac_file ATAC_PATH
                        ATAC file path.REQUIRED.
  -g GLUE_ANNOTATION, --glue_annotation GLUE_ANNOTATION
                        If the scRNA-seq barcodes \do not match the scATAC-seq barcodes, the glue_annotation file that will be used.,like
                        'gencode.v43.chr_patch_hapl_scaff.annotation.gtf.gz'

Output arguments:
  -p PROJECT, --project PROJECT
                        Project name, which will be used to generate output files.

Other options:
  -t N_CORES, --thread N_CORES
                        Number of cores use to run SCRIPros. DEFAULT: 8.

```
``` bash
scripro get_tf_target [-h] -i SCRIPRO_RESULT -t TF_NAME -p PROJECT

optional arguments:
  -h, --help            show this help message and exit

Input files arguments:
  -i SCRIPRO_RESULT, --input_scripro_result SCRIPRO_RESULT
                        scripro result pickle file. REQUIRED.
  -t TF_NAME, --tf_name TF_NAME
                        Tf name to calculate the target . REQUIRED.

Output arguments:
  -p PROJECT, --project PROJECT
                        Project name, which will be used to generate output file.
```


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/xuyunfan9991/SCRIPro",
    "name": "scripro",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "Single-Cell Gene Regulatory Network Inference using ChIP-seq for Multi-omics",
    "author": "Xu Yunfan",
    "author_email": "xuyunfan9991@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/19/c1/53501a70b2232bcbe9dadfdd86915b19f39eaa51acb3909e8e4fb18a5000/scripro-1.1.9.tar.gz",
    "platform": null,
    "description": "# SCRIPro\n\n[![Documentation Status](https://readthedocs.org/projects/scripro/badge/?version=latest)](https://scripro.readthedocs.io/en/latest/?badge=latest)\n\n\nThe increasing availability of single-cell genomics data allows characterizing gene regulation networks (GRNs) at an unprecedented resolution. Previously we developed SCRIP, a computational method that integrates single-cell ATAC-seq data with a large-scale transcription regulator (TR) ChIP-seq data and motif reference for reconstructing single-cell TR activities and GRNs. Here, we present SCRIPro, an extended framework of SCRIP that suits both single-cell and spatial multi-ome data. SCRIPro first performed a density clustering based on expression and spatial similarity of the data to generate high coverage SuperCells. Next, SCRIPro performed in silico deletion analyses based on matched scATAC-seq or reconstructed chromatin landscapes from Cistrome accessibility data to evaluate the importance of TRs in regulating each SuperCell. Finally, SCRIPro combines the importance score of each TR with its gene expression, which generates the TR-centered GRNs at Supercell resolution. We applied SCRIPro on human PBMC and human B-cell lymphoma scMulti-ome data, as well as mouse developing embryo spatial transcriptomic data, and demonstrated that SCRIPro is able to identify cell-type-specific TR regulations and show superior performance compared to conventional motif-based methods such as SCENIC+. Taken together, SCRIPro is a convenient and fast method that could reconstruct TR activities and GRNs for both single-cell and spatial multi-omic data.\n\n![avatar](docs/_static/img/workflow_new.png)\n\n## Documentation\n\nFor the detailed usage and examples of SCRIPro, please refer to the [documentation](https://scripro.readthedocs.io/en/latest).  \nFor any problems encountered in using, feel free to open an [issue](https://github.com/xuyunfan9991/SCRIPro/issues).  \n\n\n## Installation\n### Use the following commands to install Minicoda3\uff1a\n``` bash\nwget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh\nbash Miniconda3-latest-Linux-x86_64.sh\n```\nIt is recommended to install scripro to a conda virtual environment.:\n~~~~\nconda create -n scripro python=3.8\nconda install -c liulab-dfci lisa2\nlisa install hg38 oneshot ./hg38_scripro.h5 --force\nlisa install mm10 oneshot ./mm10_scripro.h5 --force\n~~~~~\nhg38_scripro.h5 and mm10_scripro.h5 can be downloaded from https://zenodo.org/records/10554173.\n### Install SCRIPro from Github (developing version)\n```bash\ngit clone git@github.com:xuyunfan9991/SCRIPro.git\ncd SCRIPro\npython setup.py install\n```\n\n### Install SCRIPro from Pypi\n~~~~\npip install scripro\n~~~~~\n\n## Usage\n``` bash\nscripro enrich_rna [-h] -i FEATURE_MATRIX -n CELL_NUM -s {hg38,mm10} -p PROJECT [-t N_CORES]\n\noptional arguments:\n  -h, --help            show this help message and exit\n\nInput files arguments:\n  -i FEATURE_MATRIX, --input_feature_matrix FEATURE_MATRIX\n                        scRNA-seq data matrix . REQUIRED.\n  -n CELL_NUM, --cell_number CELL_NUM\n                        Supercell Cell Number . REQUIRED.\n  -s {hg38,mm10}, --species {hg38,mm10}\n                        Species. \"hg38\"(human) or \"mm10\"(mouse). REQUIRED.\n\nOutput arguments:\n  -p PROJECT, --project PROJECT\n                        Project name, which will be used to generate output files.\n\nOther options:\n  -t N_CORES, --thread N_CORES\n                        Number of cores use to run SCRIPro. DEFAULT: 8.\n\n```\n``` bash\nscripro enrich_multiome [-h] -i FEATURE_MATRIX -n CELL_NUM -s {hg38,mm10} -a {fragment,matrix} -b {0,1} -f ATAC_PATH [-g GLUE_ANNOTATION] -p\n                               PROJECT [-t N_CORES]\n\noptional arguments:\n  -h, --help            show this help message and exit\n\nInput files arguments:\n  -i FEATURE_MATRIX, --input_feature_matrix FEATURE_MATRIX\n                        A cell by peak matrix . REQUIRED.\n  -n CELL_NUM, --cell_number CELL_NUM\n                        Supercell Cell Number . REQUIRED.\n  -s {hg38,mm10}, --species {hg38,mm10}\n                        Species. \"hg38\"(human) or \"mm10\"(mouse). REQUIRED.\n  -a {fragment,matrix}, --atac_file_type {fragment,matrix}\n                        atac_file_type,\"fragment\" or \"matrix(h5,h5ad,mtx)\"\n  -b {0,1}, --barcode_corresponds {0,1}\n                        Whether the scRNA-seq barcode matches the scATAC-seq barcode. \"0\"(Match) or \"1\"(Not match). REQUIRED.\n  -f ATAC_PATH, --atac_file ATAC_PATH\n                        ATAC file path.REQUIRED.\n  -g GLUE_ANNOTATION, --glue_annotation GLUE_ANNOTATION\n                        If the scRNA-seq barcodes \\do not match the scATAC-seq barcodes, the glue_annotation file that will be used.,like\n                        'gencode.v43.chr_patch_hapl_scaff.annotation.gtf.gz'\n\nOutput arguments:\n  -p PROJECT, --project PROJECT\n                        Project name, which will be used to generate output files.\n\nOther options:\n  -t N_CORES, --thread N_CORES\n                        Number of cores use to run SCRIPros. DEFAULT: 8.\n\n```\n``` bash\nscripro get_tf_target [-h] -i SCRIPRO_RESULT -t TF_NAME -p PROJECT\n\noptional arguments:\n  -h, --help            show this help message and exit\n\nInput files arguments:\n  -i SCRIPRO_RESULT, --input_scripro_result SCRIPRO_RESULT\n                        scripro result pickle file. REQUIRED.\n  -t TF_NAME, --tf_name TF_NAME\n                        Tf name to calculate the target . REQUIRED.\n\nOutput arguments:\n  -p PROJECT, --project PROJECT\n                        Project name, which will be used to generate output file.\n```\n\n",
    "bugtrack_url": null,
    "license": "GPL-3.0+",
    "summary": "Single-cell gene regulation network inference by large-scale data integration Pro",
    "version": "1.1.9",
    "project_urls": {
        "Homepage": "https://github.com/xuyunfan9991/SCRIPro"
    },
    "split_keywords": [
        "single-cell",
        "gene",
        "regulatory",
        "network",
        "inference",
        "using",
        "chip-seq",
        "for",
        "multi-omics"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "43e16a43671b868c99fcac849e164d39543a21f37abb62307d77e5b96a66a90f",
                "md5": "8707d38eea04c65740d1cc65acc0f0bb",
                "sha256": "d634c8ede11d15aaae256b89db8066c4148fcff673244949941d72ad94b62544"
            },
            "downloads": -1,
            "filename": "scripro-1.1.9-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8707d38eea04c65740d1cc65acc0f0bb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 21721258,
            "upload_time": "2024-03-25T07:37:05",
            "upload_time_iso_8601": "2024-03-25T07:37:05.608662Z",
            "url": "https://files.pythonhosted.org/packages/43/e1/6a43671b868c99fcac849e164d39543a21f37abb62307d77e5b96a66a90f/scripro-1.1.9-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "19c153501a70b2232bcbe9dadfdd86915b19f39eaa51acb3909e8e4fb18a5000",
                "md5": "decd8e2e62b245c10becab611b5d1ccf",
                "sha256": "8446cd20f89eae19a5171dc51ae07ea4245a4cae3cc364cf39466b7a422f0377"
            },
            "downloads": -1,
            "filename": "scripro-1.1.9.tar.gz",
            "has_sig": false,
            "md5_digest": "decd8e2e62b245c10becab611b5d1ccf",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 21360003,
            "upload_time": "2024-03-25T07:37:39",
            "upload_time_iso_8601": "2024-03-25T07:37:39.883487Z",
            "url": "https://files.pythonhosted.org/packages/19/c1/53501a70b2232bcbe9dadfdd86915b19f39eaa51acb3909e8e4fb18a5000/scripro-1.1.9.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-25 07:37:39",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "xuyunfan9991",
    "github_project": "SCRIPro",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "anndata",
            "specs": [
                [
                    "==",
                    "0.9.2"
                ]
            ]
        },
        {
            "name": "h5py",
            "specs": [
                [
                    "==",
                    "3.7.0"
                ]
            ]
        },
        {
            "name": "matplotlib",
            "specs": [
                [
                    "==",
                    "3.7.1"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    "==",
                    "1.22.3"
                ]
            ]
        },
        {
            "name": "pandas",
            "specs": [
                [
                    "==",
                    "2.0.3"
                ]
            ]
        },
        {
            "name": "scanpy",
            "specs": [
                [
                    "==",
                    "1.9.5"
                ]
            ]
        },
        {
            "name": "scipy",
            "specs": [
                [
                    "==",
                    "1.9.1"
                ]
            ]
        },
        {
            "name": "seaborn",
            "specs": [
                [
                    "==",
                    "0.12.2"
                ]
            ]
        },
        {
            "name": "scglue",
            "specs": [
                [
                    "==",
                    "0.3.2"
                ]
            ]
        },
        {
            "name": "lisa2",
            "specs": []
        },
        {
            "name": "tables",
            "specs": []
        },
        {
            "name": "tqdm",
            "specs": []
        },
        {
            "name": "ipywidgets",
            "specs": []
        }
    ],
    "lcname": "scripro"
}
        
Elapsed time: 0.24712s