GLYCAM-Web / gmml

Glycam Molecular Modeling Library
GNU Lesser General Public License v3.0
4 stars 10 forks source link

Prep entries for L sugars not being found, D versions silently found and used instead #140

Closed gitoliver closed 11 months ago

gitoliver commented 2 years ago

Wed May 25 12:33:01 2022 >>> /programs/gems/gmml/src/InputSet/CondensedSequence/assemblyBuilder.cpp:90 >>> [INFO]: Found prep entry: 0YS for LGlcpNS Wed May 25 12:33:02 2022 >>> /programs/gems/gmml/src/InputSet/CondensedSequence/assemblyBuilder.cpp:90 >>> [INFO]: Found prep entry: 0fA for LFucp Thankfully the correct one is found for LFucp. But 0YS is wrong for LGlcpNS.

Check for other L sugars. Check for fault in prep file, maybe 0ys isn't being read in. If it's not being found, the D version certainly shouldn't be made. Throw if you can't find the lower case version. I wonder if it's ordering the prep file like it doesn't care if it's F or f, just it finds the f first for fuc?

Lachele commented 2 years ago

The L version of fucose is also the default. It does appear it might be a capitalization issue.

We should routinely build all these, then use the sugar ID code to verify identity.

On Wed, May 25, 2022 at 12:37 PM Oliver @.***> wrote:

Wed May 25 12:33:01 2022 >>> /programs/gems/gmml/src/InputSet/CondensedSequence/assemblyBuilder.cpp:90

[INFO]: Found prep entry: 0YS for LGlcpNS Wed May 25 12:33:02 2022 >>> /programs/gems/gmml/src/InputSet/CondensedSequence/assemblyBuilder.cpp:90 [INFO]: Found prep entry: 0fA for LFucp Thankfully the correct one is found for LFucp. But 0YS is wrong for LGlcpNS.

Check for other L sugars. Check for fault in prep file, maybe 0ys isn't being read in. If it's not being found, the D version certainly shouldn't be made. Throw if you can't find the lower case version. I wonder if it's ordering the prep file like it doesn't care if it's F or f, just it finds the f first for fuc?

— Reply to this email directly, view it on GitHub https://github.com/GLYCAM-Web/gmml/issues/140, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCV7D26QIZ2MKSIRVRB5ULVLZJMPANCNFSM5W5XJAUQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

-- :-) Lachele @.*** lachelefoley.com Note that lachelefoley.com is down. There was a server thing. After I finish writing 3 of the dozen papers I need to write, I'll put it back up.

gitoliver commented 11 months ago

It was a logic bug in the code that figures out that it's L and switches to search for the lowercase version. It didn't handle the case when we have more than single letter codes e.g. fuc is fine as it's just F, but GlcNS didn't work as the code is two letters: YS. I explicitly only made it lowercase when size was 1 and don't understand my logic for doing it that way. Maybe I thought the two letter ones work differently. I'm switching to always put it to lower case when the configuration is L as per our nomenclature, so YS becomes yS etc. I need to keep an eye out for bugs though, perhaps I did the size check for a good reason I'm forgetting now.