/McNeuron

Plot, edit, generate and analysis neuron morphologies! and a lot more...

Primary LanguageJupyter NotebookMIT LicenseMIT

McNeuron

LicenseGitterDOI McNeuron is a Python Package to Utilize Neuron Morphology. It can visualize neurons, extract their feature, and generate novel samples.

Installation:

Clone the repository.

$ git clone https://github.com/BonsaiNet/McNeuron.git

Usage

downloading neuromorpho.org database

For more information Go to the following notebook with title: Download neuromorpho.org

Reading and plotting swc files

For more information Go to the following notebook with title: How to use McNeuron to depict a neuron

Extracting features of a neuron

For more information Go to the following notebook with title: Extracting features

Sampling neuron morphology:

We can generate samples of different cell types by McNeuron. Technically, it uses Reversible-jump Markov Chain Monte Carlo (RJMCMA) generating morphologies. It extracts features of a database of neuron and then generates neuron with the same features. Specificaly, the algorithm starts from a simple neuron (e.g. a neuron with soma only) and perturbing it using RJMCMC and gradually enriches the morphology with the desired features (see figure below). In this framework, adding more morpgological features reasults in more realistic neurons. The main advantage of this approach is that it can generates morphologies for any cell type.

alt tag

You can see a few samples here:

If you want to know more about this algorithm read the paper below: Farhoodi, Roozbeh, and Konrad P. Kording. "Sampling Neuron Morphologies." bioRxiv (2018): 248385.

To run the algorithm follow the script go to

https://github.com/BonsaiNet/McNeuron/blob/master/Generating%20Neurons%20with%20MCMC.ipynb

Dependencies:

References:

If you used this package, we really appriciate if you cite our paper: Farhoodi, Roozbeh, and Konrad P. Kording. "Sampling Neuron Morphologies." bioRxiv (2018): 248385.

Contact: Roozbeh Farhoodi [roozbehfarhoodi@gmail.com]