DENSS

DENsity from Solution Scattering

  • About DENSS
  • Download
  • Install
  • Tutorial
    • Introduction
    • Basic Usage
    • Averaging with DENSS
    • Averaging with EMAN2
    • Advanced Usage
    • Tips
  • News

Automatic Dmax and profile fitting

August 26, 2020 by Tom Grant

DENSS v1.6.1 now includes new convenience features to automatically estimate the maximum dimension of the particle, Dmax, and perform fitting of the experimental scattering profile.

  • denss.fit_data.py will automatically estimate Dmax when started and calculate an initial profile fit, rather than default to Dmax = 100 Å
  • denss.fit_data.py will now write out additional header lines to the *_fit.dat output file containing parameter values such as Dmax and Rg.
  • denss.py now reads the header from *_fit.dat files, removing the need to explicitly set the -d option
  • if no Dmax is given to denss.py, Dmax will be automatically estimated from the data
  • if raw experimental data are given to denss.py, rather than the expected smoothed/fitted profile, Dmax will be estimated from the experimental data and the data will be fitted with a smooth profile. It is still recommended to manually run denss.fit_data.py first to ensure accurate fitting and Dmax estimation.

Filed Under: Developments, News

DENSS v1.6 released

August 14, 2020 by Tom Grant

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

Filed Under: Developments, News

GPU acceleration with CuPy

June 17, 2020 by Tom Grant

A new –gpu option when running denss.py v1.5.1 with NVIDIA CUDA capable graphics cards is available. Tests show this option speeds DENSS up by more than 20x compared to CPU-only. Requires CuPy to be installed.

We will attempt to update this in the future for more GPUs using OpenCL.

Please contact us to let us know if you run into any bugs or issues.

Filed Under: Developments, News

DENSS updated to Python 3

March 5, 2020 by Tom Grant

DENSS has now been updated to be compatible with both Python 2 and 3 (DENSS version 1.5+). Python 2.7 was sunset on January 1, 2020 and will no longer receive feature or security updates. To keep DENSS current and ensure compatibility with future Python updates, we have updated DENSS to Python 3. DENSS has now been tested in Python 3.6, 3.7, and 3.8 environments. DENSS is still compatible with Python 2.7 and we will attempt to maintain compatibility as long as possible. Please let us know using the contact form if you run into any bugs or issues.

Filed Under: Developments, News Tagged With: Developments, News

DENSS v1.5 released

March 4, 2020 by Tom Grant

The major new update includes:

  • DENSS updated to Python 3

Some additional updates include:

  • added pdb2map_fastgauss() function which is >100x faster for calculating density from PDB atomic coordinates
  • fixed bugs in denss.mrcops.py related to resampling and rescaling
  • fixed bug with origin definition when writing MRC files. Now compatible with latest versions of PyMOL

Filed Under: Developments, News

New MEMBRANE mode

March 8, 2019 by Tom Grant

DENSS now has a new mode for membrane proteins. Membrane proteins are often solubilized in detergents or lipid nanodiscs. The hydrophobic regions of these molecules often have lesser scattering density than the bulk solvent, resulting in a negative contrast relative to the solvent. The default setting for DENSS enforces a positivity restraint that will not allow any density to be negative. While this is appropriate for most standard biomolecules such as proteins and nucleic acids, is it not appropriate for molecules containing regions of negative contrast. To accommodate this scenario, there is a new MEMBRANE mode in addition to the previously available FAST and SLOW modes. This mode disables the positivity restraint and starts shrink-wrap immediately. As the negative of an image has the same Fourier transform as the images, the sign is ambiguous. To help ensure the positive and negative regions are most consistent when averaging, denss() now checks if there is greater negative density than positive density before saving the final map. If so, the map is multiplied by -1. This does not ensure the sign of the density is correct, just that the sign of the density is most likely to be the same for multiple reconstructions for averaging. See the Basic Usage tutorial page for more details on how to use this new mode.

Filed Under: Developments, News

New symmetry averaging feature

November 20, 2018 by Tom Grant

