You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(22) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(19) |
Feb
(9) |
Mar
(29) |
Apr
(20) |
May
(107) |
Jun
(79) |
Jul
(41) |
Aug
(55) |
Sep
(23) |
Oct
(60) |
Nov
(90) |
Dec
(103) |
2007 |
Jan
(121) |
Feb
(139) |
Mar
(94) |
Apr
(33) |
May
(60) |
Jun
(39) |
Jul
(46) |
Aug
(57) |
Sep
(59) |
Oct
(79) |
Nov
(133) |
Dec
(64) |
2008 |
Jan
(82) |
Feb
(57) |
Mar
(167) |
Apr
(95) |
May
(70) |
Jun
(89) |
Jul
(106) |
Aug
(83) |
Sep
(28) |
Oct
(60) |
Nov
(55) |
Dec
(17) |
2009 |
Jan
(58) |
Feb
(34) |
Mar
(127) |
Apr
(123) |
May
(69) |
Jun
(68) |
Jul
(155) |
Aug
(86) |
Sep
(64) |
Oct
(82) |
Nov
(74) |
Dec
(41) |
2010 |
Jan
(39) |
Feb
(70) |
Mar
(110) |
Apr
(48) |
May
(60) |
Jun
(112) |
Jul
(114) |
Aug
(94) |
Sep
(100) |
Oct
(236) |
Nov
(72) |
Dec
(85) |
2011 |
Jan
(51) |
Feb
(37) |
Mar
(55) |
Apr
(27) |
May
(25) |
Jun
(38) |
Jul
(30) |
Aug
(28) |
Sep
(52) |
Oct
(74) |
Nov
(39) |
Dec
(58) |
2012 |
Jan
(29) |
Feb
(25) |
Mar
(33) |
Apr
(11) |
May
(155) |
Jun
(86) |
Jul
(28) |
Aug
(18) |
Sep
(28) |
Oct
(33) |
Nov
(38) |
Dec
(18) |
2013 |
Jan
(18) |
Feb
(31) |
Mar
(66) |
Apr
(46) |
May
(12) |
Jun
(30) |
Jul
(29) |
Aug
(14) |
Sep
(5) |
Oct
(19) |
Nov
(20) |
Dec
(8) |
2014 |
Jan
(6) |
Feb
(36) |
Mar
(11) |
Apr
|
May
(1) |
Jun
(5) |
Jul
(11) |
Aug
(9) |
Sep
(7) |
Oct
(11) |
Nov
|
Dec
(5) |
2015 |
Jan
(13) |
Feb
(34) |
Mar
(17) |
Apr
(26) |
May
(11) |
Jun
(8) |
Jul
(10) |
Aug
(10) |
Sep
|
Oct
(8) |
Nov
(4) |
Dec
(29) |
2016 |
Jan
(17) |
Feb
(22) |
Mar
(7) |
Apr
(7) |
May
(6) |
Jun
(21) |
Jul
(19) |
Aug
(3) |
Sep
(14) |
Oct
(7) |
Nov
(3) |
Dec
|
2017 |
Jan
(16) |
Feb
(32) |
Mar
(22) |
Apr
(2) |
May
(11) |
Jun
(18) |
Jul
(25) |
Aug
(4) |
Sep
(2) |
Oct
(7) |
Nov
(1) |
Dec
(6) |
2018 |
Jan
(11) |
Feb
(4) |
Mar
(7) |
Apr
(22) |
May
(7) |
Jun
(20) |
Jul
(5) |
Aug
(7) |
Sep
(7) |
Oct
(5) |
Nov
(1) |
Dec
|
2019 |
Jan
|
Feb
(1) |
Mar
(3) |
Apr
(2) |
May
(1) |
Jun
(10) |
Jul
(5) |
Aug
(1) |
Sep
(29) |
Oct
(26) |
Nov
(14) |
Dec
|
2020 |
Jan
(6) |
Feb
(16) |
Mar
(3) |
Apr
(12) |
May
(4) |
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2021 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
(9) |
Jun
(15) |
Jul
(6) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
(3) |
2024 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Geoffrey H. <geo...@gm...> - 2024-02-22 17:24:02
|
It would help a lot to know more about the patch. Yes, it seems as if the coordinates are different. This may be less relevant (e.g., you change a force field, so the optimization will differ). Best, -Geoff On Feb 14, 2024 at 3:35:14 PM, David van der Spoel < dav...@ic...> wrote: > Dear devs, > > I'm trying to debug the output of a test for a patch that I wrote: > > 230/233 Test #230: pybindtest_obconv_writers ........***Failed Error > regular expression found in output. Regex=[FAIL] 0.73 > > Running it with > % export CTEST_OUTPUT_ON_FAILURE=1 > % cmake -P > "/Users/spoel/tmp/openbabel/build/test/pybindtest_obconv_writers.cmake" > >& output.txt > > Yields in the output.txt the following from what I deduce that > coordinates are generated incorrectly. Is that correct? Is there a way > to analyze this in a more comprehensible manner? > > Traceback (most recent call last): > File "/Users/spoel/tmp/openbabel/test/testobconv_writers.py", line > 2761, in test_default > self.assertWriters(self.fmt, """\ > File "/Users/spoel/tmp/openbabel/test/testobconv_writers.py", line > 258, in assertWriters > test_write_string(self, mol, conv, expected_output, normalize) > File "/Users/spoel/tmp/openbabel/test/testobconv_writers.py", line > 165, in test_write_string > test_case.assertMultiLineEqual(output.replace("\r\n", "\n"), > expected_output.replace("\r\n", "\n")) > AssertionError: '{\n [1926 chars]102014\n ],\n "y": [[1072 > chars]]\n}' != '{\n [1926 chars]102012\ > n ],\n "y": [[1070 chars]]\n}' > { > <snip> > "conformers": [ > { > "x": [ > 1.5846, > 1.5703, > 2.4295, > 3.3031, > 3.3175, > 0.0, > -1.0005, > 2.313816216007316, > 0.669250157347277, > 2.4146659588503769, > 4.189331679349326, > 4.052466878708012, > - -1.4648575597102014 > ? ^ > + -1.4648575597102012 > ? ^ > ], > "y": [ > - -0.0249, > - 0.9755, > - 1.4882, > ? ^^^ > + 1.5846, > ? ++ ^ > - 1.0004, > ? ^^^ > + 1.5703, > ? ++ ^ > - -0.0, > ? ^^ ^ > + 2.4295, > ? ^ ^^^^ > + 3.3031, > + 3.3175, > 0.0, > - 0.0051, > ? ^ - > + -1.0005, > ? ^^ + > - -0.7551518129467202, > - 1.4786234252700852, > - 2.520093381713039, > - 1.5291886255562557, > - -0.7244637238690441, > - 0.8189433858796095 > + 2.313816216007316, > + 0.669250157347277, > + 2.4146659588503769, > + 4.189331679349326, > + 4.052466878708012, > + -1.4648575597102012 > ], > > -- > David van der Spoel, Ph.D., > Professor of Computational Molecular Biophysics > Uppsala University. > http://virtualchemistry.org > > > > > > > > > > När du har kontakt med oss på Uppsala universitet med e-post så innebär > det att vi behandlar dina personuppgifter. För att läsa mer om hur vi gör > det kan du läsa här: http://www.uu.se/om-uu/dataskydd-personuppgifter/ > > E-mailing Uppsala University means that we will process your personal > data. For more information on how this is performed, please read here: > http://www.uu.se/en/about-uu/data-protection-policy > > > _______________________________________________ > OpenBabel-Devel mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/openbabel-devel > |
From: David v. d. S. <dav...@ic...> - 2024-02-21 21:08:09
|
Any suggestion? On 2024-02-14 21:35, David van der Spoel wrote: > Dear devs, > > I'm trying to debug the output of a test for a patch that I wrote: > > 230/233 Test #230: pybindtest_obconv_writers ........***Failed Error > regular expression found in output. Regex=[FAIL] 0.73 > > Running it with > % export CTEST_OUTPUT_ON_FAILURE=1 > % cmake -P > "/Users/spoel/tmp/openbabel/build/test/pybindtest_obconv_writers.cmake" > >& output.txt > > Yields in the output.txt the following from what I deduce that > coordinates are generated incorrectly. Is that correct? Is there a way > to analyze this in a more comprehensible manner? > > Traceback (most recent call last): > File "/Users/spoel/tmp/openbabel/test/testobconv_writers.py", line > 2761, in test_default > self.assertWriters(self.fmt, """\ > File "/Users/spoel/tmp/openbabel/test/testobconv_writers.py", line > 258, in assertWriters > test_write_string(self, mol, conv, expected_output, normalize) > File "/Users/spoel/tmp/openbabel/test/testobconv_writers.py", line > 165, in test_write_string > test_case.assertMultiLineEqual(output.replace("\r\n", "\n"), > expected_output.replace("\r\n", "\n")) > AssertionError: '{\n [1926 chars]102014\n ],\n "y": [[1072 > chars]]\n}' != '{\n [1926 chars]102012\ > n ],\n "y": [[1070 chars]]\n}' > { > <snip> > "conformers": [ > { > "x": [ > 1.5846, > 1.5703, > 2.4295, > 3.3031, > 3.3175, > 0.0, > -1.0005, > 2.313816216007316, > 0.669250157347277, > 2.4146659588503769, > 4.189331679349326, > 4.052466878708012, > - -1.4648575597102014 > ? ^ > + -1.4648575597102012 > ? ^ > ], > "y": [ > - -0.0249, > - 0.9755, > - 1.4882, > ? ^^^ > + 1.5846, > ? ++ ^ > - 1.0004, > ? ^^^ > + 1.5703, > ? ++ ^ > - -0.0, > ? ^^ ^ > + 2.4295, > ? ^ ^^^^ > + 3.3031, > + 3.3175, > 0.0, > - 0.0051, > ? ^ - > + -1.0005, > ? ^^ + > - -0.7551518129467202, > - 1.4786234252700852, > - 2.520093381713039, > - 1.5291886255562557, > - -0.7244637238690441, > - 0.8189433858796095 > + 2.313816216007316, > + 0.669250157347277, > + 2.4146659588503769, > + 4.189331679349326, > + 4.052466878708012, > + -1.4648575597102012 > ], > > -- > David van der Spoel, Ph.D., > Professor of Computational Molecular Biophysics > Uppsala University. > http://virtualchemistry.org > > > > > > > > > > När du har kontakt med oss på Uppsala universitet med e-post så > innebär det att vi behandlar dina personuppgifter. För att läsa mer om > hur vi gör det kan du läsa här: > http://www.uu.se/om-uu/dataskydd-personuppgifter/ > > E-mailing Uppsala University means that we will process your personal > data. For more information on how this is performed, please read here: > http://www.uu.se/en/about-uu/data-protection-policy > > > _______________________________________________ > OpenBabel-Devel mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/openbabel-devel > > VARNING: Klicka inte på länkar och öppna inte bilagor om du inte > känner igen avsändaren och vet att innehållet är säkert. > CAUTION: Do not click on links or open attachments unless you > recognise the sender and know the content is safe. -- David van der Spoel, Ph.D., Professor of Computational Molecular Biophysics Uppsala University. http://virtualchemistry.org När du har kontakt med oss på Uppsala universitet med e-post så innebär det att vi behandlar dina personuppgifter. För att läsa mer om hur vi gör det kan du läsa här: http://www.uu.se/om-uu/dataskydd-personuppgifter/ E-mailing Uppsala University means that we will process your personal data. For more information on how this is performed, please read here: http://www.uu.se/en/about-uu/data-protection-policy |
From: David v. d. S. <dav...@ic...> - 2024-02-14 20:35:42
|
Dear devs, I'm trying to debug the output of a test for a patch that I wrote: 230/233 Test #230: pybindtest_obconv_writers ........***Failed Error regular expression found in output. Regex=[FAIL] 0.73 Running it with % export CTEST_OUTPUT_ON_FAILURE=1 % cmake -P "/Users/spoel/tmp/openbabel/build/test/pybindtest_obconv_writers.cmake" >& output.txt Yields in the output.txt the following from what I deduce that coordinates are generated incorrectly. Is that correct? Is there a way to analyze this in a more comprehensible manner? Traceback (most recent call last): File "/Users/spoel/tmp/openbabel/test/testobconv_writers.py", line 2761, in test_default self.assertWriters(self.fmt, """\ File "/Users/spoel/tmp/openbabel/test/testobconv_writers.py", line 258, in assertWriters test_write_string(self, mol, conv, expected_output, normalize) File "/Users/spoel/tmp/openbabel/test/testobconv_writers.py", line 165, in test_write_string test_case.assertMultiLineEqual(output.replace("\r\n", "\n"), expected_output.replace("\r\n", "\n")) AssertionError: '{\n [1926 chars]102014\n ],\n "y": [[1072 chars]]\n}' != '{\n [1926 chars]102012\ n ],\n "y": [[1070 chars]]\n}' { <snip> "conformers": [ { "x": [ 1.5846, 1.5703, 2.4295, 3.3031, 3.3175, 0.0, -1.0005, 2.313816216007316, 0.669250157347277, 2.4146659588503769, 4.189331679349326, 4.052466878708012, - -1.4648575597102014 ? ^ + -1.4648575597102012 ? ^ ], "y": [ - -0.0249, - 0.9755, - 1.4882, ? ^^^ + 1.5846, ? ++ ^ - 1.0004, ? ^^^ + 1.5703, ? ++ ^ - -0.0, ? ^^ ^ + 2.4295, ? ^ ^^^^ + 3.3031, + 3.3175, 0.0, - 0.0051, ? ^ - + -1.0005, ? ^^ + - -0.7551518129467202, - 1.4786234252700852, - 2.520093381713039, - 1.5291886255562557, - -0.7244637238690441, - 0.8189433858796095 + 2.313816216007316, + 0.669250157347277, + 2.4146659588503769, + 4.189331679349326, + 4.052466878708012, + -1.4648575597102012 ], -- David van der Spoel, Ph.D., Professor of Computational Molecular Biophysics Uppsala University. http://virtualchemistry.org När du har kontakt med oss på Uppsala universitet med e-post så innebär det att vi behandlar dina personuppgifter. För att läsa mer om hur vi gör det kan du läsa här: http://www.uu.se/om-uu/dataskydd-personuppgifter/ E-mailing Uppsala University means that we will process your personal data. For more information on how this is performed, please read here: http://www.uu.se/en/about-uu/data-protection-policy |
From: Igor L. <ile...@uc...> - 2023-12-24 01:58:08
|
Hi Yi-Shu Tu, Here is the new pull request: https://github.com/openbabel/openbabel/pull/2661 Best, Igor On 12/5/2023 11:47 PM, Yi-shu Tu wrote: > Hi Igor, > > I think you may create a pull request on > https://github.com/openbabel/openbabel/pulls > <https://github.com/openbabel/openbabel/pulls> > > Best regards, > Yi-Shu Tu > > On Wed, Dec 6, 2023 at 1:18 PM Igor Leontyev via OpenBabel-Devel > <ope...@li... > <mailto:ope...@li...>> wrote: > > Dear Open Babel Developers, > I have improved hin-format read/write routines and would like to > incorporate these changes in the next Open Babel release if possible. > How can it be done? We frequently use hin-files among collaborative > groups and enabling correct conversion to other formats is highly > desirable. > > The new HIN features include parsing atomIDs (labels), comments (to > OBGenericData, OBDaataPair), partial/formal charges, and etc. > > Thanks, > Igor Leontyev > > > _______________________________________________ > OpenBabel-Devel mailing list > Ope...@li... > <mailto:Ope...@li...> > https://lists.sourceforge.net/lists/listinfo/openbabel-devel > <https://lists.sourceforge.net/lists/listinfo/openbabel-devel> > > > > _______________________________________________ > OpenBabel-Devel mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/openbabel-devel |
From: Yi-shu Tu <geo...@gm...> - 2023-12-06 07:47:44
|
Hi Igor, I think you may create a pull request on https://github.com/openbabel/openbabel/pulls Best regards, Yi-Shu Tu On Wed, Dec 6, 2023 at 1:18 PM Igor Leontyev via OpenBabel-Devel < ope...@li...> wrote: > Dear Open Babel Developers, > I have improved hin-format read/write routines and would like to > incorporate these changes in the next Open Babel release if possible. > How can it be done? We frequently use hin-files among collaborative > groups and enabling correct conversion to other formats is highly > desirable. > > The new HIN features include parsing atomIDs (labels), comments (to > OBGenericData, OBDaataPair), partial/formal charges, and etc. > > Thanks, > Igor Leontyev > > > _______________________________________________ > OpenBabel-Devel mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/openbabel-devel > |
From: Igor L. <ile...@uc...> - 2023-12-06 05:18:14
|
Dear Open Babel Developers, I have improved hin-format read/write routines and would like to incorporate these changes in the next Open Babel release if possible. How can it be done? We frequently use hin-files among collaborative groups and enabling correct conversion to other formats is highly desirable. The new HIN features include parsing atomIDs (labels), comments (to OBGenericData, OBDaataPair), partial/formal charges, and etc. Thanks, Igor Leontyev |
From: Geoffrey H. <geo...@gm...> - 2023-10-24 20:58:47
|
Unfortunately, as part of a routine hosting update (e.g., my provider changed DNS) the openbabel.org website is currently down. It’s not clear from the logs why the site remains down. I’m going to take the opportunity to cleanup a new website based on Noel O’Boyle’s excellent docs: https://open-babel.readthedocs.io/en/latest/ If you have particular feedback as to the site (e.g., API docs for old versions), please let me know. (All the files are intact, it’s just stuck in a redirect loop for no obvious reason.) If you’d like to help, I will be going off of https://github.com/openbabel/openbabel.github.io (Although I may switch from Jekyll to Spinx + Markdown, since Noel’s docs are already formatted.) Best, -Geoff |
From: David v. d. S. <dav...@ic...> - 2021-08-01 17:52:42
|
On 2021-07-27 12:33, David van der Spoel wrote: > On 2021-07-27 10:39, Noel O'Boyle wrote: >> OBBond.IsAromatic(). See the docs. > > Thanks for the suggestion. That works fine for aromatic rings, but not > for COO- or NO2 groups. Is there another flag to test, I cannot find > anything in the documentation. > > An OBbond.IsResonant() would be great... Just some feed back that I was able to implement a hack in my own code turning both aromatic bonds and specific others like COO- into bond orders of 1.5. Cheers, David. > > >> >> I would not use Smarts patterns to type atoms or bonds, but rather do >> it in code. The former is just too error prone, slow and less readable. >> >> On Tue, 27 Jul 2021, 07:18 David van der Spoel, >> <dav...@ic... <mailto:dav...@ic...>> >> wrote: >> >> On 2021-07-27 07:51, Noel O'Boyle wrote: >> > Is there a particular problem you are trying to solve where >> underlying >> > kekule representation is causing a problem? >> > >> >> Yes, I am extracting bond orders from OB and they go into my force >> field >> code. Different bond orders means different bond properties which in >> addition yield different charges in my force field code. >> >> If I understand it correctly the kekulization code checks for >> resonance >> but in order to get the chemistry of single and double bonds >> right we >> had to add over 100 lines to bondtyp.txt, so I am not sure that >> the code >> alone is enough. >> >> If it would be easy to extract the aromaticity of a bond that >> would be >> sufficient for my purpose indeed. >> >> > >> > On Mon, 26 Jul 2021, 21:28 David Koes, <dk...@pi... >> <mailto:dk...@pi...> >> > <mailto:dk...@pi... <mailto:dk...@pi...>>> wrote: >> > >> > In my opinion, if the only fractional value will be 1.5 then >> > non-integer >> > bond orders aren't worth the pain of breaking compatibility >> since >> > this >> > state can be (and is, for rings) represented by setting the >> aromatic >> > property of the bond. Perhaps we should provide additional, >> more >> > nuanced properties to indicate resonance vs aromaticity? >> > >> > If there is a reason for fractions other than 1.5, then I >> think this >> > should be a separate property entirely (e.g., like formal >> charges vs >> > partial charges). >> > >> > I would point out that although O=CO is represented with a >> double and >> > single bond, the oxygens still get an identical partial >> charge as the >> > carboxylic acid group is recognized as such: >> > print(pybel.readstring('smi','O=CO').write('mol2')) >> > >> > David Koes >> > >> > Associate Professor >> > Computational & Systems Biology >> > University of Pittsburgh >> > >> > On 7/26/21 5:36 AM, David van der Spoel wrote: >> > > Hi, >> > > >> > > maybe this has been discussed earlier, but I would like to >> hear your >> > > opinion on implementing non-integer bond orders. For e.g. >> > benzene the >> > > average CC bond order would be 1.5, and likewise for COO- >> groups >> > or NOO >> > > groups. Quantum-chemically such resonant groups turn out >> to be >> > > symmetrical and e.g. with identical charges on the O in >> those cases. >> > > >> > > When using integer bond orders we are enforcing an asymmetry >> > that is not >> > > there. So would it be worthwhile implementing non-integer >> bond >> > orders or >> > > is there a workaround that I am overlooking? >> > > >> > > Cheers, >> > > >> > > -- >> > > David van der Spoel, Ph.D., >> > > Professor of Computational Molecular Biophysics >> > > Uppsala University. >> > >> > >> > _______________________________________________ >> > OpenBabel-Devel mailing list >> > Ope...@li... >> <mailto:Ope...@li...> >> > <mailto:Ope...@li... >> <mailto:Ope...@li...>> >> > https://lists.sourceforge.net/lists/listinfo/openbabel-devel >> <https://lists.sourceforge.net/lists/listinfo/openbabel-devel> >> > >> <https://lists.sourceforge.net/lists/listinfo/openbabel-devel >> <https://lists.sourceforge.net/lists/listinfo/openbabel-devel>> >> > >> >> >> -- >> David van der Spoel, Ph.D., >> Professor of Computational Molecular Biophysics >> Uppsala University. >> http://virtualchemistry.org <http://virtualchemistry.org> >> >> >> >> >> >> >> >> >> >> När du har kontakt med oss på Uppsala universitet med e-post så >> innebär det att vi behandlar dina personuppgifter. För att läsa >> mer om hur vi gör det kan du läsa här: >> http://www.uu.se/om-uu/dataskydd-personuppgifter/ >> <http://www.uu.se/om-uu/dataskydd-personuppgifter/> >> >> E-mailing Uppsala University means that we will process your >> personal data. For more information on how this is performed, >> please read here: >> http://www.uu.se/en/about-uu/data-protection-policy >> <http://www.uu.se/en/about-uu/data-protection-policy> >> > > > -- > David van der Spoel, Ph.D., > Professor of Computational Molecular Biophysics > Uppsala University. > http://virtualchemistry.org > > > > > > > > > > När du har kontakt med oss på Uppsala universitet med e-post så > innebär det att vi behandlar dina personuppgifter. För att läsa mer om > hur vi gör det kan du läsa här: > http://www.uu.se/om-uu/dataskydd-personuppgifter/ > > E-mailing Uppsala University means that we will process your personal > data. For more information on how this is performed, please read here: > http://www.uu.se/en/about-uu/data-protection-policy > > > _______________________________________________ > OpenBabel-Devel mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/openbabel-devel -- David van der Spoel, Ph.D., Professor of Computational Molecular Biophysics Uppsala University. http://virtualchemistry.org När du har kontakt med oss på Uppsala universitet med e-post så innebär det att vi behandlar dina personuppgifter. För att läsa mer om hur vi gör det kan du läsa här: http://www.uu.se/om-uu/dataskydd-personuppgifter/ E-mailing Uppsala University means that we will process your personal data. For more information on how this is performed, please read here: http://www.uu.se/en/about-uu/data-protection-policy |
From: David v. d. S. <dav...@ic...> - 2021-07-27 10:33:41
|
On 2021-07-27 10:39, Noel O'Boyle wrote: > OBBond.IsAromatic(). See the docs. Thanks for the suggestion. That works fine for aromatic rings, but not for COO- or NO2 groups. Is there another flag to test, I cannot find anything in the documentation. An OBbond.IsResonant() would be great... > > I would not use Smarts patterns to type atoms or bonds, but rather do > it in code. The former is just too error prone, slow and less readable. > > On Tue, 27 Jul 2021, 07:18 David van der Spoel, > <dav...@ic... <mailto:dav...@ic...>> wrote: > > On 2021-07-27 07:51, Noel O'Boyle wrote: > > Is there a particular problem you are trying to solve where > underlying > > kekule representation is causing a problem? > > > > Yes, I am extracting bond orders from OB and they go into my force > field > code. Different bond orders means different bond properties which in > addition yield different charges in my force field code. > > If I understand it correctly the kekulization code checks for > resonance > but in order to get the chemistry of single and double bonds right we > had to add over 100 lines to bondtyp.txt, so I am not sure that > the code > alone is enough. > > If it would be easy to extract the aromaticity of a bond that would be > sufficient for my purpose indeed. > > > > > On Mon, 26 Jul 2021, 21:28 David Koes, <dk...@pi... > <mailto:dk...@pi...> > > <mailto:dk...@pi... <mailto:dk...@pi...>>> wrote: > > > > In my opinion, if the only fractional value will be 1.5 then > > non-integer > > bond orders aren't worth the pain of breaking compatibility > since > > this > > state can be (and is, for rings) represented by setting the > aromatic > > property of the bond. Perhaps we should provide additional, > more > > nuanced properties to indicate resonance vs aromaticity? > > > > If there is a reason for fractions other than 1.5, then I > think this > > should be a separate property entirely (e.g., like formal > charges vs > > partial charges). > > > > I would point out that although O=CO is represented with a > double and > > single bond, the oxygens still get an identical partial > charge as the > > carboxylic acid group is recognized as such: > > print(pybel.readstring('smi','O=CO').write('mol2')) > > > > David Koes > > > > Associate Professor > > Computational & Systems Biology > > University of Pittsburgh > > > > On 7/26/21 5:36 AM, David van der Spoel wrote: > > > Hi, > > > > > > maybe this has been discussed earlier, but I would like to > hear your > > > opinion on implementing non-integer bond orders. For e.g. > > benzene the > > > average CC bond order would be 1.5, and likewise for COO- > groups > > or NOO > > > groups. Quantum-chemically such resonant groups turn out to be > > > symmetrical and e.g. with identical charges on the O in > those cases. > > > > > > When using integer bond orders we are enforcing an asymmetry > > that is not > > > there. So would it be worthwhile implementing non-integer bond > > orders or > > > is there a workaround that I am overlooking? > > > > > > Cheers, > > > > > > -- > > > David van der Spoel, Ph.D., > > > Professor of Computational Molecular Biophysics > > > Uppsala University. > > > > > > _______________________________________________ > > OpenBabel-Devel mailing list > > Ope...@li... > <mailto:Ope...@li...> > > <mailto:Ope...@li... > <mailto:Ope...@li...>> > > https://lists.sourceforge.net/lists/listinfo/openbabel-devel > <https://lists.sourceforge.net/lists/listinfo/openbabel-devel> > > > <https://lists.sourceforge.net/lists/listinfo/openbabel-devel > <https://lists.sourceforge.net/lists/listinfo/openbabel-devel>> > > > > > -- > David van der Spoel, Ph.D., > Professor of Computational Molecular Biophysics > Uppsala University. > http://virtualchemistry.org <http://virtualchemistry.org> > > > > > > > > > > När du har kontakt med oss på Uppsala universitet med e-post så > innebär det att vi behandlar dina personuppgifter. För att läsa > mer om hur vi gör det kan du läsa här: > http://www.uu.se/om-uu/dataskydd-personuppgifter/ > <http://www.uu.se/om-uu/dataskydd-personuppgifter/> > > E-mailing Uppsala University means that we will process your > personal data. For more information on how this is performed, > please read here: > http://www.uu.se/en/about-uu/data-protection-policy > <http://www.uu.se/en/about-uu/data-protection-policy> > -- David van der Spoel, Ph.D., Professor of Computational Molecular Biophysics Uppsala University. http://virtualchemistry.org När du har kontakt med oss på Uppsala universitet med e-post så innebär det att vi behandlar dina personuppgifter. För att läsa mer om hur vi gör det kan du läsa här: http://www.uu.se/om-uu/dataskydd-personuppgifter/ E-mailing Uppsala University means that we will process your personal data. For more information on how this is performed, please read here: http://www.uu.se/en/about-uu/data-protection-policy |
From: Noel O'B. <bao...@gm...> - 2021-07-27 08:40:04
|
OBBond.IsAromatic(). See the docs. I would not use Smarts patterns to type atoms or bonds, but rather do it in code. The former is just too error prone, slow and less readable. On Tue, 27 Jul 2021, 07:18 David van der Spoel, <dav...@ic...> wrote: > On 2021-07-27 07:51, Noel O'Boyle wrote: > > Is there a particular problem you are trying to solve where underlying > > kekule representation is causing a problem? > > > > Yes, I am extracting bond orders from OB and they go into my force field > code. Different bond orders means different bond properties which in > addition yield different charges in my force field code. > > If I understand it correctly the kekulization code checks for resonance > but in order to get the chemistry of single and double bonds right we > had to add over 100 lines to bondtyp.txt, so I am not sure that the code > alone is enough. > > If it would be easy to extract the aromaticity of a bond that would be > sufficient for my purpose indeed. > > > > > On Mon, 26 Jul 2021, 21:28 David Koes, <dk...@pi... > > <mailto:dk...@pi...>> wrote: > > > > In my opinion, if the only fractional value will be 1.5 then > > non-integer > > bond orders aren't worth the pain of breaking compatibility since > > this > > state can be (and is, for rings) represented by setting the aromatic > > property of the bond. Perhaps we should provide additional, more > > nuanced properties to indicate resonance vs aromaticity? > > > > If there is a reason for fractions other than 1.5, then I think this > > should be a separate property entirely (e.g., like formal charges vs > > partial charges). > > > > I would point out that although O=CO is represented with a double and > > single bond, the oxygens still get an identical partial charge as the > > carboxylic acid group is recognized as such: > > print(pybel.readstring('smi','O=CO').write('mol2')) > > > > David Koes > > > > Associate Professor > > Computational & Systems Biology > > University of Pittsburgh > > > > On 7/26/21 5:36 AM, David van der Spoel wrote: > > > Hi, > > > > > > maybe this has been discussed earlier, but I would like to hear > your > > > opinion on implementing non-integer bond orders. For e.g. > > benzene the > > > average CC bond order would be 1.5, and likewise for COO- groups > > or NOO > > > groups. Quantum-chemically such resonant groups turn out to be > > > symmetrical and e.g. with identical charges on the O in those > cases. > > > > > > When using integer bond orders we are enforcing an asymmetry > > that is not > > > there. So would it be worthwhile implementing non-integer bond > > orders or > > > is there a workaround that I am overlooking? > > > > > > Cheers, > > > > > > -- > > > David van der Spoel, Ph.D., > > > Professor of Computational Molecular Biophysics > > > Uppsala University. > > > > > > _______________________________________________ > > OpenBabel-Devel mailing list > > Ope...@li... > > <mailto:Ope...@li...> > > https://lists.sourceforge.net/lists/listinfo/openbabel-devel > > <https://lists.sourceforge.net/lists/listinfo/openbabel-devel> > > > > > -- > David van der Spoel, Ph.D., > Professor of Computational Molecular Biophysics > Uppsala University. > http://virtualchemistry.org > > > > > > > > > > När du har kontakt med oss på Uppsala universitet med e-post så innebär > det att vi behandlar dina personuppgifter. För att läsa mer om hur vi gör > det kan du läsa här: http://www.uu.se/om-uu/dataskydd-personuppgifter/ > > E-mailing Uppsala University means that we will process your personal > data. For more information on how this is performed, please read here: > http://www.uu.se/en/about-uu/data-protection-policy > |
From: David v. d. S. <dav...@ic...> - 2021-07-27 06:19:24
|
On 2021-07-27 07:51, Noel O'Boyle wrote: > Is there a particular problem you are trying to solve where underlying > kekule representation is causing a problem? > Yes, I am extracting bond orders from OB and they go into my force field code. Different bond orders means different bond properties which in addition yield different charges in my force field code. If I understand it correctly the kekulization code checks for resonance but in order to get the chemistry of single and double bonds right we had to add over 100 lines to bondtyp.txt, so I am not sure that the code alone is enough. If it would be easy to extract the aromaticity of a bond that would be sufficient for my purpose indeed. > > On Mon, 26 Jul 2021, 21:28 David Koes, <dk...@pi... > <mailto:dk...@pi...>> wrote: > > In my opinion, if the only fractional value will be 1.5 then > non-integer > bond orders aren't worth the pain of breaking compatibility since > this > state can be (and is, for rings) represented by setting the aromatic > property of the bond. Perhaps we should provide additional, more > nuanced properties to indicate resonance vs aromaticity? > > If there is a reason for fractions other than 1.5, then I think this > should be a separate property entirely (e.g., like formal charges vs > partial charges). > > I would point out that although O=CO is represented with a double and > single bond, the oxygens still get an identical partial charge as the > carboxylic acid group is recognized as such: > print(pybel.readstring('smi','O=CO').write('mol2')) > > David Koes > > Associate Professor > Computational & Systems Biology > University of Pittsburgh > > On 7/26/21 5:36 AM, David van der Spoel wrote: > > Hi, > > > > maybe this has been discussed earlier, but I would like to hear your > > opinion on implementing non-integer bond orders. For e.g. > benzene the > > average CC bond order would be 1.5, and likewise for COO- groups > or NOO > > groups. Quantum-chemically such resonant groups turn out to be > > symmetrical and e.g. with identical charges on the O in those cases. > > > > When using integer bond orders we are enforcing an asymmetry > that is not > > there. So would it be worthwhile implementing non-integer bond > orders or > > is there a workaround that I am overlooking? > > > > Cheers, > > > > -- > > David van der Spoel, Ph.D., > > Professor of Computational Molecular Biophysics > > Uppsala University. > > > _______________________________________________ > OpenBabel-Devel mailing list > Ope...@li... > <mailto:Ope...@li...> > https://lists.sourceforge.net/lists/listinfo/openbabel-devel > <https://lists.sourceforge.net/lists/listinfo/openbabel-devel> > -- David van der Spoel, Ph.D., Professor of Computational Molecular Biophysics Uppsala University. http://virtualchemistry.org När du har kontakt med oss på Uppsala universitet med e-post så innebär det att vi behandlar dina personuppgifter. För att läsa mer om hur vi gör det kan du läsa här: http://www.uu.se/om-uu/dataskydd-personuppgifter/ E-mailing Uppsala University means that we will process your personal data. For more information on how this is performed, please read here: http://www.uu.se/en/about-uu/data-protection-policy |
From: Noel O'B. <bao...@gm...> - 2021-07-27 05:52:15
|
Is there a particular problem you are trying to solve where underlying kekule representation is causing a problem? On Mon, 26 Jul 2021, 21:28 David Koes, <dk...@pi...> wrote: > In my opinion, if the only fractional value will be 1.5 then non-integer > bond orders aren't worth the pain of breaking compatibility since this > state can be (and is, for rings) represented by setting the aromatic > property of the bond. Perhaps we should provide additional, more > nuanced properties to indicate resonance vs aromaticity? > > If there is a reason for fractions other than 1.5, then I think this > should be a separate property entirely (e.g., like formal charges vs > partial charges). > > I would point out that although O=CO is represented with a double and > single bond, the oxygens still get an identical partial charge as the > carboxylic acid group is recognized as such: > print(pybel.readstring('smi','O=CO').write('mol2')) > > David Koes > > Associate Professor > Computational & Systems Biology > University of Pittsburgh > > On 7/26/21 5:36 AM, David van der Spoel wrote: > > Hi, > > > > maybe this has been discussed earlier, but I would like to hear your > > opinion on implementing non-integer bond orders. For e.g. benzene the > > average CC bond order would be 1.5, and likewise for COO- groups or NOO > > groups. Quantum-chemically such resonant groups turn out to be > > symmetrical and e.g. with identical charges on the O in those cases. > > > > When using integer bond orders we are enforcing an asymmetry that is not > > there. So would it be worthwhile implementing non-integer bond orders or > > is there a workaround that I am overlooking? > > > > Cheers, > > > > -- > > David van der Spoel, Ph.D., > > Professor of Computational Molecular Biophysics > > Uppsala University. > > > _______________________________________________ > OpenBabel-Devel mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/openbabel-devel > |
From: David K. <dk...@pi...> - 2021-07-26 20:27:58
|
In my opinion, if the only fractional value will be 1.5 then non-integer bond orders aren't worth the pain of breaking compatibility since this state can be (and is, for rings) represented by setting the aromatic property of the bond. Perhaps we should provide additional, more nuanced properties to indicate resonance vs aromaticity? If there is a reason for fractions other than 1.5, then I think this should be a separate property entirely (e.g., like formal charges vs partial charges). I would point out that although O=CO is represented with a double and single bond, the oxygens still get an identical partial charge as the carboxylic acid group is recognized as such: print(pybel.readstring('smi','O=CO').write('mol2')) David Koes Associate Professor Computational & Systems Biology University of Pittsburgh On 7/26/21 5:36 AM, David van der Spoel wrote: > Hi, > > maybe this has been discussed earlier, but I would like to hear your > opinion on implementing non-integer bond orders. For e.g. benzene the > average CC bond order would be 1.5, and likewise for COO- groups or NOO > groups. Quantum-chemically such resonant groups turn out to be > symmetrical and e.g. with identical charges on the O in those cases. > > When using integer bond orders we are enforcing an asymmetry that is not > there. So would it be worthwhile implementing non-integer bond orders or > is there a workaround that I am overlooking? > > Cheers, > > -- > David van der Spoel, Ph.D., > Professor of Computational Molecular Biophysics > Uppsala University. |
From: David v. d. S. <dav...@ic...> - 2021-07-26 09:55:56
|
Hi, maybe this has been discussed earlier, but I would like to hear your opinion on implementing non-integer bond orders. For e.g. benzene the average CC bond order would be 1.5, and likewise for COO- groups or NOO groups. Quantum-chemically such resonant groups turn out to be symmetrical and e.g. with identical charges on the O in those cases. When using integer bond orders we are enforcing an asymmetry that is not there. So would it be worthwhile implementing non-integer bond orders or is there a workaround that I am overlooking? Cheers, -- David van der Spoel, Ph.D., Professor of Computational Molecular Biophysics Uppsala University. http://virtualchemistry.org När du har kontakt med oss på Uppsala universitet med e-post så innebär det att vi behandlar dina personuppgifter. För att läsa mer om hur vi gör det kan du läsa här: http://www.uu.se/om-uu/dataskydd-personuppgifter/ E-mailing Uppsala University means that we will process your personal data. For more information on how this is performed, please read here: http://www.uu.se/en/about-uu/data-protection-policy |
From: David v. d. S. <dav...@ic...> - 2021-06-11 09:45:28
|
On 2021-06-08 19:03, David Koes wrote: > That sounds great. I for one will never complain about inconveniences > induced by adding additional testing. You should be able to gzip the > files and read the gz version directly with obabel to save on space. > Now I've made a pull request with a test for bond orders and atom types. https://github.com/openbabel/openbabel/pull/2385 > > David Koes > > Associate Professor > Computational & Systems Biology > University of Pittsburgh > > On 6/8/21 11:50 AM, David van der Spoel wrote: >> >> We have a script that reads a Gaussian file and a reference sdf file and >> compares whether the double bonds are in the same place and whether >> generated atom types for the GAFF force field are the same. It uses the >> openbabel python interface such as to keep everything in memory and not >> create a ton of temporary files or tedious parsing of stdout. Would that >> be an option? The crux is then that we need to add largish Gaussian >> output files to the repository. -- David van der Spoel, Ph.D., Professor of Computational Molecular Biophysics Uppsala University. http://virtualchemistry.org När du har kontakt med oss på Uppsala universitet med e-post så innebär det att vi behandlar dina personuppgifter. För att läsa mer om hur vi gör det kan du läsa här: http://www.uu.se/om-uu/dataskydd-personuppgifter/ E-mailing Uppsala University means that we will process your personal data. For more information on how this is performed, please read here: http://www.uu.se/en/about-uu/data-protection-policy |
From: David K. <dk...@pi...> - 2021-06-08 17:18:22
|
That sounds great. I for one will never complain about inconveniences induced by adding additional testing. You should be able to gzip the files and read the gz version directly with obabel to save on space. David Koes Associate Professor Computational & Systems Biology University of Pittsburgh On 6/8/21 11:50 AM, David van der Spoel wrote: > > We have a script that reads a Gaussian file and a reference sdf file and > compares whether the double bonds are in the same place and whether > generated atom types for the GAFF force field are the same. It uses the > openbabel python interface such as to keep everything in memory and not > create a ton of temporary files or tedious parsing of stdout. Would that > be an option? The crux is then that we need to add largish Gaussian > output files to the repository. |
From: David v. d. S. <dav...@ic...> - 2021-06-08 15:50:53
|
On 2021-06-08 17:37, David Koes wrote: > If all the issues manifest themselves with calls to obabel, I would > add functions to test/testbabel.py (the filename is a throwback to > when obabel was babel). You can see an example in this pull request: > https://github.com/openbabel/openbabel/pull/2379 > > Or, if you are feeling adventurous, I think it would be great if we > had a plain text file of obabel commands that are run with the > expected outputs following some standard naming convention. For > example, maybe each line is of the form: > <CMD> <ARGUMENTS> # files/correct_output > and the test function compares the standard out of running the command > to the correct_output file. > This would make it much easier to add tests if it is appropriate to > compare file outputs exactly. We have a script that reads a Gaussian file and a reference sdf file and compares whether the double bonds are in the same place and whether generated atom types for the GAFF force field are the same. It uses the openbabel python interface such as to keep everything in memory and not create a ton of temporary files or tedious parsing of stdout. Would that be an option? The crux is then that we need to add largish Gaussian output files to the repository. > > Thanks, > > David Koes > > Associate Professor > Computational & Systems Biology > University of Pittsburgh > > On 6/8/21 11:22 AM, David van der Spoel wrote: >> On 2021-06-08 15:42, David Koes wrote: >>> Hi Madeleine, >>> >>> It sounds like you have a really excellent set of test structures. It >>> would be fantastic if you could contribute these to the testing >>> framework. >> >> We would be happy to do that, but maybe you can give a suggestion on >> where in the testing framework? Or should we just add a new python >> script there with in and output data? >> >> FYI, we have made quite a few fixes already that likely are of interest >> to others: >> % git diff master:data/bondtyp.txt data/bondtyp.txt | wc >> 128 784 4532 -- David van der Spoel, Ph.D., Professor of Computational Molecular Biophysics Uppsala University. http://virtualchemistry.org När du har kontakt med oss på Uppsala universitet med e-post så innebär det att vi behandlar dina personuppgifter. För att läsa mer om hur vi gör det kan du läsa här: http://www.uu.se/om-uu/dataskydd-personuppgifter/ E-mailing Uppsala University means that we will process your personal data. For more information on how this is performed, please read here: http://www.uu.se/en/about-uu/data-protection-policy |
From: David K. <dk...@pi...> - 2021-06-08 15:37:22
|
If all the issues manifest themselves with calls to obabel, I would add functions to test/testbabel.py (the filename is a throwback to when obabel was babel). You can see an example in this pull request: https://github.com/openbabel/openbabel/pull/2379 Or, if you are feeling adventurous, I think it would be great if we had a plain text file of obabel commands that are run with the expected outputs following some standard naming convention. For example, maybe each line is of the form: <CMD> <ARGUMENTS> # files/correct_output and the test function compares the standard out of running the command to the correct_output file. This would make it much easier to add tests if it is appropriate to compare file outputs exactly. Thanks, David Koes Associate Professor Computational & Systems Biology University of Pittsburgh On 6/8/21 11:22 AM, David van der Spoel wrote: > On 2021-06-08 15:42, David Koes wrote: >> Hi Madeleine, >> >> It sounds like you have a really excellent set of test structures. It >> would be fantastic if you could contribute these to the testing >> framework. > > We would be happy to do that, but maybe you can give a suggestion on > where in the testing framework? Or should we just add a new python > script there with in and output data? > > FYI, we have made quite a few fixes already that likely are of interest > to others: > % git diff master:data/bondtyp.txt data/bondtyp.txt | wc > 128 784 4532 |
From: David v. d. S. <dav...@ic...> - 2021-06-08 15:23:00
|
On 2021-06-08 15:42, David Koes wrote: > Hi Madeleine, > > It sounds like you have a really excellent set of test structures. It > would be fantastic if you could contribute these to the testing > framework. We would be happy to do that, but maybe you can give a suggestion on where in the testing framework? Or should we just add a new python script there with in and output data? FYI, we have made quite a few fixes already that likely are of interest to others: % git diff master:data/bondtyp.txt data/bondtyp.txt | wc 128 784 4532 > > David Koes > > Associate Professor > Computational & Systems Biology > University of Pittsburgh > > On 6/8/21 8:15 AM, Marie-Madeleine Walz wrote: >> Hi David, >> >> thank you for your advice regarding using AssignTotalChargeToAtoms. >> Adding it resulted in less errors in the bond order assignment. >> Unfortunately, it did not remove e.g. the error with sulfite (SO3^2-) >> that is still getting three double bonds. >> >> Another issue is that some of the small rings (e.g. thiirene, C2H2S) >> are not recognised as rings. >> This is really confusing as the coordinates fullfil the requirement >> set in mol.cpp, ConnectTheDots(), lines 3027-3028: >> >> // bonded if closer than elemental Rcov + tolerance >> cutoff = SQUARE(rad[j] + rad[k] + 0.45); >> >> If you have any advice I would really appreciate it. >> >> With kind regards, >> Madeleine > > > _______________________________________________ > OpenBabel-Devel mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/openbabel-devel -- David van der Spoel, Ph.D., Professor of Computational Molecular Biophysics Uppsala University. http://virtualchemistry.org När du har kontakt med oss på Uppsala universitet med e-post så innebär det att vi behandlar dina personuppgifter. För att läsa mer om hur vi gör det kan du läsa här: http://www.uu.se/om-uu/dataskydd-personuppgifter/ E-mailing Uppsala University means that we will process your personal data. For more information on how this is performed, please read here: http://www.uu.se/en/about-uu/data-protection-policy |
From: David K. <dk...@pi...> - 2021-06-08 14:14:38
|
Hi Madeleine, It sounds like you have a really excellent set of test structures. It would be fantastic if you could contribute these to the testing framework. David Koes Associate Professor Computational & Systems Biology University of Pittsburgh On 6/8/21 8:15 AM, Marie-Madeleine Walz wrote: > Hi David, > > thank you for your advice regarding using AssignTotalChargeToAtoms. Adding it resulted in less errors in the bond order assignment. > Unfortunately, it did not remove e.g. the error with sulfite (SO3^2-) that is still getting three double bonds. > > Another issue is that some of the small rings (e.g. thiirene, C2H2S) are not recognised as rings. > This is really confusing as the coordinates fullfil the requirement set in mol.cpp, ConnectTheDots(), lines 3027-3028: > > // bonded if closer than elemental Rcov + tolerance > cutoff = SQUARE(rad[j] + rad[k] + 0.45); > > If you have any advice I would really appreciate it. > > With kind regards, > Madeleine |
From: Ghahremanpour, M. <moh...@ya...> - 2021-06-08 13:07:33
|
Hi Madeleine, There is also a data file for ring types. That might help you fix the problem with small rings. openbabel/data/ringtyp.txt Best, Mohammad > On Jun 8, 2021, at 8:15 AM, Marie-Madeleine Walz <mar...@ic...> wrote: > > Hi David, > > thank you for your advice regarding using AssignTotalChargeToAtoms. Adding it resulted in less errors in the bond order assignment. > Unfortunately, it did not remove e.g. the error with sulfite (SO3^2-) that is still getting three double bonds. > > Another issue is that some of the small rings (e.g. thiirene, C2H2S) are not recognised as rings. > This is really confusing as the coordinates fullfil the requirement set in mol.cpp, ConnectTheDots(), lines 3027-3028: > > // bonded if closer than elemental Rcov + tolerance > cutoff = SQUARE(rad[j] + rad[k] + 0.45); > > If you have any advice I would really appreciate it. > > With kind regards, > Madeleine > >> On 7 Jun 2021, at 15:34, David Koes <dk...@pi...> wrote: >> >> There is AssignTotalChargeToAtoms which is called when parsing the gamess format, but not, apparently, gaussian. >> >> Again, if you could upload examples of failures to a GitHub Issue (or even better, start a pull request with failing tests added to the testing framework) that would be helpful. >> >> David Koes >> >> Associate Professor >> Computational & Systems Biology >> University of Pittsburgh >> >> On 6/7/21 8:22 AM, Marie-Madeleine Walz wrote: >>> Hi David, >>> thank you for your reply. I tested your code that assigns a sp2 hybridisation to a N as e.g. in azete (in mol.cpp), and it solves the incorrect bond orders. >>> However, I think that this is a general problem: I have numerous compounds that get incorrect bond orders and that end up with a different charge than specified in the Gaussian output file (like e.g. sulfite and sulfur trioxide). I think it might be a good idea to have somewhere a general "charge check”. (Maybe there is and I miss to use it? I checked whether OB is getting the specified charge and it seems to get it.) >>> For example, it would be great if there is a function that checks (i) the charge of the compound (or whether it is a radical) and (ii) the sum of bond orders to a certain atom (I guess that is done with GetExplicitValence()). If a compound is neutral (and not a radical) and ends up with e.g. a C that only has three single bonds, this should be somehow corrected. >>> Is there any way to do this with the existing OB functions, i.e. without changing the code? >>> With kind regards, >>> Madeleine > > > > > > > > > > När du har kontakt med oss på Uppsala universitet med e-post så innebär det att vi behandlar dina personuppgifter. För att läsa mer om hur vi gör det kan du läsa här: https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.uu.se%2Fom-uu%2Fdataskydd-personuppgifter%2F&data=04%7C01%7Cmohammad.ghahremanpour%40yale.edu%7C3800a155cf7140cbbe9408d92a772244%7Cdd8cbebb21394df8b4114e3e87abeb5c%7C0%7C0%7C637587513460790622%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=unIJsWaCXbAz%2B0gRtvO25UCDGA6naxS8vigP3EEaaQw%3D&reserved=0 <https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.uu.se%2Fom-uu%2Fdataskydd-personuppgifter%2F&data=04%7C01%7Cmohammad.ghahremanpour%40yale.edu%7C3800a155cf7140cbbe9408d92a772244%7Cdd8cbebb21394df8b4114e3e87abeb5c%7C0%7C0%7C637587513460790622%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=unIJsWaCXbAz%2B0gRtvO25UCDGA6naxS8vigP3EEaaQw%3D&reserved=0> > > E-mailing Uppsala University means that we will process your personal data. For more information on how this is performed, please read here: https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.uu.se%2Fen%2Fabout-uu%2Fdata-protection-policy&data=04%7C01%7Cmohammad.ghahremanpour%40yale.edu%7C3800a155cf7140cbbe9408d92a772244%7Cdd8cbebb21394df8b4114e3e87abeb5c%7C0%7C0%7C637587513460790622%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Z2wEGiSarBatMRVsJniKLg6O23SWykeotgK0o7qt604%3D&reserved=0 <https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.uu.se%2Fen%2Fabout-uu%2Fdata-protection-policy&data=04%7C01%7Cmohammad.ghahremanpour%40yale.edu%7C3800a155cf7140cbbe9408d92a772244%7Cdd8cbebb21394df8b4114e3e87abeb5c%7C0%7C0%7C637587513460790622%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Z2wEGiSarBatMRVsJniKLg6O23SWykeotgK0o7qt604%3D&reserved=0> > > _______________________________________________ > OpenBabel-Devel mailing list > Ope...@li... <mailto:Ope...@li...> > https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Fopenbabel-devel&data=04%7C01%7Cmohammad.ghahremanpour%40yale.edu%7C3800a155cf7140cbbe9408d92a772244%7Cdd8cbebb21394df8b4114e3e87abeb5c%7C0%7C0%7C637587513460790622%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=rJNJ1K5VEHB5LyW8Wu6h2jabAoyhLWaLLdLA%2F7Iv8JE%3D&reserved=0 <https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Fopenbabel-devel&data=04%7C01%7Cmohammad.ghahremanpour%40yale.edu%7C3800a155cf7140cbbe9408d92a772244%7Cdd8cbebb21394df8b4114e3e87abeb5c%7C0%7C0%7C637587513460790622%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=rJNJ1K5VEHB5LyW8Wu6h2jabAoyhLWaLLdLA%2F7Iv8JE%3D&reserved=0> |
From: Marie-Madeleine W. <mar...@ic...> - 2021-06-08 12:46:10
|
Hi Mohammad, thank you for your advice! I will have a look at that file. With kind regards, Madeleine On 8 Jun 2021, at 14:34, Ghahremanpour, Mohammad <moh...@ya...<mailto:moh...@ya...>> wrote: Hi Madeleine, There is also a data file for ring types. That might help you fix the problem with small rings. openbabel/data/ringtyp.txt Best, Mohammad On Jun 8, 2021, at 8:15 AM, Marie-Madeleine Walz <mar...@ic...<mailto:mar...@ic...>> wrote: Hi David, thank you for your advice regarding using AssignTotalChargeToAtoms. Adding it resulted in less errors in the bond order assignment. Unfortunately, it did not remove e.g. the error with sulfite (SO3^2-) that is still getting three double bonds. Another issue is that some of the small rings (e.g. thiirene, C2H2S) are not recognised as rings. This is really confusing as the coordinates fullfil the requirement set in mol.cpp, ConnectTheDots(), lines 3027-3028: // bonded if closer than elemental Rcov + tolerance cutoff = SQUARE(rad[j] + rad[k] + 0.45); If you have any advice I would really appreciate it. With kind regards, Madeleine On 7 Jun 2021, at 15:34, David Koes <dk...@pi...<mailto:dk...@pi...>> wrote: There is AssignTotalChargeToAtoms which is called when parsing the gamess format, but not, apparently, gaussian. Again, if you could upload examples of failures to a GitHub Issue (or even better, start a pull request with failing tests added to the testing framework) that would be helpful. David Koes Associate Professor Computational & Systems Biology University of Pittsburgh On 6/7/21 8:22 AM, Marie-Madeleine Walz wrote: Hi David, thank you for your reply. I tested your code that assigns a sp2 hybridisation to a N as e.g. in azete (in mol.cpp), and it solves the incorrect bond orders. However, I think that this is a general problem: I have numerous compounds that get incorrect bond orders and that end up with a different charge than specified in the Gaussian output file (like e.g. sulfite and sulfur trioxide). I think it might be a good idea to have somewhere a general "charge check”. (Maybe there is and I miss to use it? I checked whether OB is getting the specified charge and it seems to get it.) For example, it would be great if there is a function that checks (i) the charge of the compound (or whether it is a radical) and (ii) the sum of bond orders to a certain atom (I guess that is done with GetExplicitValence()). If a compound is neutral (and not a radical) and ends up with e.g. a C that only has three single bonds, this should be somehow corrected. Is there any way to do this with the existing OB functions, i.e. without changing the code? With kind regards, Madeleine När du har kontakt med oss på Uppsala universitet med e-post så innebär det att vi behandlar dina personuppgifter. För att läsa mer om hur vi gör det kan du läsa här: https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.uu.se%2Fom-uu%2Fdataskydd-personuppgifter%2F&data=04%7C01%7Cmohammad.ghahremanpour%40yale.edu%7C3800a155cf7140cbbe9408d92a772244%7Cdd8cbebb21394df8b4114e3e87abeb5c%7C0%7C0%7C637587513460790622%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=unIJsWaCXbAz%2B0gRtvO25UCDGA6naxS8vigP3EEaaQw%3D&reserved=0 E-mailing Uppsala University means that we will process your personal data. For more information on how this is performed, please read here: https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.uu.se%2Fen%2Fabout-uu%2Fdata-protection-policy&data=04%7C01%7Cmohammad.ghahremanpour%40yale.edu%7C3800a155cf7140cbbe9408d92a772244%7Cdd8cbebb21394df8b4114e3e87abeb5c%7C0%7C0%7C637587513460790622%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Z2wEGiSarBatMRVsJniKLg6O23SWykeotgK0o7qt604%3D&reserved=0 _______________________________________________ OpenBabel-Devel mailing list Ope...@li...<mailto:Ope...@li...> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Fopenbabel-devel&data=04%7C01%7Cmohammad.ghahremanpour%40yale.edu%7C3800a155cf7140cbbe9408d92a772244%7Cdd8cbebb21394df8b4114e3e87abeb5c%7C0%7C0%7C637587513460790622%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=rJNJ1K5VEHB5LyW8Wu6h2jabAoyhLWaLLdLA%2F7Iv8JE%3D&reserved=0 |
From: Marie-Madeleine W. <mar...@ic...> - 2021-06-08 12:15:33
|
Hi David, thank you for your advice regarding using AssignTotalChargeToAtoms. Adding it resulted in less errors in the bond order assignment. Unfortunately, it did not remove e.g. the error with sulfite (SO3^2-) that is still getting three double bonds. Another issue is that some of the small rings (e.g. thiirene, C2H2S) are not recognised as rings. This is really confusing as the coordinates fullfil the requirement set in mol.cpp, ConnectTheDots(), lines 3027-3028: // bonded if closer than elemental Rcov + tolerance cutoff = SQUARE(rad[j] + rad[k] + 0.45); If you have any advice I would really appreciate it. With kind regards, Madeleine > On 7 Jun 2021, at 15:34, David Koes <dk...@pi...> wrote: > > There is AssignTotalChargeToAtoms which is called when parsing the gamess format, but not, apparently, gaussian. > > Again, if you could upload examples of failures to a GitHub Issue (or even better, start a pull request with failing tests added to the testing framework) that would be helpful. > > David Koes > > Associate Professor > Computational & Systems Biology > University of Pittsburgh > > On 6/7/21 8:22 AM, Marie-Madeleine Walz wrote: >> Hi David, >> thank you for your reply. I tested your code that assigns a sp2 hybridisation to a N as e.g. in azete (in mol.cpp), and it solves the incorrect bond orders. >> However, I think that this is a general problem: I have numerous compounds that get incorrect bond orders and that end up with a different charge than specified in the Gaussian output file (like e.g. sulfite and sulfur trioxide). I think it might be a good idea to have somewhere a general "charge check”. (Maybe there is and I miss to use it? I checked whether OB is getting the specified charge and it seems to get it.) >> For example, it would be great if there is a function that checks (i) the charge of the compound (or whether it is a radical) and (ii) the sum of bond orders to a certain atom (I guess that is done with GetExplicitValence()). If a compound is neutral (and not a radical) and ends up with e.g. a C that only has three single bonds, this should be somehow corrected. >> Is there any way to do this with the existing OB functions, i.e. without changing the code? >> With kind regards, >> Madeleine När du har kontakt med oss på Uppsala universitet med e-post så innebär det att vi behandlar dina personuppgifter. För att läsa mer om hur vi gör det kan du läsa här: http://www.uu.se/om-uu/dataskydd-personuppgifter/ E-mailing Uppsala University means that we will process your personal data. For more information on how this is performed, please read here: http://www.uu.se/en/about-uu/data-protection-policy |
From: David K. <dk...@pi...> - 2021-06-07 13:50:15
|
There is AssignTotalChargeToAtoms which is called when parsing the gamess format, but not, apparently, gaussian. Again, if you could upload examples of failures to a GitHub Issue (or even better, start a pull request with failing tests added to the testing framework) that would be helpful. David Koes Associate Professor Computational & Systems Biology University of Pittsburgh On 6/7/21 8:22 AM, Marie-Madeleine Walz wrote: > Hi David, > > thank you for your reply. I tested your code that assigns a sp2 > hybridisation to a N as e.g. in azete (in mol.cpp), and it solves the > incorrect bond orders. > > However, I think that this is a general problem: I have numerous > compounds that get incorrect bond orders and that end up with a > different charge than specified in the Gaussian output file (like e.g. > sulfite and sulfur trioxide). I think it might be a good idea to have > somewhere a general "charge check”. (Maybe there is and I miss to use > it? I checked whether OB is getting the specified charge and it seems to > get it.) > > For example, it would be great if there is a function that checks (i) > the charge of the compound (or whether it is a radical) and (ii) the sum > of bond orders to a certain atom (I guess that is done with > GetExplicitValence()). If a compound is neutral (and not a radical) and > ends up with e.g. a C that only has three single bonds, this should be > somehow corrected. > > Is there any way to do this with the existing OB functions, i.e. without > changing the code? > > With kind regards, > Madeleine |
From: Marie-Madeleine W. <mar...@ic...> - 2021-06-07 12:23:06
|
Hi David, thank you for your reply. I tested your code that assigns a sp2 hybridisation to a N as e.g. in azete (in mol.cpp), and it solves the incorrect bond orders. However, I think that this is a general problem: I have numerous compounds that get incorrect bond orders and that end up with a different charge than specified in the Gaussian output file (like e.g. sulfite and sulfur trioxide). I think it might be a good idea to have somewhere a general "charge check”. (Maybe there is and I miss to use it? I checked whether OB is getting the specified charge and it seems to get it.) For example, it would be great if there is a function that checks (i) the charge of the compound (or whether it is a radical) and (ii) the sum of bond orders to a certain atom (I guess that is done with GetExplicitValence()). If a compound is neutral (and not a radical) and ends up with e.g. a C that only has three single bonds, this should be somehow corrected. Is there any way to do this with the existing OB functions, i.e. without changing the code? With kind regards, Madeleine On 5 Jun 2021, at 01:42, David Koes <dk...@pi...<mailto:dk...@pi...>> wrote: Hi Madeleine, It might be helpful to start a GitHub Issue where you upload example files. I believe the main issue here is Gaussian files do not contain bond information and so OpenBabel has to infer them with ConnectTheDots (identifying bonding atoms) and PerceiveBondOrders. These functions have a lot of ad hoc heuristics to try to figure out the right answer from perhaps inadequate information. The failure with azete is in PerceiveBondOrders where a C=C double bond is preferred over the C=N bond because no hybridization was set on the N. Specifically, line 3494 in mol.cpp: if ( (b->GetHyb() == 2 || b->GetExplicitDegree() == 1) && b->GetExplicitValence() + 1 <= static_cast<unsigned int>(OBElements::GetMaxBonds(b->GetAtomicNum())) && (GetBond(atom, b))->IsDoubleBondGeometry() && (currentElNeg > maxElNeg || (IsApprox(currentElNeg,maxElNeg, 1.0e-6)) ) ) b is the N, which is a neighbor atom of the C that is under consideration. The b->GetHyb() == 2 check fails, so the C=C is formed instead of C=N to get the valence to add up. The hybridization of the N isn't set because the angle is too small for the hybridization estimation code (lines 3204-3224) to set it: if (angle > 155.0) atom->SetHyb(1); else if (angle <= 155.0 && angle > 115.0) atom->SetHyb(2); // special case for imines if (atom->GetAtomicNum() == OBElements::Nitrogen && atom->ExplicitHydrogenCount() == 1 && atom->GetExplicitDegree() == 2 && angle > 109.5) atom->SetHyb(2); We could extend this with: else if(atom->GetAtomicNum() == OBElements::Nitrogen && atom->GetExplicitDegree() == 2 && atom->IsInRing()) //azete atom->SetHyb(2); and this particular problem is fixed. It isn't clear to me if a less stringent criteria can't be applied. David Koes Associate Professor Computational & Systems Biology University of Pittsburgh On 6/3/21 11:13 AM, Marie-Madeleine Walz wrote: Hello, I would like to share another example that illustrates that OB does not seem to take charges into account when assigning bonds. Processing azete (neutral) using a Gaussian output file with OB, I obtain the following charged azete analog. Is there any part in the code that should take care of charges when assigning bonds? With kind regards, Madeleine On 28 May 2021, at 11:41, Marie-Madeleine Walz <mar...@ic...<mailto:mar...@ic...> <mailto:mar...@ic...>> wrote: Hello, I’m working on processing Gaussian output files (g09) with OB to set bond orders. I noticed that the compound's charge information does not seem to be taken into account when setting bond orders. For example, I obtain for neutral compounds structures that are charged, e.g. carbon atoms with only three single bonds, or nitrogens with only two bonds. One of the most obvious examples is sulfite (SO_3^(2-)) vs. sulfur trioxide (SO_3). Both have their bond orders coded in bondtyp.txt. # Sulfite [#16D3]([#8D1])([#8D1-])([#8D1-]) 0 1 2 0 2 1 0 3 1 # Sulfur trioxide [#16D3]([#8D1])([#8D1])([#8D1]) 0 1 2 0 2 2 0 3 2 However, OB does not recognise sulfite as charged, and instead it assigns three double bonds (i.e. it uses the sulfur trioxide definition). If I remove the charge information from the sulfite SMARTS structure, it assigns the correct bond order. However, obviously, sulfur trioxide is also assigned this bond order as now the SMARTS structures are identical. # Sulfite [#16D3]([#8D1])([#8D1])([#8D1]) 0 1 2 0 2 1 0 3 1 Any ideas on how to solve this issue are highly appreciated. With kind regards, Madeleine Page Title När du har kontakt med oss på Uppsala universitet med e-post så innebär det att vi behandlar dina personuppgifter. För att läsa mer om hur vi gör det kan du läsa här: http://www.uu.se/om-uu/dataskydd-personuppgifter/ E-mailing Uppsala University means that we will process your personal data. For more information on how this is performed, please read here: http://www.uu.se/en/about-uu/data-protection-policy _______________________________________________ OpenBabel-Devel mailing list Ope...@li...<mailto:Ope...@li...> https://lists.sourceforge.net/lists/listinfo/openbabel-devel |