Thanks Tom, Elaine. I understand somewhat and to move on with what we have.

Yaikhomba

From: Tom Goddard <goddard@sonic.net>
Sent: 20 January 2021 17:34
To: Y. Mutum <ym337@cam.ac.uk>
Cc: ChimeraX Users Help <chimerax-users@cgl.ucsf.edu>
Subject: Re: [chimerax-users] CastP surfaces in ChimeraX/ Chimera
 
Hi Yaikhomba,

   The CastP server says it ignores all hydrogens.  If you add hydrogens in ChimeraX it will of course change the surface, maybe more holes, maybe fewer.

   The reason there is a hole in a pocket surface is because the patch of surface that fills the hole is closest to some atom which is not listed as one of the pocket lining atoms by the .poc file.    Why would CastP leave out such an atom?   There are lots of reasons.  It is not easy for CastP to figure out which atoms line the pocket.  It depends on the atom radii that surely differ by small amounts between CastP and ChimeraX.  If CastP includes more atoms lining the pocket this creates more fragments of surface outside the pocket, so there is a tradeoff, it doesn't want to include more than are needed.

   In summary the holes are to be expected.  Because of bugs in the Chimera surface calculation those holes sometimes get filled so it may look better than the ChimeraX surface.  You could fiddle with the ChimeraX surface probeRadius (a bit larger might help reduce holes) or the ChimeraX atom radii (again a bit larger might reduce holes).  But ultimately it would require a more sophisticated algorithm than CastP to minimize holes, and the surface calculation would need to be part of the algorithm.  Notice that on the CastP web site it does not show pocket surfaces -- instead it uses translucent spheres of various sizes that fill the pocket.  That is a better way to avoid holes than trying to depict a partial solvent excluded surface as in ChimeraX.

Tom

Here is how CastP shows the 3lbw pockets using translucent spheres of various sizes to avoid the problem with holes.  Probably CastP defines the pocket using these spheres.


On Jan 20, 2021, at 5:15 AM, Y. Mutum <ym337@cam.ac.uk> wrote:

Hi Elaine, Tom

I have figured out the surface holes problem. It seems to be a problem of the hydrogens, that were not added in the pdb. However, there're a few finishing-touch problems.

The approach I took was add hydrogens in the parent pdb (pdb: 1blw in this case), then to take the atoms relevant for that CastP-calculated pocket (say poc0001) from pymol as described earlier, select these corresponding atoms in the original pdb 'within a certain distance', then to generate a surface of these in ChimeraX. The commands I used were, (in order) :

>>> open 3lbw
>>> addh
Then, open the 1poc001.cif (atoms for that pocket poc001 saved from pymol)
>>> select #2 @<1  (This distance parameter is varied 2.5 A, 1 A to illustrate a point described later)
>>> surface #1 enclose #1
>>> ~surface ~sel

There are no holes in this new surface, provided the distance is 'optimum' for that surface. The problem with this approach seems to be that the surface generated is quite dependent on the distance cut-off chosen - please have a look at the screenshots (for selected within a distance of 2.5 A and 1.0 A (images attached in black and blue background respectively). You can see different levels of holes, depending on the distance chosen.

This surface is compared with the script in the previous email (image attached as white background), where there are a few holes. I actually, like the script generated by Tom - it is quite convenient for loading surfaces for these pockets of large pdb models, except for the holes - which I assume a way around is to add the hydrogens. Is there a way to modify this script - I am not sure of what exact distance parameters to use, once we have added the hydrogens in the parent pdb. In other words, I am also not sure how to 'enclose' this surface generated. Could you please have a look at this script?

Please feel free to correct this approach - I might not be entirely correct in adding the hydrogens either. I tried adding hydrogens to the pdb: 3lbw before running Tom's script, but these hydrogens seems to mess the surface originally intended (more holes - see image attached in pink background).

Another thing - there are other unconnected patches in my approach, as we increase this distance. Some of these surface patches are unconnected with the actual pocket and quite far away. I am not exactly sure how to get rid of these patches - could you please suggest ways to remove these fragmented patches? I tried the argument visiblePatches in the commands described above:
>>> ~surface ~sel enclose protein visiblePatches 1
But this is giving an error. I am not sure how to just show only the main surface (in this case, largest patch)

The atoms contributing to the pocket in observation, generated from pymol,  -1poc0001.cif, is attached, just in case you need it.

Thanks
Yaikhomba


From: Y. Mutum <ym337@cam.ac.uk>
Sent: 20 January 2021 08:07
To: Tom Goddard <goddard@sonic.net>
Cc: ChimeraX Users Help <chimerax-users@cgl.ucsf.edu>
Subject: Re: [chimerax-users] CastP surfaces in ChimeraX/ Chimera
 
Wow! This is amazing!
Thanks a lot everyone ! Tom, Elaine.
Thanks
Yaikhomba


From: Tom Goddard <goddard@sonic.net>
Sent: Wednesday, January 20, 2021 6:19:33 AM
To: Y. Mutum <ym337@cam.ac.uk>
Cc: ChimeraX Users Help <chimerax-users@cgl.ucsf.edu>
Subject: Re: [chimerax-users] CastP surfaces in ChimeraX/ Chimera
 
Hi Yaikhomba,

  The .poc file has the format of a PDB file with pocket numbers at the end of each atom line.  I wrote some example Python code to read that in ChimeraX and define names pocket1, pocket2, ... which are atom specifiers for the atoms lining each pocket.


  There are over 500 pockets for the complex III structure 3cx5.

  Some day we will probably implement the Chimera CASTP tool in ChimeraX.

Tom

<3cx5_pockets.jpg>

On Jan 19, 2021, at 4:06 PM, Y. Mutum <ym337@cam.ac.uk> wrote:

Hi Elaine

Could you please describe the sightly tedious way to generate that type of surface - I'm slightly interested in keeping on using ChimeraX and giving it a try. 

This is because  there are a couple of volume media that I want to display asking with the surface. Also, not to mention the good graphics in ChimeraX is quite easy to use too.

Thanks
Yaikhomba


From: Y. Mutum <ym337@cam.ac.uk>
Sent: Wednesday, January 20, 2021 12:04:45 AM
To: ChimeraX Users Help <chimerax-users@cgl.ucsf.edu>
Subject: Re: [chimerax-users] CastP surfaces in ChimeraX/ Chimera
 
Hi Elaine

Could you please describe the sightly tedious way - I'm slightly interested in keeping on using ChimeraX


From: Elaine Meng <meng@cgl.ucsf.edu>
Sent: Tuesday, January 19, 2021 11:50:50 PM
To: Y. Mutum <ym337@cam.ac.uk>
Cc: ChimeraX Users Help <chimerax-users@cgl.ucsf.edu>
Subject: Re: [chimerax-users] CastP surfaces in ChimeraX/ Chimera
 
Hi Yaikhomba,
I tried to describe it earlier, but I probably wasn't clear.  You would need to calculate the surface for the whole protein (not just those atoms) but then just show the contributions to that  overall  surface from the pocket atoms.  That is exactly what the castp tool in Chimera does in an automated way, but you would have to do it manually in ChimeraX.  I.e. instead of opening a separate coordinate file for those atoms, just select or specify them within the overall structure and show the parts of the overall surface resulting from those atoms.  That is what I was saying would be tedious in ChimeraX, listing all of those atoms in the command line for selection or surfacing.
Elaine
-----
Elaine C. Meng, Ph.D.                       
UCSF Chimera(X) team
Department of Pharmaceutical Chemistry
University of California, San Francisco

> On Jan 19, 2021, at 3:40 PM, Y. Mutum <ym337@cam.ac.uk> wrote:
> 
> Hi Elaine
> 
> I got a workaround but there are a few 'finishing-touch' problems.
> 
> In this case, as it is just for proof-of-principle, let's take the small pdb: 1bxw, as in the CastP website. I downloaded its generated surfaces, loaded them in pymol. The first one, 'poc0001', enders the surface as a thin surface - almost like a folded paper (attached as an image here - black background image).
> 
> I later exported these set of atoms forming 'poc001', as a .cif file. Then, opened this set of atoms in ChimeraX and generated a surface. The surface does look similar. However, ChimeraX renders this surface, as a continuous 3D blob, as it appears from a distance (picture attached - in the white background).
> I played around with a couple of options in surface command (such as >>> suface zone #1 near sel distance 2), but am unable to get it work - like 'paper thin'.
> 
> Is there a way to make the surface thin, like the one pymol generates (image attached in black background). I think in this case, it looks as if pymol has ignored the outer surface, so, just the 'inner suface' if my description is alright.
> 
> I have attached the set of atoms (1poc.cif), relevant for this pocket (poc0001), just in case, you may need it.
> 
> Thanks
> Yaikhomba
> 
> 
> From: Elaine Meng <meng@cgl.ucsf.edu>
> Sent: 19 January 2021 17:28
> To: Y. Mutum <ym337@cam.ac.uk>
> Cc: chimerax-users@cgl.ucsf.edu <chimerax-users@cgl.ucsf.edu>
> Subject: Re: [chimerax-users] CastP surfaces in ChimeraX/ Chimera
 
> Hi Yaikhomba,
> When Chimera shows Castp results, it is not showing a surface that Castp calculated, but instead molecular surface (calculated in Chimera) for a list of atoms from Castp.  Castp calculates which atoms are in each pocket, then Chimera calculates molecular surface and shows the patches of surface contributed by those atoms. 
> 
> Your structure is a huge complex.  You could try making very small changes in probe radius or VDW radii in Chimera, or (instead of split) using surfcat to specify a different surface to enclose each protein instead of the default enclosing all the proteins in one giant surface, e.g. after opening your 3cx5 castp results:
> 
> surfcat one :.a & protein
> surf one
> surfcat two :.b & protein
> surf two
> [... etc. for all protein chains]
> 
> ... but then using the dialog, the pocket surfaces would look messier because you'd have all the interchain interface surfaces in addition to the outside surface of the whole complex.
> 
> I don't think Castp was originally meant for use on large complexes, but instead to explore the shape of individual proteins.
> 
> However, if you cannot get the molecular surface calculated in Chimera, for a given pocket you could manually take the list of atoms and show molecular surface for those atoms in ChimeraX, but it would be tedious.  We don't have a tool in ChimeraX for automatically showing Castp results, so you would have to look in the .poc file with a text editor, find all the atoms associated with the pocket of interest (maybe pocket ID number is the next-to-last column?), and then show the molecular surface from those atoms using a ChimeraX command.  Sometimes the same atom contributes to more than one pocket.
> 
> I hope this helps,
> Elaine
> -----
> Elaine C. Meng, Ph.D.                       
> UCSF Chimera(X) team
> Department of Pharmaceutical Chemistry
> University of California, San Francisco
> 
> > On Jan 19, 2021, at 7:10 AM, Y. Mutum <ym337@cam.ac.uk> wrote:
> > 
> > Hi
> > 
> > Is there a way to open the results from CastP results in 'ChimeraX' and visualise the surfaces calculated using CastP? In this case, the pdb is 3cx5, and the surfaces are calculated from CastP webserver.
> > 
> > Just on using Chimera (version 1.15c) - I have also tried to open the CastP results using 'Chimera', but the molecular surfaces display are failing (picture attached). I followed up the abberant surface-calculation problems inhttps://www.rbvi.ucsf.edu/chimera/docs/UsersGuide/surfprobs.html. 
> > 
> > However, the display surfaces are all still failing - I tried the first 2 suggestions relevant to mine, but they are still failing. The first - which involves splitting the chain using the command 'split', shuts down the Castp: surfaces-window in Chimera and I can't see of a way to retrieve this CastP window with the list of surfaces. 
> > 
> > As, I do not want to split the model, I tried the second suggestion of 'surfcat one' (as CastP server selects atoms from multiple chains to create surfaces).
> > 
> > I am not sure if I want to mess up with the Vanderwaal radii (the third suggestion) either, as these surfaces were calculated in CastP with a specific probe radius.
> > 
> >  Would you have any suggestions of how to use ChimeraX to open and analyse molecular surfaces calculated by CastP? Last, but not the least, if suppose you have to end up using Chimera if ChimeraX doesn't support .poc files, could you please suggest this work-around for opening these problematic CastP-calculated-surfaces in Chimera?
> > 
> > Thanks
> > Yaikhomba
> 
> <Pymol_surface.png><ChimeraX_surface.png><1poc.cif>_______________________________________________
> ChimeraX-users mailing list
> ChimeraX-users@cgl.ucsf.edu
> Manage subscription:
> https://plato.cgl.ucsf.edu/mailman/listinfo/chimerax-users

_______________________________________________
ChimeraX-users mailing list
ChimeraX-users@cgl.ucsf.edu
Manage subscription:
https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users

<1poc001.cif><Screenshot 2021-01-20 at 13.02.41.png><Screenshot 2021-01-20 at 12.54.52.png><Screenshot 2021-01-20 at 12.54.04.png><Screenshot 2021-01-20 at 13.10.07.png>_______________________________________________
ChimeraX-users mailing list
ChimeraX-users@cgl.ucsf.edu
Manage subscription:
https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users