brainbox.task.task

Computes task related output

Functions

differentiate_units

Determine units which significantly differentiate between two task events (e.g.

responsive_units

Determine responsive neurons by doing a Wilcoxon Signed-Rank test between a baseline period before a certain task event (e.g.

roc_between_two_events

Calcluate area under the ROC curve that indicates how well the activity of the neuron distiguishes between two events (e.g.

roc_single_event

Determine how well neurons respond to a certain task event by calculating the area under the ROC curve between a baseline period before the event and a period after the event.

responsive_units(spike_times, spike_clusters, event_times, pre_time=[0.5, 0], post_time=[0, 0.5], alpha=0.05)[source]

Determine responsive neurons by doing a Wilcoxon Signed-Rank test between a baseline period before a certain task event (e.g. stimulus onset) and a period after the task event.

Parameters
  • spike_times (1D array) – spike times (in seconds)

  • spike_clusters (1D array) – cluster ids corresponding to each event in spikes

  • event_times (1D array) – times (in seconds) of the events from the two groups

  • pre_time (two-element array) – time (in seconds) preceding the event to get the baseline (e.g. [0.5, 0.2] would be a window starting 0.5 seconds before the event and ending at 0.2 seconds before the event)

  • post_time (two-element array) – time (in seconds) to follow the event times

  • alpha (float) – alpha to use for statistical significance

Returns

  • significant_units (ndarray) – an array with the indices of clusters that are significatly modulated

  • stats (1D array) – the statistic of the test that was performed

  • p_values (ndarray) – the p-values of all the clusters

  • cluster_ids (ndarray) – cluster ids of the p-values

differentiate_units(spike_times, spike_clusters, event_times, event_groups, pre_time=0, post_time=0.5, test='ranksums', alpha=0.05)[source]

Determine units which significantly differentiate between two task events (e.g. stimulus left/right) by performing a statistical test between the spike rates elicited by the two events. Default is a Wilcoxon Rank Sum test.

Parameters
  • spike_times (1D array) – spike times (in seconds)

  • spike_clusters (1D array) – cluster ids corresponding to each event in spikes

  • event_times (1D array) – times (in seconds) of the events from the two groups

  • event_groups (1D array) – group identities of the events as either 0 or 1

  • pre_time (float) – time (in seconds) to precede the event times to get the baseline

  • post_time (float) – time (in seconds) to follow the event times

  • test (string) –

    which statistical test to use, options are:

    ’ranksums’ Wilcoxon Rank Sums test ‘signrank’ Wilcoxon Signed Rank test (for paired observations) ‘ttest’ independent samples t-test ‘paired_ttest’ paired t-test

  • alpha (float) – alpha to use for statistical significance

Returns

  • significant_units (1D array) – an array with the indices of clusters that are significatly modulated

  • stats (1D array) – the statistic of the test that was performed

  • p_values (1D array) – the p-values of all the clusters

  • cluster_ids (ndarray) – cluster ids of the p-values

roc_single_event(spike_times, spike_clusters, event_times, pre_time=[0.5, 0], post_time=[0, 0.5])[source]

Determine how well neurons respond to a certain task event by calculating the area under the ROC curve between a baseline period before the event and a period after the event. Values of > 0.5 indicate the neuron respons positively to the event and < 0.5 indicate a negative response.

Parameters
  • spike_times (1D array) – spike times (in seconds)

  • spike_clusters (1D array) – cluster ids corresponding to each event in spikes

  • event_times (1D array) – times (in seconds) of the events from the two groups

  • pre_time (two-element array) – time (in seconds) preceding the event to get the baseline (e.g. [0.5, 0.2] would be a window starting 0.5 seconds before the event and ending at 0.2 seconds before the event)

  • post_time (two-element array) – time (in seconds) to follow the event times

Returns

  • auc_roc (1D array) – the area under the ROC curve

  • cluster_ids (1D array) – cluster ids of the p-values

roc_between_two_events(spike_times, spike_clusters, event_times, event_groups, pre_time=0, post_time=0.25)[source]

Calcluate area under the ROC curve that indicates how well the activity of the neuron distiguishes between two events (e.g. movement to the right vs left). A value of 0.5 indicates the neuron cannot distiguish between the two events. A value of 0 or 1 indicates maximum distinction. Significance is determined by bootstrapping the ROC curves. If 0.5 is not included in the 95th percentile of the bootstrapped distribution, the neuron is deemed to be significant.

Parameters
  • spike_times (1D array) – spike times (in seconds)

  • spike_clusters (1D array) – cluster ids corresponding to each event in spikes

  • event_times (1D array) – times (in seconds) of the events from the two groups

  • event_groups (1D array) – group identities of the events as either 0 or 1

  • pre_time (float) – time (in seconds) to precede the event times

  • post_time (float) – time (in seconds) to follow the event times

Returns

  • auc_roc (1D array) – an array of the area under the ROC curve for every neuron

  • cluster_ids (1D array) – cluster ids of the AUC values