Tag Archives: computational neuroscience

Installing NEURON, MPI, and Python on OS X Lion

I’ve recently run into the problem of trying to compile the source for NEURON 7.3a that includes support for parallel NEURON (using MPI) and Python on Mac OS X Lion. Using a number of helpful web resources, I wanted to cobble together an “as-of-this-writing” practice to get a kitchen sink working install for all components.

UPDATED 01-Sept-2012: Added instructions for mpi4py

Because I don’t have the resources to test many version combinations, etc., this assumes OS X 10.7.4 on a Retina MacBook Pro 10,1 (Mid 2012), with a working copy of XCode 4.4.1 installed (available for free from the Mac App Store). I suspect but cannot verify that this will work with many different versions of all of these components. Note: MacPorts is particularly sensitive to very new XCode and OS releases, so right after a new one, things don’t always work right away.

Finally this assumes you have admin access to the computer on which you are installing things and that you will use sudo for good and not evil.

And super-finally, this is basically an aggregate of web sources, some of which I had to modify to get it working. Sources are inline, below. Much is duplicated here because of the transience of web links.

Continue reading


Ten days of code

Open code in academic computational science should be the standard. After all, the scientific ideal is to share information toward progress. This is at least an idealistic view of why we publish so competitively, with standards that demand we share our findings with our peers and with the public. And while the computational methods of my most recent joint experimental/computational paper far exceeded the length of our experimental methods explanation, the rather large step of implementation of our model into a numerical scheme is non-trivial (at least I’d like to think so).

Continue reading

The career plan (revised)

When I began my graduate educational journey, which started with a dead end job working in IT for a small business, I didn’t really have a good concept of how things might unfold. I did all of my applications with the not-so-professional guidance of close friends who had as much experience as I did in successfully applying to neuroscience graduate schools (none). When I was fortunate enough to have a choice between graduate programs, I had the luxury of choosing a research direction, between the genetically minded approach of one school to the computationally minded approach of the other.

I ultimately chose the computational direction because while clearly genetics is relevant now and will be forever relevant, I think that the coming of age of computational neuroscience is now. Genetics presents an ethical minefield that threatens to ultimately slow the scope of its reach (for better or worse), and I think this will delay the onset of the true age of genetic “understanding” with respect to nervous systems.

Additionally, another branch point came during rotations in my first years in graduate school, when I had some experimental opportunities to weigh against learning computational techniques. In the end I chose the mathematics, though, because I feel like these are techniques that are far more difficult to learn on one’s own. The anecdotal evidence for this has been realized time and again by experimentalists who are struggling to learn modeling techniques in a meaningful way. In contrast, I’ve seen a number of computational folks who have made the transition to experimental techniques seamlessly.

My plan thus far was to continue developing my computational techniques throughout grad school and then transition into a postdoctoral position and learn some electrophysiology. However, a phenomenal opportunity arose in which I might be able to do in vivo electrophysiology now, as part of my dissertation. I jumped at it, almost without proper or deliberate consideration. It sounds reasonable enough to me, though it obviously is accompanied by a bit of trepidation, considering the magnitude of this change.

I already have experience in biophysical modeling, and I’m working on some data analysis techniques which will serve me well. If I do electrophysiology now, then I can devote my postdoctoral appointment to different computational techniques, or perhaps a more mathematical project. Since the landscape of computational neuro is in a sense just as large as experimental neuro, there are far more techniques I have no experience with but am interested in learning. Once again, at this stage it’s unclear which approach will be more fruitful, but here’s to the uncertainty of the journey!