| This is part of the isdb module |
Calculates SAXS scattered intensity using either the Debye equation or the harmonic sphere approximation.
Intensities are calculated for a set of scattering length set using QVALUE keywords that are numbered starting from 0. Structure factors can be either assigned using a polynomial expansion to any order using the PARAMETERS keywords; automatically assigned to atoms using the ATOMISTIC flag reading a PDB file, a correction for the water density is automatically added, with water density that by default is 0.334 but that can be set otherwise using WATERDENS; automatically assigned to Martini pseudo atoms using the MARTINI flag. The calculated intensities can be scaled using the SCALEINT keywords. This is applied by rescaling the structure factors. Experimental reference intensities can be added using the EXPINT keywords. By default SAXS is calculated using Debye on CPU, by adding the GPU flag it is possible to solve the equation on a GPU if the ARRAYFIRE libraries are installed and correctly linked (). Alternatively we an implementation based on Bessel functions, BESSEL flag. This is very fast for small q values because a short expansion is enough. An automatic choice is made for which q Bessel are used and for which the calculation is done by Debye. If one wants to force all q values to be calculated using Bessel function this can be done using FORCE_BESSEL. Irrespective of the method employed, METAINFERENCE can be activated using DOSCORE and the other relevant keywords.
- Description of components
By default this Action calculates the following quantities. These quantities can be referenced elsewhere in the input by using this Action's label followed by a dot and the name of the quantity required from the list below.
Quantity | Description |
score | the Metainference score |
sigma | uncertainty parameter |
sigmaMean | uncertainty in the mean estimate |
acceptSigma | MC acceptance for sigma values |
q | the # SAXS of q |
In addition the following quantities can be calculated by employing the keywords listed below
Quantity | Keyword | Description |
acceptScale | SCALEDATA | MC acceptance for scale value |
acceptFT | GENERIC | MC acceptance for general metainference f tilde value |
weight | REWEIGHT | weights of the weighted average |
biasDer | REWEIGHT | derivatives with respect to the bias |
scale | SCALEDATA | scale parameter |
offset | ADDOFFSET | offset parameter |
ftilde | GENERIC | ensemble average estimator |
exp | EXPINT | the # experimental intensity |
- The atoms involved can be specified using
ATOMS | The atoms to be included in the calculation, e.g. the whole protein.. For more information on how to specify lists of atoms see Groups and Virtual Atoms |
- Compulsory keywords
NOISETYPE | ( default=MGAUSS ) functional form of the noise (GAUSS,MGAUSS,OUTLIERS,MOUTLIERS,GENERIC) |
LIKELIHOOD | ( default=GAUSS ) the likelihood for the GENERIC metainference model, GAUSS or LOGN |
DFTILDE | ( default=0.1 ) fraction of sigma_mean used to evolve ftilde |
SCALE0 | ( default=1.0 ) initial value of the scaling factor |
SCALE_PRIOR | ( default=FLAT ) either FLAT or GAUSSIAN |
OFFSET0 | ( default=0.0 ) initial value of the offset |
OFFSET_PRIOR | ( default=FLAT ) either FLAT or GAUSSIAN |
SIGMA0 | ( default=1.0 ) initial value of the uncertainty parameter |
SIGMA_MIN | ( default=0.0 ) minimum value of the uncertainty parameter |
SIGMA_MAX | ( default=10. ) maximum value of the uncertainty parameter |
OPTSIGMAMEAN | ( default=NONE ) Set to NONE/SEM to manually set sigma mean, or to estimate it on the fly |
WRITE_STRIDE | ( default=10000 ) write the status to a file every N steps, this can be used for restart/continuation |
DEVICEID | ( default=0 ) Identifier of the GPU to be used |
WATERDENS | ( default=0.334 ) Density of the water to be used for the correction of atomistic structure factors. |
SCALEINT | ( default=1.0 ) SCALING value of the calculated data. Useful to simplify the comparison. |
- Options
NUMERICAL_DERIVATIVES | ( default=off ) calculate the derivatives for these quantities numerically |
DOSCORE | ( default=off ) activate metainference |
NOENSEMBLE | ( default=off ) don't perform any replica-averaging |
REWEIGHT | ( default=off ) simple REWEIGHT using the ARG as energy |
SCALEDATA | ( default=off ) Set to TRUE if you want to sample a scaling factor common to all values and replicas |
ADDOFFSET | ( default=off ) Set to TRUE if you want to sample an offset common to all values and replicas |
NOPBC | ( default=off ) ignore the periodic boundary conditions when calculating distances |
SERIAL | ( default=off ) Perform the calculation in serial - for debug purpose |
BESSEL | ( default=off ) Perform the calculation using the adaptive spherical harmonic approximation |
FORCE_BESSEL | ( default=off ) Perform the calculation using the adaptive spherical harmonic approximation, without adaptive algorithm, useful for debug only |
GPU | ( default=off ) calculate SAXS using ARRAYFIRE on an accelerator device |
ATOMISTIC | ( default=off ) calculate SAXS for an atomistic model |
MARTINI | ( default=off ) calculate SAXS for a Martini model
|
ARG | the input for this action is the scalar output from one or more other actions. The particular scalars that you will use are referenced using the label of the action. If the label appears on its own then it is assumed that the Action calculates a single scalar value. The value of this scalar is thus used as the input to this new action. If * or *.* appears the scalars calculated by all the proceeding actions in the input file are taken. Some actions have multi-component outputs and each component of the output has a specific label. For example a DISTANCE action labelled dist may have three components x, y and z. To take just the x component you should use dist.x, if you wish to take all three components then use dist.*.More information on the referencing of Actions can be found in the section of the manual on the PLUMED Getting Started. Scalar values can also be referenced using POSIX regular expressions as detailed in the section on Regular Expressions. To use this feature you you must compile PLUMED with the appropriate flag. You can use multiple instances of this keyword i.e. ARG1, ARG2, ARG3... |
AVERAGING | Stride for calculation of averaged weights and sigma_mean |
SCALE_MIN | minimum value of the scaling factor |
SCALE_MAX | maximum value of the scaling factor |
DSCALE | maximum MC move of the scaling factor |
OFFSET_MIN | minimum value of the offset |
OFFSET_MAX | maximum value of the offset |
DOFFSET | maximum MC move of the offset |
REGRES_ZERO | stride for regression with zero offset |
DSIGMA | maximum MC move of the uncertainty parameter |
SIGMA_MEAN0 | starting value for the uncertainty in the mean estimate |
TEMP | the system temperature - this is only needed if code doesn't pass the temperature to plumed |
MC_STEPS | number of MC steps |
MC_CHUNKSIZE | MC chunksize |
STATUS_FILE | write a file with all the data useful for restart/continuation of Metainference |
SELECTOR | name of selector |
NSELECT | range of values for selector [0, N-1] |
RESTART | allows per-action setting of restart (YES/NO/AUTO) |
QVALUE | Selected scattering lengths in Angstrom are given as QVALUE1, QVALUE2, ... . You can use multiple instances of this keyword i.e. QVALUE1, QVALUE2, QVALUE3... |
PARAMETERS | Used parameter Keywords like PARAMETERS1, PARAMETERS2. These are used to calculate the structure factor for the \(i\)th atom/bead. You can use multiple instances of this keyword i.e. PARAMETERS1, PARAMETERS2, PARAMETERS3... |
EXPINT | Add an experimental value for each q value. You can use multiple instances of this keyword i.e. EXPINT1, EXPINT2, EXPINT3... |
- Examples
- in the following example the saxs intensities for a martini model are calculated. structure factors are obtained from the pdb file indicated in the MOLINFO.
MOLINFO STRUCTURE=template.pdb
SAXS ...
LABEL=saxs
ATOMS=1-355
SCALEINT=3920000
MARTINI
QVALUE1=0.02 EXPINT1=1.0902
QVALUE2=0.05 EXPINT2=0.790632
QVALUE3=0.08 EXPINT3=0.453808
QVALUE4=0.11 EXPINT4=0.254737
QVALUE5=0.14 EXPINT5=0.154928
QVALUE6=0.17 EXPINT6=0.0921503
QVALUE7=0.2 EXPINT7=0.052633
QVALUE8=0.23 EXPINT8=0.0276557
QVALUE9=0.26 EXPINT9=0.0122775
QVALUE10=0.29 EXPINT10=0.00880634
QVALUE11=0.32 EXPINT11=0.0137301
QVALUE12=0.35 EXPINT12=0.0180036
QVALUE13=0.38 EXPINT13=0.0193374
QVALUE14=0.41 EXPINT14=0.0210131
QVALUE15=0.44 EXPINT15=0.0220506
... SAXS
PRINT ARG=(saxs\.q-.*),(saxs\.exp-.*) FILE=colvar STRIDE=1