Pages

Monday, September 21, 2015

Walk Along the Paper Trail: Garfield Gap

It's been three years since I did a Walk Along paper summary! Wow!

Recently in our journal club, we discussed a paper by Garfield et al from the Lowell lab. In discussion, some unusually interesting points were raised, and I'd like to think about them here.

Background

I've written about this before, but here is a quick refresher on hunger in the brain. Many types of neurons control metabolism, but the most famous are AgRP neurons in the arcuate nucleus of the hypothalamus. If you stimulate AgRP neurons with channelrhodopsin, or chemogenetically, you can make mice "voraciously feed," aka stuff food in their face. Notably, AgRP neurons are GABAergic, which means they are shutting down neurons in other areas.

While I've written about AgRP neurons before, I've generally ignored what AgRP itself is: a neuropeptide. AgRP does not bind to AgRP receptors, but is actually an endogenous antagonist for the melanocortin-4 receptor (MC4R), whose principle ligand is α-MSH. AgRP neurons cohabitate in the arcuate nucleus with POMC neurons that produce α-MSH; stimulation of POMC neurons can reduce feeding (albeit on a longer timescale than AgRP neurons).

AgRP neurons project to a lot of different brain areas. To see whether all of these projections can induce feeding, the Sternson lab stimulated axon terminals in a bunch of different brain regions, and found that stimulation of only some of these terminals (namely the PVH, aBNST, and LH) could induce feeding. One question Garfield et al wanted to answer was, "what is the molecular identity of these downstream targets?"

Is occlusion anything?

Since AgRP does not have any agonistic receptor, Garfield and colleagues investigated neurons expressing MC4R in various brain regions. They started by performing channelrhodopsin assisted circuit mapping (CRACM!) to see if AgRP neurons connect to MC4R neuons. To do this, they infected AgRPCre :: MC4RCre mice with channelrhodopsin in the AgRP neurons, and GFP in the MC4R neurons in the PVH. They sliced brains, patched onto PVHMC4R neurons, and photostimulated the AgRP axon terminals (see diagram below). They found that 25/30 MC4R neurons received IPSCs following photostimulation, showing they were connected to AgRP neurons (panel A). They also patched onto non-MC4R neurons in the PVH, and found that only 2/10 neurons received AgRP input, showing that the AgRP-> PVH connection was fairly specific for MC4R neurons (panel B).


Patch recordings of MC4R neurons downstream from AgRP. AgRP neurons express ChR2-mCherry (red), and MC4R neurons express GFP (green). A. When you photostimulate AgRP neuron terminals, most MC4R neurons receive GABAergic inputs. B. When you photostimulate AgRP input to Non-MC4R neurons, most neurons do not receive input.
A previous paper by Atasoy and Sternson had claimed that AgRP neurons project to oxytocin or SIM1 neurons in the PVH, so Garfield investigated a few other neuron types in the PVH as well, but found no connections to any of them.

After showing the connection in-vitro, they wanted to show it functionally in-vivo using behaviour. They performed an occlusion study where they infected both AgRP and PVHMC4R neurons with ChR2, then put an optic fibre over the PVH to stimulate the AgRP fibre terminals simultaneously alongside PVHMC4R cell bodies (panel g, below). When they did this, they found the food intake was lower than AgRP neuron stimulation alone (panel h).

g. Diagram of experiment. AgRP neurons express ChR2. In different experiments, MC4R or OXT neurons also express ChR2. The optic fibre is placed over the PVH to stimulate cell bodies and AgRP terminals. h. Stimulation of AgRP terminals increases feeding. This is reduced ("occluded") by simultaneous stimulation of MC4R neurons. It is NOT reduced by simultaneous stimulation of OXT neurons.

I originally liked the idea of behavioural occlusion, perhaps because it reminded me of LTP occlusion. However, I'm not sure that it's informative in circuit mapping. First, my intuition is that direct excitation beats indirect inhibition. So if you stimulate AgRP terminals and MC4R neurons at same time, and direct excitation wins, it doesn't really tell you anything. Second, if you know two brain regions oppositely modulate behaviour, stimulating both of them does not tell you whether they directly interact. For example, stimulation of PKC-delta neurons in the CeA reduces feeding, and PKC-delta neurons are not connected to AgRP neurons. If you simultaneously stimulate AgRP and PKC-delta neurons, and one "occludes" the other, it won't mean they are directly connected. It only means one is stronger than the other!

