Background

The fast progress of large scale gene sequencing projects has lead to a rapid increase in the amount of known protein sequences, extending the gap between known sequences and known structures [1]. High-resolution methods have successfully been applied to resolve the structure of many proteins at the atomic level but the class of experimental conditions to which they can be applied is limited by the crystallization process for X-ray crystallography and protein size for Nuclear Magnetic Resonance spectroscopy (NMR).

These limitations can be overcome by turning to different low resolution structure determination methods. Small Angle X-ray Scattering (SAXS) [24] is a well established low resolution method that relies on an isotropical 1-D description of the excess electron density of the sample versus the surrounding environment. Recently, automated methods for high-throughput SAXS analysis of bio-molecules have been developed [5, 6], opening the prospect of structure determination on a genomic scale from SAXS experiments. SAXS data provide information on the structure of a protein in solution, but the information content is small compared to X-ray crystallography or NMR data due to the inherent ambiguity arising from spherical averaging. This means that SAXS data only provides structural information at low resolution; additional model constraints are therefore typically needed to assist the structural interpretation.

Early SAXS structure determination methods were based on ab initio shape determination using spherical harmonics expansions [7]. These methods provide good computational efficiency, at the cost of limitations in accuracy for complex shapes; for instance for proteins with internal cavities [8]. Another modeling approach has been to fit the scattering curve using a gas of "dummy beads". This is done using conformational searches by a genetic algorithm in DALAI_GA [9] or simulated annealing in DAMMIN [10] and its optimized implementation DAMMIF [11]. A higher resolution approach is found in the GASBOR program [12], where a SAXS curve is fitted using a packed assembly of spheres in a pseudo-Cα chain. This program does not use amino acid sequence information, but does enforce a realistic packing density for the Cα atoms. In GASBOR, the scattering intensity is calculated using the Debye formula while simulated annealing is used for searching the conformational space. Other recent structure prediction methods, such as the ORNL [13] and IMP [14] programs, utilize the SAXS curve in the form of an extra energy term. Since these methods are non-probabilistic, the weight that scales the SAXS energy with respect to the other energy terms must be chosen heuristically [15, 16].

According to the Bayesian probability calculus, the conditional probability of an event given some data depends on the likelihood (which brings in the data), multiplied by the prior distribution (which brings in the knowledge regarding the event prior to observing the data) [17]. If experimental data D is used to infer the structure X of a protein with a known primary sequence A, this results in the following expression:

P ( X | D , A ) P ( D | X , A ) P ( X | A )
(1)

Such an approach was used by Rieping et al. [15] for inferential structure determination using NMR data. The likelihood function P(D|X, A) accounts for the experimental data and quantifies the probability of observing data D given a protein structure X with sequence A. The prior, P(X|A), on the other hand accounts for general knowledge about protein structures with a given amino acid sequence [15, 1821]. In our case, the data D is the experimentally measured scattering curve I resulting from a SAXS experiment.

For the evaluation of the likelihood, it is necessary to compute the probability of the scattering profile, I, given a proposal structure, X. This work therefore focuses specifically on the calculation of the theoretical SAXS scattering curve I '(X, A). The likelihood can then be calculated by evaluating the discrepancy - in a probabilistic way - between the experimental curve I and the calculated curve I '(X, A). Both the curve calculation and evaluation of discrepancy must be reasonably fast in order to be useful for macromolecular structure determination. We used the well-known Debye formula [22] for calculating the scattering curve, combined with a coarse-grained representation of protein structure in order to comply with the speed requirement. In such a coarse-grained representation, certain groups of atoms are represented by one scattering body or dummy atom[9, 12, 23]. The coarse-graining thus avoids a costly iteration over all atoms (see Equation 2 below for details). The main goal of this study is therefore to obtain good point estimates of the form factors for these dummy atoms.

To illustrate and evaluate the potential of this approach in statistical inference of protein structure from SAXS data, we also perform two decoy recognition experiments (see Methods). In both cases, we use SAXS curves calculated from the native structure by the program CRYSOL as "experimental" data; the goal is to identify the native structure among a set of decoys by using the experimental data. In the first experiment, we use a simple likelihood function based on the SAXS curves calculated by our coarse-grained Debye method combined with a uniform prior. In a second experiment, we instead incorporate a probabilistic model of local protein structure as the prior distribution.

