DOI: 10.5061/dryad.crjdfn39x
title: Hippocampal firing fields anchored to a moving object predict homing direction during path-integration-based behavior

description: Homing based on path integration (H-PI) is a form of navigation in which
 an animal uses self-motion cues to keep track of its position and return
 to a starting point. Despite evidence for a role of the hippocampus in
 homing behavior, the hippocampal spatial representations associated with
 H-PI are largely unknown. Here we developed a homing task (AutoPI task)
 that required a mouse to find a randomly placed lever on an arena before
 returning to its home base. Recordings from the CA1 area in male mice
 showed that hippocampal neurons remap between random foraging and AutoPI
 task, between trials in light and dark conditions, and between search and
 homing behavior. During the AutoPI task, approximately 25% of the firing
 fields were anchored to the lever position. The activity of 24% of the
 cells with a lever-anchored field predicted the homing direction of the
 animal on each trial. Our results demonstrate that the activity of
 hippocampal neurons with object-anchored firing fields can predict homing
 behavior.
description: Mice were connected to the data acquisition
 system (RHD2000-Series Amplifier Evaluation System, Intan Technologies,
 analog bandwidth 0.09–7603.77 Hz, sampling rate 20 kHz) via a lightweight
 cable. The recording was controlled using ktan software (https://github.com/kevin-allen/ktan). Kilosort2 (https://github.com/jamesjun/Kilosort2) was used for spike extraction and clustering. Automatically generated clusters were visually inspected and manually refined with Phy (https://github.com/cortex-lab/phy). The quality of spike clusters was estimated from the spike-time autocorrelation. A refractory period ratio was calculated from the spike-time autocorrelation from 0 to 25 ms (bin size: 0.5). The mean number of spikes from 0 to 1.5 ms was divided by the maximum number of spikes in any bin between 5 and 25 ms. Any cluster with a refractory period ratio larger than 0.25 was discarded. <strong id="docs-internal-guid-7596f916-7fff-7b71-e536-c0a1db94a94b">I</strong>n experiments with electrophysiological recordings, the position of the mouse was estimated from the position of infrared-LEDs (wavelength 940 nm) located on both sides of the head of the mouse. Three LEDs were used on one side and one on the other. The distance between the two LED groups was 3 cm. Two video cameras fitted with long-pass filters (Cut-On wavelength: 800 nm) and located directly above the recording environment monitored the position of the LEDs at 30 or 50 Hz. The location of the mouse was extracted online from the position of the LEDs (https://github.com/kevin-allen/positrack or https://github.com/kevin-allen/positrack2).
description: # Hippocampal firing fields anchored to a moving object predict homing
 direction during path-integration-based behaviour Raw data recorded in the
 behavioural experiment or the electrophysiological experiment in the
 manuscript, titled 'Hippocampal firing fields anchored to a moving
 object predict homing direction during path-integration-based
 behaviour'. # Description of the data and file structure Here, we
 included the raw data from 2 experiments. 13 mice were included in the
 behavioural experiment (directory autopi_behavior_2021). 9 mice were
 included in the electrophysiological experiment (directory autopi_ca1).
 There is one directory per mouse. Within a mouse directory, you find one
 directory per recording session. # Autopi\_ca1 subdirectory and files:
 Most data files are in their respective recording session directories. The
 file names have either the recording session name (e.g.
 mn9686-27102021-0106) as file basename (e.g. `mn9686-27102021-0106.par`).
 Some other files don't have any firebase (e.g. `leverPose`). A
 session is usually divided into a series of recording files. For instance,
 session mn9686-27102021-0106 contains recording files 01 to 06. This
 session is one of the electrophysiological recording sessions and can be
 found here: ..`/autopi_ca1/mn9686/mn9686-27102021-0106` Below is a short
 description of the files. We use the session mn9686-27102021-0106 as an
 example: `mn9686-27102021-0106.desel` The .desel file indicates which
 brain region was targeted by each electrode (usually CA1). One line per
 shank, as we used Neuronexus probes in this experiment.
 `mn9686-27102021-0106.desen` Recording sessions are divided into several
 recording files. The “desen” file contains the code for the environment
 explored by the mouse in each recording file. Recordings of random
 foraging are labelled with “circ80”. Rest trials as “rest” and the AutoPI
 task as “autopi”.  `mn9686-27102021-0106.environmentFamiliarity` Indicates
 if the environment was novel or familiar. In this project, it is always a
 familiar environment represented as “fam”. `mn9686-27102021-0106.par` This
 contains several parameters describing the recording session. Here is the
 structure of the .par file:  number_channels_in_dat_file
 number_bits_per_data_point_in_dat_file sampling_rate unused_number
 number_shanks unused_number number_channels_shank_1 channel_0_e1
 channel_1_e1 channel_2_e1 channel_3_e1 number_channels_shank_2
 channel_0_e2 channel_1_e2 channel_2_e2 channel_3_e2 ...
 number_of_session_trials name_of_session_trial_01 name_of_session_trial_02
 ... The sampling rate in the .par file is in format 1000000/frequency. 50
 means a sampling rate of 20000 Hz. The time points in sample numbers can
 be converted to seconds with sample_no/sampling_rate.
 `mn9686-27102021-0106.protocol` The protocol name used in this session is
 autopi_task.py, the time in seconds (5400), the Rosmaster computer
 a230_pc41 and its IP address. `mn9686-27102021-0106.px_per_cm` Used with
 the position data. Number of pixels in the video per cm. This is used to
 transform the raw position data into cm.
 `mn9686-27102021-0106.sampling_rate_dat` Sampling rate in Hz
 `mn9686-27102021-0106.setup` The room number where we recorded the
 experiment. `mn9686-27102021-0106.stimulation` Represents whether we had
 any laser stimulation in each trial or not. In this case, it is none all
 the time. `mn9686-27102021-0106.log` It is a text file that lists the
 event name, parameters, and event time during the task. For example, door
 1635353821.989127040 1.000000 (door, time in seconds, the door opened)
 `arenaCoordinates and bridgeCoordinates` represents the coordinates of the
 bridge and arena on one frame from the beginning of the task.
 `mn9686-27102021-0106.mouseLeverPosition.csv` The position of the mouse
 and lever during the task was generated with Deeplabcut. The columns in
 this data frame are these:  leverX: The x position value of the lever
 leverY: The y position value of the lever.  leverOri: Lever orientation in
 a given trial  leverXHeading: The angle between the lever and the bridge
 leverYHeading: The angle between the lever and  leverPressX: The x
 position of the lever at the time of lever press leverPressY: The y
 position of the lever at the time of the lever press  leverBoxPLX and
 leverBoxPLY are in order: The x and y values of the lever's box
 posterior left point location on each trial.  leverBoxPRX and leverBoxPRY
 are in order: The x and y value of the lever's box posterior right
 point location on each trial.  mouseX, mouseY,mouseOri,mouseXHeading, and
 mouseYHeading represent in order the x and y location of the mouse and
 orientation of the mouse. The x value for the heading (mean between the
 location of the two ears) of the mouse and the y value for the heading of
 the mouse.   `leverPose` Position of the lever on each trial generated
 with Deeplabcut `leverBoxDistance.npy` We use the occupancy histogram of
 the mouse with the distance from the lever on the x-axis. This creates a
 peak near the lever, and occupancy is flat after 10 cm. We use the
 distribution to set a limit of the Lever zone based on the empirical data.
 `leverZoneMaxDistance` The max distance from the lever is to be considered
 at the lever zone. `mn9686-27102021-0106.pose.npy` 2D numpy array with
 information about the position and orientation of the animal, columns are
 (time, x,y,z, yaw, pitch, roll). This is a pointer to an animal's
 pose_ori or pose_inter(position and orientation) in time. The position is
 in x,y, and z, and the orientation is in Euler angles (yaw, pitch, roll).
 When not available, data are set to np.NAN. Position data are in cm.
 Angular data are in radians to make computations simpler. Yaw should be
 from -180 to 180; 0 is in the direction of the positive x-axis, pi/2 up,
 -pi/2 down. `mn9686-27102021-0106.pose_kf.npy` We applied a Kalman filter
 to remove the noise from the tracking system in the position and
 orientation of the mouse. We applied the filter to the mouse's
 reported x and y positions. 2D array with an applied Kalman filter
 implements a constant velocity model for a state [x,y, dx,dy].T
 `navPathInstan.csv` This data frame contains Instantaneous behavioural
 variables (distance run, time in the navPath (search, homing, at the
 lever), speed, etc.) for each time point of the navPaths. Columns of this
 data frame are :  'name': Name of the trial including the
 session name_trials number\_ number of journeys  'trialNo':
 trial number 'timeRos': computer clock time (sec),
 'timeRes': recording time in (sec),  'iTime': time in
 seconds from the beginning of the trial 'iTimeProp': proportion
 of the trial time (varies from 0 to 1). 'distance': distance run
 in cm,  'distanceProp': proportion of the distance run within
 the trial (from 0 to 1), in case if its nan means the tracking was not
 accurate enough to calculate the proportion of the distance in the
 interval of interest 'Speed': Speed of the animal 
 'x', 'y': X and Y position of the animal 
 'targetDistance': distance of the animal to the lever.
 'targetToAnimalX': The X position of the lever from the animal
 'targetToAnimalY': Y position of the lever to the animal
  'targetToAnimalAngle': The angle between the animal and the
 lever 'cumSumDiffAngleAroundTarget': cumulative sum of the
 difference in angleAroundTarget for subsequent measurements
 'Nan's: In some columns in this data frame, such as speed, x, y,
 targetDistance,targetToAnimalX,targetToAnimalY, targetToAnimalAngle and
 cumSumDiffAngleAroundTarget we have nan values which means the tracking
 for the specific interval was not accurate enough to calculate the
 parameters mentioned here. `navPathSummary.csv` It's a data frame
 that lists all NavPaths in one session. The NavPaths are small segments of
 behaviour (e.g., search from arena entry to lever, search to lever press,
 etc.) for each trial in each session. The columns in this data frame are
 :  'name': Name of the trial that includes the name of the
 session, number of journeys and the type of the path, e.g.
 mn9686-27102021-0106_1-0_all: includes all the path types in the first
 journeys in the first trial from session mn9686-27102021-0106
  'trial': represents the name of the session plus the name of
 the trial on that session   'trialNo': represents the number of
 trials  'journey': journey number   'type': Path types
 that could be all, search, homing or at the lever, which are the path of
 the animal around the lever  'light': light condition that can
 be light or dark   'nLeverPresses': number of lever presses on a
 given journey  'startTimeRos': The time in which the journey
 starts in the ros time   'endTimeRos': The time in which the
 journey ends in the ros time   'startTimeRes': The time in
 seconds inside the recording session when the session starts 
 'endTimeRes': The time in seconds inside the recording session
 when the session ends `trial_table_simple` This is a data frame that has
 the session name, trial number, start and end time in sample rate
 (startTime, endTime), startTimeWS that has the time within the session (in
 Ros time), endTimeWS, end time of within the session, light conditions,
 recording start time (the electrophysiological recording time) and the end
 time in the recording session. `sessionIntervals.npy` Numpy array
 containing the time offset of each trial of the session, the trial time
 intervals generated from the dat file. `ses.pickle` This is an object
 generated from the SpikeA session object and AutopiPy. This object can
 select NavPaths (etc., search, homing, at lever) that we want to analyse.
 The column "name" can be used to get the instantaneous data for
 analysis with electrophysiological data. It contains the time intervals to
 limit our spike A.SpikeTrain to specific intervals. `ifr_autopi.pkl` It is
 the instantaneous firing rate of all neurons as a function of time in a
 given session. `mn9686-27102021-0106.shank_neuron.csv` It contains the
 neuron ID, neuron number and the hippocampal layer where we recorded the
 neuron, so either pyr, which represents the neuron, were recorded in the
 pyramidal layer of the hippocampus or dn, which means the none pyramidal
 layer of the hippocampus. `Shank_layer.csv` It's a data frame
 containing the number of the shank and the hippocampal layer we recorded
 from that shank. Pyr represents the pyramidal layer, and the dn represents
 the non-pyramidal layers.  The files generated using Kilosort and Phy are
 listed below; please visit the Phy website for more information at
 `params.py,
 amplitudes.npy, channel_map.npy, channel_positions.npy, pc_features.npy,
 pc_feature_ind.npy, spike_templates.npy, spike_times.npy,
 spike_clusters.npy, cluster_group.tsv, cluster_info.tsv,
 cluster_KSLabel.tsv, cluster_ContamPct.tsv, cluster_Amplitude.tsv,
 templates.npy` * `params.py: `Python script contains various parameters
 and configuration settings for spike sorting and data processing. * for
 every spike, the value found in `amplitudes.npy`, saved by the spike
 sorting algorithm. * The `channel_map.npy` file contains a 1D integer
 array called `channel_map`, of size `(n_channels,)`. The raw data array
 has `n_channels_dat` columns (which may be different from `n_channels` if
 there are dead channels). * `channel_positions.npy: `It's about the
 position of the channel on the shank * `pc_features.npy: `Principal
 component features used in spike sorting * `pc_feature_ind.npy: `Related
 to the index of the principle component * `spike_templates.npy: `The
 template in which each cluster was separated before manual clustering *
 `spike_times.npy: `Contains information about the times at which spikes
 were detected * `spike_clusters.npy: `1D array has `n_spikes` elements, it
 gives the cluster id of every spike. * `cluster_group.tsv: `Each row in
 the file corresponds to a cluster, representing a putative neuron or group
 of neurons, and contains information about the cluster's properties
 and classification. * `cluster_info.tsv: `provides detailed information
 about each cluster obtained during spike sorting. * `cluster_KSLabel.tsv:`
 Information about the labels of each cluster * `cluster_ContamPct.tsv:
 `Contains the principle component related to each cluster
 (cluster_id\tContamPct) * `cluster_Amplitude.tsv: `It has the Id and the
 amplitude of the specific cluster (cluster_id\tAmplitude) *
 `templates.npy: `Set of waveforms on the specific channel There are two
 mice whose name starts with TYY letters ( `TYY5622 and ` )instead of mn.
 There are no differences between the files in the subdirectories of the
 two animals that start with TYY instead of mn. ## /autopi\_ca1/results:
 Most of the files in this directory were generated within one of the
 Jupyter notebooks included in a GitHub repository with this address:
 
 `Cell_classification_noint.csv`: It's a data frame that represents
 information about the  'Id': cell id  'Session': which
 session the cell was recorded 'subject': the name of the animal
 in which the cell was recorded   'valid': whether the cell is
 valid or not 'cellType': The cell type, which can be ‘pyr’,
 stands for the pyramidal cells recorded from the hippocampus's CA1
 region, and ‘nan’ refers to non-pyramidal cells.  'meanRate':
 the mean firing rate of the cell  'shank': the shank number
 where the cell was recorded.  'layer': The hippocampus layer in
 which the cell was recorded. Either ‘pyr’ stands for the CA1 pyramidal
 cell layer, and ‘dn’ is the non-CA1 pyramidal layer. `dfLev.csv:`
 It's a data frame that contains the location:  'Session':
 Session name 'Trial': trial number  'X': The x
 location of the lever on a given trial  'Y': The y location of
 the lever on a given trial  'Light': Light condition on a given
 trial 'nan's: we have some nan values on columns x and y due to
 inaccurate tracking in that specific session.
 `myProjectWithTrials.pickle:` It's an autopipy.project object that
 was generated in a jupyter notebook from a GitHub repository called
 trials/extract_trials.ipynb from the repository with this address:
 `Protocol2.png:`
 It's an image used to generate the main figures 1.c and 3.a. 
              `Protocol2_with_labels.png:` This image is used to generate
 the main figure 3.a.  `Protocol.png`: This is an image used to generate
 the main figure 3.a.  `1DhomingHisto.pickle:` This is a dictionary file
 generated in `fig4/homing_path_data_collection.ipynb` notebook in the
 Jazi_et.al_2023_noInt repository. The keys in this dictionary are: 
 'homingFromLeavingLeverToPeriphery_light_distance': Is the 1D
 firing rate histogram as a function of the distance of the animal from the
 bridge on the arena for the homing paths for all light trials. 
 'homingFromLeavingLeverToPeriphery_dark_distance': Is the 1D
 firing rate histogram as a function of the distance of the animal from the
 bridge on the arena for the homing paths for all dark trials. 
 'homingFromLeavingLeverToPeriphery_light_iTime': Is the 1D
 firing rate histogram as a function of the time for the homing paths for
 all light trials. 
 'homingFromLeavingLeverToPeriphery_dark_iTime': Is the 1D firing
 rate histogram as a function of the time for the homing paths for all dark
 trials. 
 'homingFromLeavingLeverToPeriphery_light_targetDistance': Is the
 1D firing rate histogram as a function of the distance of the lever to the
 animal for the homing paths for all light trials. 
 'homingFromLeavingLeverToPeriphery_dark_targetDistance': Is the
 1D firing rate histogram as a function of the distance of the lever to the
 animal for the homing paths for all dark trials. 
 'homingFromLeavingLeverToPeriphery_light_y': Is the 1D firing
 rate histogram as a function of y location of the animal on the arena for
 the homing paths for all light trials. 
 'homingFromLeavingLeverToPeriphery_dark_y': Is the 1D firing
 rate histogram as a function of y location of the animal on the arena for
 the homing paths for all dark trials. `1DhomingHistoStats.pickle:`  This
 is a dictionary file generated in `fig4/homing_path_data_collection.ipynb`
 notebook. It is a dictionary containing rate histograms and information
 scores for the rate histograms for all the conditions explained above. 
 `1DsearchHisto.pickle:` This is a dictionary file generated in
 `fig4/search_path_data_collection.ipynb` notebook. The keys are similar to
 1DhomingHisto.                `1DsearchHistoStats.pickle:`  This is a
 dictionary file generated in `fig4/search_path_data_collection.ipynb`
 notebook. It is a dictionary containing rate histograms and information
 scores for the rate histograms for all the conditions explained above. 
 `aroundLeverIFRDict.pickle:` It's a dictionary that was generated in
 a jupyter notebook `fig6-7/lever_centered_sh.ipyn.` Contains the
 instantaneous firing rate matrix of each neuron in a session. 
 `homingIFRDict.pickle:` This is a dictionary file generated in
 `fig4/homing_path_data_collection.ipynb` notebook. It's a dictionary
 containing rate histograms during the homing paths for each session.
 `homingMapDict.pickle:` This is a dictionary file generated in
 `fig4/homing_path_data_collection.ipynb` notebook. It is a dictionary
 containing 2D firing rate maps as a function of the location of the animal
 in the arena during the homing paths of all trials in one session.      
 `leverCells.pickle:` It's a dictionary that was generated in
 `fig5/fig5.ipynb` notebook. It contains the cells that we defined as
 lever-box anchored cells, their corresponding cell id, cell index and the
 animal's name in both light and dark light conditions. The keys are
 ['none', 'lever', 'bridge', 'any',
 'all'] that refer to different reference frames as none, lever,
 bridge etc.  `leverFieldSearchPathStats.pickle:` It's a dictionary
 that was generated in `/fig6-7/fig6-7.ipynb` notebook.  It contains
 information about the mean firing rate, trial shift, peak firing rate and
 mean vector length of the lever-box-anchored cells. For more information,
 please refer to this jupyter notebook. 
 `mySearchHomingMapsInZone_5cm_per_bin.pickle:` This is a dictionary file
 generated in `fig3/search_homing_light_dark_maps.ipynb` notebook. It is a
 dictionary containing 2D firing rate map as a function of the
 animal's location on the arena during the search and homing paths of
 all trials in one session but only in a small zone in front of the bridge
 with the 5cm bin size.  `mySearchHomingMapsInZone.pickle:` This is a
 dictionary file generated in `fig3/search_homing_light_dark_maps.ipynb` a
 notebook. It is a dictionary containing 2d firing rate map as a function
 of the location of the animal in the arena during the search and homing
 paths of all trials in one session. `mySearchHomingMaps.pickle:` It's
 a dictionary that was generated in
 `/fig3/search_homing_light_dark_maps.ipynb` notebook. It contains all
 cells' 2D firing rate maps during search and homing paths. 
 `mySearchHomingMapStats.csv:` It's a data frame that was generated in
 `/fig3/search_homing_stats.ipynb` notebook. It has statistical information
 about the cells in an interval of interest. The columns are: 
 'peakRate': Peak firing rate of the cell in a given interval
  'meanRate': mean firing rate of the cell in a given interval  
 'validBins': The valid bins in a given interval 
  'Info': The information score of the cell, nan, means there is
 no valid information score for this cell  'sparcity': sparcity
 score of the cell, nan, means there is no valid sparsity score for this
 cell  'session': Session name  'Mouse': Animal name 
 'cellId': Cell id  `myMaps.pickle:` A dictionary generated in
 `/fig3/open_field_light_dark_maps.ipynb` notebook. It contains the 2D
 firing rate map of the cells in all possible intervals. For more
 information, please check the notebook.  `myMapStats.csv:` It is a data
 frame generated in `/fig3/light_dark_stats.ipynb`. It has the statistical
 information about the cells in an interval of interest. Columns are: 
 'peakRate': Peak firing rate of the cell in a given interval
 'meanRate': mean firing rate of the cell in a given interval  
 'info': The information score of the cell, nan, means there is
 no valid info score 'sparsity': Sparsity score of the cell. nan
 means there is no valid sparcity score for this cell
 'condition': The light condition, task or specific interval
 where the cell was recorded 'mouse': Animal name 
 'cellId': Cell id  `Pairs_cc.npy:` it's a numpy array that
 was generated in `fig3/light_dark_stats_pairs.ipynb` Notebook. It contains
 the spike time cross-correlation of the pairs of cells in different
 conditions. For more information, please refer to the notebook. 
 `pairs_ifrAsso_mapSim.csv:` It's a data frame generated in
 `fig3/light_dark_stats_pairs.ipynb` notebook. It has the instantaneous
 firing rate of pairs of cells in different intervals. For more
 information, please refer to the notebook. Some columns, such as
 `ifrAsso_circ80` or `mapSim_circ80 `contain nan values which means we
 couldn't calculate the instantaneous firing rate or the mapsimilarity
 for those cells. `leverHistoCor.pickle:` it's a dictionary generated
 in `/fig5/lever_centered_maps.ipynb.` It has the Pearson correlation
 between the firing rate histogram of the lever cells between intervals of
 interest. Please check the notebook for more information.            
 `leverIFRDict.pickle:` It's a dictionary generated in
 `/fig5/lever_centered_ifr.ipynb` notebook. It has the instantaneous firing
 rate histogram for the lever-box-anchored cells as a function of the
 distance of the animal to the lever. For more information, please check
 the notebook.  `leverMapCor.pickle:` It's a dictionary generated in
 `/fig5/lever_centered_maps.ipynb` notebook. It has the Pearson correlation
 of the 2d firing rate maps in between the interval of interest. For more
 information, please check the notebook.             
 `peakPositionLeverPositionCorr.csv:` It's a data frame generated in
 `fig4/search_homing_trial_matrix.ipynb.` It contains correlates with the
 peak of the firing for the cell and the position of the lever. Its columns
 are :  'cluId': It has the cluster id  'light':The
 light condition  'pathType': The path type such as search,
 homing, at the lever, etc.  'coordX': The x position location of
 the lever on a given trial  'shuf': If the position of the lever
 was shuffled or not.   'cor': The Pearson correlation, nan,
 means there is no valid correlation in this case.  'slope': Is
 the slope of the regression line   'Intercept': the intercept of
 the regression line  `leverPeakCorrSign.csv:` It's a data frame that
 was generated in `/fig4/search_homing_trial_matrix.ipynb` It indicates
 which neuron correlates significantly with the lever peak location and the
 lever location. The columns are: 'cluId': Cluster id of the
 cell  'homingFromLeavingLeverToPeriphery-light': The correlation
 in homing in light  'searchToLeverPath-light': Correlation in
 search in light  'homingFromLeavingLeverToPeriphery-dark':
 correlation in homing in dark trials  'searchToLeverPath-dark':
 Correlation in search path in the dark leverQuadMapCor.pickle: its
 dictionary that is generated in `/fig5/lever_centered_maps.ipynb`
 notebook. Map correlations between quadrant maps, north-south-east-west
 quadrant of the arena. For more information, please visit the notebook. 
 leverQuadMapRotCor.pickle: It's a dictionary generated in
 `/fig5/lever_centered_maps.ipynb` notebook. It generates 2D numpy arrays
 that have a correlation between the square matrix with rotations around
 their centre. For more information, please check the notebook.          
 `mapCorDf.csv:` The generated data frame `/fig3/light_dark_stats.ipynb`
 contains the coefficient between two firing rate maps in different
 conditions. The columns are :  'Condition': The wo condition we
 calculated the correlation from  'r': the Pearson correlation
 value, nan values means there is no valid corr between the 2d maps of the
 two conditions. `searchHomingMapCorDf.csv:` It's a data frame that is
 generated in `/fig3/search_homing_stats.ipynb` notebook. Contains the
 correlation coefficient between the search or homing maps in different
 conditions. The columns are:  'condition': condition name 
  'r': The r value, nan means there is no valid correlation in
 this case `searchHomingPairs_ifrAsso_mapSim.csv:` This data frame is
 generated in `/fig3/search_homing_stats_pairs.ipynb` notebook. It contains
 the map similarity of pairs of neurons in a set of conditions, one row per
 pair. The columns start with ‘ifrAsso_’, which represents the
 instantaneous firing rate association of the pairs of neurons in a given
 condition, or ‘mapSim_’, which has the Pearson correlation of the pairs of
 the cells in a given condition. For more information, please check the
 notebook.  nans means we could not calculate this condition's ifr or
 map similarity. `searchIFRDict.pickle:` This is a dictionary file
 generated in `fig4/search_path_data_collection.ipynb` notebook. It's
 a dictionary containing rate histograms during the homing paths for each
 session. For more information, please check the notebook. 
 `searchMapDict.pickle:` This is a dictionary file generated in
 `fig4/search_path_data_collection.ipynb` notebook. It contains all
 cells' 2D firing rate maps during the search trials in different
 light conditions. The keys are: 'searchToLeverPath_light': 2D
 firing rate maps in all search paths in all light trials. 
  'searchToLeverPath_light_1': 2D firing rate maps in all search
 paths in the first half of the light trials.
  'searchToLeverPath_light_2': 2D firing rate maps in all search
 paths in the second half of the light trials.
 'searchToLeverPath_dark': 2D firing rate maps in all search
 paths in all dark trials.  'searchToLeverPath_dark_1': 2D firing
 rate maps in all search paths in the first half of the dark trials.
 'searchToLeverPath_dark_2': 2D firing rate maps in all search
 paths in the second half of the dark trials. `myAutos.pickle:` It's a
 dictionary that is generated in `/fig3/open_field_light_dark_maps.ipynb`
 notebook. It contains the autocorrelation for each cell with two different
 bins, such as [0.0005,0.001]. For more information, please check the
 notebook.   `myLeverHistos.pickle:` This is a dictionary that is generated
 in `fig5/lever_centered_maps.ipynb` It contains lever-centered histograms
 of the cells within the intervals of interest. For more information,
 please check the notebook.  `myLeverMapsAccurate.pickle`: It's a
 dictionary that is generated in `/fig6-7/lever_centered_sh.ipynb`
 notebook. It contains the 2D firing rate maps of the lever-box anchored
 cells in trials with accurate and inaccurate homing dark trials. For more
 information, please check the notebook.           
 `myLeverMapsDissociate.pickle:` It's a dictionary generated in
 `/fig5/lever_centered_maps.ipynb`. It contains the map of the
 lever-box-anchored cells in different reference frames while eliminating
 the lever position for which the bridge angle is almost the same as the
 south.  `myLeverMapsDissociateStats.pickle:` It's a dictionary
 generated in `/fig5/lever_centered_maps.ipynb`. It has the map of the
 lever-box-anchored cells in different reference frames. For more
 information, please check the notebook. `myLeverMaps.pickle:` It's a
 dictionary that was generated in `/fig5/lever_centered_maps.ipynb.` It
 contains the 2D firing rate map of the lever-box-anchored cells in
 different light conditions with or without the lever-press. For more
 information, please check the notebook.  `myLeverMapsShortSearch.pickle:`
 It's a dictionary that is generated in
 `/fig6-7/lever_centered_sh.ipynb` notebook. It contains 2D
 lever-box-centered maps of lever-box-anchored cells for short and long
 search lengths.  `myLeverStatsThreshold.csv:` It's a data frame that
 was generated in `/fig5/lever_centered_maps.ipynb`. It contains the
 threshold for information score from the shuffled data for all the
 leve-box-anchored cells. The columns are:  'cellId': cell id 
 'condition': the interval of interest 
 'infoThreshold': The threshold for the information score in a
 given condition, nan means we couldn't calculate a valid threshold
 for this condition. `myLeverMapsStats.pickle:` It's a dictionary file
 generated in `fig5/lever_centered_maps.ipynb`. It contains the stats for
 the lever-box-anchored cells in different reference frames. Please check
 the notebook for more information.   `myLeverQuadMaps.pickle:` It's a
 dictionary that is generated in fig5`/lever_centered_maps.ipynb.` Contains
 the firing rate maps around the lever for lever positions at the
 arena's North-East, North-West, South-West and South-East. 
 `myLeverMapsStatsAccurate.pickle:` It's a dictionary that was
 generated in `/fig6-7/lever_centered_sh.ipynb`.It contains the stats for
 the 2D firing rate maps of the lever-box anchored cells in trials with
 accurate and inaccurate homing dark trials. For more information, please
 visit the notebook.  `myLeverStats.csv:`  is a data frame generated in
 `/fig5/lever_centered_maps.ipynb`. It contains the stats for the
 lever-box-anchored cells in different conditions. The columns are : 
 'cellId': It's a cell id 'condition': The
 condition of interest   'Info': information score, nan values
 means there is no valid information score `trialMatrixCor.csv:`  is a data
 frame generated in `fig4/search_homing_trial_matrix.ipynb`. It contains
 the correlation matrix of the trial rate matrix. Each row of the trial
 rate matrix has the rate as a function of distance, time, y-coordinate or
 target distance. We can correlate all pairs of rows to measure how
 reliable the rate information is across trials. The columns are : 
 'cluId': Cluster id  'path': The path, e.g. search or
 homing  'light': Light condition  'var': behavioural
 variable such as y, distance, time, etc.   'Cor': The
 correlation between the mean firing rate and the behavioural variable,
 nan, means there is no valid correlation. `trialMatrixCorShuf.csv:` Is a
 data frame generated in fig4/search_homing_trial_matrix.ipynb. It is
 similar to trialMatrixCor.csv, but the difference in the shuffle is that
 we shift the data of each trial by a random amount. 'cluId':
 Cluster id  'path': The path, e.g. search or homing
  'light': Light condition  'var': behavioural variable
 such as y, distance, time and etc.   'Cor': The correlation
 between the mean firing rate and the behavioural variable, nan means there
 is no valid correlation. `trialMatrixSign.csv:` It's a data frame
 generated in fig4/search_homing_trial_matrix.ipynb. It contains
 information about which trial matrix internal correlations are
 significant. The columns are :  'cluId': cluster id 
 'homingFromLeavingLeverToPeriphery-light-y': The trial matrix
 correlation during homing in light for the y as a behavioural variable.
 'homingFromLeavingLeverToPeriphery-light-targetDistance': The
 trial matrix correlation during homing in light for the animal's
 distance as a behavioural variable. 
 'searchToLeverPath-light-y': The trial matrix correlation during
 the search in light of the y as a behavioural variable. 
 'searchToLeverPath-light-targetDistance': The trial matrix
 correlation during the search in light of the animal's distance as
 the behavioural variable. 
 'homingFromLeavingLeverToPeriphery-dark-y': The trial matrix
 correlation during homing in the dark for y as a behavioural variable. 
 'homingFromLeavingLeverToPeriphery-dark-targetDistance':  The
 trial matrix correlation during homing in the dark for the animal's
 distance as a behavioural variable.  'searchToLeverPath-dark-y':
 The trial matrix correlation during the search in the dark for the y as a
 behavioural variable.  'searchToLeverPath-dark-targetDistance': 
 The trial matrix correlation during the dark search for the animal's
 distance as a behavioural variable. `trialMatrixStats.pickle:`  is a
 dictionary generated in `fig4/search_homing_trial_matrix.ipynb` .
 It's a data frame that contains the statistics of the trial matrices.
 For more information, please visit the notebook. # autopi\_behavior\_2021
 subdirectories and files: `Setup.png` It's a PNG file that we
 generated in Blender and are using to generate panel a in the main figure
 1. `training_sessions` The table contains the sessions' names during
 the experiment's training phase.  `testing_sessions` List of sessions
 recorded with the experiment's final step during the testing days. We
 have provided only two sessions for two animals in the autopi_behavior
 project. Most data files are in their respective recording session
 directories. For example, in this directory:
 `autopi_behavior_2021/mn4673/mn4673-06102019-1534`, most files have a
 filebase (e.g. `mn4673-06102019-1534.log`). Most of the files in this
 example can be found in the autopi_ca1 project except the two following: 
 `Mn4673-06102019-1534.arena_top.log` It is a table with two columns; the
 first shows the frame number, and the second is the time in seconds. This
 log file relates to the frames recorded from a camera on top of the arena
 in the AutoPI apparatus.  `Mn4673-06102019-1534.home_base.log` It is a
 table with two columns; the first shows the frame number, and the second
 is the time in seconds. This log file relates to the frames recorded from
 a camera on top of the home base in the AutoPI apparatus. ##
 autopi\_behavior\_2021/results: `fanExpSessionList` List of the sessions
 in the first half of the odour control experiment `fanExpSessionList2`
 List of the sessions in the second half of the odour control experiment. 
 `logTrainingDF.csv` It's a data frame with columns: event: the event
 inside the task (e.g. start, magazineBeamBreak, etc.).  time: time in
 second  Param: the parameter from the event (e.g., for the door, it can be
 0 or 1)  timeWS: the time within the session in the second Session:
 represents the session name  Subject: Subject name  sessionDateTime: The
 date and the time of the day the session was recorded. 
 `protocolTrainingDF.csv` It's a data frame with the columns: script:
 that contains the name of the script running for training sessions. 
 duration: duration of the session in seconds master: Ros master computer 
 IP: The IP of the ros-master computer session: Session name  subject:
 Subject name  sessionDateTime: The date and time of the recorded session
 `speedProfile.pkl` This is a dictionary with keys:   'All': 
 Speed of the animal in all of the trials recorded during the
 autopi_behavior project in different path types, such as all parts of the
 trial  'searchTotal': Speed of the animal in all trials only
 from the beginning of the trial when the door is open to when the animal
 presses the lever.  'searchArena': Speed in all trials during
 only the time when the animal was searching for the lever on the arena. 
 'searchArenaNoLever': Speed of the animal during the search path
 until the animal arrives 12 cm close to the lever.
 'homingTotal': Speed in the homing from when they press the
 lever to when they get the reward 'homingPeri': Speed in the
 homing path from when the mouse presses the lever to when it reaches the
 periphery. 'homingPeriNoLever': Speed of the animal in the
 homing paths from when it is 12 cm away from the lever.  Testing sessions:
 The list of the testing sessions that we recorded.  `trialsFanexp.csv` A
 data frame with information about the trials we recorded in the second
 control odour behaviour we used. The columns are: 'subject': The
 name of the animal 'Light': The light condition in that trial
 could be light or dark 'angularErrorHomingPeri': The homing
 error of the animal in a given trial.  "homingPeri_meanSpeed":
 The speed of the animal during homing. 
 "searchArenaNoLever_meanSpeed": The mean speed of the animal
 during the search paths.
 "homingPeriNoLever_medianHDDeviationToTarget": The median
 heading error direction of the animal in the homing paths. 
 "homingPeriNoLever_medianMVDeviationToTarget": The median, mean
 vector length of the homing error of the animal.  'sessionName':
 Name of the session 'trialNo': Trial number  ‘valid’: If the
 trial counts as a valid trial or not `trialsDF.csv` it's a data frame
 with information about the trials we recorded in the behavioural
 experiment we used. The columns are:  'subject': The name of the
 animal 'Light': The light condition in that trial could be light
 or dark 'angularErrorHomingPeri': The homing error of the animal
 in a given trial.  "homingPeri_meanSpeed": The speed of the
 animal during homing.  "searchArenaNoLever_meanSpeed": The mean
 speed of the animal during the search paths.
 "homingPeriNoLever_medianHDDeviationToTarget": The median
 heading error direction of the animal in the homing paths. 
 "homingPeriNoLever_medianMVDeviationToTarget": The median, mean
 vector length of the homing error of the animal.  'sessionName':
 Name of the session 'trialNo': Trial number  ‘Valid’: if the
 trial counts as a valid trial or not  ‘leverPressX’: The x position of the
 lever when the lever was pressed ‘leverPressY’: The y position of the
 lever when the lever was pressed  'leverPositionOri': the
 orientation of the lever on a given trial  `trialsTrainSet.csv` It's
 a data frame like trialsDF.csv but with more columns, such as : 
 'subject': The name of the animal 'Light': The light
 condition in that trial could be light or dark
 'angularErrorHomingPeri': The homing error of the animal in a
 given trial.  "homingPeri_meanSpeed": The speed of the animal
 during homing.  "searchArenaNoLever_meanSpeed": The mean speed
 of the animal during the search paths.
 "homingPeriNoLever_medianHDDeviationToTarget": The median
 heading error direction of the animal in the homing paths. 
 "homingPeriNoLever_medianMVDeviationToTarget": The median, mean
 vector length of the homing error of the animal.  'sessionName':
 Name of the session 'trialNo': Trial number  ‘Valid’: if the
 trial counts as a valid trial or not  ‘leverPressX’: The x position of the
 lever when the lever was pressed ‘leverPressY’: The y position of the
 lever when the lever was pressed  'leverPositionOri': the
 orientation of the lever on a given trial  'nJourneys': number
 of journeys in a given trial  "nJourneysAtLever": Number of
 journeys where the mouse finds the lever ‘nJourneysWithPress’: Number of
 journeys where the mouse pressed the lever  'Duration': Duration
 of a given trial ‘homingPeriNoLever_meanVectorLengthPosi’: The mean vector
 length of the homing direction of the animal until it reaches the
 periphery 'searchArenaNoLever_meanVectorLengthPosi': The mean
 vector length of the direction of the animal during search behaviour until
 it reached 12 cm to the lever
 'homingTotal_meanVectorLengthPosi': The mean vector length of
 the homing direction of the animal until it reaches the bridge
 'searchArena_meanVectorLengthPosi': The mean vector length of
 the direction of the animal during search behaviour until it presses the
 lever 'timeLever': The time that the mouse spends at the lever
 'angularErrorHomingPeri': The homing error of the animal until
 it reaches the periphery  'searchArenaNoLever_duration': The
 duration of the search path until the animal reaches 12 cm away from the
 lever  'searchArenaNoLever_length': The length of the search
 path until the animal reaches 12 cm away from the lever 
 'searchArenaNoLever_meanSpeed': The mean speed of the animal
 during the search path until the animal reaches 12 cm away from the lever
 'searchArena_meanSpeed': The mean speed of the animal in the
 search path until the animal presses the lever 
 'homingPeriNoLever_duration': The duration of the homing path
 from 12 cm away from the lever to the periphery
 'homingPeriNoLever_length': The length of the homing path from
 12 cm away from the lever to the periphery
 'homingPeriNoLever_meanSpeed': The mean speed of the animal in
 the homing path from 12 cm away from the lever to the periphery 
 'searchArena_length': The length of the search path from when it
 goes to the bridge to when it presses the lever 
 'homingPeri_length': The length of the homing path from when the
 animal presses the lever to when it reaches the bridge
 'searchArena_duration': The duration of the search path from
 when it goes to the bridge to when it presses the lever 
 'homingPeri_duration': The duration of the homing path from when
 the animal presses the lever to when it reaches the bridge ##
 Sharing/Access information The data set is split into two files because of
 the large size of the data set. You can combine them in a Linux terminal
 using the following command. `cat Jazi_etal_2023_noInter_part1.tar.gz
 Jazi_etal_2023_noInter_part2.tar.gz &gt;
 Jazi_etal_2023_noInter.tar.gz` And to unzip them, you can use this: `tar
 xvzf Jazi_etal_2023_noInter.tar.gz -C /path/to/destination_directory` ##
 Code/Software To analyze this data, please follow the steps described in a
 GitHub repository with this address: [DOI:
 10.5281/zenodo.8356898](https://doi.org/10.5281/zenodo.8356898)