| Literature DB >> 27630371 |
Daniel Franke1, Dmitri I Svergun2.
Abstract
DAMMIF, a revised implementation of the ab-initio shape-determination program DAMMIN for small-angle scattering data, is presented. The program was fully rewritten, and its algorithm was optimized for speed of execution and modified to avoid limitations due to the finite search volume. Symmetry and anisometry constraints can be imposed on the particle shape, similar to DAMMIN. In equivalent conditions, DAMMIF is 25-40 times faster than DAMMIN on a single CPU. The possibility to utilize multiple CPUs is added to DAMMIF. The application is available in binary form for major platforms.Entities:
Keywords: DAMMIF; DAMMIN; computer programs; particle shape determination; small-angle scattering
Year: 2009 PMID: 27630371 PMCID: PMC5023043 DOI: 10.1107/S0021889809000338
Source DB: PubMed Journal: J Appl Crystallogr ISSN: 0021-8898 Impact factor: 3.304
Penalties as implemented by DAMMIN and DAMMIF by function and type
Explicit penalties are configurable and may be disabled; implicit penalties are enforced and may not be disabled.
| Function |
|
| |||||
| Peripheral penalty (gradually decreasing) | Keeps the particle beads close to the origin at high temperatures | Explicit | |||||
| Disconnectivity penalty | Ensures that the model is interconnected | Explicit | Implicit | ||||
| Looseness penalty | Ensures that the model is compact | Explicit | Explicit | ||||
| Anisometry penalty (with symmetries only) | Specifies whether the model should be oblate or prolate | Explicit | Explicit | ||||
| Centre/ | Keeps the centre of mass of the model close to the origin | Explicit | |||||
Figure 1Cross sections of dummy atom models of DAMMIN (left) and DAMMIF (right). The top row shows initial models (randomized and proto-particle) and the bottom row the final models by the two programs. The different colours indicate particle (red) and solvent (turquoise, blue and green) states of the dummy atoms. In DAMMIF, only red and turquoise beads are subject to phase changes; DAMMIN generally allows phase transitions anywhere in the search volume. Green solvent beads indicate the current, extensible, border of DAMMIF’s mapped area (all visible beads).
Figure 2SA algorithm as implemented in DAMMIN (left) and DAMMIF (right). An initial starting model is refined to yield the best possible fit to the experimental data. In DAMMIN, only one neighbouring model is taken into account at a time. If multiple cores or CPUs are available, it is possible to prefetch multiple models in parallel, here shown as , , . Each prefetched model is then examined and either accepted or rejected, according to the rules of SA.
Figure 3Reconstruction of a cylindrical particle with radius 10 Å and height 200 Å (bottom centre) from its simulated scattering pattern presented on the left-hand side [relative intensity I versus inverse ångströms; the distance distribution function p(r) computed by GNOM is displayed in the insert]. The starting (top row) and final (bottom row) models from DAMMIN and DAMMIF are displayed in the middle and right panels, respectively. DAMMIN ran in a slow mode inside the spherical search volume (packing radius Å, CPU time used 246 min). For DAMMIF, the value of was 3.0 Å and the run on the same single processor took 8 min.
Summary of differences between implementations of DAMMIN and DAMMIF
|
|
| |
|---|---|---|
| Expected runtime, fast mode | 15min | 30s |
| Expected runtime, slow mode | 24h | 1h |
| Memory usage, slow mode | 10 MB | 100 MB |
| Search volume | Closed | Unlimited |
| Particle symmetry constraints | Yes | Yes |
| Particle anisometry constraints | Yes | Yes |
| Model chaining | No | Yes |
| Parallelization | No | Yes |
| Platforms | Windows, Linux | Windows, Linux |
| Implementation language | Fortran 77 | Fortran 95 |
The CPU wall clock times for a run on a typical PC without symmetry restrictions are given. Fast and slow mode: packing radius corresponds to ca 2000 and ca 10000 dummy atoms, respectively, in a sphere with radius .
Same as in DAMMIN, but the space groups P23 and P432 and icosahedral symmetry are not implemented.
Optionally, sorts the dummy atoms in the output file to form pseudo-chains.
Following these rules, early rejection can be based on the number of graphs before and after the proposed change. In particular, if the change leads to two or more graphs in a model without symmetry, the model becomes disconnected.Case 1: bead of solvent phase was selected to switch to particle.
|
| neighbours in particle phase, then … |
|---|---|
|
| create a new graph, add |
|
| add |
|
| merge all graphs the neighbours belong to, add |
Case 2: bead of particle phase was selected to switch to solvent.
|
| neighbours in particle phase, then … |
|---|---|
|
| find and remove the graph built by |
|
| find the graph |
|
| find the graph |