class maicos.modules.saxs.Saxs(atomgroup, nobin=False, startq=0, endq=6, dq=0.005, mintheta=0, maxtheta=180, output='sq.dat', concfreq=0)[source]#

Bases: AnalysisBase

Compute small angle X-Ray scattering intensities (SAXS).

The q vectors are binned by their length using a bin_width given by -dq. Using the -nobin option the raw intensity for each q_{i,j,k} vector is saved using. Note that this only works reliable using constant box vectors! The possible scattering vectors q can be restricted by a miminal and maximal angle with the z-axis. For 0 and 180 all possible vectors are taken into account. For the scattering factor the structure factor is multiplied by a atom type specific form factor based on Cromer-Mann parameters. By using the -sel option atoms can be selected for which the profile is calculated. The selection uses the MDAnalysis selection commands.

  • atomgroup (AtomGroup) – A AtomGroup for which the calculations are performed.

  • refgroup (AtomGroup) –

    Reference AtomGroup used for the calculation.

    If refgroup is provided, the calculation is performed relative to the center of mass of the AtomGroup.

    If refgroup is None the calculations are performed to the center of the (changing) box.

  • unwrap (bool) –

    When unwrap = True, molecules that are broken due to the periodic boundary conditions are made whole.

    If the input contains molecules that are already whole, speed up the calculation by disabling unwrap. To do so, use the flag -no-unwrap when using MAICoS from the command line, or use unwrap = False when using MAICoS from the Python interpreter.

    Note: Molecules containing virtual sites (e.g. TIP4P water models) are not currently supported in MDAnalysis. In this case, you need to provide unwrapped trajectory files directly, and disable unwrap. Trajectories can be unwrapped, for example, using the trjconv command of GROMACS.

  • concfreq (int) – When concfreq (for conclude frequency) is larger than 0, the conclude function is called and the output files are written every concfreq frames

  • noboindata (bool) – Do not bin the data. Only works reliable for NVT!

  • startq (float) – Starting q (1/Å)

  • endq (float) – Ending q (1/Å)

  • dq (float) – bin_width (1/Å)

  • mintheta (float) – Minimal angle (°) between the q vectors and the z-axis.

  • maxtheta (float) – Maximal angle (°) between the q vectors and the z-axis.

  • output (str) – Output filename


length of binned q-vectors




Miller indices of q-vector (only if noboindata==True)




Scattering intensities




Save the current profiles to a file.