Source code and training data available online; written, of course, in MATLAB. Very refreshing, and I'm looking forward to dissecting this first-hand.
Source code and training data available online; written, of course, in MATLAB. Very refreshing, and I'm looking forward to dissecting this first-hand.
Having the code in Matlab seems like a disaster as far as ever making this or similar approaches modular and so usable-by-others goes. And I do know by miserable experience that Matlab indeed what biologists generally use but if biology is ever going to interface with larger scale software construction, it seems like it is going to have to change it's standard operations a bit.
Edit: And this isn't saying Matlab is generically "horrible". It is great at what it does but horrible from my perspective, as a programmer whose task usually is putting pieces of software together.
> the code in Matlab seems like a disaster as far as ever
> making this or similar approaches modular and so usable-
> by-others goes.
As always, it depends. I've seen very well maintained MATLAB code bases, and I've seen the opposite (with the latter greatly outweighing the former). We should give these guys the benefit of the doubt. Somewhere Karr mentions Hudson CI, so they don't seem fully removed from good practices. Interfacing with MATLAB from C is reasonable.In an ideal world, this would be a NumPy/SciPy prestige project, but neither the community nor Python for that matter are quite there yet.
Consider that if biological simulations are going to go to a larger scale, you won't want to simply call a bunch of Matlab simulations from a single C program but rather have a bunch of distinct programs that would be modified to call each other (with each of these programs running as they do now in their Matlab instance).
I'd also like to know how you think numpy/scipy are short compared to Matlab. I've not run into their limitations yet.
I think MATLAB itself isn't so bad, so much as the way its typically used -- poorly commented, organized, and untested. We put a lot of effort into clearly commenting and organizing the code. We used matlab-xunit and hudson to manage testing, which worked quite well. http://www.mathworks.com/matlabcentral/fileexchange/22846-ma..., http://www.mathworks.com/matlabcentral/fileexchange/33971-xm....
> We're starting to move toward python for future work.
Thanks a lot for commenting. As somebody who does a lot of scientific coding in Python and part-time contributor to a couple of projects, I'm of course curious -- what's your reasoning behind the move and where do you anticipate to see the most friction?I don't see any friction, except if one needed to port old code. It seems that a lot of people are moving toward SciPy/NumPy these days.
*XXXXXists make huge breakthrough on YYYYY*
"I can't believe they used programming language Z!"
Domain specialists generally have more market leverage than the random programmer geek that scoffs at their "primitive" tools, and the code they write is there to do a job, not satisfy the peculiar preferences of a specialist in some other domain (like programming).Now, when programmers work to make domain specialists' job easier, that gets some attention; thus the tidal levels of interest in MDA, DSLs, and so on.