AstroVascPy


NameAstroVascPy JSON
Version 0.1.6 PyPI version JSON
download
home_pagehttps://github.com/BlueBrain/AstroVascPy
SummarySimulating blood flow in vasculature
upload_time2024-09-16 12:51:14
maintainerNone
docs_urlNone
authorBlue Brain Project, EPFL
requires_python>=3.11
licenseApache-2
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![AstroVascPy Logo](docs/source/logo/BBP-AstroVascPy-Github.jpg)

# AstroVascPy

AstroVascPy is a Python library for computing the blood pressure and flow through the vasculature
(whole cortical column). AstroVascPy incorporates the effect of astrocytic endfeet on the blood vessel radii.
In particular, AstroVascPy replicates the dynamics of the radius of a vessel due to vasodilation.

AstroVascPy uses vascpy Point Graph representation to access the vasculature database stored in h5 file (sonata format).

vascpy standardizes the api for the vasculature datasets.
PointVasculature (PointGraph) representation is basically a composition of two pandas data frames,
one for node properties (x, y, z, radius, other...) and one for edge properties (start_node, end_node, other...).

### Inputs
- pointgraph vasculature
- endfeet locations with corresponding ids
- radius of vessels at endfeet locations (possibly depending on simulation time)

### Outputs

- blood pressure at each node of the vasculature (node vector)
- blood flow at each segment (edge vector)

## Installation (Linux & MacOS)

AstroVascPy can be git cloned here:

    https://github.com/BlueBrain/astrovascpy

Either locally or in BB5, one can run:

    source setup.sh

to install the AstroVascPy solver (+ all its dependencies) and set the environment. For the local installation (workstation), please install **conda** before running the command above.
**Remark**: Run this command every time before using the solver in order to set the environment correctly.

Backend Solvers: `export BACKEND_SOLVER_BFS='petsc'` or `export BACKEND_SOLVER_BFS='scipy'`, the user can choose the backend solver for the linear systems.
**Remark**: PETSc is inherently parallel, while SciPy is not. Therefore, running the Blood Flow Solver with MPI makes sense only while using `petsc`!

Blood Flow Solver (BFS) debugging: By typing `export DEBUG_BFS=1`, we run both PETSc & SciPy, and we compare their results. To disable this behavior please type `export DEBUG_BFS=0` (default behavior).

## Usage

The code can be run using

    python3 compute_static_flow_pressure.py

### Load Archngv graph

An archngv graph can be loaded and converted to a pickle binary format, using the script `load_graph_archngv.py` inside the folder `examples`.
Run the script as

    python3 load_graph_archngv.py --filename_ngv "path_to_ngv_circuit" --output_graph "output_graph_name.bin"

### Sonata reports

Structure of the reports:
This is a particular type of compartment report for the vasculature.
We get a set of 3 reports at each time-step storing the blood flow,
the blood pressure and, the radius at each segment of the vasculature.
Here are the units of these entities:
-flow (µm^3.s^-1)
-pressure (g.µm^-1.s^-2)
-radius (µm)

## Authors

Stéphanie Battini, Nicola Cantarutti, Christos Kotsalos and Tristan Carel

Link to the article on Bio-arxiv:

## Funding and Acknowledgements

The development of this software was supported by funding to the Blue Brain Project, a research center of the
École polytechnique fédérale de Lausanne (EPFL), from the Swiss government’s ETH Board of the Swiss Federal
Institutes of Technology.

We would like to thank Alessandro Cattabiani, Thomas Delemontex and Eleftherios Zisis
for reviewing the code and the engineering support.

