The VCell is a comprehensive framework for modeling and simulating cell biology from biological pathways down to cell biophysics. VCell supports the biochemical network and rule-based modeling and electrophysiology in compartmental modeling and within cellular geometry.
Simulation capabilities include ODEs, Reaction-Diffusion equations within cellular geometry, Gillespie and Hybrid stochastic solvers, Particle-based spatial simulations, network free simulations, and cell kinematics (moving boundary problems).
- VCell software
- Download VCell
- Building and running VCell Client as a standalone tool
- IntelliJ Setup for VCell Client on Windows/Mac
- Eclipse Setup for VCell Client on Windows/Mac
- Building and Running VCell Server
- CLI Requirements
- Other Details
- License
- a standalone modeling and simulation tool (vcell-client)
- a shared server providing a centralized model database, cluster computing and shared storage (vcell-server, vcell-api)
- simulation solvers written in C++/Fortran/Python and developed as part of the project as well as third party solvers and analysis.
- VCell which hosts a free VCell Server for cluster computing and shared database.
- Prebuilt installers for vcell-client are available for Windows, Mac and Linux.
- BioFormats jar (used by running VCell clients when importing image data, can't be shipped directly with VCell, license issue)
git clone https://github.com/virtualcell/vcell
cd vcell
- This VCell GitHub project includes all Java/Python source code required to build both the VCell client and the VCell Server.
- The simulation solver source code is available as a separate project as vcell-solvers.
- Requirements: Git, Maven, Poetry, Python 3.10, Java 17
mvn clean install -DskipTests
INSTALL_DIR=$(pwd)
cd ${INSTALL_DIR}/pythonCopasiOpt/vcell-opt
poetry env use 3.10
poetry install
cd ${INSTALL_DIR}/docker/swarm/vcell-admin
poetry env use 3.10
poetry install
cd ${INSTALL_DIR}/pythonVtk
poetry env use 3.10
poetry install
cd ${INSTALL_DIR}/vcell-cli-utils
poetry env use 3.10
poetry install
mvn test -Dgroups="Fast"
INSTALL_DIR=$(pwd)
cd ${INSTALL_DIR}/pythonCopasiOpt/vcell-opt
poetry run python -m pytest
cd ${INSTALL_DIR}/docker/swarm/vcell-admin
poetry run python -m pytest
cd ${INSTALL_DIR}/pythonVtk
poetry run python -m pytest
cd ${INSTALL_DIR}/vcell-cli-utils
poetry run python -m pytest
cd ${INSTALL_DIR}
./vcell.sh
Requirements: IntelliJ, Java 17, Python 3.10 and poetry
- Follow the instructions above for building Python packages with poetry
- Start IntelliJ
- Open Project -> Navigate to vcell folder where VCell was installed and built at the previous step.
- Edit Configurations -> "+" Application
- Name: VCellClient
- -cp -> choose
vcell-admin
,Java 17 SDK of vcell-admin module
- Main class:
org.vcell.standalone.VCellClientDevMain
- Modify options -> check
Add VM options
- VM options:
-Dlog4j.configurationFile=${INSTALL_DIR}/vcell-cli/src/main/resources/log4j2.xml -Dcli.workingDir=${INSTALL_DIR}/vcell-cli-utils -Dvcell.primarySimdatadir.internal=/path/to/local/simdata -Dvcell.secondarySimdatadir.internal=/path/to/local/simdata -Dvcell.server.dbConnectURL=jdbc:postgresql://localhost:5432/postgres -Dvcell.server.dbDriverName=org.postgresql.Driver -Dvcell.server.dbPassword=dbpassword -Dvcell.server.dbUserid=dbuser -Dvcell.server.id=TEST -Dvcell.softwareVersion=Dev_Version_7.5_build_00 -Dvcell.mongodb.host=localhost -Dvcell.mongodb.host.internal=localhost -Dvcell.mongodb.port.internal=27019 -Dvcell.mongodb.database=TEST -Dvcell.server.maxJobsPerScan=2
- Edit Configurations -> "+" Application
- Open Project -> Navigate to vcell folder where VCell was installed and built at the previous step.
Requirements: Eclipse IDE for Java Developers and Java 17, Python 3.10 and poetry
- Follow the instructions above for building Python packages with poetry
- Start Eclipse
- During Eclipse setup, use an option -> Existing local repository, follow all next steps
- Make sure the project comes in as a Maven project (letter
M
on the top of the project, notJ
), otherwise, you need to add it to Maven - Build the project in Eclipse (should start automatically, may come with several errors due to different build order).
- Errors in individual projects can be fixed by Maven -> Update Project for individual projects that display errors.
- Create a Debug configuration as an Application in IntelliJ.
- Service has 1 image and configuration, manages 1 or more containers, container is a running image
- All services defined in ./swarm/docker-compose.yml (collection of services,volumes, dependencies,...)
VCell Server Installation General Requirements
- Linux
- Git, Maven, and Java JDK 17 or later to build vcell-client and vcell-server
- Docker (swarm mode)
- Singularity (Linux) or Singularity in a Virtual Machine (Macos needs VirtualBox and Vagrant)
- PostgreSQL or Oracle database
- SLURM service for batch scheduling
- Obtain an Install4J license if creating client installers
- VCell-CLI module requires python 3.10 and poetry
- Creating certs details
1.1. (TLS/SSL website for (vcellapi.cam.uchc.edu,vcell-api.cam.uchc.edu)
1.2. Microsoft authenticode codesigning (to prevent install4j from being rejected on windows clients)
1.3. Apple codesigning for macos (prevents from mac refusing install4j install)) - Understanding VCell services detailed instructions
- NEW VCell Server Node configuration detailed instructions
3.1. Create new Docker swarm with node or Add node to existing Docker swarm detailed instructions
3.2. Finish NEW VCell Server Node configuration detailed instructions - Building VCell Client/Server Software detailed instructions
4.1. Github/Travis/Appveyor/Dockerhub Instructions - Deploying VCell Client/Server software detailed instructions
5.1. VCell System Flow-Control - Server Administration detailed instructions (.e.g restarting VCell services)
- Debugging detailed instructions (.e.g debug vcell client/server)
- serverconfig.sh file must be customized for your configuration (see vcell/docker/swarm/serverconfig-uch.sh).
Virtual Cell software is licensed under the MIT open source license.