Mosquito vs Lamprey

A colleague sent me a paper about a novel opsin the other day, because he knows about my interest in optogenetics, and particularly in new tools that we can use to improve our experiments1. And then a few days later I received an email alert of a second paper2 that fulfils the same purpose as the first, namely producing new inhibitory opsins.

So, in this post I will investigate and compare these papers and what their results might mean for doing opto experiments. To begin, both papers aim to solve the same problem that has plagued optogenetics since its inception: the inability to optogenetically inhibit neurone terminals.

If this sounds untrue, let me quickly explain that while we have a number of inhibitory opsins available, none of them can produce reliable inhibition at the terminal. For example, ArchT is a proton pump, which causes hyperpolarisation, but in the tiny volume of the terminal also has a dramatic impact on the pH, which causes spontaneous neurotransmitter release.3

I’ll start with the common aspects of these new opsins: both are light responsive Gi/o-coupled GPCR’s, which means that they inhibit synaptic fusion by blocking production of cAMP and by suppression of Ca2+ release. However, the lamprey parapinopsin (PPO) is bistable, activated by UV and turned off by amber light (Figure 1A/B), whereas the mosquito panopsin homolog (OPN3; Mahn’s variant is called eOPN3) is activated by green light (Figure 1D/E).

Next, each paper goes on to demonstrate potent inhibition of neurone terminals in vitro. Both papers show extensive in vitro analysis, but for today I’m interested in the action at terminals, where they both show decreased amplitude of evoked post-synaptic currents (Figure 2A for Copits; Figure 2C for Mahn). They also both show they can decrease spontaneous post-synaptic current frequency without changing amplitude (Figure 2B for Copits; Figure 2D for Mahn).

Lastly, they both show they can impact animal behaviour in vivo by stimulating neurone terminals with their new opsins. For example, Copits et al. were able to block cocaine-induced conditioning in a VTA -> NAc projections (Figure 3A), whereas Mahn et al. managed to influence which direction mice were turning in an open field (Figure 3B).

All in all, I was very impressed by these new inhibitory opsins. If they ever become available, for example through Addgene, I would definitely look into them. It is important to be able to inhibit neurone projections like this.

However, from a purely practical point of view, I think I would lean towards the mosquito eOPN3 from Mahn et al, due to the stimulation wavelength of 500-550 nm as opposed to the UV stimulation of lamprey PPO from Copits et al.

1. Mahn et al. Neuron 109, 1621-1635 (2021) Efficient optogenetic silencing of neurotransmitter release with a mosquito rhodopsin.

2. Copits et al. Neuron 109, 1791-1809 (2021) A photoswitchable GPCR-based opsin for presynaptic inhibition.

3. Mahn et al. Nat Neurosci 19(4), 554-556 (2016) Biophysical constraints of optogenetic inhibition at presynaptic terminals.

It’s Hard, We Know

Simplifying optogenetics equipment

I’ve mentioned once or twice the LED-based optogenetics system I’ve been working on recently, so I thought today I would put my faithful readers out of their misery and explain what I’ve been up to.

The driving force behind it was to simplify optogenetics experiments for the user, particularly with the hardware/user interface. I was actually reminded of this again yesterday, when it took me a while to sort out the stimulation protocol on the Radiant software I use for my optogenetics experiments.

So what I wanted was an easily programmable computer hardware that I could connect various LED’s and switches to, and there was really only one answer for me: an Arduino.

The Arduino Uno

For those that don’t know, Arduino is an open-source hardware/software company that produce electronics boards for the easy programming and use of microcontrollers. Their bog-standard model is the Uno (Figure 1); it has a USB input for easy programming by a computer and pin headers so you can easily connect to the microcontroller, for 14 digital in/out pins and 6 analog in pins.

I’ll save an indepth investigation into microcontrollers for another day. For now, suffice it to say that you can connect a huge array of sensors (eg. light detectors, or even switches) and outputs (eg. LED’s), and the Arduino will control them in whichever way you programmed it to.

The Arduino Uno

Controlling optogenetics

Anyway, my goal was to generate a TTL output to drive flashing of the LED, effectively controlling optogenetics with Arduino. Essentially, I want a physical switch that I can use to turn the flashing on and off, and the Arduino will output a signal for the stimulation parameters that I program it to do.

So, my electronics layout will look something like this (Figure 2). I have a toggle switch connecting pin 0 to ground (it has an internal pull-up resistor that sets the pin high, then latching the switch changes the signal to low), a pilot LED connected to pin 1, and an output TTL from pin 2.

Simple circuit for Arduino to flash and LED.

Coding the Arduino Uno

Next, we need to write the code, otherwise the Arduino will just sit there and do nothing. Fortunately, Arduino programming software is really easy to use, and they have endless tutorials and sample code online; if you want to do something but don’t know how, just type it into Google and someone will almost certainly have done it before.

To write our code, we have three sections:

  1. Naming any values
  2. Setup, which is where you instruct the Arduino for its beginning attributes
  3. Loop, which is the main program, and the Arduino will just cycle through your code endlessly in a loop, doing exactly whatever you tell it to do

Some notes on syntax:

  • Int          allows you to specify anything by an integer
  • ;              denotes the end of each “phrase”
  • {  }          denote each section or subsection
  • //            blanks out anything after it on that line, which is useful for putting in comments that won’t affect the program

Without further ado, here’s the simple program I wrote to run the TTL:

Arduino code for controlling optogenetics

I’ve put info into the comments about what the bits of code mean, hopefully it all makes sense. I found the Arduino to be quite easy to code (which I’m pretty sure is the point of them), so I would absolutely recommend any readers to pick one up. Anyone planning in vivo or in vitro optogenetics studies should consider controlling optogenetics with Arduino.

Even if you have no specific projects in mind, I think it’s great for everyone to have at least a basic understanding of electronic circuits and coding. And you might just find that you can solve some problems much easier than you thought.

A device for controlling optogenetics

I will add here an update about a device I have made to easily control optogenetics. I added a couple of dials to allow the user to easily switch pulse on-time and frequency, and housed it with a BNC output for the TTL. I have called it the EasyTTL Uno, and it is available to purchase in my shop. Alternatively, I have made the design specs and code freely available on Hackaday.

The EasyTTL Uno provides a single channel TTL output for controlling an optogenetics laser or LED. Stimulation parameters (pulse on-time and pulse frequency) are controlled by dials, and the flashing is turned on/off with a toggle switch. It’s super-easy to use, and fully customisable if you want to set your own flashing parameters. Please do check it out.

How High Can You Go?

Validating optogenetic stimulation frequency

For my most recent optogenetics experiment, I did a full validation for the optimal optogenetics stimulation frequency. FYI, I would recommend doing this for any new paradigm.

I took a safe “positive control” measure that I knew would be influenced by my neurones of interest. I then applied a ramped increase in stimulation frequencies: 1, 2, 5, 10 and 20 Hz. This gave me what is essentially a dose response, with increasing food intake up to 5 Hz. But it then plateaued with no further increases at higher frequencies. I was then able to select the 5 Hz frequency as my optimal, as it gave me a maximal response while limiting the amount of light.

This is important, because the light is not only phototoxic at high levels, it can produce neuronal activation in the absence of ChR2. I say this, because I will always see some amount of c-fos at the fibre site, even in control mice. And this is why it is so important to include non-ChR2 mice in your study. You also find that at higher light power and frequencies, that your action potential fidelity drops.

What’s the optimal stimulation frequency?

I digress. And ramble. My point today is to talk about the optimal frequency with which to stimulate your opto mice. I have in the past used 10 Hz, or sometimes even 20 Hz, just as a kind of industry standard, without proper optimisation. This is easy to do, but as I’ve just shown, is often not the optimum for your experiment.

