A fundamental equation in mathematical biophysics is the cable equation, whose solution gives the distribution of voltage along the length of a membrane, such as a neuronal axon.
Anika Friedman, an Ohio University Engineering Physics and Neuroscience double major in the Honors Tutorial College, spent last summer delving into a recent and promising open source computer programming model called OpenACC. Working under the guidance of Dr. Peter Jung, a Distinguished Professor of Physics, Friedman’s task was to use the cable equation to model the voltage difference across the membrane of a neuron.
The cable equation determines the membrane potential along an axon with a given current input. The main optimization technique used was paralyzing the program with OpenAcc. OpenAcc allows unrelated sections of the program to be run simultaneously to reduce the overall run time of the program substantially. This time saving effect is particularly effective for longer axons with complex ionic currents.
As a nonlinear partial differential equation, the cable equation describes the propagation of electric signals along neuronal axons. It provides a computational framework that allows integration of great detail in types, conductance, and gating properties of ion channels as well as realistic morphologies such as constrictions of the axon at the nodes of Ranvier or changes in axon diameter after branching.
Increasing detail, however, comes with computational cost which we seek to alleviate using modern and inexpensive computational hardware with associated programming models.
“I wanted to examine OpenACC on multi-central processing units (CPUs) and graphics processing units (GPUs) for cable equation based computational neuroscience,” explains Friedman. “OpenACC works for computersystems with CPUs, GPUs, and heterogeneous architectures, but is hardware independent and hence is suitable for a large range of computational platforms.”
Anyone who has done any significant amount of computer programming, Friedman says, will tell you that the most difficult and time-consuming part is debugging. Multiple times throughout the summer she would find that the results would not match what they theoretically should be. Consequently, she would spend a good deal of time breaking down the program to find the answer. The best method she found for debugging was to take a systematic line-by-line approach to the error.
“I like how well this topic brings together physics and neuroscience,” Friedman says. “I find that computational tools are invaluable to neuroscience, yet many neuroscientists have little idea of how they work. I also enjoy solving puzzles and modeling is comparable. Math is always a language that has made sense to me and so translating complicated and often odd biological processes into a system of mathematical equations makes sense and life processes less complicated.”
Friedman’s current research is on the slowing of neurofilaments during transport along axons and also relies on computer programming.
“Prior to my summer research I had taken a course in computer programming and had used it on a few projects, but my summer research allowed me to learn a lot of general programming skills. This is especially true for my debugging skills as the only way to improve those is through practice.”
Comments