Tracer connectivity data between different layers available for the mouse brain?

how-to
atlas-mouse-brain-connectivity
experiment-design
allensdk

#1

Hi! Is the tracer connectivity data between different layers available for the mouse brain?

In particular I would need the connectivity information of the layers of the Entorhinal cortex.

Apparently, afferent and efferent connections of Entorhinal layers are shown in the Brain explorer 2, however I am not able to retrieve this information using the mouse connectivity cache.

Thank you!


#2

Hi!
Yes, you can use the Mouse Connectivity Cache to download projection data by layer. The key is to find the structure ids for layers within structures. The code snippet below shows how to find structure ids for all the substructures within the entorhinal cortex (including layers) and then download the quantified injection and projection volumes by layer for all the injections we have performed in entorhinal cortex.

from allensdk.core.mouse_connectivity_cache import MouseConnectivityCache
mcc = MouseConnectivityCache(manifest_file='mouse_connectivity_manifest.json')

structure_tree = mcc.get_structure_tree()
ent_descendants = structure_tree.descendant_ids([ia_map['ENT']])[0]
ia_map = structure_tree.get_id_acronym_map()
ai_map = {item:key for key, item in ia_map.items()}
print([ai_map[structure] for structure in ent_descendants])

experiments = mcc.get_experiments(injection_structure_ids=ent_descendants)
print(len(experiments))

expt_ids = [experiment['id'] for experiment in experiments]
unionizes = mcc.get_structure_unionizes(experiment_ids = expt_ids, structure_ids = ent_descendants)
injection_data = unionizes[unionizes['is_injection'] == True]
projection_data = unionizes[unionizes['is_injection'] == False]

Note that the injection_data and projection_data dataframes have one row for each structure id and hemisphere (1=left, 2=right, 3=both), so there will be more than one row for most structures. You can use the structure ids for each layer (from the ent_descendants list) to find injection volume (injection_data[‘projection_volume’]), projection volume (projection_data[‘projection_volume’], or projection_data[‘normalized_projection_volume’] if you want to normalize by injection volume), or projection density.

The transgenic mouse line each experiment was performed in can be found in “experiments” under the “transgenic_line” key. To match mouse lines to unionize data, use the “experiment_id” key from the unionizes dataframe to index the “id” in experiments corresponding to the experiment id. The “id” key in the unionizes dataframe is a unique identifier that does not correspond to an experiment id.

More examples on how to work with unionize data (projection data quantified by structure) can be found in this Jupyter notebook. Feel free to follow up if you need more help!