1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
IFG Algorithm.
Implementation of
An algorithm to identify functional groups in organic molecules
Peter Ertl
https://jcheminf.springeropen.com/articles/10.1186/s13321-017-0225-z
Authors:
Richard Hall,
Guillaume Godin modified function output to be more readable
Usage:
```python
# return the list of IFG (atomIds, atoms & type) for a molecule object:
m = Chem.MolFromSmiles(smiles)
fgs = identify_functional_groups(m)
print fgs
```
Output example:
[IFG(atomIds=(2,), atoms='n', type='cnc'),
IFG(atomIds=(4, 5, 6, 7), atoms='NS(=O)=O', type='cNS(c)(=O)=O'),
IFG(atomIds=(12,), atoms='N', type='cN'),
IFG(atomIds=(15,), atoms='n', type='cnc')]
Notes:
This implementation of Ertl paper was made by Richard Hall in summer 2017.
Cause RDKit and Peter tool can have distinct aromaticity dectection behaviours, list
of functionnal groups in aromatic rings may differ in presence of conjugated aromatics rings.
|