Skip to content

A network based gene classification library to generate genome wide predictions about genes that are functionally similar to the input gene list.

License

Notifications You must be signed in to change notification settings

krishnanlab/PyGenePlexus

Repository files navigation

Tests Documentation Status PyPI PyPI - Python Version License Code style: black

PyGenePlexus DOI

A Python package of the GenePlexus analysis pipeline.

Quick start

Installation

Install the GenePlexus package via pip.

pip install geneplexus

Run GenePlexus pipline

Example script

See example/example_run.py for example usage of the API.

Command-line interface

geneplexus --input_file example/input_genes.txt --output_dir example_result

Full CLI options (check out with geneplexus --help)

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

pip install -e ."[dev]"

Testing

Run the default test suite

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

pytest test/ --cache-clear

Building Documentation

  1. Install doc dependencies
pip install -r docs/requirements.txt
  1. Build
cd docs
make html
  1. Open doc
open build/html/index.html

About

A network based gene classification library to generate genome wide predictions about genes that are functionally similar to the input gene list.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages