Parallel computing for a faster analysis of small-angle scattering patterns of macromolecules in dispersion (MSc project)

Small-angle X-ray and neutron scattering (SAXS, SANS) can be used to study the structure of macromolecules such as proteins in solutions on molecular length scales. The modeling of the scattered intensity can be done with the so-called Debye sum, a double-sum, which coherently sums up the scattered intensity from all atoms belonging to the macromolecular structure. Since the number of atoms N can be very large (typ. 104-105) and the summation is of complexity O(N2), different strategies must be applied to make the computations more efficiently.

Besides looking at improvements of the underlying computational algorithm we are currently investigating the potential of using graphics cards to tackle the computational complexity. The currently used software, Will It Fit (WIF, written in C, Martin C. Pedersen et al J. Appl. Cryst. 46, 1894-1898 (2013)), which does the model calculations and fitting to experimental datasets can be run on multi-CPU systems using OpenMP parallelization. The aim of this project is to enhance the existing WIF code such that it can make use of the computational power of modern graphic cards and by this to facilitate the modeling of very large macromolecular assemblies such as insulin oligomers within reasonable time scales.

SAS Workflow

Your profile:
  • Ability to quickly acquire new knowledge and a background in (bio)physics is recommended.
  • Knowledge of at least one programming language, programming skills in C would be very helpful.
  • Knowledge about code parallelization in general and in particular for OpenCL and CUDA are a bonus.
Tasks:
  • Get familiar with the small-angle scattering technique, learn how it can it can be used to analyze the structure of proteins in solution and how the existing CPU-based WIF code works.
  • Use one framework (OpenCL or CUDA) to adapt the existing computational scheme in such a way that it can be efficiently run on a GPU.
  • Test and benchmark the software with experimental SAXS data of a protein formulation.
  • If time permits: Conduct an own SAXS measurement on our lab-based SAXS camera or join group members to a SAXS or SANS beamtime at a European large scale facility (synchrotron or neutron source).

If you are interested or you have any questions, contact Erik Brok or Martin Schmiele. See Group members page.