High performance implementation of atom-centered symmetry functions featurizer. It featurizes ligand-receptor complex into a fixed size vector. It is heavly inspired by AQDnet featurizer.
Only dependencies are numpy
and rdkit
. You need to have C compiler installed to compile source code into shared library.
- Compile C source code using example command
make compile
. - Import and define featurizer in Python.
- Pass it ligand atom coordinates and protein atom coordinates along with their respective atomic numbers.
from acsf.featurizer import Featurizer
featurizer = Featurizer(
elements=['H', 'C', 'O', 'N'],
angular_cutoff=8
)
Testing was done on i7-9700K
processor with 32GB
of 3200MHz
RAM on Windows WSL (Ubuntu). Featurization of aa2ar
complex from PDBBind dataset took on average 45ms per pose. Receptor has 4570 atoms, while ligand has 40. Default settings were used to generate feature vector with size 11583. It support also batch featurization and it is parallelized with OpenMP.
Num. of Poses | Time |
---|---|
1 | 45ms |
1000 | 6200ms |