D+ is a new computer program, developed and tested by Avi Ginsburg, Tal Ben-Nun, Roi Asor, Asaf Shemesh, Lea Fink, Roee Tekoah, Yehonatan Levartovsky, Daniel Khaykelson, Raviv Dharan, Amos Fellig, and Uri Raviv from the Institute of Chemistry at the Hebrew University of Jerusalem. The Reseach Software Company is also involved in this project.
One of the challenges of structural biology, structural biophysics and material science is to determine the high-resolution structure of large self-assembled complexes made of many subunits (and cannot be crystallized), in their native solution conditions. This information can then be used to unravel the underlaying physics that dictates the formation of these structures from their subunits.
With the advent of modern synchrotron facilities, the resolution and sensitivity of solution scattering have been greatly improved over the past years. The challenge in solution X-ray scattering, however, is data analysis. To address this challenge, we developed a powerful program, called X+, which was the basis for a much more unique and advanced software, called D+. Using D+, we can dock atomic and/or geometric models into their assembly symmetry and do it in a hierarchical manner, in a bottom up approach, adding as many subunits as needed. The assembly symmetry defines the rotations and translations of repeating subunits in a large assembly. In this way, the solution scattering curve from any supramolecular structure can be modeled at any spatial resolution (including atomic). The solvation layer of the structures can also be computed in a scalable manner for large complexes.
The reciprocal grid algorithm is optimized to model very large and very complicated structures made of many repeating subunits of different types (geometric and atomic models), like microtubule or viruses. The atomic models of D+ reproduce the results of CRYSOL for atomic models of soluble proteins, for example. The advantage of D+ is when the structures are large, complicated, and made of different and many repeating subunits. D+ was used to in our recent publications.
D+ has a Python wrapper that can be integrated into many different structural computational tools, simulations, and theoretical models. It can open a wide range of opportunities to test any predicted structural model, by computing its expected solution X-ray scattering curve and comparing it with experimental solution X-ray scattering data.
In 2023 we have upgraded D+. We have upgraded the versions of CUDA (11.7) , Python (3.8, 3.9, 3.10, 3.11), Visual Studio (2022) and Ceres Solver (2.0.0), improved the error messages, created a more intuitive user interface, added GitHub automation to create the installer and the Python wheels, added tests, introduced JSON file format, fixed several bugs, considerably improved the internal workflow of the program, and updated the Python API of D+, making it independent of the installation of D+. We have also implemented the option to account for instrument resolution. We have built a Python API module that receives a list of N repeating subunit positions), and computes the structure factor and the radial distribution function. In addition, we included the option to compute the 2D scattering intensity pattern from a structure in a specific orientation, measured by an area detector. In addition, we have created a module for computing the 2D fiber diffraction pattern from a fiber containing subunits with a uniform azimuthal angle distribution within a fiber aligned in a specific direction. Finally, in the Python API of D+, we have implemented the possibility of simulating the effects of thermal fluctuation and polydispersity in each parameter.