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

Add Nannoolal et al. method #119

Open
1 of 2 tasks
Aariq opened this issue Sep 25, 2024 · 1 comment
Open
1 of 2 tasks

Add Nannoolal et al. method #119

Aariq opened this issue Sep 25, 2024 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@Aariq
Copy link
Collaborator

Aariq commented Sep 25, 2024

If we were to add another method besides SIMPOL.1, this paper would be a good one to look at: https://doi.org/10.1016/j.fluid.2008.04.020

  • Read and decide if it would work with volcalc
  • Estimate how much time would be needed to implement
@Aariq Aariq added the enhancement New feature or request label Sep 25, 2024
@Aariq Aariq self-assigned this Sep 25, 2024
@Aariq
Copy link
Collaborator Author

Aariq commented Sep 27, 2024

My impressions upon first reading:

Methods

  • Paper describes using an "automated method" for counting functional groups, but contains no description of it other than a reference to a German journal article from 1993 that I can't find (yet). Unclear if it is SMARTS strings or something like it, or some proprietary point-and-click software.

Groups and SMARTS strings

  • There are a lot of groups (217 including second order groups and group interactions)
  • Tables seem to describe the groups well with 1-2 example compounds per group
  • Most/all groups look possible with SMARTS at a glance, but quite a few look really difficult
  • Groups have a "priority" value, which I think is used to "pick" one group when multiple would match the same atom in a molecule.
    • E.g. something like "C with a bond to Cl or F" is less specific and lower priority than "C with a bond to a Cl" (I think??).
    • Unclear how this would work programmatically with SMARTS and might have to take the "correction" approach of just subtracting the less specific from the more specific.

Math

  • You are required to know the boiling point at a given pressure to estimate vapor pressure as a function of temperature.
  • Example calculations for several compounds in Appendix B
  • Slope parameter, $dB$, calculated with sum or group contributions and group interactions (a double sum of coefficients for when there are more than one of certain groups)
  • Equations in examples are unclear and don't match equations in body of paper always
  • What is the difference between "boiling point" and "boiling temperature"? They seem to be used non-interchangeably.

Summary

Overall this would be a significant undertaking because of 1) the large number of very specific SMARTS strings that would need to be created (unless the authors can help out), and 2) the major differences in how logP is calculated with this method. That is, it's not just a matter of adding a different table of SMARTS strings and coefficients! Seems probably do-able, but would want to replicate examples in Appendix B in a script first before thinking about anything else.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant