Prior cocaine use disrupts identification of hidden states by single units and neural ensembles in orbitofrontal cortex.
The 7 matches
- [1] § Methods › Quantification and statistical analyses › Classification analyses ↔ !!! osf code/supporting_scripts/ndt.1.0.4/ndt.1.0.4_exported/classifiers/@libsvm_CL/libsvm_CL.m, lines 1–129 · score 0.61 · Support Vector Machine, classification, linear, dimensional, accuracy, matrix
- [2] § Methods › Quantification and statistical analyses › Classification analyses ↔ !!! osf code/supporting_scripts/ndt.1.0.4/ndt.1.0.4_exported/cross_validators/@standard_resample_CV/standard_resample_CV.m, lines 1–60 · score 0.59 · cross validation procedure, decoding accuracy, classification, temporal, matrix, train
- [3] § Methods › Quantification and statistical analyses › TCA analysis ↔ !!! osf code/TCA/python/tca_fig8.py, lines 62–114 · score 0.56 · reconstruction error, optimization, TCA, fit, tensor, components
- [4] § Methods › Quantification and statistical analyses › TCA analysis ↔ !!! osf code/data_file_formatting/get_psth_figure8_cocaine.m, lines 302–362 · score 0.56 · postTrial1, postTrial2, preTrial, firing, Unpoke, Odor
- [5] § Methods › Quantification and statistical analyses › Task events and peri-event spike train analysis ↔ !!! osf code/supporting_scripts/ndt.1.0.4/ndt.1.0.4_exported/datasources/@basic_DS/basic_DS.m, lines 174–220 · score 0.55 · random selection, firing rates, spike, bin, neuron
- [6] § Methods › Quantification and statistical analyses › Cross-sequence decoding ↔ !!! osf code/supporting_scripts/ndt.1.0.4/ndt.1.0.4_exported/datasources/@basic_DS/basic_DS.m, lines 127–171 · score 0.52 · cross validation, Decoding accuracy, iteration, population, cells, trained
- [7] § Results ↔ !!! osf code/behav_analysis/plot_behav_figure8_cocaine3.m, lines 436–483 · score 0.51 · absolute poke latency, Error bars, locations, SEMs, sucrose, cocaine
Paper
Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC
The paper is loaded when this pane is shown.
The authors' code
MATLAB · 735 lines · 41 KB · no license · 2 matches
- classdef basic_DS < handle
- % basic_DS implements the basic functions of a
- % datasource (DS) object, namely, it takes binned data and labels,
- % and through the get_data method, the object returns k
- % leave-one-fold-out cross-validation splits of the data which can subsequently
- % be used to train and test a classifier. The data in the population vectors is
- % randomly selected from the larger binned data that is passed to the constructor
- % of this object. This object can create both
- % pseduo-populations (i.e., populations vector in which the recordings were
- % made on independent sessions but are treated as if they were recorded simultaneously)
- % and simultaneously populations in which neurons that were recorded together
- % always appear together in population vectors.
- %
- % Like all DS objects, basic_DS implements the method get_data, which has the following form:
- %
- % [XTr_all_time_cv YTr_all XTe_all_time_cv YTe_all] = get_data(ds); where:
- %
- % a. XTr_all_time_cv{iTime}{iCV} = [num_features x num_training_points] is a
- % cell array that has the training data for all times and cross-validation splits
- % b. YTr_all = [num_training_point x 1] a vector of the training labels (the same training labels are used at all times and CV splits)
- % c. XTe_all_time_cv{iTime}{iCV} = [num_features x num_test_points] is a
- % cell array that has the test data for all times and cross-validation splits;
- % d. YTe_all = [num_test_point x 1] a vector has the test labels (the same test labels are used at all times and CV splits)
- %
- %
- % The constructor for this object has the form:
- %
- % ds = basic_DS(binned_data_name, specific_binned_label_name, num_cv_splits, load_data_as_spike_counts), where:
- %
- % a. binned_data_name: is string that has the name of a file that has data in binned-format, or is a cell array of binned-format binned_data
- % b. specific_binned_labels_name: is a string containing a specific binned-format label name, or is a cell array/vector containing
- % the specific binned names (i.e., binned_labels.specific_binned_label_name)
- % c. num_cv_splits = is a scalar indicating how many cross-validation splits there should be
- % d. load_data_as_spike_counts: an optional flag that can be set that will cause the data to be converted to spike counts if set to an integer rather than 0
- % (the create_binned_data_from_raster_data function saves data as firing rates by default). This flag is useful
- % when using the Poison Naive Bayes classifier that needs spike counts rather than firing rates. If this flag is not set, the default behavior
- % is to use firing rates.
- %
- %
- % The basic_DS also has the following properties that can be set:
- %
- % 1. create_simultaneously_recorded_populations (default = 0). If the data from all sites
- % was recorded simultaneously, then setting this variable to 1 causes the
- % function to return simultaneous populations rather than pseudo-populations
- % (for this to work all sites in 'the_data' must have the trials in the same order).
- % If this variable is set to 2, then the training set is pseudo-populations and the
- % test set is simultaneous populations. This allows one to estimate I_diag, as
- % described by Averbeck, Latham and Pouget in 'Neural correlations, population coding
- % and computation', Nature Neuroscience, May, 2006. I_diag is a measure that gives a
- % sense of whether training on pseudo-populations leads to a the same decision rule as
- % when training on simultaneous populations.
- %
- % 2. sample_sites_with_replacement (default = 0). This variable specifies whether
- % the sites should be sample with replacement - i.e., if the data is
- % sampled with replacement, then some sites will be repeated within a single
- % population vector. This allows one to do a bootstrap estimate of variance
- % of the results if different sites from a larger population had been selected
- % while also ensuring that there is no overlapping data between the training
- % and test sets.
- %
- % 3. num_times_to_repeat_each_label_per_cv_split (default = 1). This variable
- % specifies how many times each label should appear in each cross-validation split.
- % For example, if this value is set to k, this means that there will be k
- % population vectors from each class in each test set, and there will be
- % k * (num_cv_splits - 1) population vectors for each class in each training set split.
- %
- % 4. label_names_to_use (default = [] meaning all unique label names in the_labels are used).
- % This specifies which labels names (or numbers) to use, out of the unique label
- % names that are present in the the_labels cell array. If only a subset of labels are listed,
- % then only population vectors that have the specified labels will be returned.
- %
- % 5. num_resample_sites (default = -1, which means use all sites). This variable specifies
- % how many sites should be randomly selected each time the get_data method is called.
- % For example, suppose length(the_data) = n, and num_resample_sites = k, then each
- % time get_data is called, k of the n sites would randomly be selected to be included
- % as features in the population vector.
- %
- % 6. sites_to_use (default = -1, which means select features from all sites). This
- % variable allows one to only choose features from the sites listed in this vector
- % (i.e., features will only be randomly selected from the sites listed in this vector).
- %
- % 7. sites_to_exclude (default = [], which means do not exclude any sites). This allows
- % one to not select features from particular sites (i.e., features will NOT be
- % selected from the sites listed in this vector).
- %
- % 8. time_periods_to_get_data_from (default = [], which means create one feature
- % for all times that are present in the_data{iSite} matrix). This variable
- % can be set to a cell array that contains vectors that specify which time bins
- % to use as features from the_data. For examples, if time_periods_to_get_data_from = {[2 3], [4 5], [10 11]}
- % then there will be three time periods for XTr_all_time_cv and XTe_all_time_cv
- % (i.e., length(XTr_all_time_cv) = 3), and the population vectors for the
- % time period will have 2 * num_resample_sites features, with the population
- % vector for the first time period having data from each resample site from times
- % 2 and 3 in the_data{iSite} matrix, etc..
- %
- % 9. randomly_shuffle_labels_before_running (default = 0). If this variable is set to one
- % then the labels are randomly shuffled prior to the get_data method being called (thus all calls
- % to get_data return the same randomly shuffled labels). This method is useful for creating a
- % null distribution to test whether a decoding result is above what one would expect by chance.
- %
- %
- % This object also has two addition method which are:
- %
- % 1. the_properties = get_DS_properties(ds)
- % This method returns the main property values of the datasource.
- %
- % 2. ds = set_specific_sites_to_use(ds, curr_resample_sites_to_use)
- % This method causes the get_data to use specific sites rather than
- % choosing sites randomly. This method should really only be used by
- % other datasources that are extending the functionality of basic_DS.
- %
- %
- % Note: this class is a subclass of the handle class, meaning that when this object is created a
- % reference to the object is returned. Thus when fields of the object are changed a copy of the
- % object does not need to be returned (by default matlab objects are passed by value). The
- % advantage of having this object inherit from the handle class is that if the object changes its
- % state within a method, a copy of the object does not need to be returned (this is particularly
- % useful for the randomly_permute_labels_before_running method so that the labels can be randomly
- % shuffled once prior to the get_data method being called, and the same shuffled labels will
- % be used throughout all subsequent calls to get_data, allowing one to create a full null distribution
- % by running the code multiple times).
- %
- %==========================================================================
- % This code is part of the Neural Decoding Toolbox.
- % Copyright (C) 2011 by Ethan Meyers ([email hidden])
- %
- % This program is free software: you can redistribute it and/or modify
- % it under the terms of the GNU General Public License as published by
- % the Free Software Foundation, either version 3 of the License, or
- % (at your option) any later version.
- %
- % This program is distributed in the hope that it will be useful,
- % but WITHOUT ANY WARRANTY; without even the implied warranty of
- % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- % GNU General Public License for more details.
- %
- % You should have received a copy of the GNU General Public License
- % along with this program. If not, see <http://www.gnu.org/licenses/>.
- %==========================================================================
- properties
- the_labels % a cell array that contains vectors of labels that specify what occurred during each trial for all neurons the_data cell array
- num_cv_splits % how many cross-validation splits there should be
- num_times_to_repeat_each_label_per_cv_split = 1; % how many of each unique label should be in each CV block
- label_names_to_use = []; % which set of labels names should be used (or which numbers should be used if the_labels{iSite} is a vector of numbers)
- num_resample_sites = -1; % how many sites should be used for each resample iteration - must be less than length(the_data)
- sample_sites_with_replacement = 0; % specify whether to sample neurons with replacement - if they are sampled with replacement, then some features will be repeated within a single data vector
- % which reduces the number of neurons used (and thus usually lowers the decoding accuracy). It should be noted that all data duplication appears in the same CV trials
- % so there is no contamination with having repeatd data in different CV trials
- create_simultaneously_recorded_populations = 0; % to use pseudo-populations or simultaneous populations (2 => that the training set is pseudo and test is simultaneous)
- sites_to_use = -1; % a list of indices of which features (e.g., sites/neurons) to use in the the_data cell array
- sites_to_exclude = []; % a list of features that should explicitly be excluded
- time_periods_to_get_data_from = []; % a cell array containing vectors that specify which time bins to use from the_data
- % randomly shuffles the labels prior to the get_data method being called - which is useful for creating one point in a null distribution to check if decoding results are above what is expected by change.
- randomly_shuffle_labels_before_running = 0;
- binned_site_info % a variable that can contain the binned_site_info (this will be automatically set the data in the constructor is loaded from a string that has a file name of data in binned-format.)
- % this information is not used by the datasource, but it is returned by the get_properties method.
- % excluding this option for now
- % set these if you want the datasource to return different random selection of labels (and data from those trials) each time
- % use_random_subset_of_k_labels_each_time_data_is_retrieved = -1; % if this is set to k > 1, then a random subset of labels k labels will be chosen each resample iteration
- % 10. use_random_subset_of_k_labels_each_time_data_is_retrieved (default = -1). If this
- % variable is set to k > 1, then a random subset of labels k labels will be chosen each
- % time get_data is run (i.e., the different resample runs will use a different subset
- % of k labels each time the get_data method is called).
- end
- properties (GetAccess = 'public', SetAccess = 'private')
- the_data % a cell array that contains all the data binned data in the format the_data{iNeuron}[num_trials x num_time_bins]
- curr_resample_sites_to_use = -1; % This specified which features should be used on a given random resample iteration.
- % This should really be randomly selected each time the get_data is called, but some rare cases
- % it is useful to set to some specific features. The method set_specific_sites_to_use that allows this variable
- % to be set by outside calls.
- initialized = 0;
- label_names_to_label_numbers_mapping = [];
- data_loaded_as_spike_counts; % records whether the data was loaded as spike counts (rather than firing rates)
- end
- methods
- %function ds = basic_DS
- %end
- % the constructor
- function ds = basic_DS(binned_data_name, specific_binned_label_name, num_cv_splits, load_data_as_spike_counts)
- if nargin < 4
- load_data_as_spike_counts = 0;
- end
- if load_data_as_spike_counts > 0
- if ~isstr(binned_data_name)
- error('If the argument load_data_as_spike_counts is set to a value greater than 0, binned_data_name must be a string listing the name of a file that has data in binned format')
- end
- [binned_data_spike_counts binned_labels binned_site_info] = load_binned_data_and_convert_firing_rates_to_spike_counts(binned_data_name);
- ds.the_data = binned_data_spike_counts;
- ds.binned_site_info = binned_site_info;
- elseif isstr(binned_data_name)
- load(binned_data_name)
- ds.the_data = binned_data;
- ds.binned_site_info = binned_site_info;
- else
- ds.the_data = binned_data_name;
- end
- if isstr(specific_binned_label_name)
- ds.the_labels = eval(['binned_labels.' specific_binned_label_name]);
- else
- ds.the_labels = specific_binned_label_name;
- end
- ds.num_cv_splits = num_cv_splits;
- ds.data_loaded_as_spike_counts = load_data_as_spike_counts; % might as well save this information too
- end
- % This method allows one to set exact prespecified sites to get data from
- % rather than randomly selecting a set of sites from the larger population (it should rarely be used)
- function ds = set_specific_sites_to_use(ds, curr_resample_sites_to_use)
- ds.curr_resample_sites_to_use = curr_resample_sites_to_use;
- end
- % This method returns the main property values of the datasource (could be useful for saving what parameters were used)
- function the_properties = get_DS_properties(ds)
- the_properties.num_cv_splits = ds.num_cv_splits;
- the_properties.num_times_to_repeat_each_label_per_cv_split = ds.num_times_to_repeat_each_label_per_cv_split;
- the_properties.sample_sites_with_replacement = ds.sample_sites_with_replacement;
- the_properties.num_resample_sites = ds.num_resample_sites;
- the_properties.create_simultaneously_recorded_populations = ds.create_simultaneously_recorded_populations;
- the_properties.sites_to_use = ds.sites_to_use;
- the_properties.sites_to_exclude = ds.sites_to_exclude;
- the_properties.time_periods_to_get_data_from = ds.time_periods_to_get_data_from;
- the_properties.randomly_shuffle_labels_before_running = ds.randomly_shuffle_labels_before_running;
- the_properties.binned_site_info = ds.binned_site_info;
- the_properties.data_loaded_as_spike_counts = ds.data_loaded_as_spike_counts;
- %the_properties.use_random_subset_of_k_labels_each_time_data_is_retrieved = ds.use_random_subset_of_k_labels_each_time_data_is_retrieved;
- % if haven't converted to ds.label_names_to_use to strings yet (b/c get_data has not yet been called), or if the_labels is numbers, just return input set by user
- if iscell(ds.label_names_to_use) || isempty(ds.label_names_to_label_numbers_mapping)
- the_properties.label_names_to_use = ds.label_names_to_use;
- else % if code has already converted ds.label_names_to_use from strings to numbers convert them back to strings
- for iName = 1:length(ds.label_names_to_use)
- the_properties.label_names_to_use{iName} = ds.label_names_to_label_numbers_mapping{ds.label_names_to_use(iName)}; % is cell array so won't work
- end
- end
- end
- function [XTr_all_time_cv YTr_all XTe_all_time_cv YTe_all] = get_data(ds)
- % The main DS function that returns training and test population vectors. The outputs of this function are:
- %
- % 1. XTr_all_time_cv{iTime}{iCV} = [num_features x num_training_points] is a
- % cell array that has the training data for all times and cross-validation splits
- %
- % 2. YTr_all{iTime} = [num_training_point x 1] has the training labels
- %
- % 3. XTe_all_time_cv{iTime}{iCV} = [num_features x num_test_points] is a
- % cell array that has the test data for all times and cross-validation splits
- %
- % 4. YTe_all{iTime} = [num_test_point x 1] has the test labels
- %
- % initialize variables the first time ds.get_data is called
- if ds.initialized == 0
- disp('initializing basic_DS.get_data')
- % if the_labels is a cell array of strings, convert the_labels into a vector of numbers
- if iscell(ds.the_labels{1}) % just checking the first site (assuming it will be the same for all other sites)
- ignore_case_of_strings = 0; % for now, always respect the case of the strings used in the labels
- % % [specific_binned_labels_as_numbers string_to_number_mapping] = convert_label_strings_into_numbers(ds.the_labels, ignore_case_of_strings, ds.label_string_names_to_use);
- % doing it this way causes a consistent mapping from label strings to label numbers, and then the strings to be used are selected through setting ds.label_names_to_use
- [specific_binned_labels_as_numbers string_to_number_mapping] = convert_label_strings_into_numbers(ds.the_labels, ignore_case_of_strings);
- ds.the_labels = specific_binned_labels_as_numbers;
- ds.label_names_to_label_numbers_mapping = string_to_number_mapping;
- if ~isempty(ds.label_names_to_use)
- label_numbers_used = find(ismember(string_to_number_mapping, ds.label_names_to_use));
- % if a label_names_to_use name contains a string that is not one of the strings in the_labels, print an error message
- inds_of_bad_string_to_use_names = find(~ismember(ds.label_names_to_use, string_to_number_mapping));
- if ~isempty(inds_of_bad_string_to_use_names)
- bad_string_names = '';
- for iBadStringName = 1:length(inds_of_bad_string_to_use_names)
- bad_string_names = [bad_string_names ' ' ds.label_names_to_use{inds_of_bad_string_to_use_names(iBadStringName)} ','];
- end
- valid_string_names = '';
- for iValidString = 1:length(string_to_number_mapping)
- valid_string_names = [valid_string_names ' ' string_to_number_mapping{iValidString} ','];
- end
- error(['ds.label_string_names_to_use must be set to names in this list:' valid_string_names(1:end-1) '. ' ...
- 'The following ds.label_string_names_to_use strings not in the list:' bad_string_names(1:end-1)]);
- end
- ds.label_names_to_use = label_numbers_used; % convert given label names that should be used into numbers
- else
- ds.label_names_to_use = 1:length(string_to_number_mapping);
- end
- end
- % if ds.randomly_shuffle_labels_before_running == 1, randomly shuffle the labels the first time get_data is run
- if (ds.randomly_shuffle_labels_before_running == 1)
- 'randomly shuffling the labels'
- % added in NDT version 1.0.2 so that for simultaneously recorded populations the labels in all sites are shuffled the same way (previous version returned an error when shuffling labels on simultaneously recorded populations)
- if ds.create_simultaneously_recorded_populations > 0
- shuffled_labels = ds.the_labels{1}(randperm(length(ds.the_labels{1}))); % all sites should have the same labels, so will shuffle the labels for the first site only and will use this order for all sites
- for iSite = 1:length(ds.the_labels)
- ds.the_labels{iSite} = shuffled_labels;
- end
- % for non-simultaneously recorded datasets, shuffle each channel separately (same as NDT version 1.0.0)
- else
- for iSite = 1:length(ds.the_labels) % will shuffle the labels from all sites, not just from those specified in sites_to_use
- ds.the_labels{iSite} = ds.the_labels{iSite}(randperm(length(ds.the_labels{iSite})));
- end
- end
- end
- % if using simultaneously recorded populations, convert data to a format that will make code run a little faster
- if ds.create_simultaneously_recorded_populations == 0
- if ~(iscell(ds.the_data))
- the_data = ds.the_data;
- the_labels = ds.the_labels;
- for iSite = 1:size(the_data, 2)
- curr_data{iSite} = squeeze(the_data(:, iSite, :));
- curr_labels{iSite} = ds.the_labels;
- end
- ds.the_data = curr_data;
- ds.the_labels = curr_labels;
- end
- elseif ds.create_simultaneously_recorded_populations > 0
- if iscell(ds.the_data)
- simultaneous_labels_to_use = ds.the_labels{1}; % this should be ok, since all channels should have all the labels (regardless of whether a channel will ultimately be used)
- the_data = ds.the_data;
- for iSite = 1:length(the_data)
- if sum(abs(simultaneous_labels_to_use - ds.the_labels{iSite})) ~= 0
- error('problem, all simultaneously recorded neurons should have the same labels')
- end
- the_simultaneous_data(:, :, iSite) = the_data{iSite};
- end
- ds.the_data = permute(the_simultaneous_data, [1 3 2]);
- ds.the_labels = simultaneous_labels_to_use;
- end
- end
- if isempty(ds.time_periods_to_get_data_from)
- if iscell(ds.the_data) % for pseudo-populations
- num_time_periods = size(ds.the_data{1}, 2);
- else % for simultaneous data
- num_time_periods = size(ds.the_data, 3);
- end
- for i = 1:num_time_periods
- time_periods_to_use{i} = i;
- end
- ds.time_periods_to_get_data_from = time_periods_to_use;
- end
- % now that everything has been initialized, set inialized flag to 1
- ds.initialized = 1;
- end % end initialization
- % access to objects' fields in matlab is very slow (which is super pathetic), so to get the code to run faster I have use temporary copies of the data
- % (hopefully matlab will fix this in the future)
- the_data = ds.the_data;
- the_labels = ds.the_labels;
- num_cv_splits = ds.num_cv_splits;
- num_times_to_repeat_each_label_per_cv_split = ds.num_times_to_repeat_each_label_per_cv_split;
- curr_resample_sites_to_use = ds.curr_resample_sites_to_use;
- label_names_to_use = ds.label_names_to_use; if size(label_names_to_use, 1) ~= 1, label_names_to_use = label_names_to_use'; end % make sure labels numbers are in the correct orientation
- sites_to_use = ds.sites_to_use;
- sites_to_exclude = ds.sites_to_exclude;
- num_resample_sites = ds.num_resample_sites;
- sample_sites_with_replacement = ds.sample_sites_with_replacement;
- create_simultaneously_recorded_populations = ds.create_simultaneously_recorded_populations;
- %use_random_subset_of_k_labels_each_time_data_is_retrieved = ds.use_random_subset_of_k_labels_each_time_data_is_retrieved;
- % a santy checks
- if isempty(sites_to_use)
- error('sites_to_use can not be empty')
- end
- % if sites_to_use is a number that is less than 0, use all sites
- if (sites_to_use < 1)
- if create_simultaneously_recorded_populations > 0
- sites_to_use = 1:size(the_data, 2);
- else
- sites_to_use = 1:length(the_data);
- end
- end
- if ~isempty(sites_to_exclude) % can exclude specific neurons as well as specify which ones should be used
- sites_to_use = setdiff(sites_to_use, sites_to_exclude);
- end
- if isempty(label_names_to_use) || (isscalar(label_names_to_use) && label_names_to_use < 1)
- if create_simultaneously_recorded_populations > 0
- label_names_to_use = unique(the_labels);
- else
- label_names_to_use = unique(the_labels{sites_to_use(1)}); % use all the labels as the default value (assuming that the first used neuron 1 has all the labels shown - which might not be a foolproof assumption) % changed on 1/25/12
- end
- end
- % more sanity checks
- if length(label_names_to_use) ~= length(unique(label_names_to_use))
- warning('some labels were listed twice in the field ds.label_names_to_use, (these duplicate enteries will be ignored)');
- label_names_to_use = unique(label_names_to_use);
- end
- % making sure create_simultaneously_recorded_populations is a valid argument
- if (create_simultaneously_recorded_populations > 2) || (create_simultaneously_recorded_populations < 0)
- error('create_simultaneously_recorded_populations must be set to 0, 1 or 2');
- end
- % if the number of resample neurons is not specified, use all neurons
- if num_resample_sites < 1
- num_resample_sites = length(sites_to_use);
- end
- % code for randomly selecting k labels to use each time data is retrieved
- %if use_random_subset_of_k_labels_each_time_data_is_retrieved > 1 % needs at least 2 labels for a classification problem to work
- % rand_label = label_names_to_use(randperm(length(label_names_to_use)));
- % label_names_to_use = rand_label(1:use_random_subset_of_k_labels_each_time_data_is_retrieved);
- %end
- % if specific sites to be used have not been given (as should usually be the case), randomly select some sites to use from the larger population
- if length(curr_resample_sites_to_use) == 1 && (curr_resample_sites_to_use < 1) %isempty(curr_resample_sites_to_use)
- if ~(sample_sites_with_replacement) % only use each feature once in a population vector
- curr_resample_sites_to_use = sites_to_use(randperm(length(sites_to_use)));
- curr_resample_sites_to_use = sort(curr_resample_sites_to_use(1:num_resample_sites)); % sorting just for the heck of it
- else % selecting random features with replacement (i.e., the same feature can be repeated multiple times in a population vector).
- initial_inds = ceil(rand(1, num_resample_sites) * num_resample_sites); % can have multiple copies of the same feature within a population vector
- curr_resample_sites_to_use = sort(sites_to_use(initial_inds));
- end
- end
- % making code more robust in case transpose of curr_resample_sites_to_use is actually passed as an argument
- if (size(curr_resample_sites_to_use, 1) > 1)
- curr_resample_sites_to_use = curr_resample_sites_to_use';
- end
- % pre-allocate memory
- all_data_point_labels = NaN .* ones(length(unique(label_names_to_use)) * num_cv_splits * num_times_to_repeat_each_label_per_cv_split, 1);
- start_boostrap_ind = 1;
- % make sure label_names_to_use is a row vector
- if size(label_names_to_use, 1) > 1
- label_names_to_use = label_names_to_use';
- end
- if create_simultaneously_recorded_populations == 0
- % pre-allocate memory.
- the_resample_data = NaN .* ones(length(unique(label_names_to_use)) * num_cv_splits * num_times_to_repeat_each_label_per_cv_split, length(curr_resample_sites_to_use), size(the_data{1}, 2));
- % if someone has changed the data or the labels after they have already set create_simultaneously_recorded_populations = 0, then the format of these variables needs to be converted back
- if ~(iscell(ds.the_data)) || ~(iscell(the_labels))
- create_simultaneously_recorded_populations = 0;
- end
- % create a 3 dimensional tensor the_resample_data that is [(num_labels * num_cv_slits * num_repeats_per_cv_label) x num_neurons x num_time_bins] large
- for iLabel = label_names_to_use
- cNeuron = 1;
- for iNeuron = unique(curr_resample_sites_to_use)
- % choose random trials to use for each label type
- curr_trials_to_use = find(the_labels{iNeuron} == iLabel); %find(ds.the_labels{iNeuron} == iLabel);
- curr_trials_to_use = curr_trials_to_use(randperm(length(curr_trials_to_use)));
- if length(curr_trials_to_use) < (num_cv_splits * num_times_to_repeat_each_label_per_cv_split)
- error(['Requestion data from more trials of a given condition than has been recorded. This is due to ' ...
- '(ds.num_cv_splits * ds.num_times_to_repeat_each_label_per_cv_split) being greater than the number of times a given condition ' ...
- 'is present in the data (for at least one site). Make sure that only sites that have enough repetitions of each condition are used ' ...
- '(this can be done by setting ds.site_to_use = find_sites_with_at_least_k_repeats_of_each_label(the_labels_to_use, num_cv_splits) )']);
- return;
- else
- curr_trials_to_use = curr_trials_to_use(1:(num_cv_splits * num_times_to_repeat_each_label_per_cv_split));
- end
- % put everything into the correct number of CV splits
- for iRepeats = 1:length(find(curr_resample_sites_to_use == iNeuron))
- the_resample_data(start_boostrap_ind:(start_boostrap_ind + length(curr_trials_to_use) - 1), cNeuron, :) = the_data{iNeuron}(curr_trials_to_use, :);
- cNeuron = cNeuron + 1;
- end
- end % end iNeuron
- all_data_point_labels(start_boostrap_ind:(start_boostrap_ind + length(curr_trials_to_use) - 1)) = iLabel .* ones(length(start_boostrap_ind:(start_boostrap_ind + length(curr_trials_to_use) - 1)), 1);
- start_boostrap_ind = start_boostrap_ind + length(curr_trials_to_use);
- end % end for iLabel
- % if creating simultaneously recorded populations ...
- elseif create_simultaneously_recorded_populations > 0
- the_resample_data = NaN .* ones(length(unique(label_names_to_use)) * num_cv_splits * num_times_to_repeat_each_label_per_cv_split, length(curr_resample_sites_to_use), size(the_data, 3));
- the_data = the_data(:, curr_resample_sites_to_use, :);
- % choose (num_cv * num_repeats) random data points for each class
- for iLabel = label_names_to_use
- % choose random trials to use for each label type
- curr_trials_to_use = find(the_labels == iLabel);
- curr_trials_to_use = curr_trials_to_use(randperm(length(curr_trials_to_use)));
- if length(curr_trials_to_use) < (num_cv_splits * num_times_to_repeat_each_label_per_cv_split)
- error('problems: asking for more trials of a given stimuli type then were recorded in the experiment'); % maybe this should be an error
- return;
- else
- curr_trials_to_use = curr_trials_to_use(1:(num_cv_splits * num_times_to_repeat_each_label_per_cv_split));
- end
- the_resample_data(start_boostrap_ind:(start_boostrap_ind + length(curr_trials_to_use) - 1), :, :) = the_data(curr_trials_to_use, :, :);
- all_data_point_labels(start_boostrap_ind:(start_boostrap_ind + length(curr_trials_to_use) - 1)) = iLabel .* ones(length(start_boostrap_ind:(start_boostrap_ind + length(curr_trials_to_use) - 1)), 1);
- start_boostrap_ind = start_boostrap_ind + length(curr_trials_to_use);
- end
- end % end simultaneous populations
- clear the_data % clear up some memory
- all_resample_data_inds = 1:size(the_resample_data, 1);
- time_periods_to_get_data_from = ds.time_periods_to_get_data_from;
- % convert the_resample_data into a training and splits
- for iTimePeriod = 1:length(time_periods_to_get_data_from)
- curr_data = the_resample_data(:, :, time_periods_to_get_data_from{iTimePeriod});
- the_resample_data_time = reshape(curr_data, [size(curr_data, 1) size(curr_data, 2) * size(curr_data, 3)]);
- if (create_simultaneously_recorded_populations > 1)
- the_site_ids = 1:size(curr_data, 2);
- simul_to_pseudo_feature_to_siteID_mapping{iTimePeriod} = repmat(the_site_ids, [1 size(curr_data, 3)]);
- end
- cv_start_ind = 1;
- for iCV = 1:num_cv_splits
- curr_cv_inds = []; %NaN .* ones(num_times_to_repeat_each_label_per_cv_split * length(ds.label_names_to_use), 1);
- for iNumRepeatsPerLabel = 1:num_times_to_repeat_each_label_per_cv_split
- curr_cv_inds = [curr_cv_inds cv_start_ind:(num_cv_splits * num_times_to_repeat_each_label_per_cv_split):size(the_resample_data, 1)];
- cv_start_ind = cv_start_ind + 1;
- end
- % these cells arrays contain the data for each CV splits separately,
- % but don't need to create these, rather this function will just return the CV data divided into training and test sets
- % % % cross_validation_splits_all_time_periods{iCV}{iTimePeriod} = the_resample_data_time(curr_cv_inds, :); % old get_resample_data7 format...
- % cross_validation_splits_all_time_periods{iTimePeriod}{iCV} = the_resample_data_time(curr_cv_inds, :)'; % should replace above with this soon
- % cross_validation_labels{iCV} = all_data_point_labels(curr_cv_inds); % not sure why I need a separate one for each CV?
- % can actually just return these instead...
- XTr_all_time_cv{iTimePeriod}{iCV} = the_resample_data_time(setdiff(all_resample_data_inds, curr_cv_inds), :)';
- XTe_all_time_cv{iTimePeriod}{iCV} = the_resample_data_time(curr_cv_inds, :)';
- %YTr_all{iTimePeriod} = all_data_point_labels(setdiff(all_resample_data_inds, curr_cv_inds));
- %YTe_all{iTimePeriod} = all_data_point_labels(curr_cv_inds);
- % might as well return these as vectors (rather than cell arrays) since they are the same at all time periods
- YTr_all = all_data_point_labels(setdiff(all_resample_data_inds, curr_cv_inds));
- YTe_all = all_data_point_labels(curr_cv_inds);
- end
- end
- % If create_simultaneously_recorded_populations == 2, create pseudo-populations for training, and simultaneous data for testing.
- % This is useful for assessing I_diag as described by Averbeck, Latham and Pouget, Nature Neurosience, May 2006.
- if create_simultaneously_recorded_populations == 2
- XTr_all_time_cv = turn_training_simultaneous_data_into_pseudo_populations(XTr_all_time_cv, YTr_all, simul_to_pseudo_feature_to_siteID_mapping);
- end
- % This is another type of sanity check on pseudo-populations, but really is no reason to use this, so I am not going to give this as an option for now
- % if create_simultaneously_recorded_populations == 3
- % [XTr_all_time_cv XTe_all_time_cv] = turn_all_simultaneous_data_into_pseudo_populations(XTr_all_time_cv, YTr_all, XTe_all_time_cv, YTe_all, simul_to_pseudo_feature_to_siteID_mapping)
- % end
- end % end get_data
- end % end methods
- end % end class
basic_DS.m, no license · at the source
Overview
- National Institute on Drug Abuse, Intramural Research Program Baltimore United States
- State Key Laboratory of Cognitive Neuroscience and Learning, Beijing Normal University and Chinese Institute for Brain Research Beijing China
Abstract
The orbitofrontal cortex (OFC) is critical to identifying task structure and to generalizing appropriately across task states with similar underlying or hidden causes. This capability is at the heart of OFCs proposed role in a network responsible for cognitive mapping, and its loss can explain many deficits associated with OFC damage or inactivation. Substance use disorder is defined by behaviors that share much in common with these deficits, such as an inability to modify learned behaviors in the face of new information about undesired consequences. One explanation for this similarity would be if addictive drugs impacted the ability of OFC to recognize underlying similarities, hidden states, that allow information learned in one setting to be used in another. To explore this possibility, we trained rats to self-administer cocaine and then recorded single-unit activity in lateral OFC as these rats performed in an odor sequence task consisting of unique and shared positions. In well-trained controls, we observed chance decoding of sequence at shared positions and near chance decoding even at unique positions, reflecting the irrelevance of distinguishing these positions in the task. By contrast, in cocaine-experienced rats, decoding remained significantly elevated, particularly at the positions that had superficial sensory differences that were collapsed in controls across learning. These neural differences were accompanied by increases in behavioral variability at these positions. A tensor component analysis showed that this effect of reduced generalization after cocaine use also extended across positions in the sequences. These results show that prior cocaine use disrupts the normal identification of hidden states by OFC.
Reproduced under the paper's license (CC0), from the paper cited above.
Repository
Its files are read in the Code ↔ Paper reader above, with 7 matches between paragraphs and lines of code.
OSF azvhm
Availability: 1 check, the latest on 29 September 2026: the link answers (HTTP 200)
- 29 September 2026: the link answers (HTTP 200)
216 files
- !!! osf code/
TCA/ , MATLAB, 32 linesget_data_tca_fig8_fun.m - !!! osf code/
TCA/ , MATLAB, 132 linesmultual_info/ align_columns_by_correla tion.m - !!! osf code/
TCA/ , MATLAB, 176 linesmultual_info/ compute_mutual_info.m - !!! osf code/
TCA/ , MATLAB, 267 linesmultual_info/ compute_mutual_info_each _rat.m - !!! osf code/
TCA/ , MATLAB, 56 linesmultual_info/ compute_mutual_info_fun. m - !!! osf code/
TCA/ , MATLAB, 120 linesmultual_info/ munkres.m - !!! osf code/
TCA/ , Python, 135 lines, 1 matchpython/ tca_fig8.py - !!! osf code/
anova of sequence and position/ , MATLAB, 81 linesanova_sequence_position. m - !!! osf code/
anova of sequence and position/ , MATLAB, 88 linesanova_sequence_position_ fun.m - !!! osf code/
anova position each sequence/ , MATLAB, 68 linesanova_position_each_sequ ence.m - !!! osf code/
anova position each sequence/ , MATLAB, 156 linesanova_position_each_sequ ence_fun.m - !!! osf code/
behav_analysis/ , MATLAB, 77 linesbehav_figure8_cocaine.m - !!! osf code/
behav_analysis/ , MATLAB, 48 linesbehav_figure8_cocaine_fu n.m - !!! osf code/
behav_analysis/ , MATLAB, 95 linesbehav_figure8_cocaine_fu n2.m - !!! osf code/
behav_analysis/ , MATLAB, 47 linesbehav_figure8_cocaine_ne w.m - !!! osf code/
behav_analysis/ , MATLAB, 222 linesdraw_behav_figure8_cocai ne.m - !!! osf code/
behav_analysis/ , MATLAB, 294 linesplot_behav_figure8_cocai ne.m - !!! osf code/
behav_analysis/ , MATLAB, 348 linesplot_behav_figure8_cocai ne2.m - !!! osf code/
behav_analysis/ , MATLAB, 558 lines, 1 matchplot_behav_figure8_cocai ne3.m - !!! osf code/
behav_analysis/ , MATLAB, 49 linesspliting_sessions_figure 8_cocaine.m - !!! osf code/
cocaine_sequence_decodin , MATLAB, 97 linesg/ binary_decode_sequences_ 4_posistions_figure8_coc aine_fun5.m - !!! osf code/
cocaine_sequence_decodin , MATLAB, 256 linesg/ binary_decode_sequences_ 4_positions_figure8_coca ine.m - !!! osf code/
cocaine_sequence_decodin , MATLAB, 30 linesg/ binary_decode_sequences_ 4_positions_figure8_coca ine_fun.m - !!! osf code/
cocaine_sequence_decodin , MATLAB, 80 linesg/ binary_decode_sequences_ 4_positions_figure8_coca ine_fun2.m - !!! osf code/
cocaine_sequence_decodin , MATLAB, 108 linesg/ binary_decode_sequences_ 4_positions_figure8_coca ine_fun3.m - !!! osf code/
cocaine_sequence_decodin , MATLAB, 36 linesg/ binary_decode_sequences_ 4_positions_figure8_coca ine_fun4.m - !!! osf code/
cross sequence decoding trial types/ , MATLAB, 170 linescross_sequence_decode_4_ trial_types_cocaine.m - !!! osf code/
cross sequence decoding trial types/ , MATLAB, 47 linescross_sequence_decode_4_ trial_types_cocaine_fun. m - !!! osf code/
cross sequence decoding trial types/ , MATLAB, 76 linescross_sequence_decode_4_ trial_types_cocaine_fun2 .m - !!! osf code/
cross sequence decoding trial types/ , MATLAB, 88 linescross_sequence_decode_4_ trial_types_cocaine_fun3 .m - !!! osf code/
cross sequence decoding trial types/ , MATLAB, 21 linescross_sequence_decode_8_ trial_types_cocaine_ICA_ fun.m - !!! osf code/
cross sequence decoding trial types/ , MATLAB, 377 linescross_sequence_decode_tr ial_types.m - !!! osf code/
cross sequence decoding trial types/ , MATLAB, 59 linescross_sequence_decode_tr ial_types2_figure8_cocai ne.m - !!! osf code/
cross sequence decoding trial types/ , MATLAB, 32 linescross_sequence_format_he atmap_figure8_cocaine.m - !!! osf code/
data_file_formatting/ , MATLAB, 89 linesPULL_DATA_FIGURE8_COCAIN E_FUN_NEW.m - !!! osf code/
data_file_formatting/ , MATLAB, 73 linesPULL_DATA_FIGURE8_COCAIN E_NEW.m - !!! osf code/
data_file_formatting/ , MATLAB, 474 linesephys_on_figure8_cocaine .m - !!! osf code/
data_file_formatting/ , MATLAB, 119 linesget_data_figure8_cocaine .m - !!! osf code/
data_file_formatting/ , MATLAB, 363 lines, 1 matchget_psth_figure8_cocaine .m - !!! osf code/
data_file_formatting/ , MATLAB, 95 linespsth_count_figure8_cocai ne.m - !!! osf code/
data_file_formatting/ , MATLAB, 73 linespull_data_figure8_cocain e.m - !!! osf code/
data_file_formatting/ , MATLAB, 73 linespull_data_figure8_cocain e2.m - !!! osf code/
data_file_formatting/ , MATLAB, 88 linespull_data_figure8_cocain e_fun.m - !!! osf code/
data_file_formatting/ , MATLAB, 56 linespull_data_figure8_cocain e_fun2.m - !!! osf code/
data_file_formatting/ , MATLAB, 17 linessave_psth_as_mat_files_f igure8_cocaine.m - !!! osf code/
data_file_formatting/ , MATLAB, 12 linessave_psth_to_one_file_fo r_each_event_figure8_coc aine.m - !!! osf code/
data_file_formatting/ , MATLAB, 131 linessave_psth_to_one_file_fo r_each_event_figure8_coc aine_fun.m - !!! osf code/
fig8 heatmap new/ , MATLAB, 92 linesfig8_heatmap_fun1_H_shap e.m - !!! osf code/
fig8 heatmap new/ , MATLAB, 169 linesfig8_heatmap_fun2_H_shap e.m - !!! osf code/
fig8 heatmap new/ , MATLAB, 68 linesfig8_heatmap_fun3_H_shap e.m - !!! osf code/
fig8 heatmap new/ , MATLAB, 57 linesfig8_heatmap_fun4_H_shap e.m - !!! osf code/
selectivity_sequence_36_ , MATLAB, 71 linesepochs_figure8_cocaine/ selectivity_sequence_36_ epochs_figure8_cocaine_f un4.m - !!! osf code/
selectivity_sequence_36_ , MATLAB, 153 linesepochs_figure8_cocaine/ selectivity_sequence_36_ epochs_figure8_cocaine_f un5.m - !!! osf code/
supporting_scripts/ , MATLAB, 34 linescalculate_ISI_figure8_co caine.m - !!! osf code/
supporting_scripts/ , MATLAB, 10 lineschi2square_WH/ chi2square.m - !!! osf code/
supporting_scripts/ , MATLAB, 68 linescomputeCohen_d.m - !!! osf code/
supporting_scripts/ , MATLAB, 23 linesdo_pca_figure8_cocaine.m - !!! osf code/
supporting_scripts/ , MATLAB, 44 linesdrawErrorLine_figure8_co caine.m - !!! osf code/
supporting_scripts/ , MATLAB, 31 lineseasyROC.m - !!! osf code/
supporting_scripts/ , MATLAB, 23 lineseasyROC_figure8_cocaine. m - !!! osf code/
supporting_scripts/ , MATLAB, 86 lineserrorbar_tick.m - !!! osf code/
supporting_scripts/ , MATLAB, 34 linesfdr_bh/ fdr0.m - !!! osf code/
supporting_scripts/ , MATLAB, 226 linesfdr_bh/ fdr_bh.m - !!! osf code/
supporting_scripts/ , MATLAB, 35 linesformat_heatmap_figure8_c ocaine.m - !!! osf code/
supporting_scripts/ , MATLAB, 8 linesformat_plot_figure8_coca ine.m - !!! osf code/
supporting_scripts/ , MATLAB, 13 linesload_pca_coeff_figure8_c ocaine.m - !!! osf code/
supporting_scripts/ , MATLAB, 50 linesndt.1.0.4/ Zhang_Desimone_7objects_ raster_data/ runLDA.m - !!! osf code/
supporting_scripts/ , Java, 2,794 linesndt.1.0.4/ libsvm-3.11/ java/ libsvm/ svm.java - !!! osf code/
supporting_scripts/ , Java, 21 linesndt.1.0.4/ libsvm-3.11/ java/ libsvm/ svm_model.java - !!! osf code/
supporting_scripts/ , Java, 6 linesndt.1.0.4/ libsvm-3.11/ java/ libsvm/ svm_node.java - !!! osf code/
supporting_scripts/ , Java, 47 linesndt.1.0.4/ libsvm-3.11/ java/ libsvm/ svm_parameter.java - !!! osf code/
supporting_scripts/ , Java, 5 linesndt.1.0.4/ libsvm-3.11/ java/ libsvm/ svm_print_interface.java - !!! osf code/
supporting_scripts/ , Java, 7 linesndt.1.0.4/ libsvm-3.11/ java/ libsvm/ svm_problem.java - !!! osf code/
supporting_scripts/ , Java, 163 linesndt.1.0.4/ libsvm-3.11/ java/ svm_predict.java - !!! osf code/
supporting_scripts/ , Java, 350 linesndt.1.0.4/ libsvm-3.11/ java/ svm_scale.java - !!! osf code/
supporting_scripts/ , Java, 471 linesndt.1.0.4/ libsvm-3.11/ java/ svm_toy.java - !!! osf code/
supporting_scripts/ , Java, 318 linesndt.1.0.4/ libsvm-3.11/ java/ svm_train.java - !!! osf code/
supporting_scripts/ , C, 212 linesndt.1.0.4/ libsvm-3.11/ matlab/ libsvmread.c - !!! osf code/
supporting_scripts/ , C, 106 linesndt.1.0.4/ libsvm-3.11/ matlab/ libsvmwrite.c - !!! osf code/
supporting_scripts/ , MATLAB, 21 linesndt.1.0.4/ libsvm-3.11/ matlab/ make.m - !!! osf code/
supporting_scripts/ , C, 351 linesndt.1.0.4/ libsvm-3.11/ matlab/ svm_model_matlab.c - !!! osf code/
supporting_scripts/ , C/C++, 2 linesndt.1.0.4/ libsvm-3.11/ matlab/ svm_model_matlab.h - !!! osf code/
supporting_scripts/ , C, 349 linesndt.1.0.4/ libsvm-3.11/ matlab/ svmpredict.c - !!! osf code/
supporting_scripts/ , C, 474 linesndt.1.0.4/ libsvm-3.11/ matlab/ svmtrain.c - !!! osf code/
supporting_scripts/ , Python, 289 linesndt.1.0.4/ libsvm-3.11/ python/ svm.py - !!! osf code/
supporting_scripts/ , Python, 245 linesndt.1.0.4/ libsvm-3.11/ python/ svmutil.py - !!! osf code/
supporting_scripts/ , C, 229 linesndt.1.0.4/ libsvm-3.11/ svm-predict.c - !!! osf code/
supporting_scripts/ , C, 353 linesndt.1.0.4/ libsvm-3.11/ svm-scale.c - !!! osf code/
supporting_scripts/ , C++, 423 linesndt.1.0.4/ libsvm-3.11/ svm-toy/ gtk/ callbacks.cpp - !!! osf code/
supporting_scripts/ , C/C++, 54 linesndt.1.0.4/ libsvm-3.11/ svm-toy/ gtk/ callbacks.h - !!! osf code/
supporting_scripts/ , C, 164 linesndt.1.0.4/ libsvm-3.11/ svm-toy/ gtk/ interface.c - !!! osf code/
supporting_scripts/ , C/C++, 14 linesndt.1.0.4/ libsvm-3.11/ svm-toy/ gtk/ interface.h - !!! osf code/
supporting_scripts/ , C, 23 linesndt.1.0.4/ libsvm-3.11/ svm-toy/ gtk/ main.c - !!! osf code/
supporting_scripts/ , C++, 413 linesndt.1.0.4/ libsvm-3.11/ svm-toy/ qt/ svm-toy.cpp - !!! osf code/
supporting_scripts/ , C++, 456 linesndt.1.0.4/ libsvm-3.11/ svm-toy/ windows/ svm-toy.cpp - !!! osf code/
supporting_scripts/ , C, 379 linesndt.1.0.4/ libsvm-3.11/ svm-train.c - !!! osf code/
supporting_scripts/ , C++, 3,089 linesndt.1.0.4/ libsvm-3.11/ svm.cpp - !!! osf code/
supporting_scripts/ , C/C++, 101 linesndt.1.0.4/ libsvm-3.11/ svm.h - !!! osf code/
supporting_scripts/ , Python, 108 linesndt.1.0.4/ libsvm-3.11/ tools/ checkdata.py - !!! osf code/
supporting_scripts/ , Python, 79 linesndt.1.0.4/ libsvm-3.11/ tools/ easy.py - !!! osf code/
supporting_scripts/ , Python, 368 linesndt.1.0.4/ libsvm-3.11/ tools/ grid.py - !!! osf code/
supporting_scripts/ , Python, 146 linesndt.1.0.4/ libsvm-3.11/ tools/ subset.py - !!! osf code/
supporting_scripts/ , Java, 2,860 linesndt.1.0.4/ libsvm-3.22/ java/ libsvm/ svm.java - !!! osf code/
supporting_scripts/ , Java, 22 linesndt.1.0.4/ libsvm-3.22/ java/ libsvm/ svm_model.java - !!! osf code/
supporting_scripts/ , Java, 6 linesndt.1.0.4/ libsvm-3.22/ java/ libsvm/ svm_node.java - !!! osf code/
supporting_scripts/ , Java, 47 linesndt.1.0.4/ libsvm-3.22/ java/ libsvm/ svm_parameter.java - !!! osf code/
supporting_scripts/ , Java, 5 linesndt.1.0.4/ libsvm-3.22/ java/ libsvm/ svm_print_interface.java - !!! osf code/
supporting_scripts/ , Java, 7 linesndt.1.0.4/ libsvm-3.22/ java/ libsvm/ svm_problem.java - !!! osf code/
supporting_scripts/ , Java, 194 linesndt.1.0.4/ libsvm-3.22/ java/ svm_predict.java - !!! osf code/
supporting_scripts/ , Java, 350 linesndt.1.0.4/ libsvm-3.22/ java/ svm_scale.java - !!! osf code/
supporting_scripts/ , Java, 502 linesndt.1.0.4/ libsvm-3.22/ java/ svm_toy.java - !!! osf code/
supporting_scripts/ , Java, 318 linesndt.1.0.4/ libsvm-3.22/ java/ svm_train.java - !!! osf code/
supporting_scripts/ , C, 212 linesndt.1.0.4/ libsvm-3.22/ matlab/ libsvmread.c - !!! osf code/
supporting_scripts/ , C, 119 linesndt.1.0.4/ libsvm-3.22/ matlab/ libsvmwrite.c - !!! osf code/
supporting_scripts/ , MATLAB, 22 linesndt.1.0.4/ libsvm-3.22/ matlab/ make.m - !!! osf code/
supporting_scripts/ , C, 374 linesndt.1.0.4/ libsvm-3.22/ matlab/ svm_model_matlab.c - !!! osf code/
supporting_scripts/ , C/C++, 2 linesndt.1.0.4/ libsvm-3.22/ matlab/ svm_model_matlab.h - !!! osf code/
supporting_scripts/ , C, 370 linesndt.1.0.4/ libsvm-3.22/ matlab/ svmpredict.c - !!! osf code/
supporting_scripts/ , C, 495 linesndt.1.0.4/ libsvm-3.22/ matlab/ svmtrain.c - !!! osf code/
supporting_scripts/ , Python, 330 linesndt.1.0.4/ libsvm-3.22/ python/ svm.py - !!! osf code/
supporting_scripts/ , Python, 262 linesndt.1.0.4/ libsvm-3.22/ python/ svmutil.py - !!! osf code/
supporting_scripts/ , C, 239 linesndt.1.0.4/ libsvm-3.22/ svm-predict.c - !!! osf code/
supporting_scripts/ , C, 397 linesndt.1.0.4/ libsvm-3.22/ svm-scale.c - !!! osf code/
supporting_scripts/ , C++, 447 linesndt.1.0.4/ libsvm-3.22/ svm-toy/ gtk/ callbacks.cpp - !!! osf code/
supporting_scripts/ , C/C++, 54 linesndt.1.0.4/ libsvm-3.22/ svm-toy/ gtk/ callbacks.h - !!! osf code/
supporting_scripts/ , C, 164 linesndt.1.0.4/ libsvm-3.22/ svm-toy/ gtk/ interface.c - !!! osf code/
supporting_scripts/ , C/C++, 14 linesndt.1.0.4/ libsvm-3.22/ svm-toy/ gtk/ interface.h - !!! osf code/
supporting_scripts/ , C, 23 linesndt.1.0.4/ libsvm-3.22/ svm-toy/ gtk/ main.c - !!! osf code/
supporting_scripts/ , C++, 437 linesndt.1.0.4/ libsvm-3.22/ svm-toy/ qt/ svm-toy.cpp - !!! osf code/
supporting_scripts/ , C++, 482 linesndt.1.0.4/ libsvm-3.22/ svm-toy/ windows/ svm-toy.cpp - !!! osf code/
supporting_scripts/ , C, 380 linesndt.1.0.4/ libsvm-3.22/ svm-train.c - !!! osf code/
supporting_scripts/ , C++, 3,181 linesndt.1.0.4/ libsvm-3.22/ svm.cpp - !!! osf code/
supporting_scripts/ , C/C++, 104 linesndt.1.0.4/ libsvm-3.22/ svm.h - !!! osf code/
supporting_scripts/ , Python, 108 linesndt.1.0.4/ libsvm-3.22/ tools/ checkdata.py - !!! osf code/
supporting_scripts/ , Python, 79 linesndt.1.0.4/ libsvm-3.22/ tools/ easy.py - !!! osf code/
supporting_scripts/ , Python, 500 linesndt.1.0.4/ libsvm-3.22/ tools/ grid.py - !!! osf code/
supporting_scripts/ , Python, 120 linesndt.1.0.4/ libsvm-3.22/ tools/ subset.py - !!! osf code/
supporting_scripts/ , MATLAB, 66 linesndt.1.0.4/ ndt.1.0.4_exported/ add_ndt_paths_and_init_r and_generator.m - !!! osf code/
supporting_scripts/ , MATLAB, 301 lines, 1 matchndt.1.0.4/ ndt.1.0.4_exported/ classifiers/ @libsvm_CL/ libsvm_CL.m - !!! osf code/
supporting_scripts/ , MATLAB, 150 linesndt.1.0.4/ ndt.1.0.4_exported/ classifiers/ @max_correlation_coeffic ient_CL/ max_correlation_coeffici ent_CL.m - !!! osf code/
supporting_scripts/ , MATLAB, 166 linesndt.1.0.4/ ndt.1.0.4_exported/ classifiers/ @poisson_naive_bayes_CL/ poisson_naive_bayes_CL.m - !!! osf code/
supporting_scripts/ , MATLAB, 46 linesndt.1.0.4/ ndt.1.0.4_exported/ classifiers/ randmax.m - !!! osf code/
supporting_scripts/ , MATLAB, 266 linesndt.1.0.4/ ndt.1.0.4_exported/ cross_validators/ @standard_resample_CV/ create_confusion_matrice s_and_MI.m - !!! osf code/
supporting_scripts/ , MATLAB, 155 linesndt.1.0.4/ ndt.1.0.4_exported/ cross_validators/ @standard_resample_CV/ display_result_progress. m - !!! osf code/
supporting_scripts/ , MATLAB, 220 linesndt.1.0.4/ ndt.1.0.4_exported/ cross_validators/ @standard_resample_CV/ get_convergence_values.m - !!! osf code/
supporting_scripts/ , MATLAB, 84 linesndt.1.0.4/ ndt.1.0.4_exported/ cross_validators/ @standard_resample_CV/ get_rank_and_decision_va lue_results.m - !!! osf code/
supporting_scripts/ , MATLAB, 77 linesndt.1.0.4/ ndt.1.0.4_exported/ cross_validators/ @standard_resample_CV/ save_more_decoding_measu res.m - !!! osf code/
supporting_scripts/ , MATLAB, 973 lines, 1 matchndt.1.0.4/ ndt.1.0.4_exported/ cross_validators/ @standard_resample_CV/ standard_resample_CV.m - !!! osf code/
supporting_scripts/ , MATLAB, 111 linesndt.1.0.4/ ndt.1.0.4_exported/ cross_validators/ get_AUC.m - !!! osf code/
supporting_scripts/ , MATLAB, 735 lines, 2 matchesndt.1.0.4/ ndt.1.0.4_exported/ datasources/ @basic_DS/ basic_DS.m - !!! osf code/
supporting_scripts/ , MATLAB, 391 linesndt.1.0.4/ ndt.1.0.4_exported/ datasources/ @generalization_DS/ generalization_DS.m - !!! osf code/
supporting_scripts/ , MATLAB, 129 linesndt.1.0.4/ ndt.1.0.4_exported/ datasources/ reduce_data_to_particula r_trials.m - !!! osf code/
supporting_scripts/ , MATLAB, 87 linesndt.1.0.4/ ndt.1.0.4_exported/ datasources/ test_validity_of_datasou rce.m - !!! osf code/
supporting_scripts/ , MATLAB, 124 linesndt.1.0.4/ ndt.1.0.4_exported/ datasources/ turn_all_simultaneous_da ta_into_pseudo_populatio ns.m - !!! osf code/
supporting_scripts/ , MATLAB, 91 linesndt.1.0.4/ ndt.1.0.4_exported/ datasources/ turn_training_simultaneo us_data_into_pseudo_popu lations.m - !!! osf code/
supporting_scripts/ , Java, 2,860 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ java/ libsvm/ svm.java - !!! osf code/
supporting_scripts/ , Java, 22 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ java/ libsvm/ svm_model.java - !!! osf code/
supporting_scripts/ , Java, 6 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ java/ libsvm/ svm_node.java - !!! osf code/
supporting_scripts/ , Java, 47 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ java/ libsvm/ svm_parameter.java - !!! osf code/
supporting_scripts/ , Java, 5 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ java/ libsvm/ svm_print_interface.java - !!! osf code/
supporting_scripts/ , Java, 7 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ java/ libsvm/ svm_problem.java - !!! osf code/
supporting_scripts/ , Java, 194 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ java/ svm_predict.java - !!! osf code/
supporting_scripts/ , Java, 350 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ java/ svm_scale.java - !!! osf code/
supporting_scripts/ , Java, 502 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ java/ svm_toy.java - !!! osf code/
supporting_scripts/ , Java, 318 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ java/ svm_train.java - !!! osf code/
supporting_scripts/ , C, 212 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ matlab/ libsvmread.c - !!! osf code/
supporting_scripts/ , C, 119 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ matlab/ libsvmwrite.c - !!! osf code/
supporting_scripts/ , MATLAB, 22 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ matlab/ make.m - !!! osf code/
supporting_scripts/ , C, 374 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ matlab/ svm_model_matlab.c - !!! osf code/
supporting_scripts/ , C/C++, 2 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ matlab/ svm_model_matlab.h - !!! osf code/
supporting_scripts/ , C, 370 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ matlab/ svmpredict.c - !!! osf code/
supporting_scripts/ , C, 495 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ matlab/ svmtrain.c - !!! osf code/
supporting_scripts/ , Python, 330 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ python/ svm.py - !!! osf code/
supporting_scripts/ , Python, 262 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ python/ svmutil.py - !!! osf code/
supporting_scripts/ , C, 239 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ svm-predict.c - !!! osf code/
supporting_scripts/ , C, 397 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ svm-scale.c - !!! osf code/
supporting_scripts/ , C++, 447 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ svm-toy/ gtk/ callbacks.cpp - !!! osf code/
supporting_scripts/ , C/C++, 54 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ svm-toy/ gtk/ callbacks.h - !!! osf code/
supporting_scripts/ , C, 164 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ svm-toy/ gtk/ interface.c - !!! osf code/
supporting_scripts/ , C/C++, 14 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ svm-toy/ gtk/ interface.h - !!! osf code/
supporting_scripts/ , C, 23 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ svm-toy/ gtk/ main.c - !!! osf code/
supporting_scripts/ , C++, 437 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ svm-toy/ qt/ svm-toy.cpp - !!! osf code/
supporting_scripts/ , C++, 482 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ svm-toy/ windows/ svm-toy.cpp - !!! osf code/
supporting_scripts/ , C, 380 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ svm-train.c - !!! osf code/
supporting_scripts/ , C++, 3,181 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ svm.cpp - !!! osf code/
supporting_scripts/ , C/C++, 104 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ svm.h - !!! osf code/
supporting_scripts/ , Python, 108 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ tools/ checkdata.py - !!! osf code/
supporting_scripts/ , Python, 79 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ tools/ easy.py - !!! osf code/
supporting_scripts/ , Python, 500 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ tools/ grid.py - !!! osf code/
supporting_scripts/ , Python, 120 linesndt.1.0.4/ ndt.1.0.4_exported/ external_libraries/ libsvm-3.22/ tools/ subset.py - !!! osf code/
supporting_scripts/ , MATLAB, 178 linesndt.1.0.4/ ndt.1.0.4_exported/ feature_preprocessors/ @select_or_exclude_top_k _features_FP/ select_or_exclude_top_k_ features_FP.m - !!! osf code/
supporting_scripts/ , MATLAB, 158 linesndt.1.0.4/ ndt.1.0.4_exported/ feature_preprocessors/ @select_pvalue_significa nt_features_FP/ select_pvalue_significan t_features_FP.m - !!! osf code/
supporting_scripts/ , MATLAB, 119 linesndt.1.0.4/ ndt.1.0.4_exported/ feature_preprocessors/ @zscore_normalize_FP/ zscore_normalize_FP.m - !!! osf code/
supporting_scripts/ , MATLAB, 190 linesndt.1.0.4/ ndt.1.0.4_exported/ feature_preprocessors/ rank_features_using_an_A NOVA.m - !!! osf code/
supporting_scripts/ , MATLAB, 17 linesndt.1.0.4/ ndt.1.0.4_exported/ get_ndt_version.m - !!! osf code/
supporting_scripts/ , MATLAB, 150 linesndt.1.0.4/ ndt.1.0.4_exported/ helper_functions/ convert_label_strings_in to_numbers.m - !!! osf code/
supporting_scripts/ , MATLAB, 25 linesndt.1.0.4/ ndt.1.0.4_exported/ helper_functions/ isOctave.m - !!! osf code/
supporting_scripts/ , MATLAB, 91 linesndt.1.0.4/ ndt.1.0.4_exported/ helper_functions/ load_binned_data_and_con vert_firing_rates_to_spi ke_counts.m - !!! osf code/
supporting_scripts/ , MATLAB, 283 linesndt.1.0.4/ ndt.1.0.4_exported/ helper_functions/ time_interval_object.m - !!! osf code/
supporting_scripts/ , MATLAB, 61 linesndt.1.0.4/ ndt.1.0.4_exported/ octave_code/ private/ validsetargs.m - !!! osf code/
supporting_scripts/ , MATLAB, 129 linesndt.1.0.4/ ndt.1.0.4_exported/ octave_code/ union.m - !!! osf code/
supporting_scripts/ , MATLAB, 226 linesndt.1.0.4/ ndt.1.0.4_exported/ tools/ @log_code_object/ log_code_object.m - !!! osf code/
supporting_scripts/ , MATLAB, 601 linesndt.1.0.4/ ndt.1.0.4_exported/ tools/ @plot_standard_results_T CT_object/ plot_standard_results_TC T_object.m - !!! osf code/
supporting_scripts/ , MATLAB, 671 linesndt.1.0.4/ ndt.1.0.4_exported/ tools/ @plot_standard_results_o bject/ plot_standard_results_ob ject.m - !!! osf code/
supporting_scripts/ , MATLAB, 514 linesndt.1.0.4/ ndt.1.0.4_exported/ tools/ @pvalue_object/ pvalue_object.m - !!! osf code/
supporting_scripts/ , MATLAB, 284 linesndt.1.0.4/ ndt.1.0.4_exported/ tools/ create_binned_data_from_ raster_data.m - !!! osf code/
supporting_scripts/ , MATLAB, 130 linesndt.1.0.4/ ndt.1.0.4_exported/ tools/ find_sites_with_k_label_ repetitions.m - !!! osf code/
supporting_scripts/ , MATLAB, 159 linesndt.1.0.4/ ndt.1.0.4_exported/ tutorials/ generalization_analysis_ tutorial.m - !!! osf code/
supporting_scripts/ , MATLAB, 209 linesndt.1.0.4/ ndt.1.0.4_exported/ tutorials/ introduction_tutorial.m - !!! osf code/
supporting_scripts/ , MATLAB, 52 linesplot_colorbar_only.m - !!! osf code/
supporting_scripts/ , MATLAB, 15 linessem_figure8.m - !!! osf code/
supporting_scripts/ , MATLAB, 15 linessem_figure8_cocaine.m - !!! osf code/
supporting_scripts/ , MATLAB, 23 linesshow_uc_cocaine.m - !!! osf code/
supporting_scripts/ , MATLAB, 88 linessmooth2a.m - !!! osf code/
supporting_scripts/ , MATLAB, 153 linesuc_cocaine.m - !!! osf code/
supporting_scripts/ , MATLAB, 153 linesuc_figure8.m
The paper's code and data availability statement is in the Data section.
Tracing map
Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.
What the map holds:
- 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 216 scripts, each with its path and the digest of its content;
- 7 matches between paragraphs of the paper and lines of the code (method lexical-v1);
- neither the text of the paper nor the code itself.
Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.
Data
No dataset and no data link were found in the paper.
Data availability
Data and code availability: All data and analysis code associated with this study are available on OSF at https://
The following dataset was generated:
ZongW Open Science Framework2026Prior cocaine use disrupts identification of hidden states by single units and neural ensembles in orbitofrontal cortexazvhm10.7554/
Reproduced under the paper's license (CC0), from the paper cited above.
Versions
The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.
Version 1, 29 September 2026: the first record
Recorded: type, language, journal, volume, pages, dates, 5 authors, 4 keywords, 8 MeSH terms, 1 funder, 41 references.
Cite
This paper
Zong, W., Mueller, L., Zhang, Z., Zhou, J., & Schoenbaum, G. (2026). Prior cocaine use disrupts identification of hidden states by single units and neural ensembles in orbitofrontal cortex. eLife, 15, RP109883. https://
BibTeX
@article{zong2026prior,
author = {Zong, Wenhui and Mueller, Lauren and Zhang, Zhewei and Zhou, Jinfeng and Schoenbaum, Geoffrey},
title = {{Prior cocaine use disrupts identification of hidden states by single units and neural ensembles in orbitofrontal cortex}},
journal = {eLife},
year = {2026},
month = apr,
volume = {15},
pages = {RP109883},
publisher = {eLife Sciences Publications, Ltd},
issn = {2050-084X},
doi = {10.7554/
url = {https://
pmid = {42011049},
pmcid = {PMC13099136}
}
RIS
TY - JOUR
AU - Zong, Wenhui
AU - Mueller, Lauren
AU - Zhang, Zhewei
AU - Zhou, Jinfeng
AU - Schoenbaum, Geoffrey
TI - Prior cocaine use disrupts identification of hidden states by single units and neural ensembles in orbitofrontal cortex
T2 - eLife
J2 - Elife
PY - 2026
DA - 2026/
VL - 15
SP - RP109883
SN - 2050-084X
PB - eLife Sciences Publications, Ltd
DO - 10.7554/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.7554/
"type": "article-journal",
"title": "Prior cocaine use disrupts identification of hidden states by single units and neural ensembles in orbitofrontal cortex",
"container-title": "eLife",
"author": [
{
"family": "Zong",
"given": "Wenhui"
},
{
"family": "Mueller",
"given": "Lauren"
},
{
"family": "Zhang",
"given": "Zhewei"
},
{
"family": "Zhou",
"given": "Jinfeng"
},
{
"family": "Schoenbaum",
"given": "Geoffrey"
}
],
"container-title-short":
"volume": "15",
"page": "RP109883",
"DOI": "10.7554/
"PMID": "42011049",
"PMCID": "PMC13099136",
"ISSN": "2050-084X",
"publisher": "eLife Sciences Publications, Ltd",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
4,
21
]
]
}
}
The tracing map gets a citation of its own once an author has validated it and it has a DOI.
Similar papers
The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.
- [1] doi:10.1016/j.cub.2026.05.068 [code]
- An abstract relational map emerges in the human medial prefrontal cortex with consolidation.Journal: Current biology : CBIn common: Statistics and Machine Learning Toolbox, SciPy, Matplotlib, 1 other tool, systems, 3 references
- [2] doi:10.7554/elife.108223 [code]
- Two time scales of adaptation in human learning rates.Journal: eLifeIn common: SciPy, Matplotlib, NumPy, 3 references
- [3] doi:10.1371/journal.pbio.3003824 [code]
- Flexible goal learning involves coordinated population activity in dCA1 and medial orbitofrontal cortex.Journal: PLoS biologyIn common: SciPy, Matplotlib, NumPy, rat, systems, 2 references
- [4] doi:10.1523/jneurosci.2001-25.2026 [code]
- Dynamics of Dentate Gyrus Place Cells and Dentate Spikes during Spatial and Nonspatial Changes in Environments.Journal: The Journal of neuroscience : the official journal of the Society for NeuroscienceIn common: Statistics and Machine Learning Toolbox, SciPy, Matplotlib, 1 other tool, extracellular electrophysiology (units, LFP), rat, systems
- [5] doi:10.1016/j.crmeth.2026.101308 [code]
- Projection targeting with phototagging to study the structure and function of retinal ganglion cells.Journal: Cell reports methodsIn common: Statistics and Machine Learning Toolbox, SciPy, Matplotlib, 1 other tool, extracellular electrophysiology (units, LFP), rat, systems
- [6] doi:10.1038/s41467-026-77318-1 [code]
- Offline generative network reconfiguration guides insight-like accelerated learning by assimilation into schema in rats.Journal: Nature communicationsIn common: Statistics and Machine Learning Toolbox, SciPy, Matplotlib, rat, systems, 1 reference
- [7] doi:10.1186/s12916-026-04903-y [code]
- Structural connectome architecture and biological vulnerability shape cortical atrophy in cocaine use disorder.Journal: BMC medicineIn common: Statistics and Machine Learning Toolbox, SciPy, Matplotlib, 1 other tool, other condition, 1 reference
- [8] doi:10.1038/s41593-026-02359-0 [code]
- The cross-site reproducibility of MRI morphometric phenotypes in psychiatric disorders.Journal: Nature neuroscienceIn common: fdr_bh (Benjamini-Hochberg FDR), Statistics and Machine Learning Toolbox, SciPy, 2 other tools
- [9] doi:10.1038/s41467-026-75959-w [code]
- Charting higher-order models of brain function beyond pairwise interactions.Journal: Nature communicationsIn common: fdr_bh (Benjamini-Hochberg FDR), Statistics and Machine Learning Toolbox, SciPy, 2 other tools
- [10] doi:10.1038/s41593-026-02357-2 [code]
- Experience reorganizes content-specific memory traces in macaques.Journal: Nature neuroscienceIn common: fdr_bh (Benjamini-Hochberg FDR), Statistics and Machine Learning Toolbox, SciPy, 2 other tools
Contribute
The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.
Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 1 repository of the authors' code, each at its verified commit and with its license, 216 scripts, and 7 matches between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:621b534350e80dcc…
Add the badge to its README
The badge links the code to this page. Copy one of these into the README of the paper's code: only you decide where it goes, and nothing is changed for you.
Markdown
[.
Discussion, reproductions, activity
Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.
Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.
Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.
