Shouldn't the formula be the following since the polarity of the charge is irrelevant, it only implies an unfilled valency?
missingHydrogen = (int) (defaultAtom.getBondOrderSum() - bondOrderSum - singleElectronSum - abs(atom.getFormalCharge())); this formula would work in both cases. On Wed, 2007-05-23 at 13:54 +0200, Andreas Schüller wrote: > Hello, > > I would agree that the first molecule should have hydrogens added like this: > > 1: 2 > > 2: 0 > > 3: 1 > > 4: 2 > > A [C+] has three valence electrons to possibly form three single bonds. > Molecular Operating Environment (MOE) 2006.08 adds hydrogens in > compliance to the above scheme. > > Applying the modified formula > > missingHydrogen = (int) (defaultAtom.getBondOrderSum() - > > bondOrderSum - singleElectronSum - > > atom.getFormalCharge()); > to C3 of the first molecule suggests to add 4-2-0-(+1)=1 hydrogens, > which seems correct. > > On the otherhand: > > Let's see for [O-] in e.g. C[O-]: > 2-1-0-(-1)=2 (!!) > This is definately wrong. Here, the original formula applies: 2-1-0+(-1)=0 > > For [N+] in C[N+]: > 3-1-0+(+1)=3 > Again, the original formula applies. > > I think that carbocations, [C+], are an exception, since they seek an > electron sextet in their outer valence shell rather than an octet. They > should probably be treated differently. > If one assumed defaultAtom.getBondOrderSum() = 2 for a carbocation the > original formula would apply: > 2-2-0+(+1)=1 > > Best wishes, > Andreas > > > > Daniel Fontaine wrote: > > Stefan, > > > > As I said, I am not a chemist. However, I made the change you suggested > > and recompiled CDK and all my test cases now run as expected. I believe > > your suggestion of changing +charge to -charge is correct. > > > > I appreciate all of your help. > > Dan > > > > On Tue, 2007-05-22 at 17:17 +0200, Stefan Kuhn wrote: > >> Looking at the situation I think indeed that atom 3 should have 1 > hydrogen, > >> since it is positivly charged. > >> Could one of the chemists comment on this? > >> If it is indeed 1, the code in SaturationChecker is wrong, which > seems hard to > >> believe. Right now the code is: > >> missingHydrogen = (int) (defaultAtom.getBondOrderSum() - > >> bondOrderSum - singleElectronSum + > >> atom.getFormalCharge()); > >> I think indeed it should be -charge, since, if the charge is > negative, we need > >> extra electrons. > >> Again, the chemists please. > >> > >> > >> On Tuesday 22 May 2007 16:32, Daniel Fontaine wrote: > >>> I admit I am not much of a chemist, I am a programmer, but the program > >>> that generated the fragment, Mass Frontier, has the first molecule with > >>> 5 hydrogens rather than 7. I was told this is correct due to the > >>> positive charge on the carbon? Does CDK not handle this sort of thing? > >>> Or am I missing something? > >>> > >>> thanks for all of your help > >>> Dan > >>> > >>> On Tue, 2007-05-22 at 15:48 +0200, Stefan Kuhn wrote: > >>>> On Tuesday 22 May 2007 15:23, Daniel Fontaine wrote: > >>>>> Thanks, but if this reader is working properly, why is the hydrogen > >>>>> adder not taking charges into consideration? I am getting two > >>>>> hydrogens too many added to that first fragment I posted. > >>>> Hm, I get for the first molecule the following implicit Hs after > >>>> addImplicitHydrogensToSatisfyValency: > >>>> 1: 2 > >>>> 2: 0 > >>>> 3: 3 > >>>> 4:2 > >>>> For the second one: > >>>> 1: 1 > >>>> 2: 0 > >>>> 3: 1 > >>>> 4: 2 > >>>> That looks ok, I would say, doesn't it? > >>>> Stefan > >>>> > >>>>> thanks, > >>>>> Dan > >>>>> > >>>>> On Tue, 2007-05-22 at 10:29 +0200, Stefan Kuhn wrote: > >>>>>> Ok, the problem is you are using the wrong property. You should use > >>>>>> getFormatCharge, which works and is supposed to give that sort of, > >>>>>> well, > >>>>>> formal charge. The getCharge is used by classes assigning partial > >>>>>> charges and > >>>>>> will always give 0 if you do not explicitly run one of them. > >>>>>> Stefan > >>>>>> > >>>>>> On Monday 21 May 2007 20:28, Daniel Fontaine wrote: > >>>>>>> Hello, I am new to CDK and the mailing list. > >>>>>>> > >>>>>>> I am reading in a list of compounds from an sdf file that include > >>>>>>> charges. These charges don't appear on the atoms of the > >>>>>> corresponding > >>>>>> > >>>>>>> Molecules, however, when loading with MDLV2000Reader. All atoms > >>>>>> show a > >>>>>> > >>>>>>> charge of 0.0. > >>>>>>> > >>>>>>> This is a problem because I am trying to add implicit hydrogens > >>>>>>> with HydrogenAdder. I frequently end up with too many hydrogens and > >>>>>>> the > >>>>>> wrong > >>>>>> > >>>>>>> mass. > >>>>>>> > >>>>>>> any help would be appreciated, > >>>>>>> Dan > >>>>>> > --------------------------------------------------------------------- > >>>>>> ---- > >>>>>> > >>>>>>> This SF.net email is sponsored by DB2 Express > >>>>>>> Download DB2 Express C - the FREE version of DB2 express and take > >>>>>>> control of your XML. No limits. Just data. Click to get it now. > >>>>>>> http://sourceforge.net/powerbar/db2/ > >>>>>>> _______________________________________________ > >>>>>>> Cdk-user mailing list > >>>>>>> [email protected] > >>>>>>> https://lists.sourceforge.net/lists/listinfo/cdk-user > >>>>>> -- > >>>>>> Stefan Kuhn BSc MA > >>>>>> IPB Halle > >>>>>> AG Bioinformatik & Massenspektrometrie > >>>>>> Weinberg 3 > >>>>>> 06120 Halle > >>>>>> http://www.ipb-halle.de http://msbi.bic-gh.de > >>>>>> [EMAIL PROTECTED] Tel. +49 (0) 345 5582 1474 Fax.+49 (0) 345 5582 > >>>>>> 1409 > >>>>>> > >>>>>> > --------------------------------------------------------------------- > >>>>>> ---- This SF.net email is sponsored by DB2 Express > >>>>>> Download DB2 Express C - the FREE version of DB2 express and take > >>>>>> control of your XML. No limits. Just data. Click to get it now. > >>>>>> http://sourceforge.net/powerbar/db2/ > >>>>>> _______________________________________________ > >>>>>> Cdk-user mailing list > >>>>>> [email protected] > >>>>>> https://lists.sourceforge.net/lists/listinfo/cdk-user > >>>>> > ----------------------------------------------------------------------- > >>>>> -- This SF.net email is sponsored by DB2 Express > >>>>> Download DB2 Express C - the FREE version of DB2 express and take > >>>>> control of your XML. No limits. Just data. Click to get it now. > >>>>> http://sourceforge.net/powerbar/db2/ > >>>>> _______________________________________________ > >>>>> Cdk-user mailing list > >>>>> [email protected] > >>>>> https://lists.sourceforge.net/lists/listinfo/cdk-user > >>> > ------------------------------------------------------------------------- > >>> This SF.net email is sponsored by DB2 Express > >>> Download DB2 Express C - the FREE version of DB2 express and take > >>> control of your XML. No limits. Just data. Click to get it now. > >>> http://sourceforge.net/powerbar/db2/ > >>> _______________________________________________ > >>> Cdk-user mailing list > >>> [email protected] > >>> https://lists.sourceforge.net/lists/listinfo/cdk-user > > > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by DB2 Express > > Download DB2 Express C - the FREE version of DB2 express and take > > control of your XML. No limits. Just data. Click to get it now. > > http://sourceforge.net/powerbar/db2/ > > _______________________________________________ > > Cdk-user mailing list > > [email protected] > > https://lists.sourceforge.net/lists/listinfo/cdk-user > > > > -- > Andreas Schüller > PhD student in the research group of Prof. Dr. Gisbert Schneider > > Johann Wolfgang Goethe University > Beilstein-endowed Chair for Chemoinformatics > Building B - 3rd floor > Siesmayerstr. 70 > 60323 Frankfurt am Main > Germany > > Tel.: +49 69 798 24879 > Fax: +49 69 798 24880 > http://www.modlab.de/ > > > Daniel Fontaine wrote: > > Stefan, > > > > As I said, I am not a chemist. However, I made the change you suggested > > and recompiled CDK and all my test cases now run as expected. I believe > > your suggestion of changing +charge to -charge is correct. > > > > I appreciate all of your help. > > Dan > > > > On Tue, 2007-05-22 at 17:17 +0200, Stefan Kuhn wrote: > >> Looking at the situation I think indeed that atom 3 should have 1 > >> hydrogen, > >> since it is positivly charged. > >> Could one of the chemists comment on this? > >> If it is indeed 1, the code in SaturationChecker is wrong, which seems > >> hard to > >> believe. Right now the code is: > >> missingHydrogen = (int) (defaultAtom.getBondOrderSum() - > >> bondOrderSum - singleElectronSum + > >> atom.getFormalCharge()); > >> I think indeed it should be -charge, since, if the charge is negative, we > >> need > >> extra electrons. > >> Again, the chemists please. > >> > >> > >> On Tuesday 22 May 2007 16:32, Daniel Fontaine wrote: > >>> I admit I am not much of a chemist, I am a programmer, but the program > >>> that generated the fragment, Mass Frontier, has the first molecule with > >>> 5 hydrogens rather than 7. I was told this is correct due to the > >>> positive charge on the carbon? Does CDK not handle this sort of thing? > >>> Or am I missing something? > >>> > >>> thanks for all of your help > >>> Dan > >>> > >>> On Tue, 2007-05-22 at 15:48 +0200, Stefan Kuhn wrote: > >>>> On Tuesday 22 May 2007 15:23, Daniel Fontaine wrote: > >>>>> Thanks, but if this reader is working properly, why is the hydrogen > >>>>> adder not taking charges into consideration? I am getting two > >>>>> hydrogens too many added to that first fragment I posted. > >>>> Hm, I get for the first molecule the following implicit Hs after > >>>> addImplicitHydrogensToSatisfyValency: > >>>> 1: 2 > >>>> 2: 0 > >>>> 3: 3 > >>>> 4:2 > >>>> For the second one: > >>>> 1: 1 > >>>> 2: 0 > >>>> 3: 1 > >>>> 4: 2 > >>>> That looks ok, I would say, doesn't it? > >>>> Stefan > >>>> > >>>>> thanks, > >>>>> Dan > >>>>> > >>>>> On Tue, 2007-05-22 at 10:29 +0200, Stefan Kuhn wrote: > >>>>>> Ok, the problem is you are using the wrong property. You should use > >>>>>> getFormatCharge, which works and is supposed to give that sort of, > >>>>>> well, > >>>>>> formal charge. The getCharge is used by classes assigning partial > >>>>>> charges and > >>>>>> will always give 0 if you do not explicitly run one of them. > >>>>>> Stefan > >>>>>> > >>>>>> On Monday 21 May 2007 20:28, Daniel Fontaine wrote: > >>>>>>> Hello, I am new to CDK and the mailing list. > >>>>>>> > >>>>>>> I am reading in a list of compounds from an sdf file that include > >>>>>>> charges. These charges don't appear on the atoms of the > >>>>>> corresponding > >>>>>> > >>>>>>> Molecules, however, when loading with MDLV2000Reader. All atoms > >>>>>> show a > >>>>>> > >>>>>>> charge of 0.0. > >>>>>>> > >>>>>>> This is a problem because I am trying to add implicit hydrogens > >>>>>>> with HydrogenAdder. I frequently end up with too many hydrogens and > >>>>>>> the > >>>>>> wrong > >>>>>> > >>>>>>> mass. > >>>>>>> > >>>>>>> any help would be appreciated, > >>>>>>> Dan > >>>>>> --------------------------------------------------------------------- > >>>>>> ---- > >>>>>> > >>>>>>> This SF.net email is sponsored by DB2 Express > >>>>>>> Download DB2 Express C - the FREE version of DB2 express and take > >>>>>>> control of your XML. No limits. Just data. Click to get it now. > >>>>>>> http://sourceforge.net/powerbar/db2/ > >>>>>>> _______________________________________________ > >>>>>>> Cdk-user mailing list > >>>>>>> [email protected] > >>>>>>> https://lists.sourceforge.net/lists/listinfo/cdk-user > >>>>>> -- > >>>>>> Stefan Kuhn BSc MA > >>>>>> IPB Halle > >>>>>> AG Bioinformatik & Massenspektrometrie > >>>>>> Weinberg 3 > >>>>>> 06120 Halle > >>>>>> http://www.ipb-halle.de http://msbi.bic-gh.de > >>>>>> [EMAIL PROTECTED] Tel. +49 (0) 345 5582 1474 Fax.+49 (0) 345 5582 > >>>>>> 1409 > >>>>>> > >>>>>> --------------------------------------------------------------------- > >>>>>> ---- This SF.net email is sponsored by DB2 Express > >>>>>> Download DB2 Express C - the FREE version of DB2 express and take > >>>>>> control of your XML. No limits. Just data. Click to get it now. > >>>>>> http://sourceforge.net/powerbar/db2/ > >>>>>> _______________________________________________ > >>>>>> Cdk-user mailing list > >>>>>> [email protected] > >>>>>> https://lists.sourceforge.net/lists/listinfo/cdk-user > >>>>> ----------------------------------------------------------------------- > >>>>> -- This SF.net email is sponsored by DB2 Express > >>>>> Download DB2 Express C - the FREE version of DB2 express and take > >>>>> control of your XML. No limits. Just data. Click to get it now. > >>>>> http://sourceforge.net/powerbar/db2/ > >>>>> _______________________________________________ > >>>>> Cdk-user mailing list > >>>>> [email protected] > >>>>> https://lists.sourceforge.net/lists/listinfo/cdk-user > >>> ------------------------------------------------------------------------- > >>> This SF.net email is sponsored by DB2 Express > >>> Download DB2 Express C - the FREE version of DB2 express and take > >>> control of your XML. No limits. Just data. Click to get it now. > >>> http://sourceforge.net/powerbar/db2/ > >>> _______________________________________________ > >>> Cdk-user mailing list > >>> [email protected] > >>> https://lists.sourceforge.net/lists/listinfo/cdk-user > > > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by DB2 Express > > Download DB2 Express C - the FREE version of DB2 express and take > > control of your XML. No limits. Just data. Click to get it now. > > http://sourceforge.net/powerbar/db2/ > > _______________________________________________ > > Cdk-user mailing list > > [email protected] > > https://lists.sourceforge.net/lists/listinfo/cdk-user > > > ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Cdk-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/cdk-user

