Hi Tsjerk,
very nice script! I have added it to the PyMOLWiki at
http://pymolwiki.org/index.php/Radius_of_gyration
Cheers,
Thomas
Tsjerk Wassenaar wrote, On 03/31/11 16:07:
> Hi :)
>
> The radius of gyration is not that tough. Here's a python script to do
> it in pymol. Do note that the hydrodynamic radius is something
> related, but different.
>
> from pymol import cmd
> import math
>
> def rgyrate(selection):
> # Get the atoms for the selection
> model=cmd.get_model(selection).atom
> # Extract the coordinates
> x=[i.coord for i in model]
> # Get the masses
> mass=[i.get_mass() for i in model]
> # Mass-weighted coordinates
> xm=[(m*i,m*j,m*k) for (i,j,k),m in zip(x,mass)]
> # Sum of masses
> tmass=sum(mass)
> # First part of the sum under the sqrt
> rr=sum(mi*i+mj*j+mk*k for (i,j,k),(mi,mj,mk) in zip(x,xm))
> # Second part of the sum under the sqrt
> mm=sum((sum(i)/tmass)**2 for i in zip(*xm))
> # Radius of gyration
> rg=math.sqrt(rr/tmass-mm)
> # Print it...
> print "Radius of gyration:", rg
> return rg
>
> cmd.extend("rgyrate",rgyrate)
>
> Hope it helps,
>
> Tsjerk
--
Thomas Holder
MPI for Developmental Biology
Spemannstr. 35
D-72076 Tübingen
------------------------------------------------------------------------------
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself;
WebMatrix provides all the features you need to develop and
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
_______________________________________________
PyMOL-users mailing list ([email protected])
Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users
Archives: http://www.mail-archive.com/[email protected]