Hello i'm gonna start my master degree in systems biology and i'm thinking of working with agent based modelling, but i really don´t know which platform can be the best to simulate interactions between cells, like chemotaxis communication or between molecules. Some of my advisors have recommended me Netlogo because his simplicity and good interface, but i don´t know if it is enough powerful to run simulations of many interactions between a lot of agents. I hear that MASON is also good but you need a little background in java programming. So, which one do you think it could be the most appropriate or which other platform can you recommend me that also can be good?
My boss is a big fan of Repast HPC, but since Repast is a C++ framework it might not be the right choice for you. It takes a loooong time to write a good C++ program (even for someone who already knows the language fairly well), although it will run very quickly once it's written. A one or even two year long Master's program will end up going by surprisingly quickly, so if I was in your shoes I'd choose to start with the simplest thing possible (ie Netlogo). Once you have a finished product, even if it's somewhat more simplistic than you'd like, it'll be much easier to work your way up from there.
Really though, consider the choice of modeling framework to be part of your research project! Only you can come up with the right choice for your project, though as a practical matter you should heavily favor any framework that at least one person in your department already has some experience using. Things will go wrong, you will have questions, and Stack Overflow won't be able to answer all of them.
Here's a list of the more interesting agent-based modeling frameworks that I found from a few minutes of googling:
- Repast HPC
- C++ based
- The only performance focused one of the bunch
- C++ based
- For simple models, would be like building a supercomputer to use as a pocket calculator
- Focused on being accessible to non-programmers
- Scripting language seems pretty straightforward
- In my experience frameworks that try to implement their own scripting language in an attempt to be accessible to non-programmers ultimately end up being much more complicated to use than frameworks based around an established language. But I'm not the target audience.
- This one is Python based, so it's the one I would personally try first since I find Python to be the best language for quickly writing scientific programs of reasonable complexity. That's my own personal bias, so your mileage may vary