I have a slightly different answer using (almost:) only PyMOL commands:

# take 1acb as example
fetch 1acb, async=0
import numpy
# center is [x0,y0,z0]
x0,y0,z0=[1,2,3]
alldist = []
iterate_state 1, 1acb, alldist.append(numpy.sqrt(numpy.sum([(x-x0)**2,(y-y0)**2,(z-z0)**2])))
# assign dist to b-factors!
di = iter(alldist)
alter 1acb, b=di.next()
spectrum b, rainbow, 1acb

The distance computation line is awkward. I thought of using distance() command to replace it. It is also much faster to use distance(). But I failed to dig distance values out of the object generated by distance(). Anybody knows how to do that?

cheers,hongbo

On 28.07.2011 5:06, Thomas Holder wrote:
Hi Robert,

you can set the distance between each atom and the center as b-factor, and then use spectrum (or spectrumany [1]) for coloring.

I wrote a small python script that will do that, see attachment.

Example (in PyMOL command line):

run distancecoloring.py
centerdistance2b (all)
spectrum b, blue_white_red, (all)

Cheers,
  Thomas

[1] http://pymolwiki.org/index.php/Spectrumany

On 07/28/2011 04:29 PM, Muench, Robert wrote:
Dear community,

I was searching the internet for several days now to find out how to
perform a distance dependent coloring in pymol.

The idea is to color the surface of a viral (spherical) structure. I
would like to define the xyz-coordinates of the center of the viral
structure an color all residues with a gradient depending on the
distance from these xyz coordinates.

Can anyone please help me out?

All the best

Robert

*Robert Münch***

---------------------------------------------------------

Dipl. Biologist / PhD-Student

*Paul-Ehrlich-Institut*

Federal Institute for Vaccines and Biomedicines

Division of Medical Biotechnology

Section 6/5 - Viral Gene Transfer Medicinal Products

63225 Langen, Germany

Phone: +49-6103-77-4222

Fax: +49-6103-77-1255


------------------------------------------------------------------------------
Got Input?   Slashdot Needs You.
Take our quick survey online.  Come on, we don't ask for help often.
Plus, you'll get a chance to win $100 to spend on ThinkGeek.
http://p.sf.net/sfu/slashdot-survey


_______________________________________________
PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net)
Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users
Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net

------------------------------------------------------------------------------
Got Input?   Slashdot Needs You.
Take our quick survey online.  Come on, we don't ask for help often.
Plus, you'll get a chance to win $100 to spend on ThinkGeek.
http://p.sf.net/sfu/slashdot-survey
_______________________________________________
PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net)
Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users
Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net

Reply via email to