diff --git a/reacnetgenerator/_reachtml.py b/reacnetgenerator/_reachtml.py index c9a9cce39..da02df37b 100644 --- a/reacnetgenerator/_reachtml.py +++ b/reacnetgenerator/_reachtml.py @@ -47,10 +47,20 @@ def report(self): f"Report is generated. Please see {self.resultfilename} for more details.") def _re(self, smi): - for an in self.atomname: - if an != 'H': - smi = smi.replace(an.upper(), f"[{an.upper()}]").replace( - an.lower(), f"[{an.lower()}]") + """If you use RDkit to convert a methyl radical to SMILES, you will get something + like [H]C([H])[H]. However, OpenBabel will consider it as a methane molecule. So, + you have to use [H][C]([H])[H], if you need to process some radicals. + + Examples: + >>> self._re('C') + [C] + >>> self._re('[C]') + [C] + >>> self._re('[CH]') + [CH] + """ + elements = "".join([an.upper() + an.lower() for an in self.atomname if an != 'H']) + smi = re.sub(r'(?