BlueBrain/eFEL

Difficulty in Detecting AP_begin_voltage in Rheobase Simulations

Closed this issue · 7 comments

Hi eFEL team,

I am encountering an issue while using the eFEL library to extract electrophysiological features for action potential (AP) generation simulations conducted with the NEURON simulator. Specifically, I am simulating IClamp experiments where APs are induced by short current injections with incrementally increasing current steps. My goal is to accurately determine the rheobase current—the minimum current required to elicit the first AP.

To detect the occurrence of an AP, I am extracting the AP_begin_voltage (AP threshold) feature using eFEL. However, I am facing difficulties as the AP_begin_voltage is sometimes not detected even though an AP occurs. Instead, the peak_voltage feature is being extracted, which suggests that the AP was indeed generated. I suspect this issue is related to the derivative threshold used for detecting the AP_begin_voltage.

I have experimented with different values for the derivative threshold, but it has not resolved the issue. Below is a summary of my simulation setup and the problem:

Simulation Setup:

IClamp to induce APs with short current injections.
Incrementally increasing steps of current to determine rheobase.
Using eFEL to extract electrophysiological features.
Problem:

AP_begin_voltage is not consistently detected even when an AP occurs.
peak_voltage is extracted, indicating the presence of an AP.
Suspected cause: derivative threshold for AP_begin_voltage detection.
I would appreciate any guidance or suggestions on how to address this issue. Specifically, are there recommended practices for setting the derivative threshold, or are there alternative approaches within eFEL to ensure the accurate detection of AP_begin_voltage?

Thank you for your assistance.

Best regards,
Matus
3500
2006

Hi @tomko-neuron ,
From your figures, it looks like AP_begin_voltage returns nothing when the spike happens after the end of the stimulus (55 ms). This could be explained if you have set strict_stiminterval to True, thus ignoring spikes outside of the stimulus. Is that the case?
Also, if your goal is just to detect spike presence, I would suggest using other features, like spike_count, or peak_time, that are more reliable for spike detection. But you will still have to set strict_stiminterval to False if you also want to detect spikes outside of stimulus interval.

Hi @AurelienJaquier ,

Thank you for your quick reply. I tried setting strict_stiminterval to both True and False, but unfortunately, it didn't resolve the issue. I'm surprised that the threshold detection is failing because when I used eFEL on our measured traces, detection was successful even with noisy traces.

Threshold detection is crucial for my work as I need to fit the shape of the AP, not just determine its presence. Any further suggestions or insights on why the AP_begin_voltage detection might be failing in this specific scenario would be greatly appreciated.

If that is ok with you, could you please share some of your traces so that I can reproduce this issue?

Yes, I am sending you the traces that match the figures above. The first column in the files is time and the others are voltages.
traces_3500.txt
traces_2006.txt

Thank you for your help @tomko-neuron . The problem was on our end, and is now fixed. You can re-install efel, and you should be able to get AP_begin_voltage as expected.
Thank you again for reporting this.
fixed_2006
fixed_3500

Thank you. Now it is working!

Great! Then I'll close this issue.