MoleCuilder: Build molecular systems from scratch, optimize and simulate!
367
MoleCuilder (http://www.molecuilder.de/) is an almost complete solution to building molecular systems and using ab-initio quantum mechanical solvers for optimization and simulation in a linear-scaling fashion.
It allows to setup the molecular system by adding atoms, computing the bond graph and thus creating molecules. The molecular dynamics can be computed with the help of an internal version of MPQC where we employ a fragmentation approach for linear scaling computations. The energies in the local Born-Oppenheimer-Surface of these fragments can be fitted using empirical potentials. Moreover, molecular systems can be created by filling domains specified through constructive geometry using filler molecules.
It features four different interfaces (GUI, Python, command-line and interactive text) and an integrated worker/server approach for calculations running in parallel easily (also within a kubernetes/k8s setup).
For an inspiration and screenshots, please check out MoleCuilder's blog.
Run molecuilder in a docker container with a terminal attached:
docker run -it --rm frederikheber/molecuilder:1.7.0
Then type
molecuilder --version
to see the version.
Next, try `molecuilder --help`` to see a list of commands.
See the userguide for more information.
This takes a bit more setup in running the container as the MoleCuilder executable in the container needs to interface with an X server running on the host.
sudo docker \
run --rm -ti --net=host --ipc=host \
--runtime=nvidia \
-e DISPLAY=$DISPLAY \
-e XSOCK=/tmp/.X11-unix \
-e XAUTHORITY=/tmp/.XAuthority \
-e LIBGL_ALWAYS_INDIRECT=1 \
--gpus all \
--env="QT_X11_NO_MITSHM=1" \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v $XAUTHORITY:/tmp/.XAuthority \
-v /tmp/molecuilder:/tmp/molecuilder:rw \
--workdir "/tmp/molecuilder" \
--entrypoint "/home/molecuilder/_pkgs/molecuilder-1.7.0/bin/molecuildergui" \
frederikheber/molecuilder:1.7.0
As you see, this requires root on the host machine ("sudo") and we need to forward several Xserver related files into the container. This works on a latest Ubuntu OS running on the host. For other operating systems, you need to dig into running X applications with a container with 3D acceleration.
If you do not have a running kubernetes environment, you can also use minikube to set one up on your local machine.
Next, you need the k8s kustomize files from the molecuilder's git repository. See also the README.md file therein.
Finally,
kubectl -- apply -f server-deployment.yaml
kubectl -- apply -f server-service.yaml
kubectl -- apply -f worker-deployment.yaml
To start a server and a worker deployment.
Content type
Image
Digest
sha256:a868f88ae…
Size
408.8 MB
Last updated
9 months ago
docker pull frederikheber/molecuilder:1.7.1