Huge surfaces
Jump to navigation
Jump to search
Overview
PyMOL can render very large (huge) surfaces of proteins, using a few tricks. First off, you should know that because of the size, you do not get the level of accuracy that you would for a smaller molecule. However, if you need to represent a molecule (or object) with a few million atoms, this may be your option of choice.
Example
The output from the example below is shown below. The PDB 1AON has nearly 60,000 atoms. This isn't the largest PDB, but it's a good example.
The Code
# load a whopping big PDB
fetch 1aon, struct
# create a color spectrum over the object
spectrum count, selection=struct
# give ourselves a responsive UI
as spheres
set sphere_mode,1
# === now create a pseudo-fcalc map (a 3D volumetric scalar field) ===
# set the B-factors nice and high for smoothness
alter all, b=40
# ~10 A map resolution
set gaussian_resolution, 10
# in case b-factors are 0.0
set gaussian_b_floor, 20
# ~10 A map spacing with a 10 A surrounding buffer
# (you may need to vary this)
map_new map, gaussian, 10, struct, 10
# create a surface from the map
isosurface surf, map, 1.0
# now color the map based on the underlying protein
ramp_new ramp, struct, [0,10,10], [-1,-1,0]
color ramp, surf
# hide the ramp
disable ramp