[phenixbb] Sugar woes

Matthew J. Whitley mwhitley at structbio.pitt.edu
Tue Apr 17 09:32:48 PDT 2012

Hi Simon,

I have been struggling with very similar issues over the last few weeks, but I (finally!) got it to work appropriately using just the procedure you described.  In my case, I was trying to fit and refine a pentasaccharide consisting of MAN and BMA.

Adapting what I did to your case, I would suggest the following steps: 

After loading NAG and MAN monomers into Coot and manually placing them into the electron density in approximately correct positions, save the coordinates and then manually delete the appropriate hydrogens and oxygen from the PDB file.  You specifically stated that you did NOT remove the hydrogens, but I found it to be absolutely necessary to delete these atoms, even though my feeling is that Phenix is supposed to remove automatically the appropriate atoms based on the type of glycosidic linkage specified (although I could be wrong on that).  In fact, I just deleted all hydrogen atoms from the sugars for purposes of refinement, knowing that I could add them back in later if desired.

To determine the appropriate atoms for removal from the coordinate file in order to form the desired glycosidic linkage, run the command phenix.where_mon_lib_list_cif and then look in the specified file for the type of glycosidic linkage you want.  For Beta1-2, you get this:

BETA1-2  .        DEL-HO2  pyranose .        DEL-O1   pyranose

This means that, in your example,

> apply_cif_link {
>      data_link = "BETA1-2"
>      residue_selection_1 = chain Z and resname NAG and resid 5
>      residue_selection_2 = chain Z and resname MAN and resid 4
>    }

you should delete the O1 atom from Man 4 of chain Z and the HO2 atom from Nag 5 of chain Z.  If the PDB file contains an O1 for Man4 or an HO2 for Nag5, the refinement will fail, and I think that's the cause of the error you're receiving.  If everything works as desired, the result should be that C1 of MAN will be connected to O2 of NAG, thus the 1-2 linkage.  If you then load the appropriate .CIF files into Coot and/or Phenix, you should be able to refine the sugars as desired.

Alpha2-6 links are not included in the mon_lib_list.cif file.  If you want to refine such a linkage, my (admittedly limited) understanding is that, unfortunately, you'd have to manually create a CIF file containing the appropriate restraints - bond lengths, angles, etc.

Hope you find something useful in all this.  I was was ready to pull out my hair several times over the past few weeks, but now that I got it to work, it doesn't seem so bad anymore.  Best of luck.


Matthew J. Whitley, Ph.D.
Postdoctoral Research Fellow
Angela Gronenborn Lab
Department of Structural Biology
University of Pittsburgh School of Medicine

On Apr 17, 2012, at 11:00 AM, phenixbb-request at phenix-online.org wrote:
> Message: 6
> Date: Tue, 17 Apr 2012 11:18:57 +0100
> From: Simon Kolstoe <s.kolstoe at ucl.ac.uk>
> To: PHENIX user mailing list <phenixbb at phenix-online.org>
> Subject: [phenixbb] Sugar woes
> Message-ID: <7BD08A7C-5B94-4448-8E8A-CBA4437E00B6 at ucl.ac.uk>
> Content-Type: text/plain; charset="us-ascii"
> Hi phenixbb,
> Every couple of years I come to build a sugar chain into a protein structure and hope the process is less painful than last time, however it seems things still are not smooth yet!
> I'm trying to build a fairly standard sugar chain onto a protein and am encountering many problems. What I am doing is using coot to get the coordinates for each sugar using the "File-> Get monomer" option and then putting the appropriate link in my phenix.refine .def file after renumbering the sugars. For example:
> apply_cif_link {
>      data_link = "BETA1-2"
>      residue_selection_1 = chain Z and resname NAG and resid 5
>      residue_selection_2 = chain Z and resname MAN and resid 4
>    }
>    apply_cif_link {
>      data_link = "BETA1-4"
>      residue_selection_1 = chain Z and resname GAL and resid 6
>      residue_selection_2 = chain Z and resname NAG and resid 5
>    }
> For some reason I keep getting the following error:
> ---------------
> Chain: "Z"
>      Number of atoms: 220
>      Number of conformers: 1
>      Conformer: ""
> Sorry: Traceback (most recent call last):
>  File "/Applications/PHENIX-1.7.3-928/Contents/phenix-1.7.3-928/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 1042, in apply_mod
>    mod_mon = self.monomer.apply_mod(mod_mod_id)
>  File "/Applications/PHENIX-1.7.3-928/Contents/phenix-1.7.3-928/cctbx_project/mmtbx/monomer_library/cif_types.py", line 399, in apply_mod
>    result.delete_atom_in_place(mod_atom.atom_id)
>  File "/Applications/PHENIX-1.7.3-928/Contents/phenix-1.7.3-928/cctbx_project/mmtbx/monomer_library/cif_types.py", line 316, in delete_atom_in_place
>    raise RuntimeError("delete_atom_in_place: unknown atom_id: %s" % atom_id)
> RuntimeError: delete_atom_in_place: unknown atom_id: HO2
> apply_mod failure:
>  pdbres="NAG Z   5 " segid="Z   "
>  comp id: NAG-b-D
>  mod id: DEL-HO2
> ------------------
> I haven't deleted the hydrogens that came with the sugars so what I thought it was doing was trying to delete an atom that isn't there, however adding a dummy atom with the name HO2 didn't work - any ideas?
> Also it seems happy with BETA1-4 links but not ALPHA2-6 links? How do I specify this link?
> Thanks,
> Simon

More information about the phenixbb mailing list