Session model
Table of contents
Introduction
A session is a modular construction that provides flexible and standardized descriptions of various aspects of experiments. The session has several direct fields but is primarily described by four modules:
- Behavior: Description of the animal subject(s) behavior during the session collection. A behavior is described by two personal attributes: the setup and the behavioral paradigm.
- Data acquisition: Description of the data acquisition files. This module is highly flexible and can describe many types of experimental data, such as Extracellular and Intracellular Electrophysiology, 2-photon microscopy, Miniscope, Audio Recordings, and Behavioral Video Recordings. Details are tailored to each experiment type.
- Manipulations: Description of any manipulations performed during an experiment. This crucial module documents alterations to the physiological conditions of a recording. It can describe various types of manipulations, such as Optogenetic Stimulation, Micro Perfusion, Pharmacological Injection, Thermal Perturbation, Transcranial Electrical Stimulation, and Ultrasound Stimulation. A manipulation is described by a protocol, typically consisting of the manipulation profile, power, duration, duty cycle, and number of repetitions.
- Epochs: Temporal aspects of a session. An epoch is characterized by a name, start and end times relative to the session’s start. Other modules (Experiment Data, Manipulations, and Behavior) can be linked to epochs, allowing for temporal segmentation of a session.
Session fields
Field | Description |
---|---|
Name | Name of the session (required; string; max length: 100 characters; must be unique across BrainSTEM). Example: “Memory_Task_Session1”, “PV_Recording_20240313” |
Projects | Projects the session belongs to (required). Learn more about project inheritance here. Example: “Hippocampal Memory Project” |
Description | A text description of the session. Pictures can be uploaded and inserted through rich text formatting. Example: “Recording session during novel object recognition task…” |
Date and time onset | Date and time of the session onset (YYYY-MM-DD format, e.g., “2023-03-22 14:30:00”). Can be left empty |
Tags | Tags for the session. Great for organizational purposes, quick labeling, and filtering. Tags are shared across all users. Example: “behavior”, “recording”, “morning-session” |
Data storage | Describes where the data is stored. Example: “Lab Server”, “External Drive 1” |
Name used in storage | Custom name for the session used in local data storage (string; max length: 200). Example: “ses01_mem_2024” |
Extra fields | Allows you to add extra fields to the session. Values can be strings or numeric. Saved as key-value pairs. Example: {“Room”: “B115”, “Temperature”: “22C”} |
Online repositories | If this session has been shared in a public repository, link it here. Example: “DANDI:123456” |
Epoch fields
Field | Description |
---|---|
Name | Name of the epoch (required; string; max length: 100 characters). Example: “Baseline”, “Stimulus_Period” |
Start | Start time of the epoch, relative to the session onset. Example: “0:00:00” |
End | End time of the epoch, relative to the session onset. Example: “0:05:00” |
Behavior | Behavior associated with the epoch. Example: “Open field exploration” |
Data acquisition | Data acquisition associated with the epoch. Example: “Calcium imaging” |
Manipulation | Manipulation associated with the epoch. Example: “Optogenetic stimulation” |
Data acquisition fields
Please see the dedicated page describing the Data acquisition model.
Manipulation data fields
Please see the dedicated page describing the Manipulations data model.
Behavior data fields
Please see the dedicated page describing the Behavior data model.
Permissions
The session inherits permissions from its associated projects. Data storage is shared through the project groups, and you can only add data storage associated with the same groups as the selected projects. The relationships in modules also depend on the selected projects.
Visit the permissions page to learn more.
Session API access
The API allows for programmable access to sessions. Learn more about the sessions’ fields and data structure on the Session API page.