To solve the scaling wall for QM methods the full biomolecular gradient can be computed in qr.refine using a fragmentation scheme. A fragment consists of a cluster and a buffer region, the latter is obtained from non-covalent interactions density descriptors. Additionally, a surrounding point charge (PC) region (controlled by charge_embedding, charge_cutoff) can be applied. Furthermore, the two_buffer option adds another layer of buffer around a previously constructed fragment.
The convergence of the gradient obtained via fragmentation can be tested using mode=gtest.
The list of available keywords can be found under the cluster scope here
Central variable is called g_mode and indicates what kind of buffer region is applied:
1 = default buffer 2 = default buffer + PC 3 = two buffer 4 = two buffer + PC
example output:
index(g_mode - max_res) 1 - 10 d(angle) 0.914806 1 - 10 d(gnorm) 1.351992 1 - 10 d(max_g) 0.266452 1 - 10 d(min_g) 0.266452 1 - 10 MAD 0.514772 1 - 25 d(angle) 0.000000 1 - 25 d(gnorm) 0.000000 1 - 25 d(max_g) 0.000000 1 - 25 d(min_g) 0.000000 1 - 25 MAD 0.000000
The first number corresponds to the buffer kind (g_mode, see above) and the second to the maximum numbers of residues per cluster. The last gradient is selected as the reference gradient (or the one set by g_ref) and various comparisons are done.
comparisons:
d(angle) : mean angle deviation between the gradient of all atoms in degree. d(gnorm) : difference between the gradient norms d(max/min): difference between max/min gradient values MAD : mean absolute deviation between all gradient components
Running a sequence of gradient calculations with a maximal number of residue per cluster of 10, 15 and 25, using default buffer and point-charges with GFN2-xTB.
qr.refine model.pdb engine_name=xtb mode=gtest g_scan="10 15 25" charge_embedding=1
A total of 6 gradient calculations will be performed. 3 with the default buffer and maxnum_residues_in_cluster=10/15/25 and 3 with the default buffer plus point-charges with the same maxnum_residues_in_cluster settings. At the end the largest gradient (from g_mode=2 and maxnum_residues_in_cluster=25) will be used as reference for a comparison against the other 5 gradients. Deviations against the gradient norm (gnorm) against the max/min value of the gradient (max/min_g) and the mean absolute deviation (MAD) of each gradient component are printed.
This will also produce a file called 2-25.npy, which is the gradient of the largest buffer region. This gradient can be used as reference gradient for another calculation using cluster.g_ref=2-20.npy.