Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Assigning (more) PD-specific keys to CIF_CORE categories #164

Open
rowlesmr opened this issue Jun 29, 2023 · 4 comments
Open

Assigning (more) PD-specific keys to CIF_CORE categories #164

rowlesmr opened this issue Jun 29, 2023 · 4 comments

Comments

@rowlesmr
Copy link
Collaborator

CIF_POW redefines the category keys of REFLN to add _pd_refln.phase_id. This allows the unique distribution of reflections in a multiphase diffraction pattern between h,k,l and the constituent phases.

pokes head above parapet

As most powder CIF applications are going to be multi-block, there needs to be a way to split both Set and Loop data items from (primarily) CORE amongst phases, diffractograms, specimens, and instruments.

Currently, I think a minimum viable set of categories which require _pd_phase.id, are:

  • CELL: for unit cell parameters
  • ATOM_SITE: for atom positions and the like
  • ATOM_SITE_ANISO: for ADPs
  • SPACE_GROUP: for symmetry
  • REFLN (Already has phase id)

I think DIFFRN requires _pd_char.id, _pd_prep.id, and _pd_spec.id to uniquely id a specimen.

I haven't yet put any thought into what might need a diffractogram or instr id.

.

My aim is to be able to get a single set of relational tables describing a multi-block powder experiment, rather than having a set of tables per block.

Thoughts?

@jamesrhester
Copy link
Contributor

jamesrhester commented Jul 5, 2023

Yes. The only question in my mind is whether we (in cif core) might not want to group CELL, SPACE_GROUP and ATOM_SITE(_ANISO) into a STRUCTURE Set category, so that we can refer to a structure with an identifier. This comes up in the context of wanting to reference an alternative structural description (what in the past might have looked like 'see this other data block for the parent structure'). If we do this, then pd_phase might just have a pointer to a structure - the idea being that given a phase there is a particular structure associated with it, rather than given a structure there is a particular phase associated with it.

Unfortunately it's a bit of a process working out the best underlying relationship for all of these Set categories.

@jamesrhester
Copy link
Contributor

And regarding _pd_char/spec/prep, surely we only need one of those as a specimen already links to the other two. And probably best raised as a separate issue.

@rowlesmr
Copy link
Collaborator Author

rowlesmr commented Jul 6, 2023

CHAR has id, PREP has id and char_id, SPEC has id and prep_id.

@jamesrhester
Copy link
Contributor

CHAR has id, PREP has id and char_id, SPEC has id and prep_id.

So if you refer to a particular _spec.id, you automatically refer to a particular _prep.id and _char.id

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants