View on GitHub

DIALS // knowledgebase

community resources, howtos, meeting minutes

DIALS core meeting 2020-10-15

hackmd-github-sync-badge

Previous Actions

Agenda

New folks in the room

Randy, Andrey, (maybe) Peter coming along? Intros; discussion of how things work at the moment; possibly schedule specific meetings for longer form stuff. Questions of degrees-of-freedom for individual reflections & lattice translocation raised recently.

Randy Read: translocation vs NCS, interested in running CryoEM-2D-classification algorithms on found spots to distinguish between fuzzy and non-fuzzy spots.

Peter Zwart: Interested in better likelihood targets, would like to know the DoF for each reflection. (As weighted sum of observations it is not N(obs)-1)

AP: JBE to set up meeting with Andrey/Randy/Peter with DIALS-E folks at a suitable date & time.

Peter Zwart: Have a look at xicam regarding the image. https://xi-cam.readthedocs.io/en/latest/

AP: ASB to organise a meeting on the image viewer.

cctbx conda-forge package

We may want to evaluate moving the dxtbx/DIALS Azure builds to use the now available cctbx conda-forge package, once issue #4 is resolved, which prevents the package being used as a build platform.

Benefits

Drawbacks

Outcome

dxtbxxfel dependencies

At some point we made a somewhat conscious decision that dxtbx should not depend on dials. While setting up some Azure testing of dxtbx (#226) without dials/xia2 and their dependencies present some test failures were flagged because dxtbx has dependencies into xfel.

How should we deal with this? A few options:

Discussion:

Previous outcomes:

There are a couple of places there dxtbx → xfel

AP: ASB to create a ticket in dxtbx to discuss this so that we can get everyone’s opinion.

NIAC Nexus

Nexus as working format for DIALS?

DIALS has an existing data model (past: pickle, now: msgpack). Internal names in that model correspond to the names used inside DIALS for development, eg. xyzobs.px.value has a clear definition.

No objections for a dials.export $file.refl format=nexus, but do not use nexus as a format to interchange data within DIALS programs.

What is the underlying benefit of using Nexus?

AP: ASB to create a transformation tool DIALS → Nexus → DIALS to demonstrate the feasibility of this approach, so that we have a concrete proposal to discuss. AP: MG to put this into a ticket “Demonstrate round trip of DIALS data to Nexus data with no loss of signal” instead of meeting minutes

Pull request When file indices are provided,…

not discussed in this meeting

ASB: This is dxtbx#210. The FormatSaclaHDF5 class isn’t lazy, which led to that problem. Will fix this in a separate PR, but the PR above is still a good PR independently of that.

In discussion we identified a new potential issue. We need to ensure during deserialisation this loop isn’t hit for classes that don’t have scans and goniometers.

Definition of trusted_range

not discussed in this meeting

Discuss Definition of trusted_range (dxtbx#182)

image_range vs. array_range baked in off-by-one errors

not discussed in this meeting

Discuss image_range vs. array_range baked in off-by-one errors (dxtbx#186)

DIALS documentation build

not discussed in this meeting

Should the DIALS documentation build outside a cctbx environment?

dxtbx json/msgpack performance

not discussed in this meeting

ASB reports json being problematic when importing e.g. 50,000 experiments, as everything is stored in a single file, so everything needs to be read at once.

Previous discussion outcomes:

Remove tntbx dependency

not discussed in this meeting

Appears not to be used anywhere outside of cctbx_project/xfel, but xfel does not declared is as a dependency. xfel only uses the svd() function. Maybe change xfel to use numpy.linalg.svd instead and drop tntbx entirely?

Peter Zwart: My favorite SVD tools lives in scipy: scipy.sparse.linalg.svds (https://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.linalg.svds.html#scipy.sparse.linalg.svds). This routine allows calculation of the top K vectors in an SVD, it is a massive time saver if you know the rank of the matrix. The code works for dense as well as sparse matrices.

renaming master branch → main

not discussed in this meeting

Next meeting

November 5th, 4pm UK time, 8am PDT.