Results and Discussion

Coarse-grained protein models

We used two coarse-grained models of protein structure, in which the amino acids were represented by one and two scattering bodies (here called dummy atoms), respectively. In the two-body model, the amino acids - with the exception of glycine and alanine - were represented by two dummy atoms; one representing the backbone, and the other representing the side chain. The dummy atoms were placed at the respective centers of mass (see Figure 1). Exceptions were made for the representation of glycine and alanine due to their small size; in both cases, one dummy atom represents the whole amino acid. For the other 18 amino acids, a side chain specific dummy atom was combined with the generic, backbone dummy atom. As a result, a total of 21 form factors needed to be estimated for the two-body model: one for alanine, one for glycine, one for the backbone and 18 for the remaining side chains. For the one-body model, we used a straightforward approach with one dummy atom that is placed at the center of mass. Hence, 20 form factors need to be estimated; one for each amino acid type. The one-body model results in roughly half the number of scattering bodies as compared to the two-body model for a given protein.

Figure 1
figure 1

Coarse-grained model of protein structure. Example of a protein backbone stretch (dark gray) with side chain atoms (light gray), and a corresponding coarse-grained model. The positions of the corresponding dummy atoms for the backbone (red spheres) and side chains (blue spheres) are shown. This representation is used in the two-body model in the article. The figure was made using PyMOL [40].

Calculation of the SAXS curves

The observed data in a SAXS experiment is a one-dimensional intensity curve, I(q), where q = 4π sin(θ)/λ is the scattering momentum, λ is the wavelength and 2θ is the scattering angle. The calculation of a theoretical SAXS scattering curve from structure is based on the well-established Debye formula [22]:

I ( q ) = i = 1 M j = 1 M F i ( q ) F j ( q ) sin ( q r i j ) q r i j
(2)

where F i and F j are the scattering form factors of the individual particles i and j, and r ij is the Euclidean distance between them. The summations run over all M scattering particles.

Since an average amino acid has around eight heavy atoms, and considering the pairwise character of the summation in Equation 2, it can be expected that a coarse-grained protein model with one or two scattering bodies per amino acid can lead to a computational speed-up of more than an order of magnitude (see Methods).

Estimation of scattering form factors

The estimation of the form factors was carried out using artificial SAXS curves generated by the state-of-the-art program CRYSOL [24]. We used a set of 297 high resolution crystal structures from the Protein Data Bank (PDB) [25].

Atomic scattering form factors are continuous functions of the scattering momentum q; the same can be expected for the coarse-grained form factors. In order to render the estimation of the 20 (for the one body model) or 21 (for the two body model) form factors tractable, we discretized the problem by considering resolution bins. We divided the relevant scattering momentum interval - ranging from 0 to 0.75 Å-1 - into 51 discrete bins, with a width equal to 0.015 Å-1. Our strategy was to obtain a point estimate for each of the 20 or 21 form factors in each of the q-bins, resulting in a total of 1010 and 1071 parameters for the one and two body models, respectively. We will denote the vector of form factor values for a specific q-bin as F ª q . Our scheme is to sample form factor values from a suitable posterior distribution for each bin, then calculate a point estimate from the obtained samples. We start with the classic Bayesian approach, and consider the following posterior distribution:

P ( F ª q | I q , X ) P ( I q | F ª q , X ) P ( X | F ª q ) P ( F ª q )
(3)

where F ª q is the 20- or 21-dimensional form factor vector for bin q and I q is the intensity calculated by CRYSOL at a given q-bin for a certain structure X. The approach will be generalized to multiple structures below. We assume conditional independence between the structure X and the form factor vector F ª q , that is, P(X | F ª q ) = P(X), and a uniform density for the prior P( F ª q ). To evaluate the likelihood P(I q | F ª q , X) - the probability of the data I q given the form factor vector F ª q - we use the following strategy. Applying F ª q , we calculate the scattering intensity I q ( F ª q , X ) for the given structure X using the Debye formula (Equation 2) and evaluate the difference between the two intensities. The likelihood is thus expressed as:

P ( I q | F ª q , X ) = P ( I q | I q ( F ª q , X ) )
(4)

In the following, I q will be used as a short notation for I q ( F ª q , X ) . In order to calculate the likelihood, I q was interpreted as a sample from a Gaussian distribution where the mean is given by I q :

