# Theoretical Intensity Calculation and Comparison to experimental data

(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)

Two methods are commonly used to calculate SAXS intensity profiles: Debye Formula and Spherical Harmonic Expansion (She) method, and newly developed Zernike Polynomial Expansion (zernike) method.

First of all, like all other programs in sastbx, there is brief online help when no parameter is supplied to command line:

 sastbx.she


and you will see:

 Usuage:

sastbx.she model=mymodel structure=mystructure.pdb experimental_data=myexperimentaldata.qis pdblist=pdblist.txt q_start=q_start q_stop=q_stop n_step=n_step output=outputfile

Required arguments:

mystructure             the PDB file to be evaluated (must be provided)

Optional arguments:

mymodel                 the model type to be used, it should be either debye or she (default is she)
myexperimentaldata.qis  the sas profile, columns are q, I(q), and std
q_start, q_stop         defines the range of q
outputfile              the file used to store computed sas profile, default is output.iq (could be overwritten)


Given a pdb model, the intensity profile will be calculated and saved. Here we use the lysozyme (6lyz.pdb) as an example:

 sastbx.she structure=6lyz.pdb


and then you will see:

 #phil __OFF__

======================================================================
Debye/SHE Model
Model data from a Debye or Sphereical Harmonics Expansion engine
======================================================================

#phil __ON__
sas_I {
method = *she debye zernike
structure = "6lyz.pdb"
experimental_data = None
data_reduct = False
pdblist = None
q_start = 0
q_stop = 0.5
n_step = 51
output = "output.iq"
internals {
rho = 0.334
delta = 3
drho = 0.03
max_L = 15
max_i = 17
f_step = 0.8
integration_q_step = 0.01
implicit_hydrogens = True
solvent_scale = False
}
}
#phil __END__
****************** WARNING WARNING  *******************
Did not find atom type:   default value 1.58 A was used
*******************************************************
Warning: unexpected atom found, and C element is used
Inner surface Area of the Envelop is (A^2.0):  3494.73450491
Inner Volume of the Envelop is       (A^3.0):  21621.2750018
Volume of the Envelop shell is       (A^3.0):  12854.2701303
start running at:                 Thu Oct 21 17:42:03 2010
finished PDB file processing at:  Thu Oct 21 17:42:04 2010
got all desired I(q) at :         Thu Oct 21 17:42:06 2010


The default range of q is from 0 to 0.5 A-1. The desired range and step of q can be changed by changing q_start, q_stop, n_step, for instance:

 sastbx.she structure=6lyz.pdb q_stop=0.3 n_step=101


The q range will be from 0.0 to 0.3A-1, with step of (0.3-0.0)/(101-1) = 0.003 A-1

The intensity profile will be saved to output.iq by default. The file name can be changed to any name by giving output=your_name_it, i.e.,

 sastbx.she structure=6lyz.pdb output=6lyz.iq


There are five columns in the 6lyz.iq, as you will see:

 # q     I_total         I_A             I_C             I_B
0.0     4863126.02942   58101230.9286   33673146.271    148756.808148
0.01    4826765.608     57722331.0013   33451497.2352   146836.711796
0.02    4719225.79072   56599726.8924   32794907.9446   141204.121147
0.03    4545027.99067   54774875.9287   31727950.8492   132229.788238
0.04    4311373.92442   52314172.9493   30289950.157    120491.985207
0.05    4027675.59372   49305120.3486   28532673.5198   106722.056289
...


We keep the entries consistent with Crysol output:

 q:       q value
I_total: total intensity
I_A:     intensity of the model in vaccum
I_C:     intensity of the displaced solvent
I_B:     intensity of the solvation layer


You can use xmgrace or gnuplot to show the intensity.

If there is experimental data available, you can supply it to the program, such that the calculated intensity profile will be fitted to the given experimental data, here we used the data collected from ALS in LBL on beamline 7.3.3., lyso.dat:

 sastbx.she structure=6lyz.pdb data=lyso.dat output=6lyz.iq


This time, the range of q's will be the same as the given experimental dataset.

There will be two output files: the raw intensities (6lyz.iq) and a fitted profile (6lyz.iq.fit).

Furthermore, similar to crysol, sastbx.she allows changes on solvents to improve fitting, for example:

 sastbx.she structure=6lyz.pdb data=lyso.dat output=6lyz_solv.iq solvent_scale=True


The optimized fitting data is saved to 6lyz_solv.iq.fit.

The comparisons are shown in this figure:

The Volume of the molecule will be reported in the on-screen log file.

The optimized solvent displacement parameter and the solvation layer contrast density will be also shown.

The intensity discrepancy is measured by chi:

$\chi\, = \sqrt{\frac{1}{N}\ \sum_{i} \left( \frac{I_{i}^{expt} - I_{i}^{calc} }{s_i^{expt}} \right)^2 }$

At last, if you have different conformations of the same molecule, you can list the PDB file names in a file, and add it to the command line, this will speed up the calculation by avoiding processing atom types and form factor calculations, i.e.,

 sastbx.she structure=6lyz.pdb pdb pdblist=list.txt


In the list file, the PDB file names should look like this:

 file_1.pdb
file_2.pdb
file_a.pdb
...


and the corresponding intensity profiles will be:

 file_1.pdb.int
file_2.pdb.int
file_3.pdb.int
...


Finally, as usual, there will be online help if there is no parameter to the command:

 sastbx.she


and you will see:

 Usuage:

sastbx.she model=mymodel structure=mystructure.pdb experimental_data=myexperimentaldata.qis pdblist=pdblist.txt q_start=q_start q_stop=q_stop n_step=n_step output=outputfile

Required arguments:

mystructure             the PDB file to be evaluated (must be provided)

Optional arguments:

mymodel                 the model type to be used, it should be either debye or she (default is she)
myexperimentaldata.qis  the sas profile, columns are q, I(q), and std
q_start, q_stop         defines the range of q
outputfile              the file used to store computed sas profile, default is output.iq (could be overwritten)


Theoretical Intensity Calculation and Comparison to experimental data