Make a virtual environment and activate it, run make venv
make venv
source venv/bin/activateInstall all the development dependencies. Will install packages from all requirements-*.txt files.
make installDonor files are in data directory, specified in the conf file.
data
└── ct_mr_don_10.txt
Configure input/output directories and EM specific parameters.
conf
└── minimal-configuration.json
Run the test_em script to produce frequences from the example data.
python test_em.py
Results can be found in output directory.
How to contribute:
- Fork the repository: https://github.com/nmdp-bioinformatics/py-graph-em.git
This will create a new repository with the given name e.g.
py-graph-em. - Clone the repository locally
git clone https://github.com/pbashyal-nmdp/py-graph-em.git cd py-graph-em - Make a virtual environment and activate it, run
make venv> make venv python3 -m venv venv --prompt py-graph-em-venv ===================================================================== To activate the new virtual environment, execute the following from your shell source venv/bin/activate
- Source the virtual environment
source venv/bin/activate - Development workflow is driven through
Makefile. Usemaketo list show all targets.> make clean remove all build, test, coverage and Python artifacts clean-build remove build artifacts clean-pyc remove Python file artifacts clean-test remove test and coverage artifacts lint check style with flake8 behave run the behave tests, generate and serve report pytest run tests quickly with the default Python test run all(BDD and unit) tests coverage check code coverage quickly with the default Python dist builds source and wheel package docker-build build a docker image for the service docker build a docker image for the service install install the package to the active Python's site-packages venv creates a Python3 virtualenv environment in venv activate activate a virtual environment. Run `make venv` before activating. - Install all the development dependencies. Will install packages from all
requirements-*.txtfiles.make install
- The Gherkin Feature files, step files and pytest files go in
testsdirectory:tests |-- features | |-- algorithm | | `-- SLUG\ Match.feature | `-- definition | `-- Class\ I\ HLA\ Alleles.feature |-- steps | |-- HLA_alleles.py | `-- SLUG_match.py `-- unit `-- test_my_project_template.py - Package Module files go in the
my_project_templatedirectory.my_project_template |-- __init__.py |-- algorithm | `-- match.py |-- model | |-- allele.py | `-- slug.py `-- my_project_template.py - Run all tests with
make testor different tests withmake behaveormake pytest.make behavewill generate report files and open the browser to the report. - Use
python app.pyto run the Flask service app in debug mode. Service will be available at http://localhost:8080/ - Use
make docker-buildto build a docker image using the currentDockerfile. make dockerwill build and run the docker image with the service. Service will be available at http://localhost:8080/
The py-graph-em code was developed in the YOLO Lab and at the NMDP. Please cite Israeli, S., Gragert, L., Maiers, M., & Louzoun, Y. (2021). HLA haplotype frequency estimation for heterogeneous populations using a graph-based imputation algorithm. Human Immunology, 82(10), 746-757.