P ( I q | I q ) = N ( I q | I q , σ q )
(5)

with σ q being the standard deviation. The standard deviation σ q was set to a value that is typically observed in real experiments (see Methods). For multiple structures, the likelihood function simply becomes a product of Gaussian distributions:

P ( I q , 1 , , I q , N | F ª q , X 1 , , X N ) = i = 1 N N ( I q , i | I q , i , σ q )
(6)

where N is the number of structures in the training set, I q , i is the calculated scattering intensity curve for structure X i using F ª q and I q,i is the intensity as calculated by CRYSOL from structure X i . Using this probabilistic model, it becomes possible to sample form factor vectors from the posterior distribution for a given bin.

The form factor vectors are sampled from the posterior distribution for each q-bin using a generalized Markov chain Monte Carlo (MCMC) method as implemented in the Muninn program [26].

Form factor estimates

The resulting distributions for two q-bins are shown in Figures 2 and 3 (two-body model). From these distributions, it is clear that some side chains are less determining for the scattering curve than others; the hydrophobic side chains of leucine, isoleucine and valine only contribute marginally at low resolution. These amino acids are most often buried in the hydrophobic core; as a result, their contributions to the scattering intensity for low q values - which is mostly determined by the protein's external shape - are rather small. The final step in the estimation is to obtain the point estimates for the form factor vectors from the samples; this is done by computing the centroid of these samples (see Methods), which is an attractive point estimator for high-dimensional problems [27]. The resulting form factor curves as a function of q for the different amino acids and the generic backbone are shown in Figure 4. In all cases, the resulting curves are smooth in q. Since the estimation of the form factors has been carried out independently for each q-bin, the observed continuity testifies to the efficiency and consistency of the MCMC procedure. The 20 form factors for the one-body model are shown in Figure 5. Although using only one dummy atom per amino acid is computationally attractive, it comes at the cost of a significantly lower accuracy, except for very low resolutions (see Figure 6). The difference is particularly significant in the central part of the q-range, which is of the highest interest for structure prediction [28]. Therefore, we focus on the two body model in the rest of this article.

Figure 2
figure 2

Distributions of the components of the form factor vector for q = 0. An asterisk indicates that this form factor describes both the backbone and side chain atoms of the residue. Note that different scales are used on the X-axes. The scale on the Y-axis shows the percentage of observations.

Figure 3
figure 3

Distributions of the components of the form factor vector for q = 0.3. An asterisk indicates that this form factor describes both the backbone and side chain atoms of the residue. Note that different scales are used on the X-axes. The scale on the Y -axis shows the percentage of observations.

Figure 4
figure 4

Form factors for the two-body model. Mean (dark blue curve) and standard deviations (blue areas) for the backbone (top left) and the 20 sidechain form factors (Y-axis) as a function of q (X-axis). An asterisk indicates that this form factor describes both the backbone and side chain atoms of the residue.

Figure 5
figure 5

Form factors for the one-body model. Mean (dark blue curve) and standard deviation (blue area) of the 20 single dummy atom form factors (Y-axis) as a function of q (X-axis).

Figure 6
figure 6

Overall accuracy of the SAXS curve calculations. The deviations between the SAXS curves calculated by CRYSOL and by the coarsegrained Debye methods as as function of the resolution, q, are shown in units of standard deviations. Mean and standard deviations are plotted in red for the one-body model and in green for the two-body model.

Evaluation using a test set

The estimated form factors were assessed by calculating scattering curves for fifty proteins that have low sequence similarity with the proteins in the training set (sequence similarity below 25%). The calculated curves were compared to curves generated by CRYSOL, which uses full atomic detail. The results are shown in Table 1. The dissimilarities between the curves are quantified by a χ2 measure, S in the table, which is scaled by the standard deviations that were used in the training of the form factors (see Methods for details). Since the errors are within the usual magnitude of the experimental errors [9, 10, 14, 29], our results are in excellent agreement with the CRYSOL predictions. Scattering curves for six proteins of various sizes are shown in Figure 7.

Table 1 Accuracy of the SAXS curve calculation for the individual structures.
Figure 7
figure 7

