Skip to content

Important changes log

juliefabre edited this page Dec 12, 2024 · 35 revisions

Here's a log of important changes in bombcell:

  • 🎨 2024/12/08: better, clearer variable names. Call the function [qMetric, param] = bc.qm.prettify_names(qMetric, param); to convert your param and qMetric fields. Bombcell automatically calls this function and handles the changes.

  • ⚑ 2024/11/01: support for post-hoc splitting/merging in phy - bombcell can now run on those new outputs. INTRODUCED A BREAKING CHANGE - you now have to call the function bc.load.loadEphysData with TWO inputs: ephysKilosortPath and savePath

  • πŸ’« 2024/10/13: updated GUI to be in two parts, with dynamic histograms that show where the current unit falls in the distribution

  • ✨ 2024/09/26: option to fit spatial decay with an exponential function

  • πŸ’„ 2024/08/19: better non-somatic metrics

  • 🎨 2024/08/19: another (better) option to compute refractory period violations: Llobet et al. set param.hillOrLlobetMethod to 0 / false to enable.

  • πŸš‘ 2024/08/06: only compute spatial decay of geometry of probe allows (ie if it is a high density probe)

  • ✨ 2024/08/04: more robust waveform peak and trough detection

  • 🎨 2024/07/04: changed code structure to namespace folders. INTRODUCED BREAKING CHANGES - you now have to call functions differently - see the gettingStarted.mlx script.

  • 🦺 2024/06/05: more robust spatial decay computation: template values are optionally (if param.normalizeSpDecay is set to 1) normalized relative to the peak value, making the spatial decay slope calculation more robust. - thanks @cbimbo for the suggestion. To update previously computed values, see the function bc_updateSpatialDecaySlope

  • πŸ› 2024/06/05: distance metric bug fix - thanks @chrisan97

  • ✨ 2024/03/07: Now compatible with Kilosort4. For now, change param.spikeWidth to 61 is using KS4 (and use the default value of 82 otherwise). Thanks @petersaj!

  • 🍱 2024/03/05: Added UpSet plots for outputs (more details on what they are and the original paper that introduced them.

  • πŸ—‘οΈ 2023/12/08: Now handles empty or non-existent pcFeatures, which are no longer outputted by Kilosort3. Thanks @Spencer Hanson! In this case, metrics dependant on PCFeatures (distance and drift metrics) cannot be computed.

  • 🧐 2023/12/05: Added option to fine-tune the non-somatic classification. Now, if a unit has a its largest detected peak before the trough, it is no longer automatically classified as non-somatic. The peak needs to be param.firstPeakRatio times larger than any value after the waveform's trough. Thanks @LaurenzMuessig.

  • 🍱 2023/11/27: New module to compute a host of ephys parameters and to classify striatal and cortical units. See the last section in the example script bc_qualityMetrics_pipeline.m to get started.

  • πŸ—ƒοΈ 2023/11/23: New option to separate non-axonal spikes into MUA and good. If param.splitGoodAndMua_NonSomatic is set to 1, non-somatic units are further separated into non-somatic multi-unit and non-somatic good unit. Thanks @cbimbo.

  • πŸ‘­ 2023/10/29: Added option to remove duplicate spikes.

  • 🧱 2023/10/29: Better back-compatibility management. Introduced the function bc_checkParameterFields that checks the inputed parameter structure/table has all necessary fields. This code adds any missing fields with values resulting in the same behavior as before any new feature or feature flag was added.

  • ✨ 2023/10/27: Option to detrend raw spikes. Set param.detrendWaveforms to 1 to enable this.

  • 🩹 2023/10/19: Optional, if you are using another recording software than spikeGLX or OpenEphys (e.g. Intan), you can still use bombcell. You need to change the inputs to the parameter function param = bc_qualityParamValues(ephysMetaDir, rawFile, ephysKilosortPath, gain_to_uV); . Set ephysMetaDir = '' AND gain_to_uV = your_value_here. For Intan data, gain_to_uV = 0.195;.

  • 🩹 2023/10/16: Optional, if you are using spikeGLX and there is some error in your metafile where your probe type is not defined, change param.probeType to the appropriate value.

  • 🀝 2023/08/29: Optional compatibility with phy. If param.saveAsTSV is true, bombcell saves a tsv file per quality metric in the param.ephysKilosortPath path. This needs to be the same path as where all your kilosort output paths are saved.

  • πŸͺ„ 2023/08/23: Move makepretty function to a separate repo, so it can be easily used across different projects. Users now need to download https://github.com/Julie-Fabre/prettify_matlab and add it to their matlab path.

  • πŸ”– 2023/07/21: Bombcell version 1 released! 10.5281/zenodo.8172821

  • πŸ₯… 2023/07/06: Updated SNR calculation. Previously was using largest peak rather largest absolute value - thanks @LaurenzMuessig.

  • 🧹 2023/06/23: Added un-whitening step to templates - thanks @petersaj.

  • ✨ 2023/05/30: New bombcell quality metric parameter param.extractRaw to extract or not raw waveforms. This is currently one of bombcell's most time consuming steps. Note that if this option is disabled, you will not compute each units' rawAmplitude or each units' signal-to-noise ratio.

  • πŸ› 2023/05/20: Updated the scaling factor for open-ephys recorded data

Follow me on twitter: basal_gang for updates on bombcell.