Skip to main content

Graph Based EM

Project description

Graph Based Multi-Race EM

Pre-requisites

Make a virtual environment and activate it, run make venv

make venv
source venv/bin/activate

Install all the development dependencies. Will install packages from all requirements-*.txt files.

make install

Data Directory Structure

Donor files are in data directory, specified in the conf file.

data
└── ct_mr_don_10.txt

conf Directory Structure

Configure input/output directories and EM specific parameters.

conf
└── minimal-configuration.json

Example EM run

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:

  1. 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.
  2. Clone the repository locally
    git clone  https://github.com/pbashyal-nmdp/py-graph-em.git
    cd py-graph-em
    
  3. 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
    
  4. Source the virtual environment
    source venv/bin/activate
    
  5. Development workflow is driven through Makefile. Use make to 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.
    
  6. Install all the development dependencies. Will install packages from all requirements-*.txt files.
     make install
    
  7. The Gherkin Feature files, step files and pytest files go in tests directory:
    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
    
  8. Package Module files go in the my_project_template directory.
    my_project_template
    |-- __init__.py
    |-- algorithm
    |   `-- match.py
    |-- model
    |   |-- allele.py
    |   `-- slug.py
    `-- my_project_template.py
    
  9. Run all tests with make test or different tests with make behave or make pytest. make behave will generate report files and open the browser to the report.
  10. Use python app.py to run the Flask service app in debug mode. Service will be available at http://localhost:8080/
  11. Use make docker-build to build a docker image using the current Dockerfile.
  12. make docker will 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.‏

======= History

0.0.1 (2021-08-25)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py-graph-em-0.0.3.tar.gz (14.2 kB view details)

Uploaded Source

Built Distribution

py_graph_em-0.0.3-py2.py3-none-any.whl (15.8 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file py-graph-em-0.0.3.tar.gz.

File metadata

  • Download URL: py-graph-em-0.0.3.tar.gz
  • Upload date:
  • Size: 14.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.18

File hashes

Hashes for py-graph-em-0.0.3.tar.gz
Algorithm Hash digest
SHA256 52e4c3f4e18b4dd3d0d5c8281a629d753902c0842bb7fb89d5c4e8e23c0a5cf0
MD5 84c00b1f7464d510fb2623ddc50ba53b
BLAKE2b-256 84bacef73a3570d3f43c8f0c832292597fe77d8627110d608e3ee2367a422dc2

See more details on using hashes here.

File details

Details for the file py_graph_em-0.0.3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for py_graph_em-0.0.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ac3a95165c6f6aab9c882336f6524a62f71884a5b6c587619252b48b592ba07e
MD5 99611f4c2b803e105b921bc9c5599241
BLAKE2b-256 2f2d43c9d4c9456502f5b38d6cd2c0413399c73b96f09fca0804f93e10ca69cd

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page