DOI: 10.5061/dryad.vdncjsz7p
title: Data from: Hippocampal sequences represent working memory and implicit timing

description: Working memory (WM) and timing are considered distinct cognitive
 functions, yet the neural signatures underlying both can be similar. To
 address the hypothesis that WM and timing may be multiplexed, we develop a
 rodent task where 1st odor identity predicts the delay duration. We find
 that WM performance decreases when delay expectations are violated.
 Performance is worse for unexpected long delays than for unexpected short
 delays, suggesting that WM may be tuned to expire in a delay-dependent
 manner. Calcium imaging of dorsal CA1 neurons reveals odor-specific
 sequential activity tiling the short and long delays. Neural sequence
 structure also reflects expectation of the timing of the 2nd odor—i.e., of
 the expected delay. Consistent with the hypothesis that WM and timing may
 be multiplexed, our findings suggest that neural sequences in dorsal CA1
 may encode cues and cue-specific elapsed time during the delay period of a
 WM task.
description: # Data from: Hippocampal sequences represent working memory and implicit
 timing Dataset DOI: [10.5061/dryad.vdncjsz7p](10.5061/dryad.vdncjsz7p) ##
 Description of the data and file structure All behavioral and calcium
 imaging data collected for this study are included in this dataset and may
 be used to replicate figures in the publication: Dorian et al., 2025, in
 Cell Reports 'Hippocampal sequences represent working memory and
 implicit timing.' #### Code/software All analysis code is available
 on GitHub
 ([https://github.com/ccdorian/dDNMS2025](https://github.com/ccdorian/dDNMS2025)) #### File List This dataset is comprised of nine MATLAB (.mat) files •   rawtrialsstand2torev2_n11.mat – (10.5GB) •   rawtrialsstand2torev2_nosmoothnoflooring_n11.mat – (12.0GB) •   all23behavior.mat – (0.03GB) •   CD246_2023_10_31_aligned_behavior.mat – (1.3GB) •   binarydecoding.mat – (104KB) •   shiftseqindex_shortdelay.mat – (144KB) •   shiftseqindex_longdelay.mat – (111KB) •   timedecodeforpanels_onlystandards_binsize10justallcells.mat – (47KB) •   timedecodelongdelay_onlystandards_binsize10justallcells.mat – (47KB) #### **File and Variable Descriptions** 1\. rawtrialsstand2torev2_n11.mat – (10.5GB) Processed neural and behavioral data from all 11 CA1 imaging animals on the last 2 standard days and first 2 reverse days. See scripts make_rawtrialsdDNMS.m and make_rawtrialsstand2torev2_n11.m for details on preprocessing. The file contains 3 variables: \-   frametimes = 1x402 array for the timing (in seconds) of each of the 402 frames per trial. Timepoint 0 corresponds to the onset of the first odor. \-   rundatetime = 1x1 datetime for when make_rawtrialsdDNMS.m was run. \-   p = 1x1 struct with 7 fields that correspond to parameters from make_rawtrialsdDNMS.m. \-   rawtrials = 11x2 cell for data of 11 animals across 2 types of days (standard then reverse). Each one has another 2x1 cell for the two days of recordings each with the same format of contents. Example rwatrials{7,2}{1,1} is the 7th animal on the first reverse day. It contains:     -   F = Nx140x402 3D array of raw fluoresence output from suite2p. Number of ROIs by number of trials by frames for each trial     -   Fneu = same as F but for neuropil, also from suite2p.     -   spks = same format as F and Fneu, but smoothed and floored deconvolved signal.     -   locomotion = 140x102 2D array for mouse locomotion binned to same framerate as neural activity. Units are arbitrary voltage values that are later normalized     -   xyoff = 140x402 2D array for how much lateral movement of the FOV for each frame. Calculated from suite2p motion registration outputs.     -   roistats = 1xN cell of statistics for each ROI from suite2p outputs.     -   licking = 140x1 cell for all lick times for each trial.     -   beh = 140x5 array for holding behavior values for each trial:         -   First column, odor combination: 11=AA, 12=AB, 21=BA, 22=BB, 511=reverseAA, 512=reverseAB, 521=reverseBA, 522=reverseBB         -   Second columm, mouse choice: 1 = hit, 2 = false choice, 3 = miss, 4 = correction rejection         -   Third column, delay length: either 2.5 or 5         -   Fourth column, time of 2nd odor onset: either 3.5 or 6         -   Fifth column, time of reward period onset: either 3.5 or 6 2\. rawtrialsstand2torev2_nosmoothnoflooring_n11.mat – (12.0GB) This file is identical in format to the previous, except neural data was not smoothed or floored. See scripts make_rawtrialsdDNMS.m and make_rawtrialsstand2torev2_n11.m for details on preprocessing. 3\. all23behavior.mat – (0.03GB) Processed behavioral data from 12 only behavior and 11 imaging animals. See script make_all23behavior.m for details on preprocessing. This file is a 23x2 cell for the 23 animals across 2 types of days (standard then reverse). Each one has another Nx1 cell for how many days behavior was run. Example allbeh{9,2}{3,1} is the 9th animal and third reverse day. It contains:     -   licking = 140x1 cell for all lick times for each trial.     -   beh = same as in rawtrialsstand2torev2_n11. 5th column values can be different from 3.5 or 6 because of sliding reward window during early training. 4\. CD246_2023_10_31_aligned_behavior.mat – (1.3GB) Processed data from one example recording session used for plotting example traces. See script align_behavior_dDNMS.m for details on preprocessing and file creation. This file is a 1x1 struct with 8 fields: \-   beh = 7x1 cell for the 7 sessions of 20 trials within the day. Each one holds raw outputs from behavioral rig. Outputs are used to make 'beh' in processed data like all23behavior. \-   locomotion = Nx1 double for each datapoint of locomotion. This is used to create 'locomotion' in processed data like rawtrialsstand2torev2_n11.mat. \-   framet = Nx1 double that holds the timing of each frame in WinEDR time. Value matches row in 'rawedr'. \-   odort = 40x2 double that holds the timing of each odor onset in WinEDR time. 2nd column is a 1 or 2 corresponding to Odor A or B. \-   trialt = 20x2 double that holds the timing of each trial onset (first odor onset). 2nd column is trial type odor combination. 11, 12, 21, 22, 511, 512, 521, or 522. \-   ogsuite2p = original untouched suite2p outputs. \-   suite2p = same as ogsuite2p, but arrays are split into the 7 recording sessions. \-   rawedr = Nx8 raw outputs from WinEDR session. First column is time in seconds, and other columns are voltage recordings. 2nd column is TTL for frames. 3rd column is locomotion on ball. 4rd column is odor A, and 5th column is odor B. 5\. binarydecoding.mat – (104KB) Output saved file generated in BinaryDecoding.m script. This file is a 1x1 struct with 18 fields: \-   p = parameters used to run BinaryDecoding.m script. \-   totalgoodcells = 11x2x2 array that holds the total number of cells that were considered 'good' and used for decoding. (11 animals, 2 standard vs reverse days, 2 days of each). \-   bothstandard = 11x2x2x26 array that holds decoding accuracy for standard trials (11 animals, 2 standard vs reverse days, 2 days of each, 26 time bins). \-   bothstandardshuf = 11x2x2x26 same as previous but shuffle comparison. \-   bothstandardalignsecond = 11x2x2x33 same as bothstandard but with time bins aligned to onset of second odor before decoding. \-   bothstandardalignsecondshuf = 11x2x2x33 same as previous but shuffle comparison. \-   bothshort = 11x2x26 array that holds decoding accuracy between standard and reverse trials of short delay (11 animals, 2 reverse days, 26 time bins). \-   bothshortshuf = 11x2x26 same as previous but shuffle comparison. \-   bothlong = 11x2x26 same as bothshort, but for long delay trials. \-   bothlongshuf = 11x2x26 same as previous but shuffle comparison. \-   standshortmnm = 11x2x26 array that holds decoding accuracy between match and non-match standard short trials. \-   standshortmnmshuf = 11x2x26 same as previous but shuffle comparison. \-   standlongmnm = 11x2x26 same as standshortmnm but for long delay trials. \-   standlongmnmshuf = 11x2x26 same as previous but shuffle comparison. \-   revcuedshortmnm = 11x2x26 same as standshortmnm but for reverse cued-short trials (actually have long delay). \-   revcuedshortmnmshuf = 11x2x26 same as previous but shuffle comparison. \-   revcuedlongmnm = 11x2x26 same as revcuedshortmnm but for reverse cued-long trials (actually have short delay). \-   revcuedlongmnmshuf = 11x2x26 same as previous but shuffle comparison. 6\. shiftseqindex_shortdelay.mat – (144KB) Output saved file generated in SequencesSignificantCells.m script using short delay. This file is a 1x1 struct with 5 fields: \-   p = parameters used to run SequencesSignificantCells.m script. \-   totalgoodcells = 11x2x2 array that holds the total number of cells that were considered 'good' and used for decoding. (11 animals, 2 standard vs reverse days, 2 days of each). \-   seqindexshort = 11x2x2 array of sequential index values for the standard short sequence cells. \-   seqindexlong = 11x2x2 same as previous but for the standard long. \-   shiftsignificant = 11x2x2 cell array with each filled with a Nx5 array. N number of significant cells and the 5 columns are:     -   1st column, ROI number     -   2nd column, which frame within the trial that the average activity peaked     -   3rd column, trial reliability value     -   4th column, odor specificity value     -   5th column, which trial type it is significant to, 1 = cued-short, and 2 = cued-long 7\. shiftseqindex_longdelay.mat – (111KB) Output saved file generated in SequencesSignificantCells.m script using long delay. This file is formatted identically to shiftseqindex_longdelay but the SequencesSignificantCells.m script was run using a long delay for sequence detection. 8\. timedecodeforpanels_onlystandards_binsize10justallcells.mat – (47KB) Output saved file generated in TimeDecoding.m script. This file is a 1x1 struct with 10 fields: \-   p = parameters used to run SequencesSignificantCells.m script. \-   totalgoodcells = 11x2x2 array that holds the total number of cells that were considered 'good' and used for decoding. (11 animals, 2 standard vs reverse days, 2 days of each). \-   shortdecodecorr = 11x2x2 array that holds correlation values for time decoding results of standard short trials. \-   shortdecodeconf = 11x2x2x1x7x7 array that holds a 7x7 confusion matrix (real bin versus predicted bin) for each of the 11x2x2 dimensions corresponding to shortdecodeconf. \-   shufshortdecodecorr = 11x2x2 same as shortdecodecorr but with shuffled data. \-   shufshortdecodeconf = 11x2x2x1x7x7 same as shortdecodeconf but for shuffled data. \-   longdecodecorr = 11x2x2 same as shortdecodecorr but for standard long trials. \-   longdecodeconf = 11x2x2x1x7x7 same as shortdecodeconf but for standard long trials. \-   shuflongdecodecorr = 11x2x2 same as shufshortdecodecorr but for standard long trials. \-   shuflongdecodeconf = 11x2x2x1x7x7 same as shufshortdecodeconf but for standard long trials. 9\. timedecodelongdelay_onlystandards_binsize10justallcells.mat – (47KB) Output saved file generated in TimeDecodingLongDelay.m script. This file is formatted identically to timedecodeforpanels_onlystandards_binsize10justallcells but was run on the TimeDecodingLongDelay.m script. Only values for long standard trials were calculated.