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 100 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. Two 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.
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.
MOLINFOPRINT ARG=(SAXS\.q-.*),(SAXS\.exp-.*) FILE=saxsdata STRIDE=1STRUCTURE=template_AA.pdb SAXS: SAXS ...compulsory keyword a file in pdb format containing a reference structure.ATOMS=1-355The atoms to be included in the calculation, e.g.ONEBEAD( default=off ) calculate SAXS for a single bead modelTEMPLATE=template_AA.pdbcompulsory keyword ( default=template.pdb ) A PDB file is required for ONEBEAD mappingSOLVDENS=0.334compulsory keyword ( default=0.334 ) Density of the solvent to be used for the correction of atomistic form factorsSOLVATION_CORRECTION=0.04compulsory keyword ( default=0.0 ) Hydration layer electron density correction (ONEBEAD only)SOLVATION_STRIDE=1compulsory keyword ( default=100 ) Number of steps between every new residues solvation estimation via LCPO (ONEBEAD only)SASA_CUTOFF=1.0compulsory keyword ( default=1.0 ) SASA value to consider a residue as exposed to the solvent (ONEBEAD only)SCALE_EXPINT=1.4002compulsory keyword ( default=1.0 ) Scaling value for experimental data normalizationQVALUE1=0.03Selected scattering lengths in inverse angstroms are given as QVALUE1, QVALUE2, ....EXPINT1=1.0902Add an experimental value for each q value.QVALUE2=0.06Selected scattering lengths in inverse angstroms are given as QVALUE1, QVALUE2, ....EXPINT2=0.790632Add an experimental value for each q value.QVALUE3=0.09Selected scattering lengths in inverse angstroms are given as QVALUE1, QVALUE2, ....EXPINT3=0.453808Add an experimental value for each q value.QVALUE4=0.12Selected scattering lengths in inverse angstroms are given as QVALUE1, QVALUE2, ....EXPINT4=0.254737Add an experimental value for each q value.QVALUE5=0.15Selected scattering lengths in inverse angstroms are given as QVALUE1, QVALUE2, ....EXPINT5=0.154928Add an experimental value for each q value.QVALUE6=0.18Selected scattering lengths in inverse angstroms are given as QVALUE1, QVALUE2, ....EXPINT6=0.0921503Add an experimental value for each q value.QVALUE7=0.21Selected scattering lengths in inverse angstroms are given as QVALUE1, QVALUE2, ....EXPINT7=0.052633Add an experimental value for each q value.QVALUE8=0.24Selected scattering lengths in inverse angstroms are given as QVALUE1, QVALUE2, ....EXPINT8=0.0276557Add an experimental value for each q value.QVALUE9=0.27Selected scattering lengths in inverse angstroms are given as QVALUE1, QVALUE2, ....EXPINT9=0.0122775Add an experimental value for each q value.QVALUE10=0.30Selected scattering lengths in inverse angstroms are given as QVALUE1, QVALUE2, ....EXPINT10=0.00880634 ...Add an experimental value for each q value.
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 ) Hydration layer electron density correction (ONEBEAD only) |
SASA_CUTOFF | ( default=1.0 ) SASA value to consider a residue as exposed to the solvent (ONEBEAD only) |
SOLVATION_STRIDE | ( default=100 ) 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 |
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 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 |
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 |
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... |
EXPINT | Add an experimental value for each q value. You can use multiple instances of this keyword i.e. EXPINT1, EXPINT2, EXPINT3... |