Sorry for not reading your question properly. I am personally not aware of a way to export molfiles in this way in rdkit, but I might just be unaware. I think the easiest solution would be probably changing the molblock string post hoc by reading the M ISO line.
for example like this in python: ``` mol=Chem.MolFromSmiles("c1c2cccc1[3H].[2H]2") def MolToMolfileDT(mol,path): mb=Chem.MolToMolBlock(mol).split("\n") iso=[x for x in mb[-3].split(" ") if len(x)>0] if iso[1]=="ISO": #check if theres isotope info for i in range(int(iso[2])): isotope=int(iso[4+2*i]) idx=int(iso[3+2*i])+3 if isotope in [2,3]: #only D and T mb[idx]=mb[idx].replace("H",{2:"D",3:"T"}[isotope]) #replace only H (to not have issues like [3Li]) with open(path, "w") as molfile: molfile.write("\n".join(mb)) return MolToMolfileDT(mol,"mol.mol")``` this returns: RDKit 2D 8 8 0 0 0 0 0 0 0 0999 V2000 1.5000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 0.7500 -1.2990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 -0.7500 -1.2990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 -1.5000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 -0.7500 1.2990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 0.7500 1.2990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 1.5000 2.5981 0.0000 T 0 0 0 0 0 0 0 0 0 0 0 0 1.5000 -2.5981 0.0000 D 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 0 2 3 1 0 3 4 2 0 4 5 1 0 5 6 2 0 6 7 1 0 6 1 1 0 8 2 1 0 M ISO 2 7 3 8 2 M END best wishes wim On Tue, Apr 11, 2023 at 9:14 AM Santiago Fraga <santi...@mestrelab.com> wrote: > Many thanks for your examples, Wim. > But I was checking the option to save the labels D and T in the molfile > for the hydrogen isotopes, > as other tools can do. > > Regards > Santiago > > <http://www.mestrelab.com> > > SANTIAGO FRAGA > *Software Developer* > santi...@mestrelab.com <+santi...@mestrelab.com> > > *MESTRELAB RESEARCH S.L.* > PHONE *+34881976775* > FAX *+34981941079* > Feliciano Barrera, 9B-Bajo 15706 > Santiago de Compostela (SPAIN) > > Follow us: > [image: Mestrelab Twitter] <https://twitter.com/mestrelab> [image: > Mestrelab Linkedin] <https://www.linkedin.com/company/mestrelab-research> > [image: Canal de YouTube Mestrelab] > <https://www.youtube.com/channel/UCf3MVnd3XZflv0acvTv14ww> [image: > MestreBlog] <http://mestrelab.com/blog/> > > > > ------------------------------ > *De:* Wim Dehaen <wimdeh...@gmail.com> > *Enviado:* lunes, 10 de abril de 2023 18:07 > *Para:* Santiago Fraga <santi...@mestrelab.com> > *Cc:* rdkit-discuss@lists.sourceforge.net < > rdkit-discuss@lists.sourceforge.net> > *Asunto:* Re: [Rdkit-discuss] Deuterium/Tritium labels in Molfile > > rdkit outputs a molfile with correct isotope labels for me using just: > > mol=Chem.MolFromSmiles("[3H]c1ccccc1[2H]") > Chem.MolToMolFile(mol,"test.mol") > > or labelling the atoms post hoc: > > mol=Chem.MolFromSmiles("c1ccccc1") > mol=Chem.AddHs(mol) > mol.GetAtomWithIdx(6).SetIsotope(3) > mol.GetAtomWithIdx(7).SetIsotope(2) > mol=Chem.RemoveHs(mol) > Chem.MolToMolFile(mol,"test2.mol") > > I hope this helps > > best wishes > wim > > > On Mon, Apr 10, 2023 at 4:43 PM Santiago Fraga <santi...@mestrelab.com> > wrote: > > Good afternoon! > > I am a relatively new user of RDKit, and mainly the C++ API. > > I am trying to save in a molfile the labels D and T for the hydrogen > isotopes. > Like in the following molfile: > > MJ230401 > > 8 8 0 0 0 0 0 0 0 0999 V2000 > -0.3572 0.4125 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 > -1.0716 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 > -1.0716 -0.8250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 > -0.3572 -1.2375 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 > 0.3572 -0.8250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 > 0.3572 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 > -0.3572 1.2375 0.0000 T 0 0 0 0 0 0 0 0 0 0 0 0 > 1.0717 0.4125 0.0000 D 0 0 0 0 0 0 0 0 0 0 0 0 > 3 4 2 0 0 0 0 > 4 5 1 0 0 0 0 > 5 6 2 0 0 0 0 > 6 1 1 0 0 0 0 > 1 2 2 0 0 0 0 > 2 3 1 0 0 0 0 > 6 8 1 0 0 0 0 > 1 7 1 0 0 0 0 > M END > > I am trying to set directly the labels in the hydrogen atoms: > > atom->setProp<string>("atomLabel", "D"); > or > atom->setProp<string>("_displayLabel", "D"); > > But when the molfile is generated the labels are not transferred. > It seems also that when reading a mofile including the labels, they > are discarded. > > > Many thanks in advance > Santiago Fraga > > > _______________________________________________ > Rdkit-discuss mailing list > Rdkit-discuss@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/rdkit-discuss > >
_______________________________________________ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss