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

Recursive SMIRKS patterns should be considered #88

Open
bannanc opened this issue Jul 2, 2019 · 0 comments
Open

Recursive SMIRKS patterns should be considered #88

bannanc opened this issue Jul 2, 2019 · 0 comments
Labels
long term Caitlin did not have time to address

Comments

@bannanc
Copy link
Member

bannanc commented Jul 2, 2019

As with many issues I'm going to leave on this repo, this is just an idea I've been thinking about, but not one I had time to explore.

These are used in smirnoff99frosst, such as this angle:

<Angle smirks="[*:1]~[#7X3$(*~[#6X3,#6X2,#7X2+0]):2]~[*:3]" angle="120." id="a19" k="140.0"/>

In this case, we're combining many angles for planar nitrogens into one SMIRKS. The atoms [#6X3,#6X2,#7X2+0] in the recursive part of the SMIRKS can be on atom 1 and/or 3. In this case I think you could just put the recursive part on atom 1 and leave atom 3 as a *. However, there are other patterns where it is less obvious if that works or not.
For example, on this proper torsion:

<Proper smirks="[*:1]-[#7X3$(*-[#6X3,#6X2])r5:2]-@[#7X3$(*-[#6X3,#6X2])r5:3]~[*:4]" id="t127" idivf1="1" k1="3.600" periodicity1="2" phase1="180.0"/>

The recursive atoms could be 1 and 4. However, we could also imagine a molecule where the recursive atoms are NOT a part of the proper torsion, just neighbors helping you identifying the environment of these nitrogens. I don't know how to write a SMIRKS pattern that puts those recursive patterns on indexed or unindexed atoms.

Right now we NEVER use recursive SMIRKS. ChemPer won't make recursive SMIRKS. In fact, ChemicalEnvironments use the function _convert_embedded_smirks to switch recursive SMIRKS to normal ones.

I've thought about switching all non-indexed atoms in a SMIRKS to a recursive layer, but I'm not sure if that's universally a better option either.

@bannanc bannanc added the long term Caitlin did not have time to address label Jul 2, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
long term Caitlin did not have time to address
Projects
None yet
Development

No branches or pull requests

1 participant