Q:
I’m analyzing protein structures (specifically, I’m performing a Voronoi-based analysis) using the tools linked on the geometry page:
http://geometry.molmovdb.org/NucProt/
Is there any work you know off showing how the contact areas change as the radii grow larger but in proportion? … I managed to read in any file definition of atom radii but this has no effect on the area of polygon faces. I also tried to multiply the atom_vdw[ii] but this too had no effect. The main routine I use is "full-dump-polyhedra.main.c".
A:
I think there’s an easy answer. See the DumpAFace routine in the code linked here:
http://geometry.molmovdb.org/files/libproteingeometry/src-prog/full-dump-polyhedra.c
This prints out :
"– Face between atom %3d and neighbour %3d"
& then
"Face-Area= %9.4f Pyramid-Volume=%9.4f\n",area,FaceVolume
If you vary the radii used to parameterize the program, you can see how the contact area changes, perhaps by tabulating the value of the area variable. The effect is, as you guess, rather small but is related to the way optimal radii sets were selected in the past.
With respect to the second part of the question, ie:
I also managed to read in any file definition of atom radii but this
has no effect on the area of polygon faces.
I also tried to multiple the atom_vdw[ii] but this too had no effect.
The main routine I use is "full-dump-polyhedra.main.c".
There’s a number of reasons why this is happening.
(1) You only have one atom type (ie just CA).
In this case, radii are irrelevant and you’re effectively just using bisection. The radii are only relevant when two atoms of different types come into contact, and one has to apportion the space between them.
(2) You have differently typed atoms, but you’re using the normal Voronoi bisection method and not the alternate plane positioning methods using radii.
You need to tell the program explicitly not to use the normal bisection approach via the "-method" argument. See the documentation for calc-volume in the readme file linked here:
http://geometry.molmovdb.org/files/libproteingeometry/src-prog/README
I think this argument works properly for full-dump-polyhedra:
http://geometry.molmovdb.org/files/libproteingeometry/src-prog/full-dump-polyhedra.main.c
See the code for the main() routine to see it being invoked.
(3) You have differently typed atoms & are specifying a non-bisection plane positioning method, but you’re not reading the radii properly.
Here you can verify the atoms are correctly typed by using the show-2rad-refV program, viz:
http://geometry.molmovdb.org/files/libproteingeometry/src-prog/show-2rad-refV.main.c