Relevant libraries


the natverse

The natverse is an ecosystem of R tools for neuroanatomy (Bates & Manton et al. 2020). It is essentially collection of interoperable R packages to import, visualise, analyse, manipulate and export 3D neuroanatomical data, including neurons, brains and brain regions. It has been used to study brain and circuit organisation in species from flies to fish and mice. These R package allow you to go general neuron analyses, and enable you to move data between different fly brains. The key generalist package in this ecosystem is nat (the nneuroanatomy atoolbox).


This catmaid package provides access to the CATMAID API for R users. At present it provides low level functions for appropriately authenticated GET/POST requests, optionally parsing JSON responses. There are also intermediate level functions that retrieve skeleton (i.e. neuron) information, connectivity information for one or more neurons as well as a number of other API endpoints. In the context of our paper, it was used to access manual neuron reconstructions from FAFB dataset, some of which was original tracing for this work (hemilineage morphology comparisons) and much of which we have already reported (Bates & Schlegel et al., 2020). You will need a user name, password and unique token to access some CATMAID instances, e.g. there is a private FAFB instance, and a public one (no credentials required) for the same data, but with fewer reconstructions.


The goal of the fafbseg package is to provide support for analysis of segmented EM data. This includes support for working with neuroglancer mesh data for the FAFB dataset. In particular there is support for the FlyWire and Google brain automatic segmentations of FAFB data.


The goal of neuprintr is to provide R client utilities for interacting with the neuPrint connectome analysis service. neuPrint is set of tools for loading and analysing connectome data into a Neo4j database. You can find neuprint on Github. The main focus is analysis of the hemibrain, densely reconstructed adult Drosophila brain dataset available here. For more information, have a look here.


The goal of hemibrainr is to provide useful code for preprocessing and analysing data from the Janelia FlyEM hemibrain project. It contains specific functionality for splitting neurons into axons and dendrites, including split edgelists for connectivity. It also has the capability to load large amount of precomputed data on flywire, FAFB and hemibrain neurons from a linked Google drive. Please see this article.



pymaid is a library that lets you interact programmatically with a CATMAID server: fetch neurons, add/remove annotations or query connectivity, to name but a few.


fafbseg is analogous to the R package of the same name: an ever evolving library containing various functions to interact with the auto-segmented data available for the FAFB data set. At the moment, this is data from the Seung lab at Princeton (hosted on flywire) and Peter Li at Google (hosted e.g. as skeletons in the CATMAID autoseg instances). Functions to query the Buhmann et al. FAFB synapse data will soon be added too.


neuprint-python is a Python client developed and maintained by Stuart Berg (HHMI Janelia Research Campus) that allows you to programmatically query the hemibrain connectome hosted on navis wraps this library and adds a few convenience functions to fetch hemibrain data.

Code Examples



Olfactory Layers - Network Traversal

examples/Python/1_network_traversal_model.ipynb link show cases the network traversal model used to sort neurons into layers with respect to the olfactory system.