Downloading data#
Allen Morphology#
The AllenMorphology
class is used to download data for this dataset. It can be used to specify neurons from a
given species and brain regions, like in the example below:
from morphapi.api.allenmorphology import AllenMorphology
am = AllenMorphology()
# Select mouse neurons in the primary visual cortex
neurons = am.neurons.loc[
(am.neurons.species == "Mus musculus")
& (am.neurons.structure_area_abbrev == "VISp")
]
# Download some of these neurons
neurons = am.download_neurons(neurons[:5].id.values)
Neuromorpho#
Neuromorpho is a vast online repository of morphological data. The NeuroMorpOrgAPI
class can be used to
download data from it. Note that given the size of this huge dataset, it is not possible to download all metadata
matching specific criteria at once.
from morphapi.api.neuromorphorg import NeuroMorpOrgAPI
api = NeuroMorpOrgAPI()
# ---------------------------- Downloading metadata --------------------------- #
# Get metadata for pyramidal neurons from the mouse cortex.
metadata, _ = api.get_neurons_metadata(
size=10, # Can get the metadata for up to 500 neurons at the time
species="mouse",
cell_type="pyramidal",
brain_region="neocortex",
)
# To get a list of available query fields: print(api.fields)
# To get a list of valid values for a field: print(api.get_fields_values(field))
print("Neurons metadata:")
print(metadata[0])
# ---------------------------- Download morphology --------------------------- #
neurons = api.download_neurons(metadata[5])
MouseLight#
To download neurons morphologies from Janelia Campus’ MouseLight project, you can use the MouseLightAPI
class.
from morphapi.api.mouselight import MouseLightAPI
# ---------------------------- Downloading neurons --------------------------- #
mlapi = MouseLightAPI()
# Fetch metadata for neurons with soma in the secondary motor cortex
neurons_metadata = mlapi.fetch_neurons_metadata(
filterby="soma", filter_regions=["MOs"]
)
# Then we can download the files
neurons = mlapi.download_neurons(neurons_metadata[0])
Mpin Zebrafish#
To download neurons registered to a zebrafish atlas, you can use the MpinMorphologyAPI
class.
from morphapi.api.mpin_celldb import MpinMorphologyAPI
api = MpinMorphologyAPI()
# ----------------------------- Download dataset ----------------------------- #
"""
If it's the first time using this API, you'll have to download the dataset
with all of the neurons' data.
"""
api.download_dataset()
# You can then inspect metadata about all neurons:
print(api.neurons_df.head())
# Get neurons for a given brain structure
neurons_ids = api.get_neurons_by_structure(837)
# and load the selected neurons
neurons = api.load_neurons(neurons_ids)