AABBA is a Graph Kernel Python library for applying autocorrelation (AC) functions. It transforms molecular graphs into a fixed-length vector that combines generic properties (GP) and natural bond orbital (NBO) properties.
**Generic properties (GP) and periodic-table (PT) features are employed indistinctly.
- Python 3.7.0+
- NumPy 1.21.5+
- NetworkX 2.6.3
- graph_info.py - read the chemical graph and extract the indexes of the nodes and edges at different depths. It also provides the labels of the features.
- ac_functions.py - perform the autocorrelation functions.
- utilities.py - tools for manipulating the data.
- ac_PT_multithread.py - parallel implementation to perform the autocorrelation functions with periodic-table features.
- ac_NBO_multithread.py - parallel implementation to perform the autocorrelation functions with nbo features.
Clone the code.
git clone
Install the requirements.
Manipulate ac_NBO_multithread.py and ac_PT_multithread.py files:
- Select the parameters to perform the autocorrelation functions.
- ac_operator: arithmetic operator applied to the properties.
ac_operator (str) MA metal-centered product autocorrelation MD metal-centered deltametric autocorrelation MS metal-centered summetric autocorrelation MR metal-centered ratiometric autocorrelation FA full product autocorrelation FD full deltametric autocorrelation FS full summetric autocorrelation FR full ratiometric autocorrelation **MC refers to metal-centered autocorrelation and F refers to full autocorrelation
- walk: types of autocorrelation. The different modes to read the chemical graph.
walk variable (str) AA atom-atom correlation BBavg bond-bond autocorrelation with bond average (only MC) BB bond-bond autocorrelation with superbond (for MC), and with full bond-bond (F) AB bond-atom autocorrelation ABBAavg implicit autocorrelation with bond average (only MC); select the model 1, 2, 3, 4, 5 ABBA implicit autocorrelation with individual bond (only F); select the model 1, 2, 3, 4, 5
- model_number: 1, 2, 3 to be performed with periodic table features (PT); and 4, 5 to be performed with nbo features (NBO). The attributes contain the following features:
model_number (str) 1 Zi, Zj, Ti, Tj, Xi, Xj, d, BO, I 2 Zi, Zj, Ti, Tj, Xi-Xj, d, BO, I 3 Zi, Zj, Ti, Tj, Xi-Xj, Si, Sj, BO, I 4 qNati, qNatj, VNati, VNatj, Nsi, Nsj, Npi, Npj, Ndi, Ndj, NLPi, NLPj, NLVi, NLVj, BD, BONat, NBN , BNs, BNp, BNd, NBN∗ , BN∗s , BN∗p , BN∗d , I 5 qNati, qNatj, VNati, VNatj, NLPi, NLPj, LPEi, LPEj, LP∆Ei, LP∆Ej, NLVi, NLVj, LVEi, LVEj, LV∆Ei, LV∆Ej, BD, BONat, NBN , BNE , BN∆E , NBN∗ , BN∗E , BN∗∆E , I (i and j are the nodes of the edges)
- depth_max (int): maximum depth of the autocorrelation function.
- Select the autocorrelation function to be performed and its return vector. Comment the rest of the functions.
- Select the feature type (feature_type)
- Adjust the path to the folder that contains the .gml files (path_to_gml).
- Create a folder to save the results (path_to_folder).