Electrostatics / apbs

Software for biomolecular electrostatics and solvation calculations
http://www.poissonboltzmann.org/
Other
89 stars 24 forks source link

Issue using APBS plugin on polysaccharides #292

Open NoaBinnes opened 1 month ago

NoaBinnes commented 1 month ago

Hi, I am trying to visualize the electrostatic surface of several different kinds of molecules and some of them either contain polysaccharides (for example the protein MUC2, which is often O-glycosylated) or are themselves polysaccharides (such as hyaluronic acid, AKA HA). The ABPS plugin on PyMol and on the APBS website (see files generated for HA below) does not allow me to show the electrostatic surface of the sugars at all. Is this a bug? Is there a way to make this work? How can I visualize the electrostatic surface of the sugars? Best regards and thanks in advance.

pdb2pqr.stderr.txt pdb2pqr.stdout.txt pdb2pqr-metrics.json hcdfkw549v.log

jbardhan commented 1 month ago

Hi,

I’ll have a look. I appreciate why this functionality is of interest. Once we understand where the gap in functionality lies, then I will have a better ability to say whether it’s a bug or what the odds of making this work may be, and on what timescale.

Three requests:

  1. Can you please describe the problem in more detail, and share screenshots?
  2. What do you mean when you say, it “does not allow you to show the electrostatic surface of the sugars” ?
  3. If you share your PQR file and input files (you should be able to attach by using the GitHub website to reply, but you may need to change file extensions), that may also be helpful.

The original APBSpymol plugin was written by Michael G. Lerner and Heather Carlson, and I am not sure who is responsible for the new plugin in the most recent PyMOL releases (possibly Schrodinger). If it’s not a bug in APBS, we may not be the appropriate party to address this – but again, please share the above information, I do understand why these plots are of interest to you and want to help however I may.

Thanks very much, Jay

From: NoaBinnes @.> Date: Tuesday, June 25, 2024 at 8:25 AM To: Electrostatics/apbs @.> Cc: Subscribed @.***> Subject: [Electrostatics/apbs] Issue using the APBS plugin on PyMol on polysaccharides (Issue #292) Check twice before you click! This email originated from outside PNNL.

Hi, I am trying to visualize the electrostatic surface of several different kinds of molecules and some of them either contain polysaccharides (for example the protein MUC2, which is often O-glycosylated) or are themselves polysaccharides (such as hyaluronic acid). The ABPS plugin on PyMol and on the APBS website does not allow me to show the electrostatic surface of the sugars at all. Is this a bug? Is there a way to make this work? How can I visualize the electrostatic surface of the sugars? Best regards and thanks in advance.

— Reply to this email directly, view it on GitHubhttps://github.com/Electrostatics/apbs/issues/292, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AA2TE7TXXSF22H6RP5ERCU3ZJFOVJAVCNFSM6AAAAABJ3XSMOSVHI2DSMVQWIX3LMV43ASLTON2WKOZSGM3TENJWGIYTONA. You are receiving this because you are subscribed to this thread.Message ID: @.***>

NoaBinnes commented 1 month ago

Hi Jay, Thanks for getting back to me so quickly. The issue is that for molecules with sugars attached, or that are composed solely of sugars (in my case polysaccharides), the website and the plugin do not work. The sugars are defined in the forcefield I work with (CHARMM36m), so I am not sure what the issue is. Here is a screenshot of a regular protein, where the plugin worked (so I know that isn't the issue), and a screenshot of a glycosyalted glycoprotein, where the protein surface is shown, but not the attached sugars. And a screenshot of a polysaccharide (only sugars), which results in an error. This is what I mean when I say, it does not allow me to show the electrostatic surface of the sugars. There is an error, it does not even try to run. Screenshot from 2024-06-25 17-42-00 Screenshot from 2024-06-25 17-41-34 Screenshot from 2024-06-25 17-41-03

As for using the website, I tried to share them on Github but it must not have sent properly. I will add them below here. One of them would not attach as it is empty, a file named pdb2pqr.stdout.txt. pdb2pqr.stderr.txt pdb2pqr.stdout.txt pdb2pqr-metrics.json hcdfkw549v.log

If you are not the appropriate person to address this issue to, I would appreciate it if you could put me in touch with whoever is. Thank you so much and best regards, Noa

NoaBinnes commented 1 month ago

Screenshot from 2024-06-25 17-53-32 Here is the screen shot of me trying to use the website to create the sugar electrostatic.

jbardhan commented 1 month ago

Hi,

Thank you very much. Would you be able to attach here the PDB of the peptide+polysaccharide together? I am not sure that APBS is even doing the right thing in that case. I think the problem is that APBS doesn't have parameters (radii and charges) for the sugar atoms. That's what I'm seeing in the stderr file.

Thanks very much, Jay

NoaBinnes commented 1 month ago

Sure, here it is (I sent the pdb via email as I cannot attach this file type here, but i put it as a txt here so you should be able to convert it easily from here too). N30_Na0125_75_1.txt

Does this mean that APBS cannot work with sugars? And if so is there a way for me to make it work?

NoaBinnes commented 1 month ago

It won't let me send it as an email to the address for some reason, so if you find you can't convert the txt back to a PDB file you can send me your email address and I will send you the PDB.

jbardhan commented 1 month ago

Thank you for sharing this! I'll have a look tomorrow.

There's no barrier in principle to APBS working with sugars or other post-translational modifications (PTMs). However, the parameter sets included with the standard PDB2PQR distribution do not include an exhaustive set of definitions for PTMs. A first glance doesn't show any glycan parameters.

If I'm correct that the standard PDB2PQR distribution doesn't have parameters for your PTMs, you will need to supply a set on your own (see https://pdb2pqr.readthedocs.io/en/latest/using/index.html#web-server-use ) . I can help somewhat but cannot promise quick response times.

The starting point that I would use for this task would be David Green's work [1]. He developed a set of radii to be used in conjunction with CSFF charges [2], akin to the Nina and Roux radii optimized for CHARMM charges. Green and his lab used this combination of CSFF charges and their radii extensively.

[1] Green, D.F. Optimized parameters for continuum solvation calculations with carbohydrates. J. Phys. Chem. B 112: 5238–5249, 2008.

[2] Kuttel, M., J.W. Brady, and K.J. Naidoo. Carbohydrate solution simulations: Producing a force field with experimentally consistent primary alcohol rotational frequencies and populations. J. Comput. Chem. 23:1236–1243, 2002.

I will follow up in the next day or two after I've had a bit more time to look through PDB2PQR.

Thanks very much, Jay

NoaBinnes commented 4 weeks ago

Hi Jay, Since I am using some special sugars such as N-Acetylneuraminic acid (NANA, Neu5Ac), N-Acetylgalactosamine (GalNAc) and various GAGs sugars with sulfation (heparin, heparan sulfate and hyaluronic acid), I sent an email to David Green to ask if he calculated the atomic radii of these sugars. I have the partial charges but I understand that without the atomic radii, electrostatic surface cannot be calculated. In the meantime I tried using the data to create APBS for poly-phosphate (I have partial charges from an amber modified in our lab, and I took the atomic radii from the DNA phosphate groups in the original pqr files), but am running into some trouble. Perhaps you could tell me where the issue is? Screenshot from 2024-06-30 15-24-39 Thanks for all your help! Best, Noa

jbardhan commented 3 weeks ago

Hi Noa,

Can you please share the PDB and .dat files for this? I see the "WARNING" lines say PDB2PQR couldn't find a definition for the P1 residue, but the fact that you used --userff and --usernames means you did define the residue. If you can share the input files for this call to PDB2PQR, that may help identify if it's a bug in PDB2PQR.

Thanks very much, Jay

NoaBinnes commented 3 weeks ago

Hi Jay, I could not attach them as pdb or dat files, so I changed them to txt, please find them attached below. The residue is one we created, called Pi, there is also a Ple - for the left most edge of the molecule, and Pri - for the right most edge. I suspect the issue is with where the file needs to be accessed from (I currently keep them in the directory where I run the command), so I will try that. amber-param-polyP.txt - dat file. polyP_apbs.txt - pdb file. Best, Noa

jbardhan commented 3 weeks ago

Hi Noa,

I doubt that the directory issue is the only issue you're experiencing, because the amber-param-polyP.dat file , which is the file you passed using the --usernames argument, is supposed to be an XML file. It is also not in the .DAT file format that PDB2PQR expects (if your repo is in ~/repos/pdb2pqr, you want to look at one of the DAT files in ~/repos/pdb2pqr/pdb2pqr/dat; the .names files give you a picture of what you want to pass to --usernames).

But I do see that your amber-param-polyP has a format that cites Nathan Baker in the header... where did this file come from? (If it's a file you've modified, where did the original come from?)

Thanks very much, Jay

NoaBinnes commented 3 weeks ago

Hi Jay, The dat file is from one of the subdirectories where the pdb2pqr stuff is stored. I will try and answer again on Sunday in more depth. Have a nice weekend. Best regards, Noa

jbardhan commented 2 weeks ago

Hi Noa,

It occurred to me that there are two possible routes: 1) define modified residues "from scratch" (pass to PDB2PQR data files that define regular tyrosine and phosphotyrosine, if that were your interest) 2) define "patches" (given a particular tyrosine in a protein, how to make it a phosphotyrosine)

We've been focusing on the first, but the second may be more suitable. I'm looking into it.

Thanks very much, Jay

NoaBinnes commented 2 weeks ago

Hi Jay, I am also trying to find ways to generate the missing atomic radii and create the necessary files. I was wondering if I could use the radii for say carbon in proteins also for the sugars, or if they are markedly different? David Green answered my email, but unfortunately he does not have any more data to share beyond what he already published. Thank you very much for all your hard work! Hopefully we will manage soon. Best, Noa

jbardhan commented 2 weeks ago

Hi Noa,

Darn, I’m sorry that Dave didn’t have more to share.

If you’re using the traditional APBS solver (or any other that solves the Poisson Boltzmann equation), I recommend against using radii just based on the element, or atom type. An atom’s radius may be set very differently depending on its bonding (see Nina and Roux’s paper on parameterizing radii, 1994 I believe).

Also, I have learned that the “patches” functionality in PDB2PQR may not be viable for use here. It’s on our list of features, but it isn’t complete yet.

As a result, I think there are two slightly different paths that you might take:

  1. Make a local copy of the existing amino acid definitions (and parameter file you want to use). Then, add to the definitions file the all-atom descriptions for all the potential glycosylation/amino acid combinations that your protein has, i.e. if you have serine and a phosphoserine in your protein, your AA definition and parameter files would need the standard “SER” definition, and an additional “PSR” or whatever you want to name it. Then your PDB file would have to list which residues were glycosylated, using the PSR residue name. In this case, you can still use PDB2PQR to generate your PQR.
  2. A second option would be to use a different code to create your PQR file. I have a set of tools from a different line of research which we could try to run your glycosylated protein PDB through. You’d still need to know an appropriate set of radii and charges for the PTMs to create patches. You could then send the resulting PQR directly to APBS.
  3. A third option would be to use a different PB model which doesn’t need specifically parameterized radii. In my other research we’ve developed such a PB model, and in our experience it’s much more accurate than standard PB. The most recent version of our model is here : https://pubmed.ncbi.nlm.nih.gov/28379697/ and the code is maintained by Christopher Cooper https://github.com/cdcooper84/pygbe (that may not be the most authoritative, up to date repository). You’d still need to generate a PQR via method 2, but you shouldn’t need to worry about radii — by design, the model can take radii directly from MD force fields.

Thanks very much, Jay

From: NoaBinnes @.> Date: Wednesday, July 10, 2024 at 3:32 AM To: Electrostatics/apbs @.> Cc: Bardhan, Jay @.>, Comment @.> Subject: Re: [Electrostatics/apbs] Issue using APBS plugin on polysaccharides (Issue #292) Check twice before you click! This email originated from outside PNNL.

Hi Jay, I am also trying to find ways to generate the missing atomic radii and create the necessary files. I was wondering if I could use the radii for say carbon in proteins also for the sugars, or if they are markedly different? David Green answered my email, but unfortunately he does not have any more data to share beyond what he already published. Thank you very much for all your hard work! Hopefully we will manage soon. Best, Noa

— Reply to this email directly, view it on GitHubhttps://github.com/Electrostatics/apbs/issues/292#issuecomment-2219765496, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AA2TE7XYLNRXMJEVXMFX5Z3ZLTPPVAVCNFSM6AAAAABJ3XSMOSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMJZG43DKNBZGY. You are receiving this because you commented.Message ID: @.***>