A common stimulation paradigm in the literature is to stimulate at 20 Hz in a pulsed manner – for example flashing for 1 second, then off for 3 seconds in a cycle. The popularity of this method likely stems from its use by Aponte, Atasoy and Betley in their early seminal works1-3.

And these come from the much earlier finding by Van Den Top that AgRP neurones fire in such bursting patterns following activation by ghrelin4. So, for experiments involving AgRP neurones, this stimulation paradigm does make sense, as it closely mimics normal physiological activity in the activated state.

A concerning pattern

However, I have noticed a collaborator who uses a similar stimulation pattern, but at even higher frequencies (30 Hz pulsed 1 second on, 3 seconds off). My problem with this begins with the fact that I have recorded from his neuronal population of interest, and they do not fire in such bursts (I have told him this).

Even more concerning, is the question as to whether those neurones are even capable of firing at 30 Hz. It might seem like I’m being overly dramatic, but this is a genuine concern; some neurones are capable of firing much faster, like 100 Hz, but many are not. And there is an even deeper concern, which is that if you overstimulate a neurone, you can drive it so depolarised that it is incapable of generating an action potential – in essence you silence the neurone.

Optogenetic frequency validation

The potential to optogenetically silence neurones was well shown by Lin et al.5, who compared various opsins including our perennial favourite, ChR2(h134r) (Figure 1). They found that at 25 Hz, ChR2(h134r) only has about 25-50 % fidelity, depending on the light irradiance.

But why is this? You need to take into account the time it takes for the opsin to close after light off, which is 18 ms for ChR2(h134r). And this leaves very little time for the neurone to recover at a high optogenetics stimulation frequency. It should be noted, as well, that Lin et al. used very short stimulation times of 0.5 ms, whereas most people use 10 ms in vivo. This means that if you were to stimulate at 30 Hz with 10 ms on time (as my colleague did), you have 23 ms of light off between each flash.

You then have to take into account an 18 ms delay for the ChR2 to close, and that gives 5 ms for neuronal recovery for the next action potential. My point here is not to bash on my colleague, but rather to stress the importance of optimising your stimulation protocol, and in particular not to overdo the irradiance and high frequency stimulation.

How to determine optimal stimulation protocol

For me, there are three factors to consider when planning your optimal stimulation protocol:

  • How do these neurones normally fire when activated? Trying to mimic as closely as possible the natural firing dynamics of your neurones of interest is, in my opinion, the best way to go. This is probably best done by current clamp patching of identified neurones and then applying something to activate them eg. applying ghrelin to AgRP neurones.
  • How fast can you drive electrical behaviour in these neurones? For this, I would patch clamp your opsin-expressing neurones, and then apply light pulses to the soma. This way you can determine likely irradiance power needed, as well as the electrical responsivity and action potential fidelity. This is particularly important if you intend to drive high frequency firing, as you need to know that your neurones are capable of keeping up.
  • Finally, test a range of firing frequencies (including pulse paradigms if relevant) in vivo against a known behavioural response. For my studies and for AgRP studies, it is simple to measure food intake; this lets you test how your predicted stimulation paradigm works in vivo, as well as confirm your current experiment is working eg. virus transfection and optic fibre placements are good.

Hopefully people will find this useful, if only as a reminder to test your optogenetics stimulation frequency, and not to just go for the brightest and fastest possible stim.

1. Aponte et al., Nature Neurosci 14(3) 351-355 (2011) AGRP neurons are sufficient to orchestrate feeding behavior rapidly and without training.

2. Atasoy et al., Nature 488, 172-177 (2012) Deconstruction of a neural circuit for hunger.

3. Betley et al., Cell 155, 1337-1350 (2013) Parallel, redundant circuit organisation for homeostatic control of feeding behaviour.

4. Van den Top et al., Nat Neurosci 7, 493-494 (2004) Orexigen-sensitive NPY/AgRP pacemaker neurons in the hypothalamic arcuate nucleus.

5. Lin et al., Biophysical J 96, 1803-1814 (2009) Characterization of engineered channelrhodopsin variants with improved properties and kinetics.

