Basic GUTS model implementation in pymob
Project description
CASE_STUDY:
Short summary of the case study
Instructions
Prerequisites
Install git (https://git-scm.com/downloads), conda (https://docs.anaconda.com/free/miniconda/) and datalad (https://handbook.datalad.org/en/latest/intro/installation.html)
Development
If pymob is installed as editable, stub packages need also to be isntalled. This is important! Otherwise nothing will work.
pip uninstall types-pymob-guts-base
While test files are shipped (data/testing/*nc), it is recommended to generate them,
when the observations datasets (.nc files) that are expected by GutsBase change.
This can be done with the command
python tests/_create_fixtures.py
Installation
Prerequisites
If the case study was not already installed as a submodule with a meta package, you can install the package as follows.
Open a command line utility (cmd, bash, ...) and execute
git clone git@github.com:flo-schu/CASE_STUDY
cd CASE_STUDY
Create environment, activate it and install model package.
conda create -n CASE_STUDY
conda activate guts
conda install python=3.11
pip install -r requirements.txt
In order to install additional inference backends, use:
pip install pymob[numpyro]
For the available backends see https://pymob.readthedocs.io/en/latest/
Download or start tracking datasets
Download potentially existing results datasets
datalad clone git@gin.g-node.org:/flo-schu/CASE_STUDY__results.git results
if this is not possible create a new dataset (see section below)
datalad create -c text2git results
datalad create -c text2git data
Case study layout
This is the layout of your folder. Files like README, requirements, LICENSE and .gitignore are not shown, because they are not strictly necessary for the case study but contain important metadata
└─ test_case_study
├─ data
│ └─ ...
├─ results
│ └─ ...
├─ scenarios
│ ├─ test_scenario
│ └─ test_scenario_2
├─ scripts
│ └─ ...
├─ __init__.py
├─ data.py
├─ mod.py
├─ plot.py
├─ prob.py
├─ sim.py
├─ ...
Usage
The case studies should now be ready to use. To get started, see: https://pymob.readthedocs.io/en/latest/
Command line
there is a command line script provided by the pymob package which will directly
run inference accroding to the scenario settings.cfg file provided in the scenario
folder of the respective case study. For details see https://pymob.readthedocs.io/en/latest/case_studies.html
pymob-infer --case_study CASE_STUDY --scenario SCENARIO --inference_backend numpyro
The options in the settings.cfg are the same as used when preparing the publication
The results will be stored in the results directory of the respective case study unless otherwise specified in the settings.cfg
Tracking results and data with datalad and gin
- create a new
resultsdataset in the root of the repository
datalad create -c text2git results
if the directory already exists, use the -f flag:
datalad create -f -c text2git results
- save the results as they come in in order to keep a version history.
datalad save -m "Computed posterior with nuts"
Upload the dataset to gin.
-
Create a new repository on gin https://gin.g-node.org/
-
add the repository as a remote for the dataset
datalad siblings add -d . --name gin --url git@gin.g-node.org:/flo-schu/CASE_STUDY__results.git
The remote is now connected to the sibling gin.
- Push new results to gin
datalad push --to gin
Using a case study as a foundation for building new models
You may have noticed an __init__.py file. This file makes the case study a package. This way, the package can be installed as a submodule in any other package.
This means, case-studies can be stacked on top of each other. This way, only the changes need to be captured in the new case study and can be transferred into the next project.
The downside is that pymob versions need to be compatible for this use case.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file guts_base-2.2.2.tar.gz.
File metadata
- Download URL: guts_base-2.2.2.tar.gz
- Upload date:
- Size: 138.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b84d3d00b802db835706db94b917d75f98b4d634229a25ae364b3db03985e985
|
|
| MD5 |
d408586884366cac251777d60e01fe9c
|
|
| BLAKE2b-256 |
46d053c2d523e8757d53ac020139ce7a78eae26cd01e52155c3a24302fb29264
|
File details
Details for the file guts_base-2.2.2-py3-none-any.whl.
File metadata
- Download URL: guts_base-2.2.2-py3-none-any.whl
- Upload date:
- Size: 125.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3bea4b1f4efebdb976c0cf68cade11475bab43bd3a8895b426f5614ea66f6a69
|
|
| MD5 |
84dfa35694fb67f61a71f0b1450c04ac
|
|
| BLAKE2b-256 |
f52a3f8e089382832c3c9657c2aa637229893753517dc53bf90b55a92b483250
|