In fact, I think the term "occlussion" is misleading, and not used in the same way as it was in LTP. In LTP, two protocols "occlude" each other if they both induce LTP alone, but stimulating both of them does not yield additional LTP. They are said to occlude each other because they use the same signaling pathway. In behaviour, "occlusion" has referred to stimulation of opposing pathways where one wins out. This experimental paradigm seems to be catching on, but I'm not sure it actually means anything.

Do all neuropeptides synapse on receptors?

Garfield next started looking for other AgRP-MC4R connections in other brain regions. As before, they infected AgRP neurons with ChR2-mCherry, and patched onto GFP-infected MC4R neurons in the anterior BNST, and the lateral hypothalamus (LH). Unlike before, there were no connections between AgRP neurons and MC4R neurons in these other brain regions.

Whole-cell patch onto neurons MC4R downstream from AgRP neurons expressing ChR2. No neurons, either in the aBNST or LH, were connected to AgRP neurons. Note the n's are not connected.
This raises question to me, how often do peptide neurons synapse onto peptide receptor neurons? (AgRP is certainly a strange case insofar as it doesn't have a natural receptor). There are hundreds of peptide-receptor pairs, and from the brief literature I've looked at, people don't always verify these cells are connected. For example, in the recent Dietrich paper about NPY5R (NPY is another neurotransmitter for AgRP neurons), they stimulated AgRP neurons and applied NPY5R antagonists, but never actually patched onto neurons to see if they were connected.

All neuropeptide neurons express multiple neurotransmitters, including classic ones and neuropeptides, and it's possible each transmitter work at different temporal and spatial scales. Fast neurotransmitters like glutamate or GABA are reuptaken quickly, and so cannot diffuse; in contrast, neuropeptides can last for minutes or hours. This would allow, for example, AgRP neurons to form GABAergic synapses on specific targets, and let their neuropeptides diffuse and act as paracrine [?] signaling.

In any case, I hope that as people explore these systems, they verify that the neurons we assume are connected, in fact are.

Collateral

Once they identified PVHMC4R neurons as important for feeding, they wanted to know where they projected, and specifically if PVHMC4R projected to multiple targets or single ones. They identified PBN as a major target of PVHMC4R neurons, and used rabies virus to retrogradely label PVHMC4R that project to the PBN. When they investigated other brain regions that PVHMC4R projects to, they did not see axons, showing these neurons do not send collaterals.


(Top) Diagram of experiment. PVHMC4R neurons are labeled in red. PVHMC4R that project to the PBN are labeled in green. (Images) There are red and green cells in the PVH, and red and green terminals in the PBN. However, there are only red terminals in the vlPAG and NTS/DMV.
Previous research has shown that AgRP neurons do not have collaterals, and made me wonder whether this is a common feature of mid- or hind-brain neurons. However, a recent paper from Luqin Luo's lab mapped axons of locus coeruleus norepinephrine neurons, and found that those neurons do send collaterals widely, albeit biased towards specific areas. As we get more information about cell types, and perform more extensive tracing studies, we will get a better sense of what parts of the brain have discrete pathways versus overlapping projections.

Thursday, June 11, 2015

The catch-22 of recording from identified cell populations

Recording from individual cells in genetically identified populations is the hottest technique in systems neuroscience right now (I am, of course, totally biased since that's what I'm trying to do). To record from identified populations, you first choose a mouse line that expresses Cre driven by a cell-specific marker like D1R. Then you transduce those cells with floxed ChR2 or GCaMP so you can phototag or image them. Finally, you run the mice through behaviours while recording to see how the identified neurons respond. If everything works out, you can directly link identified neurons' activity with specific behaviours.

There is, though, a catch-22 in interpreting these results. If all the cells respond the same way, then you have confirmed that your population is unitary, but the single cell nature of your recording yields no new information. On the other hand, if the cells you record from respond to a bunch of different things, they're not really a unified population, but rather a conglomeration of different neuron types. To illustrate these issue, I'd like to briefly show figures from two papers.

All together now

If you stimulate AgRP neurons in the hypothalamus, you can get a mouse to shove chow in its face. What remained unclear until this year, however, was how these neurons fire naturally. Some evidence gave hints; cFos staining had shown that these neurons are more active in hungry mice; in vitro recordings have shown that in hungry mice, these neurons receive more excitatory input, a cool form of short-term plasticity (Yang, ..., Sternson, 2011); and imaging has shown that these neurons undergo rapid spinogenesis and pruning when mice are hungry and fed (Liu, ...,  Lowell, 2012). In general, the working hypothesis was that AgRP neurons fire at a high rate when a mouse is hungry, which causes a mouse to seek food, or eat; when a mouse is sated, AgRP neurons turn off.

Given that basic model, there were many unanswered questions. How fast do AgRP neurons turn on and off? Do they turn off when you start eating, or do they take time to integrate enteric (gut) signals? What rate do they fire at? To answer these types of questions, we needed the development of easier in-vivo recording techniques for deep brain areas.

Earlier this year, the Knight lab at UCSF answered many of these questions by doing fibre photometry of AgRP and POMC neurons expressing GCaMP6s. (Chen, ..., Knight, 2015). They found that the activity of AgRP neurons in hungry mice actually decreases before mice start eating, when the mice first sense food (see below). In addition to receiving gut information, AgRP neurons receive fast input from brain areas that can identify food, which was unexpected. These results also question whether AgRP neurons are "hunger" neurons, or something slightly different like food seeking neurons.
AgRP neurons decrease their activity when mice see food. B. When a hungry mouse sees food (red trace), AgRP neuron fluorescence decreases. When it see an object (black trace), the neuron does not change activity. C. Summary of AgRP neuron fluorescence changes in fasted and fed mice responding to objects and chow. Only fasted mice that see chow decrease fluorescence.
From Chen, et. al., 2015.
Even knowing how AgRP neurons respond on average, it is possible that individual AgRP neurons respond differentially due to differences in protein expression or projections. AgRP neurons express variable levels of metabolic receptors like insulin or ghrelin, which could influence firing. Subsets of AgRP neurons project to different brain regions without collaterals; stimulation of some of these projections induces feeding while others do not, implying functional differences. Given these differences, it's possible some AgRP neurons respond to food cues, while other respond to enteric signals. To answer these questions, you would need to record from single cells.

Fortuitously, the Sternson lab did just that, using an in-vivo endomicroscope to image individual AgRP neurons expressing GCaMP6 (Betley, ..., Sternson, 2015). They found that all AgRP neurons act pretty much the same. They quantified fluorescence changes from AgRP neurons when a mouse was well fed, or food deprived; 54/61 neurons had brighter fluorescence when the mouse was food deprived (panel e, below). Like Chen et. al., they found that AgRP neurons decreased their activity before the mice started to eat (panel f); 96% of them to be precise (panel i).

AgRP neurons have higher activity when a mouse is hungry. e. Magnitude of fluorescence events for ad-libitum (AL) and food restricted (FR) mice. f. Single trial fluorescence traces from neurons during consumption. Most neurons decrease their activity before food is consumed. i. Magnitude of fluorescence before eating, after eating for one trial, and during satiety. 96% of traces decrease between the first trial base and first trial food.
From Betley, et. al., 2015.
I can tell you from personal experience these experiments are not trivial. The pessimistic interpretation of these results is that the technical prowess did not yield any new information. In talking to colleagues, however, that is probably unfair. Since we know that stimulation of different subsets of AgRP neurons can elicit different behaviour, the uniformity of their responses is surprising. This creates the question of how subsets of neurons which express the same protein and respond to the environment in the same way can elicit different behaviour.

How am I different?

In contrast to all the neurons acting the same, there is the possibility that all the neurons act differently. To illustrate this, I've selected a recent paper from the Stuber lab at UNC which investigated GABA neurons in the lateral hypothalamus (LH; Jennings, ..., Stuber, 2015). They used an in-vivo endoscope to image Vgat-Cre neurons expressing GCaMP6m. They had previously shown that these neurons are involved in consummatory behaviour.

During imaging, they ran the mice through two sets of behaviours. First, they let the mice eat in a cage with food located in two corners. If neurons had increased activity in the food zone, they were categorized as food zone excited (FZe); if they decreased activity, they were food zone inhibited (FZi). Around 10-15% of neurons were FZi or FZe (panel F, below). In a second set of behaviours, the mice were taught a progressive ratio task (PR3) where they could nose poke for food. Here they found some neurons responded during the nose poke (23%), while others responded during the consumption of food (10%; panel H, below). Finally, one might imagine that FZe or FZi neurons were correlated with nose poke or consumption activity, so they investigated the overlap between these populations. 28/40 FZe neurons responded during the PR3 task, split between consumption and nose poke; 12/40 FZi neurons responded during the PR3 task, again split between consumption and nose poke (panel J).


LH GABA neurons do all sorts of stuff. F. Histogram of change in neuronal activity when a mouse enters a food zone. H. Venn diagram of cell responses during PR3 task. J. Overlap of FZe and FZi responses with PR3 responses. There does not appear to be a consistent pattern of activity either in the tasks individually, or across tasks.
The authors highlight the diversity of responses in their discussion:
Our data suggest that separate subsets of appetitive-coding and consumption-coding ensembles exist within the LH GABAergic network. Thus, the LH GABAergic network can be viewed as a mosaic of functionally and computationally distinct cell types, requiring further definition. Nevertheless, these important computational differences among individual LH GABAergic neurons would have gone unnoticed if only bulk neuromodulatory approaches were employed, further underscoring the necessity of identifying the natural activity dynamics within a network to better understand the precise neural underpinnings of complex behavioral states.
The pessimist in me is frustrated by these results. Now we have to track down the neuronal subtypes, and repeat the experiments for each subtype (and lord knows I hate repeating experiments)! On the positive side, this could be a building block for future experiments. There is now a lower bound for the number of cell types to look for (at least five). I think single cell sequencing is the only way to identify these cell types reliably, and without recording.

Anyway, that is a long way of getting at what I see as the catch-22 of single cell identified neuronal recording: if they're all the same, you didn't need single cell resolution; and if they're all different, you don't have an strongly identified cell type.

References

Betley, J., Xu, S., Cao, Z., Gong, R., Magnus, C., Yu, Y., & Sternson, S. (2015). Neurons for hunger and thirst transmit a negative-valence teaching signal Nature, 521 (7551), 180-185 DOI: 10.1038/nature14416

Chen Y, Lin YC, Kuo TW, & Knight ZA (2015). Sensory detection of food rapidly modulates arcuate feeding circuits. Cell, 160 (5), 829-41 PMID: 25703096

Jennings, J., Ung, R., Resendez, S., Stamatakis, A., Taylor, J., Huang, J., Veleta, K., Kantak, P., Aita, M., Shilling-Scrivo, K., Ramakrishnan, C., Deisseroth, K., Otte, S., & Stuber, G. (2015). Visualizing Hypothalamic Network Dynamics for Appetitive and Consummatory Behaviors Cell, 160 (3), 516-527 DOI: 10.1016/j.cell.2014.12.026

Liu, T., Kong, D., Shah, B., Ye, C., Koda, S., Saunders, A., Ding, J., Yang, Z., Sabatini, B., & Lowell, B. (2012). Fasting Activation of AgRP Neurons Requires NMDA Receptors and Involves Spinogenesis and Increased Excitatory Tone Neuron, 73 (3), 511-522 DOI: 10.1016/j.neuron.2011.11.027


Yang, Y., Atasoy, D., Su, H., & Sternson, S. (2011). Hunger States Switch a Flip-Flop Memory Circuit via a Synaptic AMPK-Dependent Positive Feedback Loop Cell, 146 (6), 992-1003 DOI: 10.1016/j.cell.2011.07.039

Monday, May 18, 2015

Playing with deconvolution and GCaMP6 imaging data

The Palmiter lab recently got an Inscopix microscope. We are still troubleshooting our surgeries and recordings right now, so we don't have any imaging data yet. Given that, I wanted to set up our analysis pipeline ahead of time. Specifically, I wanted to see how we can identify calcium events. In this post I will explore how well deconvolution works on calcium imaging data from the Svoboda lab.

Why deconvolution

Inscopix provides image analysis software, Mosaic, which is pretty good at motion correction, and identifying ROIs. For Mosaic's signal detection, it identifies events using the simple criterion:
ΔF / F > F0 + 3SD
This works adequately for low frequency events on a low background, but completely ignores the magnitude of events, or what happens when events occur in quick succession. While I've done imaging before, I've never done deconvolution, so I thought it would be fun to try it out.

To get sample GCaMP6 imaging data, I turned to the CRCNS, which has a bunch of neuroscience datasets. The most relevant dataset was from the original GCaMP6 paper wherein they recorded calcium fluorescence in parallel with loose seal electrophysiology, to allow comparisons between calcium and spikes. For this example, I loaded the processed data from the GCaMP6s imaging dataset. If you don't care about loading data in python, you can skip the next section and head straight to Deconvolution time!

Loading Svoboda lab data into python

The data is stored in .mat files using the Svoboda lab data format. Since understanding someone else's data structure is as difficult as understanding their musical taste, I'll walk through how to load the data in python. To load the data, you can simply use the scipy.io.loadmat function, with the following arguments:

import scipy.io as scio

svoboda_data = scio.loadmat( 'data_20120521_cell5_003', squeeze_me = True, struct_as_record = False)

It is critical to use the squeeze_me and struct_as_record flags! If you don't, python will load a weird object that will crash your python instance. This took me an embarrassingly long time to figure out.

svoboda_data is a dictionary with four fields; the only one we care about is the 'obj' field, so we can extract it:

svoboda_obj = svoboda_data['obj']

svoboda_obj has a bunch of fields as well; the most important one is timeSeriesArrayHash.value, which contains the data. The value field is an array of five structs, number 0-4, which have:

0: average fluorescence of an ROI
1: average fluorescence of the surrounding neuropil
2: raw e-phys trace from the cell
3: high-pass filtered e-phys
4: detected spikes

The value struct has two fields we care about, .time (which has the... time) and .valueMatrix (which has the values of the fluorescence or voltage). Knowing this, we can load the fluorescence and spike data:

ca_data = svoboda_obj.timeSeriesArrayHash.value[0].valueMatrix

ca_time = svoboda_obj.timeSeriesArrayHash.value[0].time

spike_data = svoboda_obj.timeSeriesArrayHash.value[4].valueMatrix

spike_time = svoboda_obj.timeSeriesArrayHash.value[4].time

I wrote a small wrapper function in python to load full Svoboda lab experiments. You can then plot the calcium fluorescence and spike times on each other:
Fluorescence (blue trace, DF / F) and spike data (green) from the GCaMP6s data set, recorded May 15, 2012, cell 1.
For this cell, most spikes generated calcium events, and multiple spikes in a short time period generated larger calcium events. However, some spikes did not yield much (if any) calcium response. Calcium events, in general, had mostly exponential decays.

Deconvolution time!

Now that the data is loaded, we can deconvolve it. Thankfully, Alistair Muldal has implemented the fast non-negative deconvolution described in Vogelstein, 2010 (PyFNND. To be honest, I only partially understand the deconvolution algorithm. It starts by assuming that calcium can be modeled by spikes that return to baseline with exponential decay, but how they turn that generative model into a fit went beyond me.

In any case, we can run the PyFNND deconvolution on our calcium trace (I've calculated the ΔF / F separately), and get both a fit of the calcium trace, and an imputed spike train:

from pyfnnd import deconvolve, plotting 

n_best, c_best, LL, theta_best = deconvolve(
df_f.reshape, dt=0.0166, verbosity=1, learn_theta=(0, 1, 1, 1,0) )

plotting.plot_fit(df_f.reshape(-1, 1).T, n_best, c_best, theta_best, 0.0166)
Top: Original fluoresence (blue) and fit fluorescence (red), given the spike heuristics shown below.
Bottom: Imputed spike heuristics for the calcium trace shown above. Note that n_hat does not give a spike train, but rather a spike heuristic.
I played around with the theta parameters to see if I could get a better fit, but the best results I got were with the default ones above.

To get a spike train, you need to threshold the spike heuristic n_hat. Here I used a threshold of 0.1 (to avoid getting false positive spikes), and plotted the imputed spike train, real spike train, and calcium signal.

The imputed spike train (red) for a threshold of 0.1, and the real spikes (green).
Given how often the real spikes did not generate clean calcium events, I feel like the deconvolution did a pretty good job identifying spikes. The deconvolved spikes were often slightly delayed compared to the actual ones (although this could probably be fixed).

To get a sense for how accurately the deconvoluted spike train matched the real spike train, I calculated the Victor-Purpura distance (VP distance) between the two. The VP distance calculates how many times you would have to insert, delete, or move a spike to turn one spike train into another. VP was handily implemented by Nicolas Jimenez in the python module fit_neuron. (Note, if you want to use this module you should download the .tar.gz from Github, as the pip install has a bug at the moment.) I also wanted to use this metric to get a better sense of the optimal threshold for n_hat, so I ran the VP distance for thresholds of n_hat ranging from 0 to 1. I used a cost of q=5, so that spikes would be inserted or deleted only if there was not a nearby spike within 200 ms.

from fit_neuron.evaluate import spkd_lib as spkd

vp_cost = 5

spk_times = ca_data.spike_time[ca_data.spike_train>0.5]

vp_dist = spkd.victor_purpura_dist(ca_data.fluor_time[n_best >thresh], spk_times, vp_cost)

Similarity between the imputed spike train and real spike train. The normalized VP distance is the VP distance divided by the total number of real spikes. The threshold is the threshold for n_hat. 
A normalized VP distance of 0 means all the spikes were the same for each spike trains; and a distance of 2 means all the spikes from one train had to be deleted and re-inserted to recreate the other spike train. I think a distance of 0.8 means that just over half the real spikes were shared with the imputed spikes. I ran the deconvolution for all 9 neurons in the GCaMP6s dataset, and the minimum normalized distance ranged from 0.73-1. Some cells were undermined by bursts of firing, which caused a lot of false positives in the deconvolution. Others were difficult due to random non-spike related calcium fluctuations. I tried some filtering or baseline subtraction to make the results better but could not do significantly better than the default settings

A few concluding thoughts. Python is sweet, and people have implemented a lot of useful algorithms in it. This allowed me to try things out that would have been otherwise impossible. In the future I will try to clean up python posts by using iPython notebooks.

Deconvolution works pretty well at turning large calcium events into number of spikes. The timing won't be exact, but if you're doing calcium imaging, precise timing (<50ms) doesn't matter anyway.

[The following comments reflect my understanding after a few days of coding / playing. If I make any mistakes here, hopefully my commenters can correct me!] Finally, GCaMP6s was sold as having single spike resolution, but in my hands it does not, at least not for single trials. In Fig. 3F of the GCaMP6 paper they claim to detect 99% of single spikes in visual cortex with a 1% false positive rate. When I read that, I thought they had done something similar to what I just did: given a calcium fluorescence trace, and no prior knowledge, try to identify as many action potentials as you can, and compare to ground truth. What they actually did was answer the question: if you know what a single spike's fluorescent trace is, can you tell the difference between known spike events and random noise? In real imaging, of course, you don't know what spike calcium events look like (it's certainly not a simple exponential!). Also, that false positive rate, while sounding stringent, is quite permissive: if you image at 60Hz, with a 1% false positive rate, you will detect false spikes at a rate of 0.6Hz; if your cell fires at 0.5Hz, as their example cells do, that's a problem.

Having said that, using deconvolution with GCaMP6 works well depending on the type of data you're interested in. If you are recording from low frequency neurons where each action potential can cause spiking in downstream neurons, missing half the spikes is important. But if your neuron fires has a high baseline firing rate, and individual spikes aren't too important, the combination works well.

Wednesday, May 6, 2015

A cheap source for 230 μm ferrules

UPDATE: Somewhat embarrassingly, and fortuitously, I hadn't researched enough ferrule suppliers before making this post. After contacting a couple more, I found a supplier that sells 230 μm ID ferrules for $1.5 / pc. It is the Shenzhen Han Xin Hardware Mold Co. They do not have the 230 μm ID ferrules listed on their Alibaba page, but you can contact them for a custom order. Our lab ordered a set of 10 from them, and they worked well. If you use a lot of ferrules, I suggest ordering a test set yourself (shipping is $50).

If you want an American supplier, you can use Kientec. They sell 225 uμm ferrules (FZI-LC-225) for $3.25 / pc with an order of 100. These ferrules fit the fibre a little more snugly.

(The below is now outdated.)

Tl;dr: I am trying to get a bunch of labs to pool money to get create a new source for 230 μm ferrules.

The Palmiter lab makes its own fibre optic cannulae for implantation, using the protocol described in Sparta and Stuber. This has saved us a lot of money, making each cannula cost less than $10. As we have ramped up our optogentics, however, the monthly cost has risen enough that I wanted to find a way to save more money. The biggest cost in cannula construction is the zirconia ferrule (1.25 mm OD, 230 μm ID) we use, which cost $5 a piece. This is in contrast to ferrules with smaller 100 μm bores, which cost $1 a piece.

After hearing about Alibaba in the news, I looked there, and found lots of manufacturers for 100 μm ID ferrules, but none for 230 μm ID ferrules. Curious, I contacted Huangshi Sunshine Photoelectric, Co. to see if they could make 230 μm ID ferrules. They responded that they could, but that they would have to make a new "model." Making the new model would entail a one-time fixed cost of $7500, but once the model is made, the ferrules will cost $0.95 / piece for orders of 1000. (I sent them the specs of the Precision Fiber ferrules. They recommended a slight reduction of the diameter of the epoxy concavity, from 0.9 to 0.8mm; otherwise they should be the same. Once we have the money, they will make a confirmation diagram.)

I would like to get a group of labs together to cover the cost of the $7500 model (labs at UW should be able to cover $1500). Once the model is made, if your lab is big enough, you will be able to order directly for Sunshine Photoelectric in batches of 1000. If you can't use that many, the Palmiter lab should be able to pool together a bunch of smaller orders, and then distribute them.

If your lab uses these ferrules, and would be interested in contributing to getting the model made, please e-mail me at map222 at uw.edu.

UPDATE: The Zweifel lab here is on board, so we only need $6000 more!

Thursday, January 29, 2015

Where's Bregma?

OR: A fun game for every surgery!

If you're interested in any of the important parts of the brain (i.e. not cortex), you're going to need do to stereotaxic surgery to target the area you're interested in. And to do stereotaxic surgery, you need fiducial coordinates on the skull, which canonically are bregma and lambda.

You would think that the definitions of bregma and lambda are well known, but I found out last year that I had a completely wrong definition of lambda. So in the interest of clarity, here's a diagram of a mouse skull with four possible locations for bregma and lambda (nose to the bottom). Without looking at the caption, can you, dear reader, identify the correct locations?
Diagram of mouse skull (not to scale). The bregma, for mice, is where the coronal suture intersects the midline, point B. Lambda is defined as the intersection of the midpoint and a curve fitting the "lamboid structure" (whatever that is). Basically, it's where the rear sinus would intersect the midline if the rear sinus didn't curve, point D. It is NOT point C, as any reasonable person would guess.
Now that you know the actual definitions of bregma and lambda, you can impress your professors at happy hour, and do accurate surgeries! Except bregma, is almost NEVER that simple in practice. The coronal suture curves this way and that; the left and right sides almost never meet at the same place on the midline. Sometimes the midline curves too!

Just for fun, I've diagrammed some common bregmas you might encounter during surgery. Which of the points listed below do you think are bregma? My opinion is in the caption.

Realistic bregmas (not to scale).
Top left: bregma where the two sides do not meet at the midline. The bregma here is at point B.
Top right: bregma where the mouse's right coronal suture veers. Here I'd say Bregmas is at C.
Bottom left: bregma where the midline curves. This is a bit trickier, but I'd say point B.
Bottom right: bregma where the midline shifts. Here there is actually not enough information! I would follow the midline all the way to lambda to see if it shifts back.
Disagree? Tell me in the comments!