Re: [COOT] Conflicting opinions on what constitutes an alpha1-6 L-fucose between Coot and Privateer

2024-04-18 Thread Engin Özkan

Hi Markus,

There were reports to the ccp4bb and phenixbb back in 2011 about 
something similar. The monomer library files for FUC and/or the linkage 
definitions for refmac/phenix were not right. I think. My recollection 
is that this was corrected, and I could not reproduce your observation.


I also had private discussions with Garib Murshudov, who were correcting 
the glycan monomer problems back in ~2011.


I could find old links to some of the discussions on bulletin board 
archives:


https://phenix-online.org/pipermail/phenixbb/2011-November/017958.html

https://www.mail-archive.com/ccp4bb@jiscmail.ac.uk/msg13968.html

I am curious if something got reverted or if you have some ancient 
library definitions somewhere. But I hope this gives some ideas.


Best,

Engin


On 4/17/24 3:07 PM, Markus Meier wrote:

Hi Paul,

thank you for implementing the Glyco module in Coot!

I used its "Add N-linked Glycan" function to build an N-linked glycan 
which contains L-fucose with an alpha1-6 glycosidic linkage on the 
first N-acetyl glucosamine of the tree.


However, after exporting the tree, I checked it with privateer and 
unfortunately privateer flags the L-fucose as having the wrong 
anomeric linkage - beta 1-6 :-(

Coot reports the same as being in the alpha 1-6 anomeric form.

I then manually built the opposite anomeric form which privateer 
happily accepts as being alpha1-6. However, Coot reports it as beta 1-6.


In my understanding, the alpha configuration of a glycosidic linkage 
should have the oxygen at the anomeric centre and the -CH3 group at 
opposite faces of the sugar ring, so I have to agree with privateer on 
this one.


Please check you code.


I have attached the two glycan trees and here is the output of 
privateer and Coot for both. Coot and privateer versions are given at 
the bottom.


Btw. Neither privateer nor refmac5 can read the mmCIF files that Coot 
produces with the "Extract this Tree" functions. All the 
_atom_site.label_*_id entries are empty!


N133_tree_privateer_alpha_anomer_FUC.cif:

  Privateer:
    Detailed validation data
    

    PDB   Sugar   Q Phi    Theta  Detected type 
Cnf    Ctx   Ok?
        -  --  -- ---  
---  --  ---  -
    N133  NAG-A-459 0.597   63.27    2.85 beta-D-aldopyranose  
4c1  28.09   (n)  yes
    N133  NAG-A-460 0.603  145.39    2.15 beta-D-aldopyranose  
4c1  36.34   (n)  yes
    N133  BMA-A-461 0.550  333.80    4.39 beta-D-aldopyranose  
4c1  45.25   (n)  yes
    N133  MAN-A-462 0.628    6.26    5.03 alpha-D-aldopyranose 
4c1  46.22   (n)  yes
    N133  MAN-A-463 0.628    4.87    5.87 alpha-D-aldopyranose 
4c1  50.37   (n)  yes
    N133  FUC-A-464 0.615  162.25  174.51 alpha-L-aldopyranose 
1c4  31.24   (n)  yes <-


    Partially occupied monosaccharides, if any, are marked with an 
asterisk (*)


    SUMMARY:

   Wrong anomer: 0
   Wrong configuration: 0
   Unphysical puckering amplitude: 0
   In higher-energy conformations: 0

   Privateer has identified 0 issues, with 0 of 6 sugars affected.
    Coot output:
    DEBUG:: find_glycosidic_linkage_type() number of sorted distances: 1
     glyco close: 1.486  A 459  C1   to A 133  ND2
   debug:: find_glycosidic_linkage_type() for A 459 NAG,A 133 ASN 
returns "pyr-ASN"

    DEBUG:: find_glycosidic_linkage_type() number of sorted distances: 4
     glyco close: 2.397  A 459  C4   to A 460  C1
     glyco close: 2.339  A 459  O4   to A 460  C2
     glyco close: 2.318  A 459  O4   to A 460  O5
     glyco close: 1.387  A 459  O4   to A 460  C1
   debug:: find_glycosidic_linkage_type() for A 459 NAG,A 460 NAG 
returns "BETA1-4"

    DEBUG:: find_glycosidic_linkage_type() number of sorted distances: 3
     glyco close: 2.347  A 460  O4   to A 461  C2
     glyco close: 2.346  A 460  O4   to A 461  O5
     glyco close: 1.398  A 460  O4   to A 461  C1
   debug:: find_glycosidic_linkage_type() for A 460 NAG,A 461 BMA 
returns "BETA1-4"

    DEBUG:: find_glycosidic_linkage_type() number of sorted distances: 1
     glyco close: 1.407  A 461  O6   to A 462  C1
   debug:: find_glycosidic_linkage_type() for A 461 BMA,A 462 MAN 
returns "ALPHA1-6"

    DEBUG:: find_glycosidic_linkage_type() number of sorted distances: 1
     glyco close: 1.403  A 461  O3   to A 463  C1
   debug:: find_glycosidic_linkage_type() for A 461 BMA,A 463 MAN 
returns "ALPHA1-3"

    DEBUG:: find_glycosidic_linkage_type() number of sorted distances: 2
     glyco close: 2.385  A 459  O6   to A 464  O5
     glyco close: 1.399  A 459  O6   to A 464  C1
   debug:: find_glycosidic_linkage_type() for A 459 NAG,A 464 FUC 
returns "BETA1-6" <-


## 


N133_tree_privateer_beta_anomer_FUC.cif:

  Privateer:
    Detailed validation data
    --

Re: [COOT] Conflicting opinions on what constitutes an alpha1-6 L-fucose between Coot and Privateer

2024-04-18 Thread Markus Meier

Hi Engin,

hmm, it appears I was using the monomer library from 
https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/dependencies/monomers-2023-01-02-23:57:29.tar.gz
 (it gets installed automatically with Coot's build-it script).

However, the files in question (FUC.cif, NAG.cif, BMA.cif and MAN.cif) are 
identical to current CCP4 8.0.018 version of the library (installed by CCP4 
Update Manager) as well as version ccp4-8.0.018 and version ccp4-8.0.016 on 
GitHub (https://github.com/MonomerLibrary/monomers)

MD5 checksums on these files are
9cfba4ac24f056d648df8227316f788b  monomers/f/FUC.cif
958ac5b19a92ceec604d233457944b2a  monomers/n/NAG.cif
697dd5242334dd99dad9ce43133c6382  monomers/b/BMA.cif
9d68ff54296ef2f4622005efb4eb080b  monomers/m/MAN.cif

If they are different on your machine, please let me know.

I will switch monomer libraries anyway and do some testing.

I also was switching back and forth between my locally compiled coot (0.9.8.92) 
and the the CCP4 distributed version (0.9.8.93 EL). I will check if there is a 
difference between the two.

Thank you very much for your suggestion!

With best regards,
Markus

On 2024-04-18 13:48, Engin Özkan wrote:

Caution! This message was sent from outside the University of Manitoba.


Hi Markus,

There were reports to the ccp4bb and phenixbb back in 2011 about
something similar. The monomer library files for FUC and/or the linkage
definitions for refmac/phenix were not right. I think. My recollection
is that this was corrected, and I could not reproduce your observation.

I also had private discussions with Garib Murshudov, who were correcting
the glycan monomer problems back in ~2011.

I could find old links to some of the discussions on bulletin board
archives:

https://phenix-online.org/pipermail/phenixbb/2011-November/017958.html

https://www.mail-archive.com/ccp4bb@jiscmail.ac.uk/msg13968.html

I am curious if something got reverted or if you have some ancient
library definitions somewhere. But I hope this gives some ideas.

Best,

Engin


On 4/17/24 3:07 PM, Markus Meier wrote:

Hi Paul,

thank you for implementing the Glyco module in Coot!

I used its "Add N-linked Glycan" function to build an N-linked glycan
which contains L-fucose with an alpha1-6 glycosidic linkage on the
first N-acetyl glucosamine of the tree.

However, after exporting the tree, I checked it with privateer and
unfortunately privateer flags the L-fucose as having the wrong
anomeric linkage - beta 1-6 :-(
Coot reports the same as being in the alpha 1-6 anomeric form.

I then manually built the opposite anomeric form which privateer
happily accepts as being alpha1-6. However, Coot reports it as beta 1-6.

In my understanding, the alpha configuration of a glycosidic linkage
should have the oxygen at the anomeric centre and the -CH3 group at
opposite faces of the sugar ring, so I have to agree with privateer on
this one.

Please check you code.


I have attached the two glycan trees and here is the output of
privateer and Coot for both. Coot and privateer versions are given at
the bottom.

Btw. Neither privateer nor refmac5 can read the mmCIF files that Coot
produces with the "Extract this Tree" functions. All the
_atom_site.label_*_id entries are empty!

N133_tree_privateer_alpha_anomer_FUC.cif:

  Privateer:
    Detailed validation data
    

    PDB   Sugar   Q Phi    Theta  Detected type
Cnf    Ctx   Ok?
        -  --  -- ---
---  --  ---  -
    N133  NAG-A-459 0.597   63.27    2.85 beta-D-aldopyranose
4c1  28.09   (n)  yes
    N133  NAG-A-460 0.603  145.39    2.15 beta-D-aldopyranose
4c1  36.34   (n)  yes
    N133  BMA-A-461 0.550  333.80    4.39 beta-D-aldopyranose
4c1  45.25   (n)  yes
    N133  MAN-A-462 0.628    6.26    5.03 alpha-D-aldopyranose
4c1  46.22   (n)  yes
    N133  MAN-A-463 0.628    4.87    5.87 alpha-D-aldopyranose
4c1  50.37   (n)  yes
    N133  FUC-A-464 0.615  162.25  174.51 alpha-L-aldopyranose
1c4  31.24   (n)  yes <-

    Partially occupied monosaccharides, if any, are marked with an
asterisk (*)

    SUMMARY:

   Wrong anomer: 0
   Wrong configuration: 0
   Unphysical puckering amplitude: 0
   In higher-energy conformations: 0

   Privateer has identified 0 issues, with 0 of 6 sugars affected.
    Coot output:
    DEBUG:: find_glycosidic_linkage_type() number of sorted distances: 1
     glyco close: 1.486  A 459  C1   to A 133  ND2
   debug:: find_glycosidic_linkage_type() for A 459 NAG,A 133 ASN
returns "pyr-ASN"
    DEBUG:: find_glycosidic_linkage_type() number of sorted distances: 4
     glyco close: 2.397  A 459  C4   to A 460  C1
     glyco close: 2.339  A 459  O4   to A 460  C2
     glyco close: 2.318  A 459  O4   to A 460  O5
     glyco close: 1.387  A 459  O4   to A 460  C1
   debug:: find_glycosidic_linkage_type() for A 459 NAG,A 460 NAG
returns "BETA1-4"
    DEBUG:: find_glycosidic