-
Notifications
You must be signed in to change notification settings - Fork 30
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
Lots of OpenEye warnings #201
Comments
Those seem to be new. On Sun, Mar 6, 2016, 5:01 AM John Chodera [email protected] wrote:
|
I'm not sure if this is the bit that is new, but I'm also getting a bunch of |
I am guessing that this warning has suddenly appeared due to an update of the OpenEye toolkits on PyPI. Might be worth submitting a ticket to OpenEye support to see if there's something that we should worry about in those messages. |
I've isolated the warnings in this code: from openeye import oechem, oeomega, oequacpac
def test(smiles, rms, strict_stereo):
print '\nParsing molecule {} with RMS={} and strict_stereo={}'.format(smiles, rms, strict_stereo)
molecule = oechem.OEMol()
if not oechem.OEParseSmiles(molecule, smiles):
raise ValueError("The supplied SMILES '%s' could not be parsed." % smiles)
omega = oeomega.OEOmega()
omega.SetRMSThreshold(rms) # Word to the wise: skipping this step can lead to significantly different charges!
omega.SetStrictStereo(strict_stereo)
status = omega(molecule) # generate conformation
if not status:
raise RuntimeError("omega returned error code %d" % status)
print 'OEAssignPartialCharges...'
status = oequacpac.OEAssignPartialCharges(molecule, oequacpac.OECharges_AM1BCCSym) # AM1BCCSym recommended by Chris Bayly to KAB+JDC, Oct. 20 2014.
if not status:
raise RuntimeError("OEAssignPartialCharges returned error code %d" % status)
if __name__ == '__main__':
smiles1 = 'Cc1ccc(cc1C#Cc2cnc3n2nccc3)C(=O)Nc4ccc(c(c4)C(F)(F)F)CN5CCN(CC5)C' # ponatinib inhibitor
smiles2 = "CN1CCN(CC1)CCCOc2cc3c(cc2OC)C(=[NH+]c4cc(c(cc4Cl)Cl)OC)C(=C=[N-])C=[NH+]3" # fails with strict stereo
test(smiles1, rms=1.0, strict_stereo=True)
test(smiles1, rms=0.5, strict_stereo=True)
test(smiles2, rms=1.0, strict_stereo=False) with
with
so
I'll open a bug report about this on the OpenEye support page asking for clarification. |
Thanks! Some of these may be problems with our input rather than bugs, but
it works be useful to know if either is the case!
|
It's possible they have changed the default OE charging protocol in this Thanks. On Sun, Mar 6, 2016 at 1:59 PM, John Chodera [email protected]
David Mobley |
Was the "canonical" charging method updated to? Maybe we should looking
Christopher.
|
The online release notes may have clues.
|
No clues in the online release notes:
https://docs.eyesopen.com/toolkits/python/releasenotes/releasenotes/index.html
I'd suggest we email Christopher Bayly if we don't get a response back from
OE support.
|
I think he was making changes to the canonical charging method, yes - DM On Mon, Mar 7, 2016 at 3:53 AM, John Chodera [email protected]
David Mobley |
Well, we have to figure out (1) how to ensure the old protocol is still reproducible, and (2) what the new protocol is and how to implement it correctly. |
Indeed. On Mon, Mar 7, 2016 at 9:44 AM, John Chodera [email protected]
David Mobley |
After discussion with OE support, we can safely ignore The errs = oechem.oeosstream()
oechem.OEThrow.SetOutputStream(errs)
status = oequacpac.OEAssignPartialCharges(molecule, oequacpac.OECharges_AM1BCCSym) # AM1BCCSym recommended by Chris Bayly to KAB+JDC, Oct. 20 2014.
if 'BCIChargeCorrector: BCI charge corrections will not be done for' in errs.str():
raise RuntimeError('Warning thrown:\n%s' % errs.str())
if not status:
raise RuntimeError("OEAssignPartialCharges returned error code %d" % status)
oechem.OEThrow.SetOutputStream(oechem.oeerr) Should we handle this case with an exception in |
Is this really something to raise an exception for, or should it be a To put it another way, is this assigning a "reasonable guess" value so that I'm at a meeting with Christopher Bayly so I can perhaps ask him if this is On Thu, Mar 10, 2016 at 2:50 PM, Andrea Rizzi [email protected]
David Mobley |
Yes, thank you, this is still unclear. I don't think I'm expert enough about this topic to judge, but the |
Can you provide files so I can go over them with him? Thanks. On Tue, Mar 15, 2016 at 10:17 AM, Andrea Rizzi [email protected]
David Mobley |
We should capture the new Bayly-approved workflow for charging so we can eliminate these warnings. |
Everything I have (code and results) is in my comments above. I think I also forwarded you all the conversation with OE support by mail. Let me know if you need more. Thanks! |
I don't think using his workflow will fix the issue with the BCC correction On Tue, Mar 15, 2016 at 10:53 AM, John Chodera [email protected]
David Mobley |
Yep. That's why I proposed to raise an exception when that warning appears. We can decide about this after your meeting anyway.
Thanks so much. |
I wonder if a better solution would be to do some sort of tautomer checking On Tue, Mar 15, 2016 at 11:00 AM, Andrea Rizzi [email protected]
David Mobley |
So I talked to Christopher about this, and the conclusion basically was DM On Tue, Mar 15, 2016 at 11:10 AM, David Mobley [email protected] wrote:
David Mobley |
These are structures generated from Epik, I believe, so they are actually higher-energy tautomers/protomers that we would like to include in free energy calculations. |
As far as I know, the structures generated from Epik only showed the warning
I guess I can implement this before releasing |
I'm now seeing a ton of OpenEye warnings in travis:
@davidlmobley: Have you noticed these before?
The text was updated successfully, but these errors were encountered: