MolecularNodes icon indicating copy to clipboard operation
MolecularNodes copied to clipboard

Problem with Surface Style

Open Mangkun-Chen opened this issue 2 years ago • 6 comments

Hi Brady

I tried to mimic your tutorial “Blender for Biochemists | Fundamentals of 3D” with MolecularNodes today, but I found a problem with the surface style. It doesn't seem to be the same as the surface produced by pymol. MolecularNodes create larger surfaces that encapsulate small molecule. (pdb:6LU7)

image Atom Style (Using MolecularNodes)

image Surface Style (Using MolecularNodes)

In the surface style, the small molecule and the protein surface are overlaped.(pdb:6LU7)

Mangkun-Chen avatar Jul 10 '22 15:07 Mangkun-Chen

You are right in that the default surface isn't the same. You'll want to play around with the settings on the surface node, try changing the radius down to 1 and the playing around with the other settings.

Because the surface isn't exactly the same as how it is done in PyMol it will never be exactly the same, but you can get pretty close by tweaking the settings. I'll add this to the list of things to do an explanatory video on.

BradyAJohnston avatar Jul 10 '22 22:07 BradyAJohnston

Thank you for your answer.

I found a new problem when adjusting the parameters. The “Voxel Size” cannot be 0, otherwise it will cause jamming. I often adjust parameters through the left and right buttons, which easily leads to this problem. image

Mangkun-Chen avatar Jul 11 '22 02:07 Mangkun-Chen

Yes that's blender freezing when trying to compute too much data from the lower voxel size. I need to set some more sensible defauls I think for the surface node, and maybe limit it to a couple of options. I will have a play around with it soon.

BradyAJohnston avatar Jul 11 '22 12:07 BradyAJohnston

I used "bio blender" before, which seems to generate protein surface by calling PyMOL. Unfortunately, this add-on does not support versions above 3.0.

Mangkun-Chen avatar Jul 11 '22 15:07 Mangkun-Chen

Hi Brady

Do you plan to add more surface styles in the future? Such as calling the open source version of pymol or something else. Current surface styles are not accurate enough if I need to show molecular docking.

Mangkun-Chen avatar Sep 15 '22 08:09 Mangkun-Chen

I do plan on adding them, but how this will be possible is still kind of an unknown. Currently the surfaces are generated using volumes via Geometry Nodes. To generate more 'accurate' surfaces, I would likely need to leverage external python libraries (like pymol etc).

I haven't tried using pymol etc yet because it adds yet another dependency and yet another thing to install and maintain for the user, complicating everything a bit more.

If you have suggestions on how to approach it, then you can let me know. There is upgraded volumes in Blender 3.3 which I will be implementing which should improve the surface representations a bit, but it'll still be somewhat limited.

BradyAJohnston avatar Sep 18 '22 02:09 BradyAJohnston

The new surface style in MolecularNodes v2 now makes this a lot more similar to PyMol. Seems to work on your example PDB!

It's still not quite the same algorithm as PyMol, but this uses the same approach of creating a grid of points, and measuring the minimum distance for each point to the atoms, then generates the mesh based on that.

image

BradyAJohnston avatar Jan 02 '23 02:01 BradyAJohnston