SAXS curves for six example proteins. Comparison of I(q) calculated by CRYSOL from the all atom structure (blue) and by the two-body model (green). Error bars indicate the simulated "experimental" error for each bin. The example proteins are: (A) 1ENH 54 residues, (B) 2CRO 71 residues, (C) 2PTH 193 residues, (D) 1PTA 327 residues, (E) 1A12 (chain A) 401 residues and (F) 1JET 520 residues.

Protein decoy recognition

In order to investigate the utility of the coarse-grained model in inferential structure determination [15, 16], we carried out a decoy recognition experiment (see Methods). As previously discussed, the Bayesian approach to this problem employs the posterior probability distribution. The posterior probability distribution P(X|I) is proportional to the product of the likelihood P(I|X) and the prior probability P(X). Below, we first test the model by combining the likelihood function with a uniform prior and subsequently with a suitable prior probability distribution, P(X|A). The performance of decoy recognition experiments is commonly evaluated using the Z-score. The Z-score is defined as the difference between the score of the native conformation and the average score of all conformations belonging to that decoy set, divided by the standard deviation [30]. Ideally, the native structures have the lowest energy. For this experiment we used a decoy set from TASSER [31].

In the first test, the likelihood was used to assign an energy to the decoys, and a corresponding Z-score was calculated. The results were compared to Z-scores obtained using CRYSOL (see Table 2). Strikingly, the coarse-grained Debye method is generally as good as CRYSOL in identifying the native structure among the decoys. In some cases our method even performs better than CRYSOL; the coarse grained approach is quite likely less sensitive to differences on the atomic scale.

Table 2 Decoy recognition Z-scores for CRYSOL and the two-body model.

In the second part of this experiment, we also incorporated a probabilistic model of the structure of proteins as a prior. This model, called TorusDBN, was previously developed in our group [21] and evaluates the probability of observing a certain sequence of ϕ and ψ angles for a given amino acid sequence. TorusDBN is a model of the local structure of proteins; non-local interactions such as hydrogen bonds or the formation of a hydrophobic core are not part of this model.

Including the TorusDBN prior in the definition of the posterior probabilities leads to a clear improvement in decoy recognition; the average Z-score was enhanced by 16%. As illustrated in Figure 8, there is no correlation between protein size and Z-scores; the performance stays constant over a wide range of protein sizes.

Figure 8
figure 8

Decoy recognition Z-scores for CRYSOL and the two-body model versus protein length. For each of the proteins in the set, the Z-scores (Y-axis) are plotted against the length of the protein (X-axis). Red spheres: using CRYSOL. Blue squares: using the likelihood according to the two-body model. Green triangles: using the likelihood according to the two-body model and the TorusDBN prior. More detailed information is presented in Table 2.

Conclusions

We have demonstrated that it is possible to obtain accurate SAXS curves from coarse-grained protein structures and matching estimated form factors without the use of ad hoc correction factors. We obtained point estimates of the form factors and assessed their performance for a diverse set of proteins; the resulting SAXS curves are on par with the current state-of-the-art program CRYSOL, at least up to scattering vector lengths of 0.75 Å-1 (see Methods). As a further validation of this model, we used a comparison of the Z-scores for a set of protein decoys based on the SAXS curves generated by CRYSOL and by our coarse-grained Debye method, respectively. Again, the performance was excellent. Including prior information from a probabilistic model of local protein structure [21] further improved the decoy recognition.

Before a rigorous incorporation of SAXS information in a fully probabilistic model for data driven structure prediction is possible, two additional developments are needed: a proper description of the hydration layer that surrounds the protein [29] and a probabilistic description of the experimental errors associated with a SAXS data acquisition experiment [15, 16]. We are currently implementing such an approach in the PHAISTOS software package [32, 33].

Methods

Protein data sets

Three protein data sets were used throughout this work: one for training of the form factors, another for validating the model, and finally a set of native structures and corresponding artificial decoys for the Z-score calculations. The training data set consists of 297 structures with lengths between 50 and 400 from the Top500 data set of high quality protein structures [34]. To ensure that CRYSOL and our program processed these structures in the same manner, structures with conflicting atoms or non-standard amino acids were excluded (selected structures can be found in additional file 1).

The estimated form factors were validated by calculating scattering curves for 50 proteins (see Table 1) extracted using the PISCES server [35]. These were randomly selected among an initial group of 81 proteins with low sequence similarity (below 25%) with those in the training set, a resolution better than 3 Å and an R-factor below 30%.

The decoy set used in the Z-score evaluation was generated by the structure prediction program TASSER [31]. This decoy set consists of 47 proteins, each with 1040 protein-like decoy structures with varying similarity to the native structure. The decoys are constructed from energy-minimized snapshots from molecular dynamics simulations using the AMBER force field [36]. A single protein from the set, [1CBP], was excluded from our Z-score evaluation, as this structure resulted in an input error when evaluated by the CRYSOL program. Six proteins were left out of the evaluation as they were also present in our training data set.

In all cases, the backbone and side chain centroids were calculated using all non-hydrogen atoms. The Cβ atoms were only included in the calculation of the backbone centroid.

SAXS training data

Due to the lack of publicly available high-quality experimental data needed for the estimation of the form factors, artificial data curves were generated for high-resolution protein structures using the state-of-the-art program CRYSOL [24]. This program calculates the theoretical scattering curve from a given full-atom resolution structure using spherical harmonics expansions. CRYSOL was used to compute a simulated scattering curve including the vacuum and excluded volume scattering components, but without hydration layer contribution; the electron density of the solvent layer was set equal to that of the bulk solvent (i.e. CRYSOL was run with the command line "crysol/dro 0.0 inputfile.pdb"). For the scattering curve evaluations, an upper q-limit of 0.75 Å-1 was chosen in order to be well within the expected valid resolution range for CRYSOL.

Error model and q-binning

The range of the scattering momentum ranges from 0 to 0.75 Å-1, divided in 51 discretized bins. For each bin we sampled form factors from the posterior distribution to obtain the 21-dimensional form factor distributions. The intensity at a given bin was evaluated using the left-hand side q-value, starting at q = 0 in the first bin.

To account for the "experimental" error for the SAXS curves, a standard deviation σ q = I q β (with β = 0.3) has previously been used in the literature as a realistic estimate [14]. Aiming to be more precise in the portion of the curve of primary interest in a structure prediction application - approximately between q = 0.1 and q = 0.5 Å-1[37] - we introduced a scaling factor (q + α):

σ q = I q ( q + α ) β

with α = 0.15 and β = 0.3. This is significantly stricter at mid q-range than the reference parameters.

Posterior sampling

In order to explore the large parameter space efficiently, we used an optimized, maximum-likelihood based MCMC method implemented in the Muninn program [26]. In the MCMC method, we used the negative of the logarithm of the posterior probability as an energy. We employed a sampling scheme where the density of states is weighted according to the inverse cumulative density of states (1/k ensemble) [38]. Compared to standard MCMC methods, this ensures a more frequent generation of samples in the lower energy regions. Avoiding slow relaxation in the Markov chain also minimizes the risk of the chain getting trapped at a local minimum [26]; a problem often encountered in rough energy landscapes when using Metropolis techniques, as for example in simulated annealing.

An initial proposal value for the F ª q vector was obtained by uniformly sampling its components from the interval [0, fmax]. The value of fmax was set to 40; well beyond the limit of the form factor components described in the literature [12]. The MCMC proposed new form factor vectors, F ª q , with a transition F ª q F ª q in which a randomly chosen component f of the vector was re-sampled uniformly from the interval:

[ max { 0 , f m } , min { f max , f + m } ]

where the width m was equal to 1.5. Border effects were taken into account in order to respect the detailed balance condition, which is

P ( F ª q ) P ( F ª q F ª q ) = P ( F ª q ) P ( F ª q F ª q )

The transition probabilities, P ( F ª q F ª q ) , can be expressed as:

P ( F ª q F ª q ) = Q ( F ª q F ª q ) A ( F ª q F ª q )

where Q ( F ª q F ª q ) represents the probability of selecting F ª q given F ª q and A ( F ª q F ª q ) is the acceptance probability of this transition. The selection probability implied by the local uniform proposal scheme is:

Q ( F ª q F ª q ) = ( min { f max , f + m } max { 0 , f m } ) 1

and according to the Metropolis-Hastings criterion [39], the following acceptance probability satisfies the detailed balance condition:

A ( F ª q F ª q ) = min { 1 , P ( F ª q ) Q ( F ª q F ª q ) P ( F ª q ) Q ( F ª q F ª q ) }

