Skip to content
/ AABBA Public
forked from uiocompcat/AABBA

ABBA is a Python library for applying autocorrelation (AC) functions

Notifications You must be signed in to change notification settings

gonzaurv/AABBA

 
 

Repository files navigation

AABBA

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.

Requirements

  • Python 3.7.0+
  • NumPy 1.21.5+
  • NetworkX 2.6.3

Scripts

  • 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.

How to use

Clone the code.

git clone

Install the requirements.

Manipulate ac_NBO_multithread.py and ac_PT_multithread.py files:

  1. 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.

  1. Select the autocorrelation function to be performed and its return vector. Comment the rest of the functions.

  1. Select the feature type (feature_type)

  1. Adjust the path to the folder that contains the .gml files (path_to_gml).

  1. Create a folder to save the results (path_to_folder).

About

ABBA is a Python library for applying autocorrelation (AC) functions

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%