As I’ve mentioned previously, some of the command line tricks for batch processing PDB coordinates for electrostatics models throw some errors back at you, although they don’t implicitly prevent you from using APBS. They just make the surface models look a bit ugly, as you’ll have conflicting charges confined in an unnatural environment, yielding bizarre electrostatics representations (I’ll have to generate an image sometime).

I had previously stated you could manually mutate each residue individually in PyMOL itself. Unfortunately, this kind of requires you to pick a rotamer conformation for each residue you mutate, which can end up a little time consuming. However, the easier option appears to be opening the PDB file up directly in a text editor and manually deleting one of the conflicting molecules (I arbitrarily choose molecule B).

For the unfamiliar, you typically receive errors like this when processing the PDB coordinates with pdb2pqr:

Warning: multiple occupancies found: CB in SER B 145
Warning: multiple occupancies found: OG in SER B 145
Warning: multiple occupancies found: CA in SER B 160
Warning: multiple occupancies found: CB in SER B 160
Warning: multiple occupancies found: OG in SER B 160
Warning: multiple occupancies found: CA in THR B 167
Warning: multiple occupancies found: CB in THR B 167

You would just scan down through the PDB file and manually excise the lines of interest:

ATOM 1025 N   SER A 145 56.542 65.056 23.859 1.00 16.94 N
ATOM 1026 CA ASER A 145 57.363 66.100 23.236 0.50 19.11 C
ATOM 1027 CA BSER A 145 57.311 66.155 23.284 0.50 18.80 C
ATOM 1028 C   SER A 145 58.562 66.465 24.106 1.00 18.17 C
ATOM 1029 O   SER A 145 59.325 67.386 23.786 1.00 18.18 O
ATOM 1030 CB ASER A 145 56.531 67.344 22.865 0.50 21.37 C
ATOM 1031 CB BSER A 145 56.431 67.413 23.198 0.50 20.66 C
ATOM 1032 OG ASER A 145 55.811 67.856 23.962 0.50 19.55 O
ATOM 1033 OG BSER A 145 55.267 67.170 22.421 0.50 14.85 O

So above, I’ve highlighted the lines I would remove. Now, processing the file as is…

ATOM 1025 N   SER A 145 56.542 65.056 23.859 1.00 16.94 N
ATOM 1026 CA ASER A 145 57.363 66.100 23.236 0.50 19.11 C
ATOM 1028 C   SER A 145 58.562 66.465 24.106 1.00 18.17 C
ATOM 1029 O   SER A 145 59.325 67.386 23.786 1.00 18.18 O
ATOM 1030 CB ASER A 145 56.531 67.344 22.865 0.50 21.37 C
ATOM 1032 OG ASER A 145 55.811 67.856 23.962 0.50 19.55 O

…will only continue to give you the errors seen earlier. To resolve those, you need to modify the residue name to indicate a single residue by removing the A or B prefix (highlighted in blue above). Now, with that out of the way, the following coordinate data can be saved down and used without consequence:

ATOM 1025 N   SER A 145 56.542 65.056 23.859 1.00 16.94 N
ATOM 1026 CA  SER A 145 57.363 66.100 23.236 0.50 19.11 C
ATOM 1028 C   SER A 145 58.562 66.465 24.106 1.00 18.17 C
ATOM 1029 O   SER A 145 59.325 67.386 23.786 1.00 18.18 O
ATOM 1030 CB  SER A 145 56.531 67.344 22.865 0.50 21.37 C
ATOM 1032 OG  SER A 145 55.811 67.856 23.962 0.50 19.55 O

This is probably just as cumbersome as manually mutating the residues in PyMOL, but this has the advantage of being scriptable. I’ll have to get a Perl (or maybe bash, not sure) script written for this to manually remove these lines.

The other bizarre error you get sometimes is:

ValueError: Too few atoms present to reconstruct or cap residue ALA A 32 in structure!
This error is generally caused by missing backbone atoms in this protein; you must use an external program to complete gaps in the protein backbone.

The residue identified typically ends up being a terminal residue on a peptide fragment, either between peptides within a protein, or at the C-terminus of the protein. In either case, the simplest solution (for now) has just been to delete the residue. I need to investigate a little further to determine what I can do by hand to fix these errors, short of manually connecting backbone atoms to “seal” a peptide chain. I’m also curious to read up on how these fragmented residues end up being put into the coordinate file in the first place. If you have an answer, please feel free to chime in!

Leave a Reply

Your email address will not be published. Required fields are marked *