{"id":18438547,"url":"https://github.com/arbor-sim/arbor-sonata","last_synced_at":"2025-04-14T13:17:11.672Z","repository":{"id":50094033,"uuid":"180798060","full_name":"arbor-sim/arbor-sonata","owner":"arbor-sim","description":"SONATA for Arbor","archived":false,"fork":false,"pushed_at":"2023-08-31T15:38:09.000Z","size":8591,"stargazers_count":0,"open_issues_count":3,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-14T13:17:04.044Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arbor-sim.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-04-11T13:27:47.000Z","updated_at":"2023-08-01T16:54:22.000Z","dependencies_parsed_at":"2022-09-23T09:43:33.584Z","dependency_job_id":null,"html_url":"https://github.com/arbor-sim/arbor-sonata","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arbor-sim%2Farbor-sonata","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arbor-sim%2Farbor-sonata/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arbor-sim%2Farbor-sonata/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arbor-sim%2Farbor-sonata/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arbor-sim","download_url":"https://codeload.github.com/arbor-sim/arbor-sonata/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248886343,"owners_count":21177645,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T06:20:15.706Z","updated_at":"2025-04-14T13:17:11.641Z","avatar_url":"https://github.com/arbor-sim.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SONATA for Arbor: ☕ Arbata\n\nThis project builds ☕ Arbata: it executes Sonata models with the Arbor simulator. Point `arbata` at a `simulation_config.json` and let us know what happened 😄.\n\n### Build the runner and unit tests\n\n#### Optional: Clone and build the arbor library in the `install-arbor` directory\n\nHave Arbor installed somewhere, e.g. /home/you/.local. Alternatively:\n\n```\n$ cd install-arbor\n$ ./install-local.sh\n```\n\n#### Generate unit test input (hdf5 files)\n\nMake sure you have `h5py` installed. Make sure to delete existing files if regenerating, otherwise you seem to end with corrupted h5 files.\n```\n$ cd test/unit/inputs\n$ python generate/gen_edges.py\n$ python generate/gen_nodes.py\n$ python generate/gen_spikes.py\n```\n\n#### Generate example input (hdf5 files)\n\nMake sure you have `h5py` installed. Make sure to delete existing files if regenerating, otherwise you seem to end with corrupted h5 files.\n```\n$ cd example/network\n$ python generate/gen_edges.py\n$ python generate/gen_nodes.py\n$ cd ../inputs\n$ python generate/gen_spikes.py\n```\n\n#### Enter the correct paths\n\n* The paths have to be hard coded (for now)\n* The following files need to be modified\n  * example/circuit_config.json\n  * example/network/edge_types.csv\n  * example/network/node_types.csv\n  * example/simulation_config.json\n\n#### Build the sonata library, unit tests and example\n\nMake sure you have an hdf5 development package installed, e.g. `libhdf5-dev`.\n```\n$ mkdir build \u0026\u0026 cd build\n$ cmake .. -Darbor_DIR=/absolute/path/to/install-arbor/install/lib/cmake/arbor -DCMAKE_BUILD_TYPE=release \u0026\u0026 make -j4\n```\n\n#### Run the unit tests\n```\n$ ./build/bin/unit\n```\n\n#### Run the example\n```\n$ ./build/bin/arbata example/simulation_config.json\n```\n##### Expected outcome of running the example:\n* **2492** spikes generated\n* Output spikes report: `output_spikes.h5`\n* Voltage and current probe reports: `voltage_report.h5` and `current_report.h5`\n\n### Code org\n\n- `sonata/`\n  - contains the library, also libsonata.\n- `test/`\n  - Unit tests for libsonata\n- `arbata/`\n  - contains the ☕ Arbata application.\n- `example/`\n  - contains an example Sonata simulation.\n\n### Developer notes\n\n- class `sonata_recipe`: public arb::recipe, in `sonata_recipe.hpp`\n  - takes  as arg\n  - main entry point to setting up a Sonata simulation, see `example.cpp`.\n\n- class `sonata_cell` -\u003e arb::cable_cell, in `sonata_cell.hpp`\n  - not meant for direct use.\n\n- class `model_desc`, in `data_management_lib.hpp`\n  - member of `sonata_recipe`\n  - place where most parsing takes place.\n\n- `arbata.cpp`\n  - An example user of libsonata and the end-user tool for Sonata-on-Arbor simulation.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farbor-sim%2Farbor-sonata","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farbor-sim%2Farbor-sonata","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farbor-sim%2Farbor-sonata/lists"}