Package: pathwayParameterAdvising
Pathway parameter advisingParameter advising for biological pathway creation algorithms.CitationPathway parameter advising is described in the following preprint:Automating parameter selection to avoid implausible biological pathway models.
Chris S Magnano, Anthony Gitter.bioRxiv2019. doi:10.1101/845834DependenciesPathway parameter advising was written and tested using Python 3.6 and requires the packagesnetworkx,numpy, andrequests.Graphlet decomposition is performed using the PGD library.
The PGD library can be installed from itsGitHub repositoryand complied usingmake.
The scriptsetupPGD.shrequires git, and has been provided to aid in installing the PGD library.
However, it is not guaranteed to work on all systems and has only been tested on Ubuntu 18.04 and macOS 10.13.
In general, these scripts have only been tested in a Linux environment initially.Compiling PGD for macOSMany macOS systems use clang++ instead of g++ and set g++ as an alias for clang++.
PGD requires g++ instead of clang++.
Therefore, macOS users must install g++ and set it as the compiler before running thesetupPGD.shscript.There are multiple options for installing g++.
We recommendHomebrew.
With Homebrew:Install gcc with the commandbrew install gccDefine the CC and CXX environmental variables according to the location of brew install. For example:export CC=/usr/local/Cellar/gcc/10.1.0/bin/gcc-10export CXX=/usr/local/Cellar/gcc/10.1.0/bin/g++-10InstallationPathway parameter advising can be download from either PyPI or GitHub.This package includes example data and scripts to manage reference pathways and aid in performing graphlet decomposition which are not a part of the binary Python package in PyPI.
Therefore, it is recommended to download the package source.PyPI download instructionsIn order to download all example scripts and data with pathway parameter advising, runpipusing the following flags:pip download --no-deps --no-binary :all: pathwayParameterAdvisingThis will download a.tarfile into the current directory.
Untar the resulting archive file:tar -xf pathwayParameterAdvising-*.tar.gzFrom inside thepathway-parameter-advising-X.Xdirectory (where X.X is the current version of pathway parameter advising), runpython setup.py installto install pathway parameter advising.GitHub download instructionsPathway parameter advising can also be downloaded fromits GitHub repository.From inside thepathway-parameter-advisingdirectory, runpython setup.py installto install pathway parameter advising.UsageUsing helper scriptsThe pathway parameter advisor creates a ranking of pathways based on their
topological distance to a set of reference pathways.The recommended way to use pathway parameter advising is through the scriptbin/runPPA.sh.runPPA.shtakes the following positional arguments:dataDirectory: The directory where the networks are stored as sif or edgelist files in a subdirectory named 'pathways'. See Wnt and Prolactin for examples.outFile:       The output filename for the final parameter ranking.pgdDirectory:  (Optional) The directory where pgd is installed. Will default to '../lib/pgd'delim:         (Optional) The limiter used for edges in the input network files. Assumed to be whitespace.TherunPPA.shoutput is sorted from lowest to highest score.
This is because the score is a distance from the reference pathways, so the parameter combination with the smallest score is best.
See theIL2 outputas an example.Running Python package directlyPathway parameter advising can also be run directly as a Python script or library, if different options are desired.pathwayParameterAdvising/ppa.pycan be run as a command line script, or used as a Python package in which case the main entry point is the methodpathwayParameterAdvising.rankParameters.ppa.pytakes the following arguments:-h, --help            show this help message and exit--genPathwayGraphlets File where each line is a graphlets file of a generated pathway. Required.--refPathwayGraphlets File where each line is a graphlets file of a reference pathway. Required.--outFile OUTFILE     File to store output in. Optional, default = "parameterRanking.txt".--minSize MINSIZE     Minimum size a reference pathway must be to be rankings. Optional, default=15.--outputMax           If set, will return only the top pathway instead of a full ranking. Optional, default = False.--outputScore         If set, will return scores in addition to pathway rankings. Optional, default = False.--nameMap NAMEMAP     Either a file mapping generated pathway fileNames to parameter values, "stripped" to exclude the directory and extension from the filename, or "fileName" to use raw file names. Optional, default = stripped.--saveGraphlets       If set, will save graphlet distributions as pickled dictionaries.--verbose             If set, will print intermediate status updates. Optional, default = False.Examplesbin/runPPA.shruns pathway parameter advising on any set of sif or edgelist networks.
The following commands will runrunPPA.shwith the includedWntandProlactindatasets from thebindirectory, where../lib/pgdis installation location of the PGD library:bash runPPA.sh ../data/Wnt wnt_ranking.txt ../lib/pgdbash runPPA.sh ../data/Prolactin prolactin_ranking.txt ../lib/pgdbin/runNetBoxIL2.shruns pathway parameter advising for the precomputed graphlet files for NetBox IL2 pathways using Reactome reference pathways.
It has no arguments.These scripts must be run from thebindirectory, and file path arguments are relative to thebindirectory.Graphlet creationGraphlet decomposition files are created with theParallel Graphlet Decomposition library.
Files are the piped output from the pgd script:./pgd -f inputGraphFile >> graphletOutputFile.gOut.Other scriptsbin/setupPGD.shinstalls the PGD library into thelibdirectory, which is created if it does not exist.
PGD is cloned from itsGitHub repositoryand complied usingmake.
It can then be run from the base pathway parameter advising directory aslib/pgd/pgd -f inputGraphFile.
Note this script has been included to help install the PGD library, but is not guaranteed to run on all systems.
It has been tested on Ubuntu 18.04 and macOS 10.13.setupPGD.shdoes not take any arguments.bin/updateReactome.shdownloads the latest version of all human Reactome pathways fromPathway Commonsand performs graphlet decomposition on them.
It takes the following positional arguments:pgdDirectory:      The directory where pgd is installed. Will default to '../lib/pgd'reactomeDirectory: (Optional) The directory where Reactome pathways and graphlets will be stored. If not given will default to '../referencePathways'.Pathway reconstruction algorithmsThe pathway reconstruction algorithms used in the pathway parameter advising manuscript are available from:PathLinker:PathLinkerNetBox: originally usednetbox.tar.gz, which has since been replaced byNetBoxRPrize-Collecting Steiner Forest:OmicsIntegratorandmsgsteinerMinimum-Cost Flow:OR-Toolsandwrapper script