Tool landscape
Categories:
Below are brief descriptions of the libraries/packages. For details, I defer to their respective (excellent) documentations.
Querying VFB
Queries against VFB’s REST API are easiest with
vfb_connect
for Python.
For R there is a vfb_connect
wrapper, vfbconnectr
.
See also David’s presentation for details.
R
In R, the natverse is your one-stop-shop for all things
neuron: it’s a collection of various R packages that are built on top of
the neuroanatomy toolbox, nat
. Of particular relevance for
this workshop:
nat
is a general purpose library for working with morphological neuron data. In this workshop, we make heavy use ofnat
’s plotting capabilities but its capabilities extend far beyond that. If you want to run any morphological analysis, I highly recommend you have a look at the “Articles” in nat’s doc.neuprintr
andhemibrainr
provide an interface with neuprint and the Janelia hemibrain dataset (link). The former lets you run queries against neuprint’s neo4j database while the latter contains meta data and various convenience functions to work with the hemibrain dataset.rcatmaid
provides an interface with CATMAID servers such as those the VFB uses to host published from the FAFB or larval fruit fly dataset.rcatmaid
is built on top ofnat
and you can usenat
functions with neurons pulled viarcatmaid
.
Python
In Python, we find packages analogous to those in R:
navis
isnat
’s serpentine sibling: a general purpose neuron library for visualization and analysis of neuronal morphologies. It also features interfaces e.g. with Blender 3D and thenatverse
viarpy2
.python-neuprint
is a Python library to interface with neuprint maintained by Janelia. Note thatnavis
wraps this library and adds some convenience functions. See this tutorial.pymaid
lets you interface with CATMAID servers. Critically, it’s built on top ofnavis
and you can natively usenavis
functions withpymaid
neurons. Note that due to a name clash the library is calledpython-catmaid
on PyPI.
Noteworthy mentions
There are a few more packages/functions that you might hear of over the course of the workshop.
NBLAST
NBLAST is an algorithm that computes morphological similarity between neurons (Costa et al., 2016). This has proven incredibly useful to find similar neurons across datasets but also to cluster neurons into cell types.
On the R side the algorithm is implemented in
nat.nblast
and in Python it is
part of navis
(see this tutorial).
Transforms
You will note that neurons pulled from VFB are typically in the same
template space which makes co-visualization of neurons from different
datasets a breeze. If you want to transform spatial data between
template brains, e.g. from FAFB (“FAFB14”) to hemibrain (“JRCFIB2018F”), you
should look for nat.flybrains
& nat.jrcbrains
in R and
navis-flybrains
in Python.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.