Skip to main content

A PySpark implementation of the Blue Brain Project Functionalizer

Project description

A nice banner for functionalizer

Functionalizer

Functionalizer is a tool for filtering the output of a touch detector (the “touches”) according to morphological models, given in in the form of recipe prescription as described in the SONATA extension.

To process the large quantities of data optimally, this software uses PySpark.

Installation

The easiest way to install functionalizer is via:

pip install functionalizer

Due to a dependency on mpi4py, a MPI implementation needs to be installed on the system used. On Ubuntu, this can be achieved with:

apt-get install -y libopenmpi-dev

For manual installation from sources via pip, a compiler handling C++17 will be necessary. Furthermore, all git submodules should be checked out:

gh repo clone BlueBrain/functionalizer -- --recursive --shallow-submodules
cd functionalizer
pip install .

Spark and Hadoop should be installed and set up as runtime dependencies.

Usage

Basic usage follows the pattern:

functionalizer --s2f --circuit-config=circuit_config.json --recipe=recipe.json edges.h5

Where the final argument edges.h5 may also be a directory of Parquet files. When running on a cluster with multiple nodes, care should be taken that every rank occupies a whole node, Spark will then spread out across each node.

Acknowledgment

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.

Copyright (c) 2017-2024 Blue Brain Project/EPFL

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

functionalizer-1.0.0.tar.gz (26.5 MB view hashes)

Uploaded Source

Built Distributions

functionalizer-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (175.6 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

functionalizer-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (176.5 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

functionalizer-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (175.1 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

functionalizer-1.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (175.5 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

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