Thanks, Jan, the dative bond works in a number of cases with other metals. (rdkit 2021.9.5) This one works fine:
rdmol = Chem.MolFromSmiles('[O-]->[Fe+2]<-[O-]', sanitize=True) # case 1 coordinate bonds assert rdmol is not None this one with Mg divalent does not rdmol = Chem.MolFromSmiles('[O-]->[Mg+2]<-[O-]', sanitize=True) # case 1 coordinate bonds assert rdmol is not None can you read in the smiles you sent me? I can't I am doing anything wrong here? cheers, m rdmol = Chem.MolFromSmiles('C1CO->[Fe+2](O)(<-OC1)(<-O)(<-O)(<-O))=O', sanitize=True) # case 1 coordinate bonds assert rdmol is not None print(rdmol) Il giorno mar 22 mar 2022 alle ore 15:13 Jan Halborg Jensen < jhjen...@chem.ku.dk> ha scritto: > Hi Marco > > You can define dative bonds like > this: C1CO->[Fe+2](O)(<-OC1)(<-O)(<-O)(<-O) > > Best regards, Jan > > On 22 Mar 2022, at 15.07, Marco Stenta <marco.ste...@gmail.com> wrote: > > You don't often get email from marco.ste...@gmail.com. Learn why this is > important <http://aka.ms/LearnAboutSenderIdentification> > Dear RDKitters, > I am struggling with working organometals and coordination complexes. > with a small team, we are creating a series of recommendations to draw > correctly organometals (catalyst, complexes, etc), so that we can use them > in our chemoinformatics pipeline. > > I know it is a horrible mess out there, but we are trying to achieve some > consistency, rather than full correctness. > > I guess there is something with the accepted valence for Mg. > > Now the purpose of this is to have a smiles representation of these metal > complexes that are not fragmented (with the dot) so that I keep the notion > of bond where there is (or I believe) one > > for instance, for the edta complex this smiles works fine: > [Na+].[Na+].[Mg++].[O-]C(=O)CN(CCN(CC([O-])=O)CC([O-])=O)CC([O-])=O > > but I would really distinguish the fact that there is a bond between the > [O-]/N and the [Mg++ ] while there is none with the two [Na+] > > <image.png> > I can read it in without sanitization, but it fails for everything I > nato to do after with the molecules. > > > in theory, dative bonds should not affect the valence of receiving atoms, > right? > > any suggestion for reading in the enclosed v3000 molfile and keeping the > bonding info? > or sharing what you are doing with metals > > Thanks a lot in advance, > > kind regards > > Marco > > f1 = 'edta_case.mol' > > rdmol = Chem.MolFromMolFile(f1, sanitize=True) > print(rdmol) > Chem.MolToSmiles(rdmol) > > the rdmol is None in my case > > > > > > <edta_case.mol>_______________________________________________ > Rdkit-discuss mailing list > Rdkit-discuss@lists.sourceforge.net > > https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Frdkit-discuss&data=04%7C01%7Cjhjensen%40chem.ku.dk%7C9b36a1f64d3f4a5a243808da0c0dae6b%7Ca3927f91cda14696af898c9f1ceffa91%7C0%7C0%7C637835550154504697%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=E2VK%2BP1lGqICkgnNtQPHpmEDUuD0qV6VbD0FZNt7w5I%3D&reserved=0 > > >
_______________________________________________ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss