Webpages about Smoldyn and spatial simulation
- Brief description of Smoldyn
- Spatial simulation and simulators
- Comparison table of particle-based simulators
- Questions and answers about Smoldyn
- Advice on choosing simulation parameters
- Research project ideas
- Algorithm details
Most questions and answers listed here are modified from e-mails between us and users.
Page contents
- Installing Smoldyn
- Smoldyn won't compile on Ubuntu
- Smoldyn features
- Does Smoldyn support filaments, such as microtubules or DNA?
- Wierd behavior
- If I list reactions in a different sequence, I get different results
- Smoldyn runtime
- Smoldyn starts slowly with complex membrane geometries
- My simulations are too slow
- Smoldyn accuracy
- Smoldyn bugs
- Smoldyn warns: "number of molecule species differ between mols and rxnss" (version 2.24)
- My simulation crashes with a seg fault just after startup (version 2.24)
- Establishing collaborations
- I would like specific Smoldyn additions for my research; how about collaborating?
- I have code that might mesh well with Smoldyn; are you interested in it?
Installing Smoldyn
Smoldyn won't compile on Ubuntu
Ubuntu seems to be a particularly challenging platform to compile on. Smoldyn 2.23 typically compiles well on Ubuntu, but for some reason 2.24 does not seem to be so reliable. I think that I fixed the problems though, so version 2.25 should be good again. If not, let me know. For now, configure on Ubuntu with: ./configure LIBS="-lglut -lGLU".
Smoldyn features
Does Smoldyn support filaments, such as microtubules or DNA?
No. This is a very common request. We would love to offer true 1-D filaments, but Smoldyn doesn't support them currently. Developing this support is a major part of a research proposal that's currently under review, so we hope to have them within the next couple of years.
The best current approach for simulating filaments is to create them from long narrow surfaces. For example, one user models DNA filaments with long thin rectangles, so that the two sides of the rectangles represent the two major grooves of the DNA. A different user models actin filaments with long thin cylinders, and has accurate protein adsorption and desorption from these cylinders. At present, there is no way to make these filaments move, although, again, we hope to develop that capability in the next couple of years.
Wierd behavior
If I list reactions in a different sequence, I get different results
This happens because Smoldyn checks for reactions sequentially, in the order that you entered them. However, there's a runtime command, shufflereactions, that will randomly shuffle the reactions so as to remove this dependence. Even so, the reaction sequence is still the same for all molecules at each time step.
A work-around that might help is to add new species to your system. Then, using the run-time command equilmol, you could create a rapid equilibrium between your current reactants and these new species. To you, your existing reactants and these new species would be identical, but now they would have different bimolecular reactions and so there's no conflict about which reaction is listed first."
Smoldyn runtime
Smoldyn starts slowly with complex membrane geometries
The problem is probably not with the complex geometry directly. Instead, you're probably using Smoldyn compartments that, combined with the complex geometry, lead to slow startup times. The issue is that Smoldyn needs to calculate accurate compartment volumes within each virtual box, and the only way that I have found to do this so far is by testing hundreds of random points within each box. With a lot of boxes and a lot of surface panels to test, this can take a very long time. Jim Schaff and I are working on fixing this problem.
My simulations are too slow
First, try to optimize your configuration file. Use molecule lists, try different box sizes, remove unnecessary commands, simplify surfaces, display graphics less often, etc. Also, try different time steps to figure out what is the longest time step that you can use that doesn't cause significant errors. My Methods in Molecular Biology paper (pdf) discusses these issues in depth.
Also, try the new GPU Smoldyn versions, which run hundreds of times faster than CPU Smoldyn. Lorenzo Dematté posted his version on sourceforge and Denis Gladkov's version is available at this website.
Smoldyn accuracy
Smoldyn bugs
Smoldyn warns: "number of molecule species differ between mols and rxnss" (version 2.24)
This is a bug. If your code runs, then you can ignore it. Otherwise, try adding a "max_species" statement to your configuration file, which is supposed to be optional but seems to be needed in version 2.24. This bug was fixed for version 2.25.
My simulation crashes with a seg fault just after startup (version 2.24)
This is probably because the above bug. Add a max_species statement.
Establishing collaborations
I would like specific Smoldyn additions for my research; how about collaborating?
Yes! We welcome collaborations with our users. We have several collaborations already and are always happy to establish more. If your Smoldyn wishes are along the lines of what we're already doing, then having a collaboration will help us focus our development towards our user's actual needs. If you want something else or want it on a faster timetable, then consider writing us into a grant so that we're able to dedicate the time to your needs. In any case, we love to hear what our users are doing with Smoldyn, so e-mails are very welcome.
I have code that might mesh well with Smoldyn; are you interested in it?
Yes, we're certainly interested in hearing about what you have. Whether we add it to Smoldyn directly, or add Smoldyn to your software, or make your code into one of Smoldyn's utility programs depends on what you wrote. In general though, we're excited to combine small programs to make bigger programs that can solve more problems. For example, Smoldyn is now a solver within both VCell and MOOSE; also, we're discussing creating links between CellOrganizer and Smoldyn.