Return to the main page
Scripts
One can apply the Surface Diver to study similarities within a group of biomolecules.
This can be done automatically (i.e. using a single BASH script)
as in the example presented below:
Let us assume we have N proteins that we would like to group according to their physicochemical properties.
For simiplicity we will name the corresponding pqr and DX files using
subsequent numbers (i.e. 1.pqr, 2.pqr ... 1.dx, 2.dx ... etc.).
All pqr and DX files are located in the same directory;
an input file for Surface Diver is also present:
[edge] 129 [edge]
[irad] 0.0 [irad]
[rmax] 30 [rmax]
[spho] 64 [spho]
[nsph] 30 [nsph]
[grid] potential.dx [grid]
Now we can use the following script:
# BASH script for automatic Surface Diver computations: control.bash
#!/bin/bash
for i in $(seq N);do
ln -s $i.dx potential.dx
./surf_diver $i.pqr input
mv -f matrix_HB.dat $i.matrix_HB.dat
mv -f matrix_Qm.dat $i.matrix_Qm.dat
mv -f matrix_Qp.dat $i.matrix_Qp.dat
mv -f matrix_Vm.dat $i.matrix_Vm.dat
mv -f matrix_Vp.dat $i.matrix_Vp.dat
mv -f matrix_shape.dat $i.matrix_shape.dat
rm -f potential.dx
# we want to save DX files, the rest of created files will be overwritten
mv -f srfc.dx $i.srfc.dx
mv -f hb.dx $i.hb.dx
mv -f chrg.dx $i.chrg.dx
mv -f phi.dx $i.phi.dx
done
# Now we compute SI values, using small utility program
# called si_creator
for k in $(seq N);do
for l in $(seq N);do
./si_creator $k.matrix_HB.dat $l.matrix_HB.dat 30 64 >> si_HB.dat
./si_creator $k.matrix_HB.dat $l.matrix_Qm.dat 30 64 >> si_Qm.dat
./si_creator $k.matrix_HB.dat $l.matrix_Qp.dat 30 64 >> si_Qp.dat
./si_creator $k.matrix_HB.dat $l.matrix_Vm.dat 30 64 >> si_Vm.dat
./si_creator $k.matrix_HB.dat $l.matrix_Vp.dat 30 64 >> si_Vp.dat
./si_creator $k.matrix_HB.dat $l.matrix_shape.dat 30 64 >> si_shape.dat
done
done
To execute this script, the user should issue the following command:
bash ./control.bash
As a result, files si_property.dat will be created.
Each file contains SI values computed for given property. Files are formatted as:
SI(1,1)
SI(1,2)
...
SI(1,N)
SI(2,1)
SI(2,2)
...
SI(2,N)
...
SI(N,N)
Return to the main page