[![Tests](https://github.com/krishnanlab/PyGenePlexus/actions/workflows/tests.yml/badge.svg)](https://github.com/krishnanlab/PyGenePlexus/actions/workflows/tests.yml)
[![Documentation Status](https://readthedocs.org/projects/pygeneplexus/badge/?version=v2.0.2)](https://pygeneplexus.readthedocs.io/en/v2.0.2/?badge=v2.0.2)
[![PyPI](https://img.shields.io/pypi/v/geneplexus)](https://pypi.org/project/geneplexus/)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/geneplexus)
[![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
# PyGenePlexus [![DOI](https://zenodo.org/badge/423591778.svg)](https://zenodo.org/badge/latestdoi/423591778)
A Python package of the GenePlexus analysis pipeline.
* The [GenePlexusZoo Method Paper](https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1011773)
* The [GenePlexus Benchmarking Paper](https://academic.oup.com/bioinformatics/article/36/11/3457/5780279)
* The [Webserver](https://www.geneplexus.net/)
* The [Package Documentation](https://pygeneplexus.readthedocs.io)
* Data [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14149956.svg)](https://doi.org/10.5281/zenodo.14149956)
# Quick start
## Installation
Install the ``GenePlexus`` package via ``pip``.
```bash
pip install geneplexus
```
## Run GenePlexus pipline
### Example script
See `example/example_run.py` for example usage of the API.
### Command-line interface
```bash
geneplexus --input_file example/input_genes.txt --output_dir example_result
```
Full CLI options (check out with ``geneplexus --help``)
```txt
Run the GenePlexus pipline on a input gene list.
options:
-h, --help show this help message and exit
-i , --input_file Input gene list (.txt) file. (default: None)
-d , --gene_list_delimiter
Delimiter used in the gene list. Use 'newline' if the genes are separated
by new line, and use 'tab' if the genes are seperate by tabs. Other
generic separator are also supported, e.g. ', '. (default: newline)
-dd , --data_dir Directory in which the data are stored, if set to None, then use the
default data directory ~/.data/geneplexus (default: None)
-n , --network Network to use. The choices are: {BioGRID, STRING, IMP} (default: STRING)
-f , --feature Types of feature to use. The choices are: {SixSpeciesN2V} (default:
SixSpeciesN2V)
-s1 , --sp_trn Species of training data The choices are: {Human, Mouse, Fly, Worm,
Zebrafish, Yeast} (default: Human)
-s2 , --sp_res Species of results data The choices are: {Human, Mouse, Fly, Worm,
Zebrafish, Yeast} (default: Mouse)
-g1 , --gsc_trn Geneset collection used to generate negatives. The choices are: {GO,
Monarch, Mondo, Combined} (default: GO)
-g2 , --gsc_res Geneset collection used for model similarities. The choices are: {GO,
Monarch, Mondo, Combined} (default: GO)
-s , --small_edgelist_num_nodes
Number of nodes in the small edgelist. (default: 50)
-od , --output_dir Output directory with respect to the repo root directory. (default:
result/)
-l , --log_level Logging level. The choices are: {CRITICAL, ERROR, WARNING, INFO, DEBUG}
(default: INFO)
-ad, --auto_download_off
Turns off autodownloader which is on by default. (default: False)
-q, --quiet Suppress log messages (same as setting log_level to CRITICAL). (default:
False)
-z, --zip-output If set, then compress the output directory into a Zip file. (default:
False)
--clear-data Clear data directory and exit. (default: False)
--overwrite Overwrite existing result directory if set. (default: False)
--skip-mdl-sim Skip model similarity computation (default: False)
--skip-sm-edgelist Skip making small edgelist. (default: False)
```
# Dev
## Installation
Install the PyGenePlexus package in editable mode with dev dependencies
```bash
pip install -e ."[dev]"
```
## Testing
Run the default test suite
```bash
pytest test/
```
By default, test data will be cached. Thus, after the first test run, data redownload will not be tested. To force redownload, specify the ``--cache-clear`` option
```bash
pytest test/ --cache-clear
```
## Building Documentation
1. Install doc dependencies
```bash
pip install -r docs/requirements.txt
```
2. Build
```bash
cd docs
make html
```
3. Open doc
```bash
open build/html/index.html
```
Raw data
{
"_id": null,
"home_page": "https://github.com/krishnanlab/PyGenePlexus",
"name": "geneplexus",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "Network Biology, Supervised Learning, Gene Classification",
"author": "Remy Liu and Christopher A. Mancuso",
"author_email": "renmingl@andrew.cmu.edu, CHRISTOPHER.A.MANCUSO@CUANSCHUTZ.EDU",
"download_url": "https://files.pythonhosted.org/packages/c5/f1/a981e3d69df834ed6f3648110931012e877dfd7989b425863fd9bf7809a2/geneplexus-2.0.2.tar.gz",
"platform": null,
"description": "[![Tests](https://github.com/krishnanlab/PyGenePlexus/actions/workflows/tests.yml/badge.svg)](https://github.com/krishnanlab/PyGenePlexus/actions/workflows/tests.yml)\n[![Documentation Status](https://readthedocs.org/projects/pygeneplexus/badge/?version=v2.0.2)](https://pygeneplexus.readthedocs.io/en/v2.0.2/?badge=v2.0.2)\n[![PyPI](https://img.shields.io/pypi/v/geneplexus)](https://pypi.org/project/geneplexus/)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/geneplexus)\n[![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\n# PyGenePlexus [![DOI](https://zenodo.org/badge/423591778.svg)](https://zenodo.org/badge/latestdoi/423591778)\n\nA Python package of the GenePlexus analysis pipeline.\n\n* The [GenePlexusZoo Method Paper](https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1011773)\n* The [GenePlexus Benchmarking Paper](https://academic.oup.com/bioinformatics/article/36/11/3457/5780279)\n* The [Webserver](https://www.geneplexus.net/)\n* The [Package Documentation](https://pygeneplexus.readthedocs.io)\n* Data [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14149956.svg)](https://doi.org/10.5281/zenodo.14149956)\n\n# Quick start\n\n## Installation\n\nInstall the ``GenePlexus`` package via ``pip``.\n\n```bash\npip install geneplexus\n```\n\n## Run GenePlexus pipline\n\n### Example script\n\nSee `example/example_run.py` for example usage of the API.\n\n### Command-line interface\n\n```bash\ngeneplexus --input_file example/input_genes.txt --output_dir example_result\n```\n\nFull CLI options (check out with ``geneplexus --help``)\n\n```txt\nRun the GenePlexus pipline on a input gene list.\n\noptions:\n -h, --help show this help message and exit\n -i , --input_file Input gene list (.txt) file. (default: None)\n -d , --gene_list_delimiter\n Delimiter used in the gene list. Use 'newline' if the genes are separated\n by new line, and use 'tab' if the genes are seperate by tabs. Other\n generic separator are also supported, e.g. ', '. (default: newline)\n -dd , --data_dir Directory in which the data are stored, if set to None, then use the\n default data directory ~/.data/geneplexus (default: None)\n -n , --network Network to use. The choices are: {BioGRID, STRING, IMP} (default: STRING)\n -f , --feature Types of feature to use. The choices are: {SixSpeciesN2V} (default:\n SixSpeciesN2V)\n -s1 , --sp_trn Species of training data The choices are: {Human, Mouse, Fly, Worm,\n Zebrafish, Yeast} (default: Human)\n -s2 , --sp_res Species of results data The choices are: {Human, Mouse, Fly, Worm,\n Zebrafish, Yeast} (default: Mouse)\n -g1 , --gsc_trn Geneset collection used to generate negatives. The choices are: {GO,\n Monarch, Mondo, Combined} (default: GO)\n -g2 , --gsc_res Geneset collection used for model similarities. The choices are: {GO,\n Monarch, Mondo, Combined} (default: GO)\n -s , --small_edgelist_num_nodes\n Number of nodes in the small edgelist. (default: 50)\n -od , --output_dir Output directory with respect to the repo root directory. (default:\n result/)\n -l , --log_level Logging level. The choices are: {CRITICAL, ERROR, WARNING, INFO, DEBUG}\n (default: INFO)\n -ad, --auto_download_off\n Turns off autodownloader which is on by default. (default: False)\n -q, --quiet Suppress log messages (same as setting log_level to CRITICAL). (default:\n False)\n -z, --zip-output If set, then compress the output directory into a Zip file. (default:\n False)\n --clear-data Clear data directory and exit. (default: False)\n --overwrite Overwrite existing result directory if set. (default: False)\n --skip-mdl-sim Skip model similarity computation (default: False)\n --skip-sm-edgelist Skip making small edgelist. (default: False)\n```\n\n# Dev\n\n## Installation\n\nInstall the PyGenePlexus package in editable mode with dev dependencies\n\n```bash\npip install -e .\"[dev]\"\n```\n\n## Testing\n\nRun the default test suite\n\n```bash\npytest test/\n```\n\nBy default, test data will be cached. Thus, after the first test run, data redownload will not be tested. To force redownload, specify the ``--cache-clear`` option\n\n```bash\npytest test/ --cache-clear\n```\n\n## Building Documentation\n\n1. Install doc dependencies\n\n```bash\npip install -r docs/requirements.txt\n```\n\n2. Build\n\n```bash\ncd docs\nmake html\n```\n\n3. Open doc\n\n```bash\nopen build/html/index.html\n```\n",
"bugtrack_url": null,
"license": "BSD 3-Clause License",
"summary": "Network based gene classification",
"version": "2.0.2",
"project_urls": {
"Documentation": "https://pygeneplexus.readthedocs.io",
"Homepage": "https://github.com/krishnanlab/PyGenePlexus"
},
"split_keywords": [
"network biology",
" supervised learning",
" gene classification"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "17707a064f860d5572202508bb5cde5fa52e6f4db940b24227b0f40a0e73044e",
"md5": "a3f8a2bf9d3aa7b57e1fb0a68478c0f9",
"sha256": "25fcb3ecd02a233294b7a3947182e559d3cdf44e22df52ca7d8fb0f6dfee83ef"
},
"downloads": -1,
"filename": "geneplexus-2.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a3f8a2bf9d3aa7b57e1fb0a68478c0f9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 26863,
"upload_time": "2024-12-18T12:42:05",
"upload_time_iso_8601": "2024-12-18T12:42:05.733910Z",
"url": "https://files.pythonhosted.org/packages/17/70/7a064f860d5572202508bb5cde5fa52e6f4db940b24227b0f40a0e73044e/geneplexus-2.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c5f1a981e3d69df834ed6f3648110931012e877dfd7989b425863fd9bf7809a2",
"md5": "51de55278e38e88e726274d90d7b131a",
"sha256": "c01b93467e80b462175c80a6a57a1364ae6355ff1a5027bbfe9cc3a67b01e520"
},
"downloads": -1,
"filename": "geneplexus-2.0.2.tar.gz",
"has_sig": false,
"md5_digest": "51de55278e38e88e726274d90d7b131a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 28933,
"upload_time": "2024-12-18T12:42:08",
"upload_time_iso_8601": "2024-12-18T12:42:08.075269Z",
"url": "https://files.pythonhosted.org/packages/c5/f1/a981e3d69df834ed6f3648110931012e877dfd7989b425863fd9bf7809a2/geneplexus-2.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-18 12:42:08",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "krishnanlab",
"github_project": "PyGenePlexus",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "numpy",
"specs": [
[
"==",
"1.23.5"
]
]
},
{
"name": "requests",
"specs": [
[
"==",
"2.31.0"
]
]
},
{
"name": "scikit-learn",
"specs": [
[
"==",
"1.6.0"
]
]
},
{
"name": "statsmodels",
"specs": [
[
"==",
"0.14.2"
]
]
},
{
"name": "tqdm",
"specs": [
[
"==",
"4.67.1"
]
]
},
{
"name": "pystow",
"specs": [
[
"==",
"0.6.1"
]
]
},
{
"name": "pyyaml",
"specs": [
[
"==",
"6.0.1"
]
]
}
],
"tox": true,
"lcname": "geneplexus"
}