4
$\begingroup$

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?

$\endgroup$
  • $\begingroup$ Can you please elaborate a little more on what you are trying to achieve / to simulate? Don't be afraid of needing "little background in Java" as you will learn quickly. $\endgroup$ – Remi.b Mar 25 '16 at 17:02
3
$\begingroup$

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
    • pros:
      • C++ based
      • The only performance focused one of the bunch
    • cons:
      • C++ based
      • For simple models, would be like building a supercomputer to use as a pocket calculator
  • Netlogo
    • pros:
      • Focused on being accessible to non-programmers
      • Scripting language seems pretty straightforward
    • cons:
      • 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.
  • Mesa
    • 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
  • MASON
$\endgroup$
  • $\begingroup$ The fact that Repast HPC does not imply that a user will need to modify the model by him/herself. It should not be a "con". Also, it does not take so much time to code in C++ in comparison to other languages as long as the project is important enough. Disclaimer: I know nothing about the softwares. $\endgroup$ – Remi.b Mar 25 '16 at 23:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.