Thursday, February 16, 2012

Some Thoughts on Animal Experimentation

A recent confluence of events motivated me to think more deeply about the use of animals in my research. The confluence:

The FT article reminded me how industrial farming, while commercially beneficial, has a dark side. I don't agree with PETA that all species are equal. I support it pushing this issue because, in an increasingly competitive economy, the pressure to use exploit anything will only mount. Finally, the lab boss's request recalls the similarity between the rationales both agribusiness and science use; namely, "the ends justify the means". Justifiable doesn't mean justified. There's always that twinge that gives me pause before the animal is fully anesthetized or when you are euthanizing it- the euphemism is "sacrificing". Unless we are willing to do more speculative experiments on humans, using animals for research, even when done properly, seems to be a necessary evil due to how little we know about disease.

Modern science is very much a business. Published papers are something like quarterly reports. Curing cancer, however, is different from making the next iPad. The creep of business vocabulary into science is just as disturbing as it was in medicine. Are grad students a waste of money because the cost of training them outweighs the data (widgets) they produce? Why not underspend on equipment for animal experimentation because the animals won't "complain"?

Unlike other blog entries, there's no promise of code. I'm also sure I'll edit the exposition. Even in the alpha version I hope I've conveyed that I'm not sure why appealing to "it's for science", especially as that becomes code more and more for "it's for the bottom line of my lab", is different from industry claiming cost-efficiency.

Thursday, February 9, 2012

Javascript Tools for Neuroscience

MATLAB,C, and Python are, in my experience, the programming languages of choice in computational neuroscience. They, however, lack the capability for dynamic visualization that Javascript, Julia, or Mathematica allow. By dynamic visualization I mean the ability to alter, in real-time, the data and see how the results of analyses change. This is useful not only for teaching the methods but also for the type of interactive simulation that, I feel, does the most for designing experiments. Of those latter three languages, Javascript is the most widely supported and, perhaps, familiar.

In the coming weeks you will find versions of neuroTools.js available for download in the code section of my website. In the courses and notes section you will example visualization to explain the data analysis methods I use.

I'll begin with the interspike interval distance (ISI-D), Granger causality, Causal State Splitting Reconstruction, and Lempel-Ziv complexity.

I greatly appreciate any constructive feedback.