rs-station / laue-dials

A package for analyzing Laue x-ray crystallography data using the DIALS framework.
https://rs-station.github.io/laue-dials/
MIT License
4 stars 3 forks source link

Decoy parameters for laue_dials.find_spots, potentially other functions. #32

Closed maggie-klureza closed 9 months ago

maggie-klureza commented 10 months ago

As per the laue_dials.find_spots documentation, there are two different sets of output files: laue_output. (where is filename or log) and output. (where is reflections, shoeboxes, experiments, or log).

It looks like the laue_output files are the ones that are actually getting read, and so the others are "valid" parameters that do nothing. For example, I ran the code:

laue.find_spots imported_NaI_3_01.expt \
    spotfinder.mp.nproc=8 \
    spotfinder.threshold.dispersion.gain=0.35 \
    spotfinder.filter.max_separation=10 \
    output.reflections=strong_NaI_3_01.refl \
    output.log=dials.find_spots_NaI_3_01.log

which generated the files strong.refl and laue.find_spots.log, implying to me that the parameters I used to rename the reflection and log files are not actually relevant to this function. I'd originally thought that there were two redundant log (etc) files possible, but now it seems like there's actually the true logfile and the decoy logfile. This is made more confusing by the decoys being the set of parameters used for spot finding in non-laue dials...

maggie-klureza commented 10 months ago

Update: I reran the spotfinding with the commands

laue.find_spots imported_NaI_3_01.expt \
    spotfinder.mp.nproc=8 \
    spotfinder.threshold.dispersion.gain=0.35 \
    spotfinder.filter.max_separation=10 \
    laue_output.filename=strong_NaI_3_01.refl \
    laue_output.log=laue.find_spots_NaI_3_01.log

From this, it turns out that the output.log parameter is a decoy (only saved one log file, whose name can be set via laue_output.log), but the output.reflections parameter is actually redundant (saved two reflection files, one whose name I set via laue_output.filename as strong_NaI_3_01.refl and one that presumably came from output.reflections and so was just named strong.refl.) Since these aren't text files, I don't have a fast way to check if their contents are identical, but it seems most likely that this would be the case.

dennisbrookner commented 10 months ago

I've taken it upon myself to create the "dials conventions" label, to be used for issues that are perhaps not technically bugs, but which break the conventions of the dials API and thus should be fixed.

I have no sense of how such issues should be prioritized relative to other issues, but I think that organization is helpful here. I also suspect that as laue-dials gets more users, we will identify more issues of this type!

PrinceWalnut commented 9 months ago

Parameters have been renamed to output.* only, with redundant file-writing removed in this commit