Version 1.6 contains several updates, features and bug fixes since DENSS version 1.5.0. Special thanks to Jesse Hopkins, Andrew Bruno, and Markus Meier and Fabian Heide for bug fixes and improvements. Some major updates include:
- GPU acceleration added (v1.5.1) (requires CuPy and CUDA GPU)
- Major updates to how shrink-wrap deals with negative contrast, particularly important for membrane proteins and other lipid containing particles
- Several updates to denss.fit_data.py
Some additional updates include:
- fixed bugs in denss.all.py with writing log files, added FSC curve plotting and made filenaming consistent with superdenss
- bug fixes to maintain compatibility with BioXTAS RAW
- denss.fit_data.py updates:
- residuals plot shares x-axis of intensity plot
- added text boxes for explicit input of Dmax, alpha
- slider limits automatically update as values get close to the edges of the slider
- can trim data in the GUI, removing first and/or last data points
- P(r) function now written out to file
- fixed bug in denss.rho2dat.py where negative values were set to zero by default
- added option to denss.refine.py to add simple uniform noise to starting density
- new pdb2mrc_multigauss() function for quickly and accurately calculating density from atomic coordinates. This function uses a fast and accurate 5-term Gaussian summation in real space using Cromer-Mann coefficients for the atomic form factors. Users can access this feature with the denss.pdb2mrc.py script.
- fixed bugs when reading/writing large PDB files. Added ability to ignore waters when reading PDB files and remove atoms.
- changed alignment score to -correlation instead of 1/correlation.
- removed separate unnecessary translation step in density alignment to reduce interpolation artifacts
- updates to shrink-wrap:
- to improve reconstructions with negative contrast, shrink-wrap was updated to utilize two separate shrink-wrap modes: shrinkwrap_by_density (the standard version) and a new shrinkwrap_by_volume function. The volume-based version will select N voxels with the highest density (of the blurred map), where N is chosen to satisfy a desired volume. This is in contrast to the standard version which selects voxels based on a fixed threshold. Now shrink-wrap will first be based on volume, and then switch to the standard threshold-based version.
- the “sigma” parameter, defining the width of the Gaussian filter used for blurring, is now based on physical distance, rather than number of voxels. Previously, if a reconstruction used a higher resolution, the voxel sizes would be smaller, and thus the blurring would be less, resulting in greater noise in the reconstructions. This update fixes this issue.
- default sigma values for membrane mode is now two times the standard values
- new “erosion” step included in membrane mode to remove artifactual negative density at edges of positive density
- new –sw_old option available for users who prefer the old version of shrink-wrap
- recentering during shrink-wrap now only occurs if recenter option is set
- fixed bug in denss.mrcops.py when converting from electrons to density