I'm pleased to announce the release of RAW version 2.1.0. This version sees the release of two major new features:
- Analysis reports on your data can now be saved as PDFs.
- The release of a GUI for the REGALS technique, a new way to deconvolve overlapping LC-SAXS peaks. REGALS can be thought of as an extension and enhancement of EFA for other types of SAXS data, such as ion exchange chromatography, titration series, and time resolved SAXS. You can read more about REGALS here.
Additionally I've overhauled the automatic Guinier function to improve accuracy and applicability to lower quality data. I've also added a new, more accurate method for automatically finding Dmax when using GNOM. Finally, there are the usual numerous small tweaks and bug fixes for the main RAW GUI and the API.
Special thanks to Steve Meisburger and Darren Xu for helping with the details of their REGALS algorithm and code, and testing the new REGALS GUI.
Note for MacOS users:
In order to achieve full compatibility with MacOS 11, I have had to drop support in the prebuilt version for 10.9 and 10.10. The prebuilt version of RAW will now run only on 10.11 or later. Additionally, in 10.11-10.13 the main RAW windows will show some odd coloration (black bars near the top of various windows, for example), but all functionality seems to work fine. You can still build RAW from source on older versions of MacOS.
Also, I haven’t been able to test on the Apple M1 chipset. RAW should work via the built in Rosetta 2 translation in MacOS 11, but it will not run natively. If someone wants to send me a Mac with an M1 chip to test on, I'm happy to work on getting it to run natively.
All changes:
- Fixed a bug that was causing pyFAI to recreate the azimuthal integrator each time, slowing down radial averaging.
- Fixed a BioCAT specific bug where concentration would end up in the profile info when it wasn’t actually known for that profile.
- Fixed a bug where series files couldn’t be loaded or saved in python 3.8.
- Fixed a bug where if you declined to load a config when you started RAW, the ATSAS install location wouldn’t be automatically found.
- Fixed a bug where matplotlib 3.3 would mess up the plot toolbars.
- Fixed a bug where you would see an error message if RAW failed to find a valid sample region in the LC series plot.
- Fixed a bug where doing EFA on a series that had the q range of the subtracted profiles truncated relative to the unsubtracted profiles would fail.
- Added the ability to generate PDF reports of analysis.
- Fixed a bug where the profile and ift line options dialogs couldn’t be opened with matplotlib 3.3.
- Significant improvements to auto_guinier function for both the GUI and API, including better accuracy, better handling of low quality data, and better handling of poorly formatted data.
- Fixed a bug where if previous EFA ranges were available they wouldn’t be properly set when the EFA window was opened.
- The RAW DENSS results .csv file now indicates if a refinement was run.
- Fixed a bug where RAW could fail to load a .out file.
- Fixed a bug where aborting in the middle of a DENSS average could cause an error.
- Fixed a bug where opening the GNOM window if the profile had a non-integer Dmax value caused an error.
- Added the REGALS technique.
- Added an enhanced way to automatically find Dmax when using GNOM.
- Fixed a bug where running GNOM when RAW was run with python 3.8 could fail.
- Added ability to read in a fourth dQ column in .dat files, preserve the dQ values through analysis and saving. Note that merging and interpolating do not preserve the dQ values at this time.
- Added ability to read in CRYSOL 3 .int files.
- Fixed an off by one bug that could affect SVD/EFA/REGALS
- Fixed a bug where settings could fail to save or load on Windows if they included non-ascii characters
- Fixed a bug where calculating the corrected Porod volume MW could return an error
- EFA now remembers the force positive settings for concentration.
- Fixed a bug where if an EFA range was listed high to low it would cause an error.
- Fixed a bug where scaling q by 10x or 0.1x only worked once (i.e. you could scale to 0.1x or 10x, but not 100x, and couldn’t go back to 1x after applying a scale).
- Fixed a bug where the linear baseline wasn’t getting a good start value.
- GNOM window now ‘truncates for dammif/n’, which truncates to the smaller of 8/Rg or 0.3.
- Guinier window now opens faster.
- Updated DENSS to version 1.6.3, which includes the possibility of doing DENSS on a GPU (requires RAW to be built from source).
- Fixed a bug where multiple DENSS windows couldn’t be used at the same time.
- Fixed a bug where subtracted and baseline corrected profiles from the LC Series Analysis window would have the prefix of the individual profiles in the series, rather than the series itself.
- Fixed some possible memory leaks related to dialog creation/destruction.
- Added a number of new tests.
- Added compatibility with new string handing in h5py version 3.
- Full compatibility with MacOS 11, which fixes several graphics glitches in 10.15 and 11. This required dropping support in the prebuilt version for MacOS 10.10 and earlier.
- Fixed a bug with the API where loading multiple images from a single file wasn’t working properly.
- Added the ability to abort DAMMIF/N and related functions and DENSS runs in the API.
- Made SECM and RAWSettings objects pickalable, so they can be passed through a multiprocessing queue.
- Fixed an API bug where saving a series would fail if you didn’t set a filename.
- Fixed an API bug where saving the GNOM results to a profile was saving the wrong qmax value.
- Fixed a bug in the API where Dmin and Dmax zero conditions weren’t getting set correctly for GNOM.
- Added a feature to the API to truncate an IFT for dammif using either 8/rg or 0.3, whichever is smaller.
- Fixed a bug in the API that could cause GNOM to fail to run.
- The DENSS function in the API now returns chi squared, rg, and support volume as a function of iteration so you can check convergence.
- Fixed a bug in the API where running EFA would change the associated ranges.
- Fixed a bug in the API that could cause BIFT to fail.
- Fixed a bug in the API that could cause the auto_guinier function to fail.
- Fixed a bug in the mw_vp API function.