This is part of the isdb module |
Calculates SAXS intensity.
SAXS intensities are calculated for a set of scattering vectors using QVALUE keywords numbered from 1. Form factors can be assigned either by polynomial expansion of any order by using the PARAMETERS keywords, or automatically matched to atoms using the ATOMISTIC flag by reading a PDB file. Alternatively to the atomistic representation, two types of coarse-grained mapping are available:
Whether for PARAMETERS, ATOMISTIC, and ONEBEAD the user must provide an all-atom PDB file via MOLINFO before the SAXS instruction. MARTINI requires a mapping scheme consisting of a PDB file that contains both the all-atom and MARTINI representations, and a bead position file (e.g., bead1: CENTER ATOMS=1,5,7,11,12 WEIGHTS=14,12,12, 12,16).
ONEBEAD scheme consists in a single-bead per amino acid residue or three-bead for nucleic acid residue (one for the phosphate group, one for the pentose sugar, one for the nucleobase). PLUMED creates a virtual bead on which the SAXS calculations are performed, centred on the COM of all atoms belonging to the bead. It is possible to account for the contribution of the solvation layer to the SAXS intensity by adding a correction term for the solvent accessible beads only: the form factors of the amino acids / phosphate groups / pentose sugars / nucleobases with a SASA (computed via LCPO algorithm) greater than a threshold are corrected according to an electron density term. Both the surface cut-off threshold and the electron density term can be set by the user with the SASA_CUTOFF and SOLVATION_CORRECTION keywords. Moreover, SASA stride calculation can be modified using SOLVATION_STRIDE, which is set to 10 steps by default. ONEBEAD requires an additional PDB file to perform mapping conversion, which must be provided via TEMPLATE keyword. This PDB file should only include the atoms for which the SAXS intensity will be computed. The AMBER OL3 (RNA) and OL15 (DNA) naming is required for nucleic acids. Three additional bead types are available for DNA and RNA besides phosphate group, pentose sugar, and nucleobase:
Experimental reference intensities can be added using the EXPINT keywords. All these values must be normalised to the SAXS intensity at q = 0. To facilitate this operation, the SCALE_EXPINT keyword can be used to provide the intensity at q = 0. Each EXPINT is divided by SCALE_EXPINT. The maximum QVALUE for ONEBEAD is set to 0.3 inverse angstroms. The solvent density, that by default is set to 0.334 electrons per cubic angstrom (bulk water), can be modified using the SOLVDENS keyword.
The ABSOLUTE flag can be used in order to calculate intensities in the absolute scale. It is only available for the ATOMISTIC scheme and cannot be used with SCALE_EXPINT.
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. METAINFERENCE can be activated using DOSCORE and the other relevant keywords.
MOLINFO STRUCTUREcompulsory keyword a file in pdb format containing a reference structure. =template_AA.pdb SAXS: SAXS ... ATOMSThe atoms to be included in the calculation, e.g. =1-355 ONEBEAD( default=off ) calculate SAXS for a single bead model TEMPLATEcompulsory keyword ( default=template.pdb ) A PDB file is required for ONEBEAD mapping =template_AA.pdb SOLVDENScompulsory keyword ( default=0.334 ) Density of the solvent to be used for the correction of atomistic form factors =0.334 SOLVATION_CORRECTIONcompulsory keyword ( default=0.0 ) Solvation layer electron density correction (ONEBEAD only) =0.04 SOLVATION_STRIDEcompulsory keyword ( default=10 ) Number of steps between every new residues solvation estimation via LCPO (ONEBEAD only) =1 SASA_CUTOFFcompulsory keyword ( default=1.0 ) SASA value to consider a residue as exposed to the solvent (ONEBEAD only) =1.0 SCALE_EXPINTcompulsory keyword ( default=1.0 ) Scaling value for experimental data normalization =1.4002 QVALUE1Selected scattering lengths in inverse angstroms are given as QVALUE1, QVALUE2, .... =0.03 EXPINT1Add an experimental value for each q value. =1.0902 QVALUE2Selected scattering lengths in inverse angstroms are given as QVALUE1, QVALUE2, .... =0.06 EXPINT2Add an experimental value for each q value. =0.790632 QVALUE3Selected scattering lengths in inverse angstroms are given as QVALUE1, QVALUE2, .... =0.09 EXPINT3Add an experimental value for each q value. =0.453808 QVALUE4Selected scattering lengths in inverse angstroms are given as QVALUE1, QVALUE2, .... =0.12 EXPINT4Add an experimental value for each q value. =0.254737 QVALUE5Selected scattering lengths in inverse angstroms are given as QVALUE1, QVALUE2, .... =0.15 EXPINT5Add an experimental value for each q value. =0.154928 QVALUE6Selected scattering lengths in inverse angstroms are given as QVALUE1, QVALUE2, .... =0.18 EXPINT6Add an experimental value for each q value. =0.0921503 QVALUE7Selected scattering lengths in inverse angstroms are given as QVALUE1, QVALUE2, .... =0.21 EXPINT7Add an experimental value for each q value. =0.052633 QVALUE8Selected scattering lengths in inverse angstroms are given as QVALUE1, QVALUE2, .... =0.24 EXPINT8Add an experimental value for each q value. =0.0276557 QVALUE9Selected scattering lengths in inverse angstroms are given as QVALUE1, QVALUE2, .... =0.27 EXPINT9Add an experimental value for each q value. =0.0122775 QVALUE10Selected scattering lengths in inverse angstroms are given as QVALUE1, QVALUE2, .... =0.30 EXPINT10Add an experimental value for each q value. =0.00880634 ...PRINT ARG=(SAXS\.q-.*),(SAXS\.exp-.*) FILE=saxsdata STRIDE=1
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 |
neff | effective number of replicas |
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 |
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 |
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=-1 ) Identifier of the GPU to be used |
TEMPLATE | ( default=template.pdb ) A PDB file is required for ONEBEAD mapping |
DEUTER_CONC | ( default=0. ) Fraction of deuterated solvent |
SOLVDENS | ( default=0.334 ) Density of the solvent to be used for the correction of atomistic form factors |
SOLVATION_CORRECTION | ( default=0.0 ) Solvation layer electron density correction (ONEBEAD only) |
SASA_CUTOFF | ( default=1.0 ) SASA value to consider a residue as exposed to the solvent (ONEBEAD only) |
N | ( default=10 ) Number of points in the resolution function integral |
SOLVATION_STRIDE | ( default=10 ) Number of steps between every new residues solvation estimation via LCPO (ONEBEAD only) |
SCALE_EXPINT | ( default=1.0 ) Scaling value for experimental data normalization |
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 |
GPU | ( default=off ) Calculate SAXS using ARRAYFIRE on an accelerator device |
ABSOLUTE | ( default=off ) Absolute intensity: the intensities for each q-value are not normalised for the intensity at q=0. |
ATOMISTIC | ( default=off ) Calculate SAXS for an atomistic model |
MARTINI | ( default=off ) Calculate SAXS for a Martini model |
ONEBEAD | ( default=off ) calculate SAXS for a single bead model |
ARG | the labels of the values from which the function is calculated |
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 |
SIGMA_MAX_STEPS | Number of steps used to optimise SIGMA_MAX, before that the SIGMA_MAX value is used |
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 |
FMT | specify format for HILLS files (useful for decrease the number of digits in regtests) |
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 inverse angstroms 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 form factor for the \(i\)th atom/bead. You can use multiple instances of this keyword i.e. PARAMETERS1, PARAMETERS2, PARAMETERS3... |
PARAMETERSFILE | Read the PARAMETERS from a file |
EXPINT | Add an experimental value for each q value. You can use multiple instances of this keyword i.e. EXPINT1, EXPINT2, EXPINT3... |
SIGMARES | Variance of Gaussian distribution describing the deviation in the scattering angle for each q value. You can use multiple instances of this keyword i.e. SIGMARES1, SIGMARES2, SIGMARES3... |