An Intense Calculation

Last week I was planning my next optogenetics experiment, and I thought I’d try to find the optimal fibre placement. Normally I just aim them to point close to the site of interest, but I’ve had some less-than-optimal experiments in the past so definitely time for some optogenetics irradiance optimisation.

First of all, we need to start with the intensity of light needed to activate the opsin, which in this experiment will be ChR2-H134R. Lin et al. investigated some of the early opsins back in 20091, and found that you get approximately half of the full activation of ChR2-H134R (EC50) at about 1 mW/mm2. Now, I know that I get, on average, 7.5 mW of blue light out the end of a 200 µm optic cannula using our opto setup. So, dividing through, that gives an irradiance (ie. power per surface area) of 7.5/(π*0.12), which comes out around 239 mW/mm2.

Obviously, this is vastly more than enough to activate the ChR2, but how does it spread through the brain? To answer this question, I headed over to Karl Deisseroth’s optogenetics website, where he has an “irradiance calculator”, that will estimate the dissipation of light through brain matter (Figure 1)2.

The light tails off dramatically in the brain; so much so that it is hard to see how deep you can retain ChR2 activation. I plotted the data on a logarithmic scale (which you can also do on the irradiance calculator), and included the EC50 of 1 mW/mm2 as well as an upper “phototoxicity” limit (Figure 2). There isn’t really a clearcut limit for causing neuronal damage, but an early paper by Cardin et al. found that 100 mw/mm2 was capable of causing phototoxicity, so I’m taking that as my upper limit. This produces a nice “Goldilocks zone” between 1 mW/mm2 and 100 mW/mm2, where we expect good neuronal activation with limited damage.

This produces a “Goldilocks zone” between about 0.2 mm and 1.3 mm from the tip of the optic cannula. Given experimental variance, I would put the ideal range to aim for at about 0.4 mm to 1.1 mm (Figure 2).

So, taking this all together, I can plot the fibre and light scatter onto the mouse brain atlas (Figure 3). My neurone population of interest lies in the mediobasal hypothalamic area surrounding the VMH, but particularly on the side near the fornix. Plotting the expected irradiance, we see that the entirety of the neuronal population lies within the “Goldilocks zone”. Great.

However, I have drawn an estimate of the spread of light from a .22 NA fibre, and you can see that it doesn’t successfully hit all the neurone population laterally. But, this is based on the spread through air, and doesn’t take into account the scatter of light by brain tissue, which will necessarily cause some amount of lateral spread. So, how to quantify this?

This takes us to the final stage of optogenetics irradiance optimisation, which uses a freely available light scatter tool called optogenSIM3. I won’t go into details, but essentially you input similar parameters as for the irradiance calculator, but also including the position of the fibre in the brain. The program then runs a simulation to predict light scatter based on the absorption and scatter coefficients of different brain areas, and outputs something like this (Figure 4).

The images aren’t great for visualising details, but note the extent of the green 1 mW/mm2 threshold. The light scatters far wider than I had expected, especially given that this is a low divergence .22 NA fibre. Either way, this shows that I will definitely hit the vast majority of my targeted neurone population with my planned fibre placement.

One final note from Figure 4: see how there is backscatter, so the light goes dorsal to the end of the fibre. Which means that even if your fibre ends up level, or even slightly below, your region of interest, you might well still activate the neurones. The issue then becomes, are you causing damage due to the high irradiance at that point? I have seen, in the brains of previous opto mice, plenty of c-fos at the end of the fibre, even in control mice that don’t express ChR2.

Overall, I’m happy that this optogenetics irradiance optimisation has helped with my planned fibre placement, and hope for a good experiment.

1. Lin et al., Biophysical J 96, 1803-1814 (2009) Characterization of engineered channelrhodopsin variants with improved properties and kinetics.


3. Liu et al., Biomed Opt Express 6(12), 4859-4870 (2015) OptogenSIM: a 3D Monte Carlo simulation platform for light delivery design in optogenetics.