Skip to content
Snippets Groups Projects
Commit c6efa475 authored by Alexander Rose's avatar Alexander Rose
Browse files

better cif-core data naming

parent e846e1fd
No related branches found
No related tags found
No related merge requests found
audit.block_doi audit.block_doi
database_code.depnum_ccdc_archive database_code.depnum_ccdc_archive
database_code.depnum_ccdc_fiz
database_code.ICSD
database_code.MDF
database_code.NBS database_code.NBS
database_code.CSD database_code.CSD
database_code.COD
chemical.name_systematic chemical.name_systematic
chemical.name_common chemical.name_common
......
...@@ -365,6 +365,10 @@ export const CifCore_Schema = { ...@@ -365,6 +365,10 @@ export const CifCore_Schema = {
* originate from that source. * originate from that source.
*/ */
database_code: { database_code: {
/**
* Code assigned by Crystallography Open Database (COD).
*/
COD: str,
/** /**
* Code assigned by the Cambridge Structural Database. * Code assigned by the Cambridge Structural Database.
*/ */
...@@ -375,6 +379,20 @@ export const CifCore_Schema = { ...@@ -375,6 +379,20 @@ export const CifCore_Schema = {
* archived by the CCDC. * archived by the CCDC.
*/ */
depnum_ccdc_archive: str, depnum_ccdc_archive: str,
/**
* Deposition numbers assigned by the Fachinformationszentrum
* Karlsruhe (FIZ) to files containing structural information
* archived by the Cambridge Crystallographic Data Centre (CCDC).
*/
depnum_ccdc_fiz: str,
/**
* Code assigned by the Inorganic Crystal Structure Database.
*/
ICSD: str,
/**
* Code assigned in the Metals Data File.
*/
MDF: str,
/** /**
* Code assigned by the NBS (NIST) Crystal Data Database. * Code assigned by the NBS (NIST) Crystal Data Database.
*/ */
......
...@@ -87,7 +87,11 @@ async function getModels(db: CifCore_Database, format: CifCoreFormat, ctx: Runti ...@@ -87,7 +87,11 @@ async function getModels(db: CifCore_Database, format: CifCoreFormat, ctx: Runti
pdbx_PDB_model_num: Column.ofConst(1, atomCount, Column.Schema.int), pdbx_PDB_model_num: Column.ofConst(1, atomCount, Column.Schema.int),
}, atomCount); }, atomCount);
const name = db.chemical.name_common.value(0) || db.chemical.name_systematic.value(0) const name = (
db.chemical.name_common.value(0) ||
db.chemical.name_systematic.value(0) ||
db.chemical_formula.sum.value(0)
)
const entityBuilder = new EntityBuilder() const entityBuilder = new EntityBuilder()
entityBuilder.setNames([['MOL', name || 'Unknown Entity']]) entityBuilder.setNames([['MOL', name || 'Unknown Entity']])
...@@ -175,7 +179,19 @@ namespace CifCoreFormat { ...@@ -175,7 +179,19 @@ namespace CifCoreFormat {
export function fromFrame(frame: CifFrame, db?: CifCore_Database): CifCoreFormat { export function fromFrame(frame: CifFrame, db?: CifCore_Database): CifCoreFormat {
if (!db) db = CIF.schema.cifCore(frame) if (!db) db = CIF.schema.cifCore(frame)
return { kind: 'cifCore', name: db._name, data: { db, frame } };
const name = (
db.database_code.depnum_ccdc_archive.value(0) ||
db.database_code.depnum_ccdc_fiz.value(0) ||
db.database_code.ICSD.value(0) ||
db.database_code.MDF.value(0) ||
db.database_code.NBS.value(0) ||
db.database_code.CSD.value(0) ||
db.database_code.COD.value(0) ||
db._name
)
return { kind: 'cifCore', name, data: { db, frame } };
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment