dandi_file_updates.py
update_analysis_for_dandi_standard(filepath, age='P4M/P8M', resolve_external_table=True, weight_unit='g')
¶
Function to resolve common nwb file format errors within the database
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
filepath
|
str
|
abs path to the file to edit |
required |
age
|
str
|
if string, age to assign animal if missing. if dict, age to assign for each animal by default "P4M/P8M" |
'P4M/P8M'
|
resolve_external_table
|
bool
|
whether to update the external table. Set False if editing file outside the database, by default True |
True
|
weight_unit
|
str
|
unit to append to weight values that are missing units, by default "g" |
'g'
|
Source code in src/spyglass/utils/dandi_file_updates.py
add_source_script_name(file, script_name)
¶
Add source script information to general/source_script if missing.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
file
|
File
|
An open HDF5 file object. |
required |
script_name
|
str
|
The name of the source script. |
required |
Source code in src/spyglass/utils/dandi_file_updates.py
standardize_sex_identifier(file)
¶
Adjust the subject sex identifier to a single letter format.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
file
|
File
|
An open HDF5 file object. |
required |
Source code in src/spyglass/utils/dandi_file_updates.py
ensure_weight_units(file, intended_unit='g')
¶
Ensure weight is stored with units or removed if unknown
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
file
|
File
|
An open HDF5 file object. |
required |
intended_unit
|
str
|
The unit to append to weight values that are missing units, by default "g" |
'g'
|
Source code in src/spyglass/utils/dandi_file_updates.py
ensure_species_is_latin(file)
¶
Ensure the subject species is in Latin binomial form or NCBI taxonomy link.
For Rat, it updates "Rat" to "Rattus norvegicus".
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
file
|
File
|
An open HDF5 file object. |
required |
Source code in src/spyglass/utils/dandi_file_updates.py
add_age_if_missing(file, age='P4M/P8M')
¶
Add the subject age if not present
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
file
|
File
|
An open HDF5 file object. |
required |
age
|
Union[str, dict]
|
age of the subject, if dict, lookup by subject_id, by default "P4M/P8M" |
'P4M/P8M'
|
Source code in src/spyglass/utils/dandi_file_updates.py
dandi_format_names(experimenter)
¶
Make names compliant with dandi standard of "Last, First"
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
experimenter
|
List
|
List of experimenter names |
required |
Returns:
| Type | Description |
|---|---|
List
|
reformatted list of experimenter names |
Source code in src/spyglass/utils/dandi_file_updates.py
format_experimenter_names(file)
¶
Ensure experimenter names are in "Last, First" format.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
file
|
File
|
An open HDF5 file object. |
required |
Source code in src/spyglass/utils/dandi_file_updates.py
convert_float16_to_float32(file)
¶
Convert datasets with float16 dtype to float32 dtype.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
file
|
File
|
An open HDF5 file object. |
required |
Source code in src/spyglass/utils/dandi_file_updates.py
add_id_column_to_dynamic_tables(file)
¶
Add an 'id' column to all dynamic tables in a nwb file missing this column.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
file
|
File
|
An open HDF5 file object. |
required |