DENSS now includes the ability to impose symmetry to improve the resolution of reconstructions. DENSS first aligns the principal axes of the map with the x, y, and z axes. Then the value of the map at each symmetry mate location is set to the average of all related values. Imposing symmetry is as easy as setting the -ncs option. Click here to learn more. 

Filed Under: Developments, News

New built-in averaging procedure

November 20, 2018 by Tom Grant

DENSS now has a new built-in averaging procedure since v1.4.4. The alignment works by first performing a coarse-grained rotational search uniformly sampled around a sphere to find the best coarse alignment. Then a fine alignment is performed using minimization including rotational and translational degrees of freedom. Enantiomer generation and selection is included, as well as the use of a binary tree algorithm for creating a reference volume for alignment.

Previously averaging was dependent on the installation of EMAN2, a powerful suite of tools primarily designed for reconstructing electron microscopy volumes. However, EMAN2 is a large package and DENSS only uses a small part of that package. Our new built-in procedure was made partially to alleviate this dependency.

This update contains a host of new scripts for performing various tasks. The primary script for performing multiple runs of DENSS and averaging the results is denss.all.py. Additional scripts enable alignment of maps to models, calculation of resolution, and even a new refinement script. For a full list of the new scripts and tutorials on how to use them, click here.

The new averaging procedure has been tested and works on Windows as well. The popular RAW SAS data processing package contains the new averaging procedure as well as of RAW v5.0.

Thanks to Nhan Nguyen for his help writing much of the code.

Filed Under: Developments, News

New scripts in DENSS v1.3.0

July 19, 2018 by Tom Grant

Three new scripts have been uploaded to the DENSS github repository. These scripts include: the ability to fit smooth functions to noisy experimental data (required for denss.py input), calculate scattering profiles from electron density maps, and calculate electron density maps from PDB files.

The new scripts include:

  • denss.fit_data.py
    • fit a smooth curve to experimental data and calculate the corresponding P(r) (pair distribution function)
    • includes convenient interactive GUI with simple sliders for selecting Dmax and the alpha smoothing factor
  • denss.rho2dat.py
    • calculate simple scattering profiles from MRC formatted electron density maps
  • denss.pdb2mrc.py
    • calculate simple electron density maps of arbitrary resolution from Protein Data Bank (PDB) files

Filed Under: Developments, News

DENSS now part of RAW

March 20, 2018 by Tom Grant

DENSS running in RAW SAXS data analysis software package

DENSS has now been directly implemented within the popular RAW software package for SAXS data reduction and analysis (RAW v1.4.0). RAW contains many useful features for analyzing solution scattering data, including creation of 1D scattering profiles from 2D detector images, standard data operations such as averaging and subtraction, analysis of radius of gyration (Rg) and molecular weight, and advanced analysis using GNOM and DAMMIF. It also allows easy processing of inline SEC-SAXS data and data deconvolution using the evolving factor analysis (EFA) method.

One of the main advantages to installing RAW for using DENSS, is that it DENSS is natively implemented in RAW, meaning you do not have to have a separate installation of DENSS to run it. RAW also provides a convenient graphical interface for running DENSS. For averaging, install EMAN2 and RAW will automatically find your EMAN2 installation and run the averaging procedure for you.

Many thanks to Jesse Hopkins and the RAW team for providing this for the community!

Click here to download RAW. 

Click here to see a tutorial for how to run DENSS in RAW.

Filed Under: Developments, News

  • 1
  • 2
  • Next Page »

Contact the Author:

  • Email
    tdgrant@buffalo.edu
  • Phone
    (716) 829-5490
  • Address
    Jacobs School of Medicine and Biomedical Sciences
    SUNY University at Buffalo
    955 Main Street
    Buffalo, New York, USA 14203

Contact the Author:

  • Email
    tdgrant@buffalo.edu
  • Phone
    (716) 829-5490
  • Address
    Jacobs School of Medicine and Biomedical Sciences
    SUNY University at Buffalo
    955 Main Street
    Buffalo, New York, USA 14203

Copyright © 2021 · AgentPress Pro on Genesis Framework · WordPress · Log in