nwb-linkml/nwb_linkml/schema/core.nwb.file.include.yaml

403 lines
15 KiB
YAML

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
prefixes:
core.nwb.file:
prefix_prefix: core.nwb.file
prefix_reference: https://example.com/core.nwb.file/
default_prefix: core.nwb.file
classes:
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:
name:
name: name
ifabsent: string(stimulus)
range: string
required: true
equals_string: stimulus
presentation:
name: presentation
description: Stimuli presented during the experiment.
multivalued: true
any_of:
- range: TimeSeries
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: true
any_of:
- range: TimeSeries
- range: Images
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:
name:
name: name
ifabsent: string(general)
range: string
required: true
equals_string: general
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: true
range: text
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: true
range: text
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: true
range: text
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
lab_meta_data:
name: lab_meta_data
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: true
any_of:
- range: Device
subject:
name: subject
description: Information about the animal or person from which the data was
measured.
multivalued: false
range: 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: true
any_of:
- range: OptogeneticStimulusSite
optophysiology:
name: optophysiology
description: Metadata related to optophysiology.
multivalued: true
any_of:
- range: ImagingPlane
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:
name:
name: name
ifabsent: string(source_script)
range: string
required: true
equals_string: source_script
file_name:
name: file_name
description: Name of script file.
range: text
NWBFile__general__extracellular_ephys:
name: NWBFile__general__extracellular_ephys
description: Metadata related to extracellular electrophysiology.
attributes:
name:
name: name
ifabsent: string(extracellular_ephys)
range: string
required: true
equals_string: extracellular_ephys
electrode_group:
name: electrode_group
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: DynamicTable
required: false
NWBFile__general__intracellular_ephys:
name: NWBFile__general__intracellular_ephys
description: Metadata related to intracellular electrophysiology.
attributes:
name:
name: name
ifabsent: string(intracellular_ephys)
range: string
required: true
equals_string: intracellular_ephys
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
intracellular_electrode:
name: intracellular_electrode
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: SweepTable
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: IntracellularRecordingsTable
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: SimultaneousRecordingsTable
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: SequentialRecordingsTable
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: RepetitionsTable
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: ExperimentalConditionsTable
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:
name:
name: name
ifabsent: string(intervals)
range: string
required: true
equals_string: intervals
epochs:
name: epochs
description: Divisions in time marking experimental stages or sub-divisions
of a single recording session.
multivalued: false
range: TimeIntervals
required: false
trials:
name: trials
description: Repeated experimental events that have a logical grouping.
multivalued: false
range: TimeIntervals
required: false
invalid_times:
name: invalid_times
description: Time intervals that should be removed from analysis.
multivalued: false
range: TimeIntervals
required: false
time_intervals:
name: time_intervals
description: Optional additional table(s) for describing other experimental
time intervals.
multivalued: true
range: TimeIntervals
required: false
Subject__age:
name: Subject__age
description: Age of subject. Can be supplied instead of 'date_of_birth'.
attributes:
name:
name: name
ifabsent: string(age)
range: string
required: true
equals_string: age
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