AnoushkaJain3's picture
Update README.md
40fcacd verified
|
raw
history blame
2.55 kB
metadata
language:
  - en
pipeline_tag: tabular-classification
tags:
  - Computational Neuroscience

To reduce the effort in manual curation, we developed a machine learning approach using Neuropixels probes, incorporating quality metrics to identify noise clusters and isolate single-cell activity automatically. Compatible with the Spikeinterface API, our method generalizes across various probes and species.

We generated a machine learning model trained on 11 mice in V1, SC, and ALM using Neuropixels on mice. Each recording was labeled by at least two people and in different combinations. The agreement amongst labelers is 80%.

There are two tutorial notebooks:

  1. Model_based_curation_tutorial.ipynb

    This notebook helps you apply pretrained models to new recordings. Simply load the models and use them to label your spike-sorted data.

    We provide "noise_neuron_model.skops" which is used to identify noise, and "sua_mua_model.skops" which is used to isolate SUA. These models can be used if you want to predict on mice data generated using Neuropixels.

     from spikeinterface.curation import auto_label_units
     labels = auto_label_units(
     sorting_analyzer = sorting_analyzer,
     model_folder = “SpikeInterface/a_folder_for_a_model”,
     trusted = [‘numpy.dtype’])
    
  2. Train_new_model.ipynb

    If you have your own manually curated data (e.g., from other species), this notebook allows you to train a new model using your specific data.

     from spikeinterface.curation.train_manual_curation import train_model
    
     trainer = train_model(mode = "analyzers",
     labels = labels,
     analyzers = [labelled_analyzer, labelled_analyzer],
     output_folder = str(output_folder), 
     imputation_strategies = None, 
     scaling_techniques = None,
     classifiers = None, # Default to Random Forest only. Other classifiers you can try [ "AdaBoostClassifier","GradientBoostingClassifier",
                                                                 # "LogisticRegression","MLPClassifier","XGBoost","LightGBM", "CatBoost"]
     )
    

Acknowlegments:

I would like to thank people who have helped a lot in this project:

  • For code refactoring and helping integration in Spikeinterface : Chris Halcrow, Jake Swann, Robyn Greene
  • Curators : Nilufar Lahiji, Severin Graff, Sacha Abou Rachid, Luca Koenig, Natalia Babushkina, Simon Musall
  • Advisors : Alessio Buccino, Matthias Hennig and Simon Musall

Also all my amazing lab members : https://brainstatelab.wordpress.com/