Copyright (c) 2023-2023 Blue Brain Project/EPFL

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/BlueBrain/AstroVascPy",
    "name": "AstroVascPy",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": null,
    "keywords": null,
    "author": "Blue Brain Project, EPFL",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/aa/14/23dfaf21c742a35a555e42baf39517a9203fdf5d69451664642a04adbb54/astrovascpy-0.1.6.tar.gz",
    "platform": null,
    "description": "![AstroVascPy Logo](docs/source/logo/BBP-AstroVascPy-Github.jpg)\n\n# AstroVascPy\n\nAstroVascPy is a Python library for computing the blood pressure and flow through the vasculature\n(whole cortical column). AstroVascPy incorporates the effect of astrocytic endfeet on the blood vessel radii.\nIn particular, AstroVascPy replicates the dynamics of the radius of a vessel due to vasodilation.\n\nAstroVascPy uses vascpy Point Graph representation to access the vasculature database stored in h5 file (sonata format).\n\nvascpy standardizes the api for the vasculature datasets.\nPointVasculature (PointGraph) representation is basically a composition of two pandas data frames,\none for node properties (x, y, z, radius, other...) and one for edge properties (start_node, end_node, other...).\n\n### Inputs\n- pointgraph vasculature\n- endfeet locations with corresponding ids\n- radius of vessels at endfeet locations (possibly depending on simulation time)\n\n### Outputs\n\n- blood pressure at each node of the vasculature (node vector)\n- blood flow at each segment (edge vector)\n\n## Installation (Linux & MacOS)\n\nAstroVascPy can be git cloned here:\n\n    https://github.com/BlueBrain/astrovascpy\n\nEither locally or in BB5, one can run:\n\n    source setup.sh\n\nto install the AstroVascPy solver (+ all its dependencies) and set the environment. For the local installation (workstation), please install **conda** before running the command above.\n**Remark**: Run this command every time before using the solver in order to set the environment correctly.\n\nBackend Solvers: `export BACKEND_SOLVER_BFS='petsc'` or `export BACKEND_SOLVER_BFS='scipy'`, the user can choose the backend solver for the linear systems.\n**Remark**: PETSc is inherently parallel, while SciPy is not. Therefore, running the Blood Flow Solver with MPI makes sense only while using `petsc`!\n\nBlood Flow Solver (BFS) debugging: By typing `export DEBUG_BFS=1`, we run both PETSc & SciPy, and we compare their results. To disable this behavior please type `export DEBUG_BFS=0` (default behavior).\n\n## Usage\n\nThe code can be run using\n\n    python3 compute_static_flow_pressure.py\n\n### Load Archngv graph\n\nAn archngv graph can be loaded and converted to a pickle binary format, using the script `load_graph_archngv.py` inside the folder `examples`.\nRun the script as\n\n    python3 load_graph_archngv.py --filename_ngv \"path_to_ngv_circuit\" --output_graph \"output_graph_name.bin\"\n\n### Sonata reports\n\nStructure of the reports:\nThis is a particular type of compartment report for the vasculature.\nWe get a set of 3 reports at each time-step storing the blood flow,\nthe blood pressure and, the radius at each segment of the vasculature.\nHere are the units of these entities:\n-flow (\u00b5m^3.s^-1)\n-pressure (g.\u00b5m^-1.s^-2)\n-radius (\u00b5m)\n\n## Authors\n\nSt\u00e9phanie Battini, Nicola Cantarutti, Christos Kotsalos and Tristan Carel\n\nLink to the article on Bio-arxiv:\n\n## Funding and Acknowledgements\n\nThe development of this software was supported by funding to the Blue Brain Project, a research center of the\n\u00c9cole polytechnique f\u00e9d\u00e9rale de Lausanne (EPFL), from the Swiss government\u2019s ETH Board of the Swiss Federal\nInstitutes of Technology.\n\nWe would like to thank Alessandro Cattabiani, Thomas Delemontex and Eleftherios Zisis\nfor reviewing the code and the engineering support.\n\nCopyright (c) 2023-2023 Blue Brain Project/EPFL\n",
    "bugtrack_url": null,
    "license": "Apache-2",
    "summary": "Simulating blood flow in vasculature",
    "version": "0.1.6",
    "project_urls": {
        "Homepage": "https://github.com/BlueBrain/AstroVascPy",
        "Source": "https://github.com/BlueBrain/AstroVascPy",
        "Tracker": "https://github.com/BlueBrain/AstroVascpy/issues"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "aa1423dfaf21c742a35a555e42baf39517a9203fdf5d69451664642a04adbb54",
                "md5": "792939dcdd91eaa71e850ad2b817537c",
                "sha256": "3d2afdf74b7252647f70155792240f7da99a86ebeaa97afe959c3af82e1a64bc"
            },
            "downloads": -1,
            "filename": "astrovascpy-0.1.6.tar.gz",
            "has_sig": false,
            "md5_digest": "792939dcdd91eaa71e850ad2b817537c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 47752,
            "upload_time": "2024-09-16T12:51:14",
            "upload_time_iso_8601": "2024-09-16T12:51:14.961991Z",
            "url": "https://files.pythonhosted.org/packages/aa/14/23dfaf21c742a35a555e42baf39517a9203fdf5d69451664642a04adbb54/astrovascpy-0.1.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-16 12:51:14",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "BlueBrain",
    "github_project": "AstroVascPy",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "astrovascpy"
}
        
Elapsed time: 0.33884s