Hi Jean-Marc, You can strip the valence field from the MolBlock with a regex:
import re regex = re.compile(r"^(\s*\d+\.\d{4}\s*\d+\.\d{4}\s*\d+\.\d{4} ... \d \d \d \d \d )(\d)(.*)$") print("\n".join(regex.sub(r"\g<1>0\g<3>", ...: line) for line in Chem.MolToMolBlock(Chem. ...: MolFromSmiles("[NH4+]")).split("\n"))) RDKit 2D 1 0 0 0 0 0 0 0 0 0999 V2000 0.0000 0.0000 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0 M CHG 1 1 1 M END HTH, cheers p. On Wed, Aug 26, 2020 at 5:00 PM Jean-Marc Nuzillard < jm.nuzill...@univ-reims.fr> wrote: > Dear all, > > the atom block of the Connection Table produced by RDKit > (Chem.MolToMolBlock() function) > from the '[NH4+]' SMILES chain is > 0.0000 0.0000 0.0000 N 0 0 0 0 0 4 0 0 0 0 0 > > in which the '4' in column 10 indicates that the number of bonds of the > N atoms (implicit Hs included) is 4. > This makes sense but may be not necessary because the electric charge > information is brought by the > "M CHG 1 1 1" line. > My ctfile.pdf file (by accelrys, dated 2011, any more recent version > around?) shows the example of alanine > in zwitterionic form and the valence column in the atom block only > contains '0' values. > Having this '4' for any organic ammonium ion is misinterpreted by the > ACDLabs software > I use for NMR chemical shift prediction. Replacing the '4' by a '0' > solves the problem. > > Apart editing by myself the atom block (by hand or by scripting), is > there a way > to keep the value of the valence field to 0 for electrically charged > atoms when writing sdf files? > > Best, > > Jean-Marc > > > -- > Jean-Marc Nuzillard > Directeur de Recherches au CNRS > > Institut de Chimie Moléculaire de Reims > CNRS UMR 7312 > Moulin de la Housse > CPCBAI, Bâtiment 18 > BP 1039 > 51687 REIMS Cedex 2 > France > > Tel : 03 26 91 82 10 > Fax : 03 26 91 31 66 > http://www.univ-reims.fr/icmr > http://eos.univ-reims.fr/LSD/CSNteam.html > > http://www.univ-reims.fr/LSD/ > http://www.univ-reims.fr/LSD/JmnSoft/ > > > > _______________________________________________ > 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