Software

Singular Value Decomposition of Time-Resolved X-ray Data

In 2003 we published the paper “The Application of Singular Value Decomposition to Time-Resolved X-ray Data” by Schmidt, Rajagopal, Ren and Moffat in Biophysics Journal. At the base of this paper is a program we called SVD4TX (singular value decomposition for time-resolved X-ray crystallography). This page distributes source code and executables from this and following investigations. The SVD4TX program can now read CCP4 style maps for wider applicability. Please contact the Schmidt lab for the code. We have recently developed a user-friendly version of SVD4TX (Zhao and Schmidt, 2009) that contains more features than the original SVD4TX, although the original program can be still used as a reference. The main advantage of the new SVD4TX is that it solves/integrates the coupled differential equations that describe the kinetic mechanism by a matrix diagonalization approach rather than using the Newton method employed by the original SVD4TX. For the original SVD4TX each kinetic mechanism has to be programed in Fortran and linked to the program. This is explained further down. In the new SVD4TX the kinetic mechanism can be selected from an interactive check-box. The corresponding coefficient matrix is set up, solved and fit to the data automatically. Ultimately, this leads to the time-independent difference electron densities of the intermediates from which their structures can be deduced.

Once the structures of the intermediates are known, we can postrefine the mechanism by a procedure called “posterior analysis”. This involves a large fitting routine that uses all time-resolved obesrved difference maps, time-independent calculated difference maps of the intermediates and a candidate mechanism. The relevant program is called “GetMech”. The candidate mechanism must be programed by hand in Fortran and linked to the program. The implementation of “posterior analysis” into the new SVD4TX is work in progress.

Generation of Difference maps in ‘fsfour’ format

Difference maps are very susceptible to large difference amplitudes at low resolution. To understand the reason why this is so, you need to imagine a corresponding Fourier wavelet in real space, the amplitude of which is this large difference structure factor amplitude. This wavelet produces a landscape with “hills” and “valleys” that roll through the unit cell. If the difference amplitude is overly (and falsely) large this generates problems. Although the shape of the signal difference features is correctly modeled by other, higher resolution Fourier-wavelets, its absolute magnitude can be overly wrong because it is either sitting in a ‘low-resolution’ valley or on-top of a ‘low-resolution’ hill. So the goal is to avoid the rolling ‘low-resolution’ landscape all together. Please, click the link weighted difference maps to obtain detailed information. Just a remark to use of difference maps instead of difference amplitudes: imagine a difference Fourier feature in a difference map. It is strong, confined to a limited volume and usually contiguous. It can be easily inspected and analyzed. After Fourier-transforming this feature the calculated difference amplitudes are small. The strong feature in real space is distributed over all reciprocal space. In case of substantial noise and low reaction initiation, this is a problem. You need to be able to recognize a delocalized, small signal on top of a large background. The background is here the reflection intensity of the dark state. Ultimately, the power of the Fourier-transfrom from reciprocal into real space saves this situation. The reason for this is, that additional knowledge (information), namely the phases of the dark (reference) state, is added to the analysis collecting all the weak signal from reciprocal space into a strong local signal in real space. So, it is very advantageous to analyze difference maps. Even more, (difference) electron density on the absolute scale is directly related to (fractional) concentration, there is no unknown factor in between. This might not be the case for amplitudes or intensities. So, methods from linear algebra apply much more naturally to difference electron density rather than to amplitudes or to intensities. Difference maps can also be calculated in ccp4 style format. Contact the Schmidt lab for a convenient script using ccp4 supported programs

Singular Value Decomposion of the Weighted Difference Maps

Download the original SVD-program published by Schmidt, Rajagopal, Ren, Moffat in Biophysics Journal in 2003. The program ‘SVD4TX’ can be downloaded following this link. The program is included in a tar-ball that needs to be unpacked, ‘tar -xvf svd4tx.tar’, in a suitable directory such as /home/PROGS/SVD4TX. The program consists of 3 modules: ‘SVD4TX_v6.f’ codes for the main program, which requires a fitting module ‘FITmod.f’ and a calculation module The calculation module contains source code from the numerical recipes, so I will not distribute the source code of this module due to copyright concerns. The source code of the calculation module can be obtained from me on request. The tar-ball contains a convenient makefile that should work if the calculation module’s .o-file (SVDlib.o) is not touched (else, please contact me). Also included is a sample input-file and some pdb-format file that can be used as a mask. The format of the input-file for SVD4TX as well as the coding of a sample chemical kinetic mechanism into SVD4TX is explained here. The SVD4TX program can now also read ccp4 style maps, please contact the Schmidt lab for the version. [Work in Progress]

New Program for the Singular Value Decomposion of X-ray Data

[Work in Progress]

Download here the new signular value decomposition program by Zhao and Schmidt, 2009, J. Appl. Cryst. The ‘new SVD4TX’ is programmed in C with a GTK+ based graphical user interface (GUI). You need to install GTK+ on your LINUX machine. The ‘new SVD4TX’ does not need difference maps. They are rather created on the fly from reflection data, that, however, need to be scaled previously to the absolute scale (see above). The advantage is that you can do a real quick SVD-analysis of your X-ray data.

‘GetMech’, a Program for Postrefinement of the Kinetic Mechanism

‘GetMech’ is a Fortran program that implements a fit of calculated difference electron density maps to observed difference electron density maps. It can be downloaded as a ‘tar-ball’ here. A time-series of calculated difference maps is synthesized from calculated time-independent difference maps of the intermediates and a candidate chemical, kinetic mechanism, whose rate-coefficients are fit-parameters. For this, of course, the structures of the intermediates need to be known. For an explanation of the ‘Getmech’ input file click here.

Simpler Programs for Map Integration

Since a couple of years comprehensive time-series of X-ray data are available. The kinetics can be extraced from difference maps by integrating the difference electron density features in each map and plotting the result as a function of time. The best example is probably the paper Srajer et al., 2001. We have developed the little software program that could do this. It works well with difference maps in the so-called FSFOUR format used by the XtalView program suite. It also should work with ccp4 maps (not really tested in depth). The web-page will be updated with the source code and an explanation of these programs soon.

[Work in Progress] download probe_v1.8, work in progress

In addition to integration of single features we can analyse the difference electron density of entire protein moieties such as alfa-helices or turns. For this the moiety is masked out and the difference electron density present there simply summed up.

[Work in Progress] download promsk_v2, work in progress