Often in Scientific Computing, applications used for computational experiments have highly complex software stacks. This places strict software requirements on the machines intended to execute them. For example, a biochemical simulation application may use a simulation engine that’s only available on Linux, thus inhibiting its use on Windows. Or an analysis tool may not be supported on the operating system version in use on a university cluster. This is especially a problem for scientific researchers with less expertise in computer systems, as it can be very challenging to configure one.
In this work, our aim was to address this issue by making complex scientific software more accessible and productive to use. Specifically, we worked with two software packages: StochSS, an IDE for stochastic biochemical systems simulations, and MOLNs, a cloud computing appliance for interactive spatial stochastic experiments. First, we redesigned StochSS by encapsulating it in a container to greatly reduce the restrictions imposed by its software dependencies. Second, we enhanced MOLNs by using containers to provide an environment for interactive and reproducible computational experiments in biology, irrespective of the underlying operating system. Third, we augmented the parallel computing capabilities of StochSS by adding support for cluster computing. Here again, containers provide the necessary environment for execution on a cluster machine. Due to negligible disk and network requirements of the computation, we expect that execution in a container will have an insignificant impact on performance.
We will briefly talk about the motivations and design of the software, followed by a quick demo, demonstrating ease of use and versatility of our scientific computing environment.