Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some coordgen templates don't match themselves #52

Open
d-b-w opened this issue Feb 14, 2020 · 2 comments
Open

Some coordgen templates don't match themselves #52

d-b-w opened this issue Feb 14, 2020 · 2 comments

Comments

@d-b-w
Copy link
Collaborator

d-b-w commented Feb 14, 2020

There are some coordgen templates that don't match themselves! If I import the coordgen templates.mae file into Maestro and display the structures in the 2D viewer, the 2D view clearly doesn't match the input template.

This affects templates (0 indexed):

 [1, 8, 19, 20, 22, 43, 53, 65, 66, 67]

Here's an example. White is the coordinates generated by coordgen, black is the template structure:

coordgen_bad_template

Furthermore, some of the templates match other templates instead of themselves! This means that that some templates will never be used, and so only part of the template is actually honored. This affects templates (0 indexed):

[18, 27]
d-b-w added a commit to d-b-w/coordgenlibs that referenced this issue Feb 14, 2020
Adds a test that when coordgen is run on the template files,
the templates are actually used. Does this by reading the
template files into molecules and then running
generateCoordinates(). It looks like the template matching code
adds the "rigid" property to any atom that had matched a
template, so that's what is checked here.
@d-b-w d-b-w mentioned this issue Feb 14, 2020
d-b-w added a commit to d-b-w/coordgenlibs that referenced this issue Feb 14, 2020
Adds a test that when coordgen is run on the template files,
the templates are actually used. Does this by reading the
template files into molecules and then running
generateCoordinates(). It looks like the template matching code
adds the "rigid" property to any atom that had matched a
template, so that's what is checked here.
@ZontaNicola
Copy link
Collaborator

this happens because we now try to first open one ring and generate the rest of the coordinates and when we can't do that resort to templates. I'm actually happy with the result in this case but I do think that it'd be worth to search for templates as a first step instead and have a look at how that impacts performance

d-b-w added a commit to d-b-w/coordgenlibs that referenced this issue Feb 14, 2020
Adds a test that when coordgen is run on the template files,
the templates are actually used. Does this by reading the
template files into molecules and then running
generateCoordinates(). It looks like the template matching code
adds the "rigid" property to any atom that had matched a
template, so that's what is checked here.
@greglandrum
Copy link
Collaborator

If it doesn't have a big performance impact, it seems like the "expected" behavior would indeed be to check the templates first.

Are templates allowed to match parts of a set of fused rings? I could imagine that leading to awkward depictions if we apply the templates first.

d-b-w added a commit that referenced this issue Feb 14, 2020
Adds a test that when coordgen is run on the template files,
the templates are actually used. Does this by reading the
template files into molecules and then running
generateCoordinates(). It looks like the template matching code
adds the "rigid" property to any atom that had matched a
template, so that's what is checked here.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants