The SIM-CORE, named o2S2PARC – Open Online Simulations for Stimulating Peripheral Activity to Relieve Conditions – is one of the three integrative cores of the SPARC program’s Data Resource Center (DRC). The aim of o2S2PARC is to establish a comprehensive, freely accessible, intuitive, and interactive online platform for simulating peripheral nerve system neuromodulation/ stimulation and its impact on organ physiology in a precise and predictive manner. To achieve this, the platform will comprise both state-of-the art and highly detailed animal and human anatomical models with realistic tissue property distributions that make it possible to perform simulations ranging from the molecular scale up to the complexity of the human body.
This is the common workflow to build and deploy locally:
# clone repo
git clone https://github.com/ITISFoundation/osparc-simcore.git
cd osparc-simcore
# show setup info and build core services
make info build
# starts swarm and deploys services
make up-prod
# display swarm configuration
make info-swarm
# open front-end in the browser
# 127.0.0.1.nip.io:9081 - simcore front-end site
#
xdg-open http://127.0.0.1.nip.io:9081/
# stops
make down
Some routes can only be reached via DNS such as UUID.services.DNS
. Since UUID.services.127.0.0.1
is not a valid DNS, the solution is to use nip.io. A service that maps <anything>[.-]<IP Address>.nip.io
in "dot", "dash" or "hexadecimal" notation to the corresponding <IP Address>
.
Services are deployed in two stacks:simcore-stack
comprises all core-services in the framework and ops-stack
is a subset of services from ITISFoundation/osparc-ops used for operations during development.
To verify current base OS, Docker and Python build versions have a look at:
- GitHub Actions config
To build and run:
- docker
- make >=4.2
- awk, jq (optional tools within makefiles)
To develop, in addition:
- python 3.9
- nodejs for client part (this dependency will be deprecated soon)
- swagger-cli (make sure to have a recent version of nodejs)
- vscode (highly recommended)
This project works and is developed under linux (Ubuntu recommended).
When developing on these platforms you are on your own.
In windows, it works under WSL2 (windows subsystem for linux version2). Some details on the setup:
- Follow all details on how to setup WSL2 with docker and ZSH docker for windows and WSL2
In MacOS, replacing the MacOS utilities with GNU utils might be required.
Updates are upgraded using a docker container and pip-sync. Build and start the container:
cd requirements/tools
make build
make shell
Once inside the container navigate to the service's requirements directory.
To upgrade all requirements run:
make reqs
To upgrade a single requirement named fastapi
run:
make reqs upgrade=fastapi
WARNING This application is still under development.
- Git release workflow
- Public releases
- Production in https://osparc.io
- Staging instructions
- User Manual
Would you like to make a change or add something new? Please read the contributing guidelines.
This project is licensed under the terms of the MIT license.