# Using Force-Field Grids for Sampling Translation/Rotation of Partially Rigid Macromolecules
## 3 Discussion  
This note presented an algorithm that extends the use of grid-based force fields to the modeling of two partially flexible macromolecules by eliminating the added computation involved in determining the nearest gridpoints, and the computation to transform the grids. As for the determination of the nearest gridpoints, the proposed algorithm's use of a transformed copy is adding a similar computational expense, so there is no net effect. The main saving is achieved by eliminating the transformation of the grids. Assuming that there are 10 different grids corresponding to different atom types, the proposed algorithm would save the transformation of \(\sim\)10 \(\times\) Ng\({}^{3}\) points at the negligible expense of transforming the additional N\({}_{\rm F}\) atoms of the flexible part. Assuming that Ng \(\simeq\) 200 (a reasonable value in our experience) and that the flexible part is about 10% of the whole molecule, about \(\sim\)8 \(\times\) 10\({}^{5}\) transformations can be eliminated at the negligible expense of \(\sim\)2 \(\times\) 10\({}^{2}\) additional transformations of the flexible part. The estimate of the overall effect is less straightforward. It is reasonable to assume that the volume of the grid is proportional to the volume of the flexible atoms or, equivalently, that the number of grids along an axis is proportional to the cube root of the number of flexible atoms, i.e., N\({}_{\rm g}\) = c\({}_{1}\)\(\times\) N\({}_{\rm F}\)\({}^{1/3}\), and that the overall energy calculation will be dominated by the direct interactions of the flexible parts. Assuming further, as is generally true for Markov-chain Monte Carlo, that a move involves a small limited fraction of the atoms available for moving, the work in calculating the energy change is c\({}_{2}\)\(\times\) N\({}_{\rm F}\). This means that the ratio of the work involved in the energy calculation per step and the corresponding savings by using the algorithm proposed here is [c\({}_{2}\)\(\times\) (N\({}_{\rm F}\))]/[W \(\times\) 10 \(\times\) (c\({}_{1}\)\(\times\) N\({}_{\rm F}\)\({}^{1/3}\))3] = c\({}_{2}\)/(10 \(\times\) W \(\times\) c\({}_{1}\)\({}^{3}\)) where W is the fraction of the time during which the whole molecule is moved. Thus, in the limit of a large number of flexible atoms, the expense of transforming the grid is commensurable to the rest of the energy calculation, thus the upper limit of the savings is a constant, depending, among others, on the frequency of whole molecule moves. Likely applications, however, are far from this limit: assuming (a relatively large) N\({}_{\rm F}\)\(\simeq\) 100 and Ng \(\simeq\) 200 and  
Figure 2: Schematics of the copies needed for the proposed algorithm. R\({}_{1}\), R\({}_{2}\): rigid part of macromolecules 1 and 2, respectively; F\({}_{1}\), F\({}_{2}\): flexible part of macromolecules 1 and 2, respectively; G\({}_{1}\), G\({}_{2}\): The set of grids representing the field of the rigid parts R\({}_{1}\) and R\({}_{2}\), respectively; Primed items represent the systems after change from the initial position, orientation and conformation. The two interacting systems are shown with their distance increased for clarity. the number of changed flexible atoms \(\sim\)50 (an overestimate), the ratio of the energy calculation to the grid transformation calculation would be \((50\times 100)/(\text{W}\times 10\times 200^{3})=10\)\({}^{-4}(5/(\text{W}\times 8)\times\text{F}\) where F is the ratio of the computation expenses of calculating a distance and transforming a coordinate. Clearly, it shows a significant gain for systems of systems of likely size. Thus, it is expected that this algorithm would significantly speed up the modeling of protein complexes where the interaction region is relatively small compared to the overall volume of the complex and foster further developments in the Monte Carlo methodology. It is planned to implement it into the program called MMC [4] that already includes the single grid version.