name: core.nwb.file.include id: core.nwb.file.include imports: - core.nwb.base - hdmf-common.table - core.nwb.device - core.nwb.ecephys - core.nwb.icephys - core.nwb.ogen - core.nwb.ophys - core.nwb.epoch - core.nwb.misc - nwb.language - core.nwb.file.include - core.nwb.file default_prefix: core.nwb.file.include/ classes: NWBFile__file_create_date: name: NWBFile__file_create_date description: 'A record of the date the file was created and of subsequent modifications. The date is stored in UTC with local timezone offset as ISO 8601 extended formatted strings: 2018-09-28T14:43:54.123+02:00. Dates stored in UTC end in "Z" with no timezone offset. Date accuracy is up to milliseconds. The file can be created after the experiment was run, so this may differ from the experiment start time. Each modification to the nwb file adds a new entry to the array.' attributes: file_create_date: name: file_create_date description: 'A record of the date the file was created and of subsequent modifications. The date is stored in UTC with local timezone offset as ISO 8601 extended formatted strings: 2018-09-28T14:43:54.123+02:00. Dates stored in UTC end in "Z" with no timezone offset. Date accuracy is up to milliseconds. The file can be created after the experiment was run, so this may differ from the experiment start time. Each modification to the nwb file adds a new entry to the array.' multivalued: true range: isodatetime required: true NWBFile__acquisition: name: NWBFile__acquisition description: Data streams recorded from the system, including ephys, ophys, tracking, etc. This group should be read-only after the experiment is completed and timestamps are corrected to a common timebase. The data stored here may be links to raw data stored in external NWB files. This will allow keeping bulky raw data out of the file while preserving the option of keeping some/all in the file. Acquired data includes tracking and experimental data streams (i.e., everything measured from the system). If bulky data is stored in the /acquisition group, the data can exist in a separate NWB file that is linked to by the file being used for processing and analysis. attributes: NWBDataInterface: name: NWBDataInterface description: Acquired, raw data. multivalued: true range: NWBDataInterface required: false DynamicTable: name: DynamicTable description: Tabular data that is relevant to acquisition multivalued: true range: DynamicTable required: false NWBFile__analysis: name: NWBFile__analysis description: Lab-specific and custom scientific analysis of data. There is no defined format for the content of this group - the format is up to the individual user/lab. To facilitate sharing analysis data between labs, the contents here should be stored in standard types (e.g., neurodata_types) and appropriately documented. The file can store lab-specific and custom data analysis without restriction on its form or schema, reducing data formatting restrictions on end users. Such data should be placed in the analysis group. The analysis data should be documented so that it could be shared with other labs. attributes: NWBContainer: name: NWBContainer description: Custom analysis results. multivalued: true range: NWBContainer required: false DynamicTable: name: DynamicTable description: Tabular data that is relevant to data stored in analysis multivalued: true range: DynamicTable required: false NWBFile__scratch: name: NWBFile__scratch description: A place to store one-off analysis results. Data placed here is not intended for sharing. By placing data here, users acknowledge that there is no guarantee that their data meets any standard. attributes: ScratchData: name: ScratchData description: Any one-off datasets multivalued: true range: ScratchData required: false NWBContainer: name: NWBContainer description: Any one-off containers multivalued: true range: NWBContainer required: false DynamicTable: name: DynamicTable description: Any one-off tables multivalued: true range: DynamicTable required: false NWBFile__processing: name: NWBFile__processing description: The home for ProcessingModules. These modules perform intermediate analysis of data that is necessary to perform before scientific analysis. Examples include spike clustering, extracting position from tracking data, stitching together image slices. ProcessingModules can be large and express many data sets from relatively complex analysis (e.g., spike detection and clustering) or small, representing extraction of position information from tracking video, or even binary lick/no-lick decisions. Common software tools (e.g., klustakwik, MClust) are expected to read/write data here. 'Processing' refers to intermediate analysis of the acquired data to make it more amenable to scientific analysis. attributes: ProcessingModule: name: ProcessingModule description: Intermediate analysis of acquired data. multivalued: true range: ProcessingModule required: false NWBFile__stimulus: name: NWBFile__stimulus description: Data pushed into the system (eg, video stimulus, sound, voltage, etc) and secondary representations of that data (eg, measurements of something used as a stimulus). This group should be made read-only after experiment complete and timestamps are corrected to common timebase. Stores both presented stimuli and stimulus templates, the latter in case the same stimulus is presented multiple times, or is pulled from an external stimulus library. Stimuli are here defined as any signal that is pushed into the system as part of the experiment (eg, sound, video, voltage, etc). Many different experiments can use the same stimuli, and stimuli can be re-used during an experiment. The stimulus group is organized so that one version of template stimuli can be stored and these be used multiple times. These templates can exist in the present file or can be linked to a remote library file. attributes: presentation: name: presentation description: Stimuli presented during the experiment. multivalued: false range: NWBFile__stimulus__presentation required: true templates: name: templates description: Template stimuli. Timestamps in templates are based on stimulus design and are relative to the beginning of the stimulus. When templates are used, the stimulus instances must convert presentation times to the experiment`s time reference frame. multivalued: false range: NWBFile__stimulus__templates required: true NWBFile__stimulus__presentation: name: NWBFile__stimulus__presentation description: Stimuli presented during the experiment. attributes: TimeSeries: name: TimeSeries description: TimeSeries objects containing data of presented stimuli. multivalued: true range: TimeSeries required: false NWBFile__stimulus__templates: name: NWBFile__stimulus__templates description: Template stimuli. Timestamps in templates are based on stimulus design and are relative to the beginning of the stimulus. When templates are used, the stimulus instances must convert presentation times to the experiment`s time reference frame. attributes: TimeSeries: name: TimeSeries description: TimeSeries objects containing template data of presented stimuli. multivalued: true range: TimeSeries required: false Images: name: Images description: Images objects containing images of presented stimuli. multivalued: true range: Images required: false NWBFile__general: name: NWBFile__general description: Experimental metadata, including protocol, notes and description of hardware device(s). The metadata stored in this section should be used to describe the experiment. Metadata necessary for interpreting the data is stored with the data. General experimental metadata, including animal strain, experimental protocols, experimenter, devices, etc, are stored under 'general'. Core metadata (e.g., that required to interpret data fields) is stored with the data itself, and implicitly defined by the file specification (e.g., time is in seconds). The strategy used here for storing non-core metadata is to use free-form text fields, such as would appear in sentences or paragraphs from a Methods section. Metadata fields are text to enable them to be more general, for example to represent ranges instead of numerical values. Machine-readable metadata is stored as attributes to these free-form datasets. All entries in the below table are to be included when data is present. Unused groups (e.g., intracellular_ephys in an optophysiology experiment) should not be created unless there is data to store within them. attributes: data_collection: name: data_collection description: Notes about data collection and analysis. multivalued: false range: text required: false experiment_description: name: experiment_description description: General description of the experiment. multivalued: false range: text required: false experimenter: name: experimenter description: Name of person(s) who performed the experiment. Can also specify roles of different people involved. multivalued: false range: NWBFile__general__experimenter required: false institution: name: institution description: Institution(s) where experiment was performed. multivalued: false range: text required: false keywords: name: keywords description: Terms to search over. multivalued: false range: NWBFile__general__keywords required: false lab: name: lab description: Laboratory where experiment was performed. multivalued: false range: text required: false notes: name: notes description: Notes about the experiment. multivalued: false range: text required: false pharmacology: name: pharmacology description: Description of drugs used, including how and when they were administered. Anesthesia(s), painkiller(s), etc., plus dosage, concentration, etc. multivalued: false range: text required: false protocol: name: protocol description: Experimental protocol, if applicable. e.g., include IACUC protocol number. multivalued: false range: text required: false related_publications: name: related_publications description: Publication information. PMID, DOI, URL, etc. multivalued: false range: NWBFile__general__related_publications required: false session_id: name: session_id description: Lab-specific ID for the session. multivalued: false range: text required: false slices: name: slices description: Description of slices, including information about preparation thickness, orientation, temperature, and bath solution. multivalued: false range: text required: false source_script: name: source_script description: Script file or link to public source code used to create this NWB file. multivalued: false range: NWBFile__general__source_script required: false stimulus: name: stimulus description: Notes about stimuli, such as how and where they were presented. multivalued: false range: text required: false surgery: name: surgery description: Narrative description about surgery/surgeries, including date(s) and who performed surgery. multivalued: false range: text required: false virus: name: virus description: Information about virus(es) used in experiments, including virus ID, source, date made, injection location, volume, etc. multivalued: false range: text required: false LabMetaData: name: LabMetaData description: Place-holder than can be extended so that lab-specific meta-data can be placed in /general. multivalued: true range: LabMetaData required: false devices: name: devices description: Description of hardware devices used during experiment, e.g., monitors, ADC boards, microscopes, etc. multivalued: false range: NWBFile__general__devices required: false subject: name: subject description: Information about the animal or person from which the data was measured. multivalued: false range: NWBFile__general__subject required: false extracellular_ephys: name: extracellular_ephys description: Metadata related to extracellular electrophysiology. multivalued: false range: NWBFile__general__extracellular_ephys required: false intracellular_ephys: name: intracellular_ephys description: Metadata related to intracellular electrophysiology. multivalued: false range: NWBFile__general__intracellular_ephys required: false optogenetics: name: optogenetics description: Metadata describing optogenetic stimuluation. multivalued: false range: NWBFile__general__optogenetics required: false optophysiology: name: optophysiology description: Metadata related to optophysiology. multivalued: false range: NWBFile__general__optophysiology required: false NWBFile__general__experimenter: name: NWBFile__general__experimenter description: Name of person(s) who performed the experiment. Can also specify roles of different people involved. attributes: experimenter: name: experimenter description: Name of person(s) who performed the experiment. Can also specify roles of different people involved. multivalued: true range: text required: false NWBFile__general__keywords: name: NWBFile__general__keywords description: Terms to search over. attributes: keywords: name: keywords description: Terms to search over. multivalued: true range: text required: false NWBFile__general__related_publications: name: NWBFile__general__related_publications description: Publication information. PMID, DOI, URL, etc. attributes: related_publications: name: related_publications description: Publication information. PMID, DOI, URL, etc. multivalued: true range: text required: false NWBFile__general__source_script: name: NWBFile__general__source_script description: Script file or link to public source code used to create this NWB file. attributes: file_name: name: file_name description: Name of script file. range: text NWBFile__general__devices: name: NWBFile__general__devices description: Description of hardware devices used during experiment, e.g., monitors, ADC boards, microscopes, etc. attributes: Device: name: Device description: Data acquisition devices. multivalued: true range: Device required: false NWBFile__general__subject: name: NWBFile__general__subject description: Information about the animal or person from which the data was measured. is_a: Subject NWBFile__general__extracellular_ephys: name: NWBFile__general__extracellular_ephys description: Metadata related to extracellular electrophysiology. attributes: ElectrodeGroup: name: ElectrodeGroup description: Physical group of electrodes. multivalued: true range: ElectrodeGroup required: false electrodes: name: electrodes description: A table of all electrodes (i.e. channels) used for recording. multivalued: false range: NWBFile__general__extracellular_ephys__electrodes required: false NWBFile__general__extracellular_ephys__electrodes: name: NWBFile__general__extracellular_ephys__electrodes description: A table of all electrodes (i.e. channels) used for recording. is_a: DynamicTable attributes: x: name: x description: x coordinate of the channel location in the brain (+x is posterior). multivalued: true range: float32 y: name: y description: y coordinate of the channel location in the brain (+y is inferior). multivalued: true range: float32 z: name: z description: z coordinate of the channel location in the brain (+z is right). multivalued: true range: float32 imp: name: imp description: Impedance of the channel, in ohms. multivalued: true range: float32 location: name: location description: Location of the electrode (channel). Specify the area, layer, comments on estimation of area/layer, stereotaxic coordinates if in vivo, etc. Use standard atlas names for anatomical regions when possible. multivalued: true range: text filtering: name: filtering description: Description of hardware filtering, including the filter name and frequency cutoffs. multivalued: true range: text group: name: group description: Reference to the ElectrodeGroup this electrode is a part of. multivalued: true range: ElectrodeGroup group_name: name: group_name description: Name of the ElectrodeGroup this electrode is a part of. multivalued: true range: text rel_x: name: rel_x description: x coordinate in electrode group multivalued: true range: float32 rel_y: name: rel_y description: y coordinate in electrode group multivalued: true range: float32 rel_z: name: rel_z description: z coordinate in electrode group multivalued: true range: float32 reference: name: reference description: Description of the reference electrode and/or reference scheme used for this electrode, e.g., "stainless steel skull screw" or "online common average referencing". multivalued: true range: text NWBFile__general__intracellular_ephys: name: NWBFile__general__intracellular_ephys description: Metadata related to intracellular electrophysiology. attributes: filtering: name: filtering description: '[DEPRECATED] Use IntracellularElectrode.filtering instead. Description of filtering used. Includes filtering type and parameters, frequency fall-off, etc. If this changes between TimeSeries, filter description should be stored as a text attribute for each TimeSeries.' multivalued: false range: text required: false IntracellularElectrode: name: IntracellularElectrode description: An intracellular electrode. multivalued: true range: IntracellularElectrode required: false sweep_table: name: sweep_table description: '[DEPRECATED] Table used to group different PatchClampSeries. SweepTable is being replaced by IntracellularRecordingsTable and SimultaneousRecordingsTable tables. Additional SequentialRecordingsTable, RepetitionsTable and ExperimentalConditions tables provide enhanced support for experiment metadata.' multivalued: false range: NWBFile__general__intracellular_ephys__sweep_table required: false intracellular_recordings: name: intracellular_recordings description: A table to group together a stimulus and response from a single electrode and a single simultaneous recording. Each row in the table represents a single recording consisting typically of a stimulus and a corresponding response. In some cases, however, only a stimulus or a response are recorded as as part of an experiment. In this case both, the stimulus and response will point to the same TimeSeries while the idx_start and count of the invalid column will be set to -1, thus, indicating that no values have been recorded for the stimulus or response, respectively. Note, a recording MUST contain at least a stimulus or a response. Typically the stimulus and response are PatchClampSeries. However, the use of AD/DA channels that are not associated to an electrode is also common in intracellular electrophysiology, in which case other TimeSeries may be used. multivalued: false range: NWBFile__general__intracellular_ephys__intracellular_recordings required: false simultaneous_recordings: name: simultaneous_recordings description: A table for grouping different intracellular recordings from the IntracellularRecordingsTable table together that were recorded simultaneously from different electrodes multivalued: false range: NWBFile__general__intracellular_ephys__simultaneous_recordings required: false sequential_recordings: name: sequential_recordings description: A table for grouping different sequential recordings from the SimultaneousRecordingsTable table together. This is typically used to group together sequential recordings where the a sequence of stimuli of the same type with varying parameters have been presented in a sequence. multivalued: false range: NWBFile__general__intracellular_ephys__sequential_recordings required: false repetitions: name: repetitions description: A table for grouping different sequential intracellular recordings together. With each SequentialRecording typically representing a particular type of stimulus, the RepetitionsTable table is typically used to group sets of stimuli applied in sequence. multivalued: false range: NWBFile__general__intracellular_ephys__repetitions required: false experimental_conditions: name: experimental_conditions description: A table for grouping different intracellular recording repetitions together that belong to the same experimental experimental_conditions. multivalued: false range: NWBFile__general__intracellular_ephys__experimental_conditions required: false NWBFile__general__intracellular_ephys__sweep_table: name: NWBFile__general__intracellular_ephys__sweep_table description: '[DEPRECATED] Table used to group different PatchClampSeries. SweepTable is being replaced by IntracellularRecordingsTable and SimultaneousRecordingsTable tables. Additional SequentialRecordingsTable, RepetitionsTable and ExperimentalConditions tables provide enhanced support for experiment metadata.' is_a: SweepTable NWBFile__general__intracellular_ephys__intracellular_recordings: name: NWBFile__general__intracellular_ephys__intracellular_recordings description: A table to group together a stimulus and response from a single electrode and a single simultaneous recording. Each row in the table represents a single recording consisting typically of a stimulus and a corresponding response. In some cases, however, only a stimulus or a response are recorded as as part of an experiment. In this case both, the stimulus and response will point to the same TimeSeries while the idx_start and count of the invalid column will be set to -1, thus, indicating that no values have been recorded for the stimulus or response, respectively. Note, a recording MUST contain at least a stimulus or a response. Typically the stimulus and response are PatchClampSeries. However, the use of AD/DA channels that are not associated to an electrode is also common in intracellular electrophysiology, in which case other TimeSeries may be used. is_a: IntracellularRecordingsTable NWBFile__general__intracellular_ephys__simultaneous_recordings: name: NWBFile__general__intracellular_ephys__simultaneous_recordings description: A table for grouping different intracellular recordings from the IntracellularRecordingsTable table together that were recorded simultaneously from different electrodes is_a: SimultaneousRecordingsTable NWBFile__general__intracellular_ephys__sequential_recordings: name: NWBFile__general__intracellular_ephys__sequential_recordings description: A table for grouping different sequential recordings from the SimultaneousRecordingsTable table together. This is typically used to group together sequential recordings where the a sequence of stimuli of the same type with varying parameters have been presented in a sequence. is_a: SequentialRecordingsTable NWBFile__general__intracellular_ephys__repetitions: name: NWBFile__general__intracellular_ephys__repetitions description: A table for grouping different sequential intracellular recordings together. With each SequentialRecording typically representing a particular type of stimulus, the RepetitionsTable table is typically used to group sets of stimuli applied in sequence. is_a: RepetitionsTable NWBFile__general__intracellular_ephys__experimental_conditions: name: NWBFile__general__intracellular_ephys__experimental_conditions description: A table for grouping different intracellular recording repetitions together that belong to the same experimental experimental_conditions. is_a: ExperimentalConditionsTable NWBFile__general__optogenetics: name: NWBFile__general__optogenetics description: Metadata describing optogenetic stimuluation. attributes: OptogeneticStimulusSite: name: OptogeneticStimulusSite description: An optogenetic stimulation site. multivalued: true range: OptogeneticStimulusSite required: false NWBFile__general__optophysiology: name: NWBFile__general__optophysiology description: Metadata related to optophysiology. attributes: ImagingPlane: name: ImagingPlane description: An imaging plane. multivalued: true range: ImagingPlane required: false NWBFile__intervals: name: NWBFile__intervals description: Experimental intervals, whether that be logically distinct sub-experiments having a particular scientific goal, trials (see trials subgroup) during an experiment, or epochs (see epochs subgroup) deriving from analysis of data. attributes: epochs: name: epochs description: Divisions in time marking experimental stages or sub-divisions of a single recording session. multivalued: false range: NWBFile__intervals__epochs required: false trials: name: trials description: Repeated experimental events that have a logical grouping. multivalued: false range: NWBFile__intervals__trials required: false invalid_times: name: invalid_times description: Time intervals that should be removed from analysis. multivalued: false range: NWBFile__intervals__invalid_times required: false TimeIntervals: name: TimeIntervals description: Optional additional table(s) for describing other experimental time intervals. multivalued: true range: TimeIntervals required: false NWBFile__intervals__epochs: name: NWBFile__intervals__epochs description: Divisions in time marking experimental stages or sub-divisions of a single recording session. is_a: TimeIntervals NWBFile__intervals__trials: name: NWBFile__intervals__trials description: Repeated experimental events that have a logical grouping. is_a: TimeIntervals NWBFile__intervals__invalid_times: name: NWBFile__intervals__invalid_times description: Time intervals that should be removed from analysis. is_a: TimeIntervals NWBFile__units: name: NWBFile__units description: Data about sorted spike units. is_a: Units Subject__age: name: Subject__age description: Age of subject. Can be supplied instead of 'date_of_birth'. attributes: reference: name: reference description: Age is with reference to this event. Can be 'birth' or 'gestational'. If reference is omitted, 'birth' is implied. range: text