write a script that converts the metadata from JSON format of the defined schema into the mmCIF file that will be fed to PDB OneDep.
Context
We want to have a translator for our metadata. Now it uses all the sample/instrument metadata JSON files and the mapper of JSON Schema properties to PDBx dictionary. It expects validated JSON files. Currently, it works without defining any structs for metadata structure and is agnostic to JSON or PDBx nesting in the naming of elements. As a result, the properties in mmCIF are sorted alphabetically. This is not an issue when parsing mmCIF, according to the documentation but looks not nice. Especially, when first and last name are separated by other fields.
I will probably introduce a clear structure.
Needs to be added:
[x] multiline data should begin with semicolon(;) plus extra semicolon on a new line
[x] "?" value missing
[x] "." value omitted
Issues
issue with PDB OneDep. It complains about the upload files without a clear error definition
I will try a brute force approach by changing properties one-by-one (within one data item) in a CIF file downloaded from EMDB.
Definition of Done
[x] tests; especially if the third layer of JSON nesting is still supported with the current implementation
Description
write a script that converts the metadata from JSON format of the defined schema into the mmCIF file that will be fed to PDB OneDep.
Context
We want to have a translator for our metadata. Now it uses all the sample/instrument metadata JSON files and the mapper of JSON Schema properties to PDBx dictionary. It expects validated JSON files. Currently, it works without defining any structs for metadata structure and is agnostic to JSON or PDBx nesting in the naming of elements. As a result, the properties in mmCIF are sorted alphabetically. This is not an issue when parsing mmCIF, according to the documentation but looks not nice. Especially, when first and last name are separated by other fields.
I will probably introduce a clear structure.
Needs to be added:
Issues
Definition of Done