From 1706bf4030d32ab6286fb60951b9b49504ebc93e Mon Sep 17 00:00:00 2001 From: Matthias Wolf Date: Mon, 16 Dec 2024 10:57:43 +0100 Subject: [PATCH] Add broader overview to README. (#13) --- README.rst | 36 +++++++++++++++++++++-- docs/source/_static/circuit_building.png | Bin 0 -> 60038 bytes pyproject.toml | 2 +- 3 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 docs/source/_static/circuit_building.png diff --git a/README.rst b/README.rst index 894c9d7..9edd88a 100644 --- a/README.rst +++ b/README.rst @@ -39,8 +39,37 @@ necessary. Furthermore, all ``git`` submodules should be checked out: Spark and Hadoop should be installed and set up as runtime dependencies. -Usage ------ +Usage Overview +-------------- + +Functionalizer is an integral part of building a brain circuit. It will take the +connectome as established by + +- `appositionizer`_, in the form of detailed morphologies being in close proximity, or +- `connectome-manipulator`_, which will approximate connectivity following probabilistic + rules, + +and transform then in any of the following filtering steps: + +- trim appositions according to simple touch rules +- trim appositions to follow biological distributions, parametrized in connection rules +- add synaptic properties to convert any apposition into a proper synapse + +If the input format is binary from `appositionizer`_, one may use ``touch2parquet`` from +`parquet-converters`_ to convert into Parquet that may be read by Functionalizer. +All circuit inputs need to be defined in a ``circuit_config.json`` according to the +`SONATA extension`_, containing pointers to nodes in `nodes.h5` and morphologies. +A ``recipe.json``, defined in the same SONATA extension, is used to supply the parameters +needed for filters. + +The output of Functionalizer should be converted to SONATA-conform HDF5 via ``parquet2hdf5`` +from `parquet-converters`_. + +.. image:: docs/source/_static/circuit_building.png + :alt: A diagram showing the relations of circuit building software + +CLI Usage +--------- Basic usage follows the pattern:: @@ -59,6 +88,9 @@ from the Swiss government's ETH Board of the Swiss Federal Institutes of Technol Copyright (c) 2017-2024 Blue Brain Project/EPFL .. _SONATA extension: https://sonata-extension.readthedocs.io +.. _appositionizer: https://github.com/BlueBrain/appositionizer +.. _connectome-manipulator: https://github.com/BlueBrain/connectome-manipulator +.. _parquet-converters: https://github.com/BlueBrain/parquet-converters .. |license| image:: https://img.shields.io/pypi/l/functionalizer :target: https://github.com/BlueBrain/functionalizer/blob/master/LICENSE.txt diff --git a/docs/source/_static/circuit_building.png b/docs/source/_static/circuit_building.png new file mode 100644 index 0000000000000000000000000000000000000000..c9dea2ed0a23f3fd50a0858bde13ed7dff4b8c62 GIT binary patch literal 60038 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