Graph Based Multi-Race EM
=========================
## Pre-requisites
Make a virtual environment and activate it, run `make venv`
```shell
make venv
source venv/bin/activate
```
Install all the development dependencies. Will install packages from all `requirements-*.txt` files.
```shell
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
```shell
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`
```shell
> 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
```shell
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.
```shell
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](https://yolo.math.biu.ac.il/) and at the [NMDP](https://bethematch.org/). 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.](https://www.sciencedirect.com/science/article/pii/S0198885921001750?casa_token=Ob0ufT6jBLMAAAAA:uFVlu1R0wFBkqQ8rhztoCppH_EGnOnygJaTYwmT-EvHfKFIISI2Sc2GcTu8CJ9F3MPxc53ZuizTe)
=======
History
=======
0.0.1 (2025-02-16)
------------------
* First release on PyPI.
Raw data
{
"_id": null,
"home_page": "https://github.com/Regev32/py-graph-em",
"name": "py-graph-em-temp",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "Graph, EM",
"author": "Regev Yehezkel Imra",
"author_email": "regevel2006@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/ca/a9/2a5a79d9f55c69b22cf86d7c893d6f6d2a29d863fb6c901649b706628bd4/py_graph_em_temp-0.0.4.tar.gz",
"platform": null,
"description": "Graph Based Multi-Race EM\n=========================\n\n## Pre-requisites\n\nMake a virtual environment and activate it, run `make venv`\n```shell\nmake venv\nsource venv/bin/activate\n```\n\nInstall all the development dependencies. Will install packages from all `requirements-*.txt` files.\n```shell\nmake install\n```\n\n### Data Directory Structure\n\nDonor files are in `data` directory, specified in the conf file.\n\n```\ndata\n\u2514\u2500\u2500 ct_mr_don_10.txt\n```\n\n### conf Directory Structure\n\nConfigure input/output directories and EM specific parameters.\n\n```\nconf\n\u2514\u2500\u2500 minimal-configuration.json\n```\n\n# Example EM run\n\nRun the `test_em` script to produce frequences from the example data.\n```\npython test_em.py\n```\n\nResults can be found in `output` directory.\n\n\nHow to contribute:\n\n1. Fork the repository: https://github.com/nmdp-bioinformatics/py-graph-em.git\n This will create a new repository with the given name e.g. `py-graph-em.`\n2. Clone the repository locally\n ```shell\n git clone https://github.com/pbashyal-nmdp/py-graph-em.git\n cd py-graph-em\n ```\n3. Make a virtual environment and activate it, run `make venv`\n ```shell\n > make venv\n python3 -m venv venv --prompt py-graph-em-venv\n =====================================================================\n To activate the new virtual environment, execute the following from your shell\n source venv/bin/activate\n ```\n4. Source the virtual environment\n ```shell\n source venv/bin/activate\n ```\n5. Development workflow is driven through `Makefile`. Use `make` to list show all targets.\n ```\n > make\n clean remove all build, test, coverage and Python artifacts\n clean-build remove build artifacts\n clean-pyc remove Python file artifacts\n clean-test remove test and coverage artifacts\n lint check style with flake8\n behave run the behave tests, generate and serve report\n pytest run tests quickly with the default Python\n test run all(BDD and unit) tests\n coverage check code coverage quickly with the default Python\n dist builds source and wheel package\n docker-build build a docker image for the service\n docker build a docker image for the service\n install install the package to the active Python's site-packages\n venv creates a Python3 virtualenv environment in venv\n activate activate a virtual environment. Run `make venv` before activating.\n ```\n6. Install all the development dependencies. Will install packages from all `requirements-*.txt` files.\n ```shell\n make install\n ```\n7. The Gherkin Feature files, step files and pytest files go in `tests` directory:\n ```\n tests\n |-- features\n | |-- algorithm\n | | `-- SLUG\\ Match.feature\n | `-- definition\n | `-- Class\\ I\\ HLA\\ Alleles.feature\n |-- steps\n | |-- HLA_alleles.py\n | `-- SLUG_match.py\n `-- unit\n `-- test_my_project_template.py\n ```\n8. Package Module files go in the `my_project_template` directory.\n ```\n my_project_template\n |-- __init__.py\n |-- algorithm\n | `-- match.py\n |-- model\n | |-- allele.py\n | `-- slug.py\n `-- my_project_template.py\n ```\n9. 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.\n10. Use `python app.py` to run the Flask service app in debug mode. Service will be available at http://localhost:8080/\n11. Use `make docker-build` to build a docker image using the current `Dockerfile`.\n12. `make docker` will build and run the docker image with the service. Service will be available at http://localhost:8080/\n\n\n\nThe py-graph-em code was developed in the [YOLO Lab](https://yolo.math.biu.ac.il/) and at the [NMDP](https://bethematch.org/). 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.\u200f](https://www.sciencedirect.com/science/article/pii/S0198885921001750?casa_token=Ob0ufT6jBLMAAAAA:uFVlu1R0wFBkqQ8rhztoCppH_EGnOnygJaTYwmT-EvHfKFIISI2Sc2GcTu8CJ9F3MPxc53ZuizTe)\n\n\n=======\nHistory\n=======\n\n0.0.1 (2025-02-16)\n------------------\n\n* First release on PyPI.\n",
"bugtrack_url": null,
"license": "LGPL 3.0",
"summary": "Graph Based EM",
"version": "0.0.4",
"project_urls": {
"Homepage": "https://github.com/Regev32/py-graph-em"
},
"split_keywords": [
"graph",
" em"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f3468a05aea766a955fa2dc8e70242952447915ab83ae9278412e736a5834270",
"md5": "58a9472f52e579bb894c9f5817410c42",
"sha256": "5e804412c3fa4a2238bcdd9d351274d5056c2c48f7359732490bb27a80560c79"
},
"downloads": -1,
"filename": "py_graph_em_temp-0.0.4-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "58a9472f52e579bb894c9f5817410c42",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.8",
"size": 43290,
"upload_time": "2025-02-17T12:11:46",
"upload_time_iso_8601": "2025-02-17T12:11:46.264290Z",
"url": "https://files.pythonhosted.org/packages/f3/46/8a05aea766a955fa2dc8e70242952447915ab83ae9278412e736a5834270/py_graph_em_temp-0.0.4-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "caa92a5a79d9f55c69b22cf86d7c893d6f6d2a29d863fb6c901649b706628bd4",
"md5": "d7781e4acea7d5ad682cd628982bb2a0",
"sha256": "b7dac8e79bea186b7d64c53a3c920e42b79ce5fb6da2127688beabf7222201b9"
},
"downloads": -1,
"filename": "py_graph_em_temp-0.0.4.tar.gz",
"has_sig": false,
"md5_digest": "d7781e4acea7d5ad682cd628982bb2a0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 36143,
"upload_time": "2025-02-17T12:11:48",
"upload_time_iso_8601": "2025-02-17T12:11:48.761119Z",
"url": "https://files.pythonhosted.org/packages/ca/a9/2a5a79d9f55c69b22cf86d7c893d6f6d2a29d863fb6c901649b706628bd4/py_graph_em_temp-0.0.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-17 12:11:48",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Regev32",
"github_project": "py-graph-em",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "toml",
"specs": [
[
"==",
"0.10.2"
]
]
},
{
"name": "py-graph-imputation",
"specs": [
[
">=",
"0.0.12"
]
]
}
],
"lcname": "py-graph-em-temp"
}