跳转到主要内容

NEURON的BBP仿真控制应用

项目描述

banner

Neurodamus

https://zenodo.org/badge/DOI/10.5281/zenodo.8075202.svg

Neurodamus是Neuron的BBP内部开发的仿真控制应用。

Python实现提供了一个全面的Python API,用于对由BlueConfig文件定义的仿真进行微调。

描述

Neurodamus是BBP内部开发的用于设置大规模神经元仿真的大型应用程序。它传统上作为一组扩展到Neuron的.hoc和.mod文件的形式实现。仿真参数从默认的BlueConfig配置文件加载。

为了解决Hoc实现的一些限制,包括开发工作量,Neurodamus的高级层已在Python中重新实现。这种实现向用户提供了一个具有全面API的Python模块,适合精细控制仿真方面,并检查和最终适应仿真。

安装

先决条件

安装neurodamus

git clone https://github.com/BlueBrain/neurodamus.git
cd neurodamus
pip install .

使用mod文件构建特殊版本

mkdir mods
cp -r mod-files-from-released-circuit mods/
cp -r neurodamus-install-prefix/share/mod/* mods/
nrnivmodl -incflags '-I <include-paths-of-our-dependencies>' -loadflags '-L <libs-paths-for-linking>' mod

示例

安装后,您应该在您的路径中找到neurodamus

$ neurodamus
  Usage:
      neurodamus <ConfigFile> [options]
      neurodamus --help

在选项中,您将找到用于调整运行行为的标志。

Neurodamus 明确依赖 MPI 库进行并行执行。因此,请根据您的平台使用“srun”或“mpiexec”来启动它。如果不这样做,可能会出现复杂的错误信息。请记住这一点。

尽管提供了 neurodamus 启动器,但对于生产运行,我们建议使用 special。这种方式已被证明可以利用优化的数学库。我们希望很快也能将这些优势应用到启动器脚本中。

srun <srun params> <your_built_special> -mpi -python $NEURODAMUS_PYTHON/init.py <neurodamus params>

完整的安装示例(包括模拟运行)可以在工作流程测试 simulation_test.yaml 中找到。

Docker 容器

或者,您可以直接启动一个 neurodamus Docker 容器,其中所有软件包都已构建。使用容器,您可以构建您的 mod 文件并运行模拟。请参阅 docker/README.md 中的说明。

构建 Docker 容器

当在存储库中创建新的标签时,如果不存在指定版本的容器,则会自动构建 Docker 容器镜像。在手动管道运行期间,也会构建容器镜像,但不会自动推送到 docker-hub;如果您想这样做,则需要手动在您创建的管道中启动作业。请注意,这是 可选的,容器镜像 始终 推送到 gitlab 仓库!

Docker 镜像将在 常规 gitlab 管道 中构建 - 如果在正确条件下触发(手动或通过 git 标签创建),容器作业将添加到此管道。

如果您手动运行管道,也可以设置依赖项的版本
  • LIBSONATAREPORT_TAG:libsonata-report 的 git 标签

  • LIBSONATA_TAG:libsonata 的 git 标签

  • NEURON_COMMIT_ID:neuron 的提交 ID

  • REGISTRY_IMAGE_TAG:这将成为容器版本。如果指定了其他任何一个,则必须指定。

致谢

本软件的开发得到了瑞士联邦理工学院(EPFL)的研究中心蓝脑项目资助,该项目得到了瑞士政府联邦理工学院委员会的资助。

版权 (c) 2005-2023 蓝脑项目/EPFL

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。

源代码分发

neurodamus-3.6.0.tar.gz (186.5 kB 查看哈希值)

上传时间 源代码

构建分发

neurodamus-3.6.0-py3-none-any.whl (217.4 kB 查看哈希值)

上传时间 Python 3

由以下机构支持