where P ( F ª q ) is given below by Equations 7 and 8 for the TorusDBN independent and dependent cases, respectively.

Point estimation of form factors

The MCMC procedure results in a set of samples from the posterior distribution. In order to obtain a point estimate, we calculated the centroid vector obtained from the set of sampled form factor vectors { F ª q , 1 , , F ª q , T } . The centroid vector F ª q , c was defined as the one with the lowest Euclidean distance to all the other vectors in the set:

F ª q , c = arg min F ª q , r t = 1 T F ª q , r F ª q , t

where T is the number of samples.

SAXS curve distance measures

A χ2 measure was used to quantify the difference between two scattering curves. S was scaled by the "experimental" error that was used in the estimation of the form factors, thus evaluating the statistical quality of our reconstruction:

S = Σ q [ ( I q I q ) / σ q ] 2 Q 1

where Q is the number of q-bins and σ q is the experimental error as described previously.

Decoy recognition

The first decoy recognition experiment - which only uses the likelihood - is performed as follows. First, a SAXS curve I is calculated from the native structure using CRYSOL. For each decoy structure, a corresponding SAXS curve I' is calculated with the Debye formula using the two-body model. In this case, the posterior - which is simply equal to the likelihood P(I | X) - of the decoy X is calculated as:

P ( X | I ) P ( I | X ) = P ( I | I ) = q = 1 Q N ( I q | I q , | q )
(7)

where the product runs over all q-bins. For the comparison with CRYSOL, scattering curves were calculated from the decoys using CRYSOL instead of the two-body model.

In the second decoy recognition experiment, TorusDBN is included as a prior distribution, and amino acid information is explicitly included. In this case, the posterior becomes:

P ( X | I , A ) P ( I | X ) P ( X | A ) = { q = 1 Q N ( I q | I q , σ q ) } P ( ϕ ª , ψ ª | A )
(8)

where ϕ ª and ψ ª are the backbone angles of the decoy and A is the amino acid sequence.

The Z-score for a given decoy set was calculated as the difference between the energy (defined as the negative of the logarithm of the posterior) of the native structure E(X N ) and the average energy E ª of all structures in the decoy set, divided by the standard deviation σ of the energies:

Z = E ( X N ) E ª σ

TorusDBN prior

TorusDBN is a probabilistic model of the local structure of proteins, formulated as a dynamic Bayesian network. It can be considered as a probabilistic alternative to the well known fragment libraries, It allows sampling of plausible protein conformations in continuous space, and it can assign a probability density value to a given sequence of ϕ and ψ angles. For the prior, we used:

P ( X | A ) = P ( ϕ ª , ψ ª | A ) P ( ϕ ª , ψ ª , A )

where ϕ ª and ψ ª are the ϕ and ψ angle sequences, respectively. The calculation of P ( ϕ ª , ψ ª , A ) from TorusDBN is straightforward using the forward algorithm [21]. We used the model that is described in [21] with default parameters.

Computational efficiency

The naive implementation of the Debye formula (Equation 2) leads to a computational complexity of O(M2), where M is the number of scatterers in the structure under evaluation. Our coarse-grained approach reduces M by representing several atoms by one scattering body (a dummy atom). Each of the dummy atoms contains an average of k atoms, thus lowering the execution time by a constant factor of k2, replacing O(M2) with O ( ( M k ) 2 ) .

The exact value of k is obviously dependent on the primary sequence of the protein. For both training and validation sets, employing a dummy atom for the backbone and one for the side chain leads to an average k of 4.24. This means that each dummy atom contains on average 4.24 non-hydrogen atoms, leading to an increase in speed of k2≃18. Using only one dummy atom to describe a complete amino acid results in k≃7.8 atoms, allowing for a k2≃60 times faster execution. The absolute running time for a single scattering evaluation is approximately 30 ms for a 129 residues protein ([6LYZ]), using the two-body model and a standard desktop computer (AMD Athlon X2 5200+). Absolute running time comparisons with other programs are obviously unfair, since for a single evaluation the overhead introduced by the file system and the operative system is considerable. This said, our approach is significantly faster than CRYSOL [24](~786 ms).

Availability

The point estimates of the form factor vectors for all bins are available as supplementary information (for the one-body model in additional file 2 and the two-body model in additional file 3).