Master | Develop |
---|---|
This is parallel implementation of original BAGEL: software for Bayesian analysis of gene knockout screens using pooled library CRISPR or RNAi.
BAGEL is a Bayesian classifier for pooled library genetic perturbation screens, using either CRISPR-Cas9 or shRNA libraries. It uses training sets of known essential and nonessential genes to estimate what the fold change distribution of an essential or nonessential gene should look like. Then, for each uncharacterized gene, it takes all observations of reagents targeting that gene (guide RNA, for CRISPR-Cas9 screens, or short hairpin RNA) and makes a probabilistic statement about whether those observations were more likely drawn from the essential or nonessential training set. A log2 Bayes Factor for each gene is reported.
Uses python pool to parallelise bootstrapping step
BAGELp
has multiple commands, listed with BAGELp --help
.
Parallel implementation of original BAGEL
Input is tab separated txt file (see example file in tests/data/test_fc.txt
Please refere original BAGEL for detailed file format documentation
Calculates log2 Bayes Factor for each gene.
Please refere original BAGEL for detailed file format documentation
Installing via pip install
. Simply execute with the path to the compiled 'whl' found on the release page:
pip install BAGELp.X.X.X-py3-none-any.whl
Release .whl
files are generated as part of the release process and can be found on the release page
pip
will install the relevant dependancies, listed here for convenience, please refer requirements.txt for versions:
This project uses git pre-commit hooks. As these will execute on your system it is entirely up to you if you activate them.
If you want tests, coverage reports and lint-ing to automatically execute before a commit you can activate them by running:
git config core.hooksPath git-hooks
Only a test failure will block a commit, lint-ing is not enforced (but please consider following the guidance).
You can run the same checks manually without a commit by executing the following in the base of the clone:
./run_tests.sh
cd $PROJECTROOT
hash virtualenv || pip3 install virtualenv
virtualenv -p python3 env
source env/bin/activate
python setup.py develop # so bin scripts can find module
For testing/coverage (./run_tests.sh
)
source env/bin/activate # if not already in env
pip install pytest
pip install pytest-cov
Also see Package Dependancies
Make sure the version is incremented in ./setup.py
Generate .whl
source env/bin/activate # if not already
python setup.py bdist_wheel -d dist
Install .whl
# this creates an wheel archive which can be copied to a deployment location, e.g.
scp dist/BAGELp.X.X.X-py3-none-any.whl user@host:~/wheels
# on host
pip install --find-links=~/wheels BAGELp
If using BAGELp please site
URL of this repository and
Hart T, Moffat J. BAGEL: a computational framework for identifying essential genes from pooled library screens. BMC Bioinformatics. 2016 Apr 16;17:164. doi:10.1186/s12859-016-1015-8.