{'fraction_non_alphanumeric': 0.031435213988670226, 'fraction_numerical': 0.014898981630046826, 'mean_word_length': 4.97651663405088, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
iTreePack: Protein Complex Side-Chain Packing by Dual Decomposition

Protein side-chain packing is a critical component in obtaining the 3D coordinates of a structure and drug discovery. Single-domain protein side-chain packing has been thoroughly studied. A major challenge in generalizing these methods to protein complexes is that they, unlike monomers, often have very large treewidth, and thus algorithms such as TreePack cannot be directly applied. To address this issue, SCWRL4 treats the complex effectively as a monomer, heuristically excluding weak interactions to decrease treewidth; as a result, SCWRL4 generates poor packings on protein interfaces. To date, few side-chain packing methods exist that are specifically designed for protein complexes. In this paper, we introduce a method, iTreePack, which solves the side-chain packing problem for complexes by using a novel combination of dual decomposition and tree decomposition. In particular, iTreePack overcomes the problem of large treewidth by decomposing a protein complex into smaller subgraphs and novelly reformulating the complex side-chain packing problem as a dual relaxation problem; this allows us to solve the side-chain packing of each small subgraph separately using tree-decomposition. A projected subgradient algorithm is applied to enforcing the consistency among the side-chain packings of all the small subgraphs. Computational results demonstrate that our iTreePack program outperforms SCWRL4 on protein complexes. In particular, iTreePack places side-chain atoms much more accurately on very large complexes, which constitute a significant portion of protein-protein interactions. Moreover, the advantage of iTreePack over SCWRL4 increases with respect to the treewidth of a complex. Even for monomeric proteins, iTreePack is much more efficient than SCWRL and slightly more accurate.


Introduction
PPIs (protein-protein interactions) or protein complexes specify physical interactions between pairs or groups of proteins. Many fundamental cellular processes such as DNA replication, transcription, translation and signal transduction are mediated through a complex network of PPIs [1,26]. Highthroughput experimental methods have been used to determine PPI networks for model organisms including yeast [13,38] and human [30]. For example, 30k PPIs are discovered for 6200 yeast proteins. Computational methods are also developed for PPI predictions [34,12,27,21,22,2,11,41,39,3,33]. These methods usually can only identify whether two proteins interact or the composition of a PPI, but not the atomic structures or binding modes of PPIs. The 3D structures of PPIs are important for the understanding of cellular processes at molecular level. Atomic structures of PPIs are also important for developing drugs targeting PPIs. Recently, many efforts have also been dedicated to protein interface design [28,42]. The atomic detail of the interaction between proteins usually determines the affinity and specificity for binding. In order to obtain atomic structure of a PPI, side-chain packing is an indispensable step. Side-chain packing places side-chain atoms assuming the backbone structure is given. Although there are many algorithms for protein side-chain packing [45,16,4,6,14,8,9,40,43,23,24,18,5], few of them has been focused on protein complexes [9,40], especially the interfacial regions.
Side-chain packing problem can be formulated as a combinatorial optimization problem. Many computational techniques have been studied for this problem, such as integer linear programming [14,8], dead-end-elimination [6] and graph decomposition [44,45,4]. Xu first introduced treedecomposition algorithm [44] with a non-trivial time complexity that can find the globally optimal solution. This algorithm has been reimplemented by Dunbrack as the major energy optimizer of SCWRL4, possibly the most widely-used side-chain packing program [16]. Nevertheless, the computational and space complexity of the tree-decomposition algorithm are exponential with respect to the treewidth of the underlying residue interaction graph of a protein. Treewidth is a parameter measuring the topological complexity of the graph [20,29] for each protein. Singledomain or monomer proteins usually have small treewidth (less than 20) and thus, are amenable to tree-decomposition. However, the tree-decomposition algorithm may not be directly applied to complex side-chain packing since complexes usually have large treewidth. To deal with proteins of large treewidth, SCWRL4 heuristically excludes some weak but important interactions from consideration in order to have an interaction graph with small treewidth. However, such a heuristic sometimes fails to place side-chain atoms accurately due to ignorance of important interactions especially when the protein complexes under consideration have very large treewidths. To date, efficient and accurate side-chain packing methods, specifically designed for protein complexes, do not exist.
In this paper, we present iTreePack, an efficient dual decomposition algorithm for protein complex side-chain packing. Instead of directly applying tree-decomposition to a complex with large treewidth, iTreePack solves the dual relaxation of the problem through a novel combination of dual decomposition and tree decomposition. The dual problem is constructed using a vertex duplication technique, which divides a large interaction graph into smaller interaction subgraphs of much smaller treewidth, each corresponding to one monomer or protein interface. iTreePack solves side-chain packing for each subgraph separately and efficiently using tree-decomposition since the treewidth is small. To ensure the consistency among side-chain packings of the subgraphs, we use a projected subgradient algorithm to update the side-chain packing of each subgraph iteratively. The consistency usually can be achieved within 10-20 iterations. Therefore, this algorithm can accurately place side-chain atoms for complexes with very large treewidth without excluding important interactions from consideration.
Computational results demonstrate that our iTreePack program noticeably outperforms the widely-used SCWRL4 when applied to complexes, considering most algorithmic advances in this field only lead to marginal improvements. In particular, iTreePack places side-chain atoms much more accurately on very large complexes (treewidth greater than 20), which constitute a significant portion of protein-protein interactions. Moreover, the advantage of iTreePack over SCWRL4 increases with respect to the treewidth of a complex, especially on the protein interfaces. Even for monomeric proteins, iTreePack is much more efficient than SCWRL and slightly more accurate.

Notations and Problem Setting
For notational simplicity, we assume that a protein complex consists of only a pair of interacting monomers. However, our algorithms and results also readily apply to a complex of multimers.

Residue Interaction Graph (RIG) for Monomers
For each monomer structure A, we use a residue interaction graph GA = (VA, EA) to represent the residues in a protein and their interaction relationship. Each vertex in the graph represents a residue associated with the 3D coordinates of the corresponding residue center. Let DA[i] denote the set of all possible rotamers for residue i. There is an edge (i, j) ∈ EA between two residues i and j if and only if there are two rotamers l ∈ DA[i] and k ∈ DA[j] such that at least one atom in rotamer l is in contact with at least one atom in rotamer k. Two atoms are in contact if and only if their Euclidean distance is less than a constant Du.
For each rotamer k ∈ DA[i], we use a singleton score SA i (k) to describe the preference of assigning the rotamer k to the specific residue i. For any two rotamers l ∈ DA[i] and k ∈ DA[j], we assign a score PA i ,A j (l, k) to describe their pairwise interaction energy. When there is no edge between two residues i and j, PA i ,A j (l, k) is equal to 0 for any l and k. The more detailed description of singleton and pairwise scores will be presented in section 2.3.

Protein Interface Graph (PIG) for Protein Interfaces
To model interactions between monomers A and B, we introduce a protein interface graph G = (VIA, VIB, EAB) where VIA and VIB represents all interfacial residues in monomers A and B, respectively, and EAB denotes the set of interfacial edges between A and B. . A residue is an interfacial residue if its distance (C β atoms are used to calculate distance) to the closest residue in the other monomer is less than a constant Dint. Each vertex i ∈ VIA (or j ∈ VIB) represents an interfacial residue in monomer A (or B). There is an edge (i, j) ∈ EAB between two residues i ∈ VIA and j ∈ VIB if and only if their C β atoms are within distance Dint. Therefore, a protein interface graph is bipartite since the two ends of one edge must be in different monomers. Similar to residue interaction graph, we also have pairwise score PA i ,B j (l, k) for each rotamer pair of two interfacial residues.

Rotamer Library and Energy Function
Rotamer Library. Since the local structures of protein interfaces are usually more flexible than the core regions of globular proteins, we use slightly different libraries for interfacial residues and non-interfacial residues. For non-interfacial residues, we use the popular backbone-dependent rotamer library [32] developed by Dunbrack. For each residue, we calculate the backbone φ and ψ angles and retrieve the backbonedependent rotamer library from [32]. Each rotamer is associated with its occurring frequency fA,i(k), which is also taken from Dunbrack's rotamer library.
For interfacial residues, we augment the rotamer library by considering a larger range of backbone angles. For each residue, in addition to the rotamers associated with backbone φ and ψ, we also use auxiliary rotamers associated with φ ± 10 • and ψ ± 10 • to increase conformation space at the interface region. The frequency of each auxiliary rotamer is reduced by half of its frequency in Dunbrack's rotamer library to avoid introducing too much noise. Statistical Local Potential. We use similar statistical local potentials for all rotamers [4].
K is optimized to 10 to yield the best prediction accuracy. CHARMM non-bonded potential. The energy functions used in original TreePack and SCWRL are approximations of the Lennard-Jones potential for van der Waals component. In this work, we directly use the Lennard-Jones potential LJ(a, b) and also the electrostatic interaction for each atom pair a and b. All the parameters of the non-bonded potentials are from the CHARMM19 force field. Singleton Score. Let bbA(i) be the set of backbone atoms of for residue i ∈ VA; scA i (l) be the set of all side-chain atoms of rotamer l ∈ DA[i]; dist(a, b) be the Euclidean distance between two atoms a and b; N onBond(a, b) = LJ(a, b) + Elec(a, b) as the CHARMM non-bonded potential between atoms a and b. The singleton score for each rotamer l ∈ D[i] is calculated as follows.
For the interfacial residues, the singleton score also includes the non-bond potential with backbone atoms in the other monomer. Pairwise Score. For any pair of interacting residues i and j and their two rotamers k ∈ DA[i] and l ∈ DB[j], the pairwise score is the sum of non-bonded potentials of all side-chain atom pairs in the two rotamers.
The pairwise scores between two rotamers of different monomers are computed similarly.

Mathematical formulation
The complex side-chain packing problem can then be formulated as a combinatorial optimization problem on a large complex residue interaction graph. Let R = (RA, RB) denote the side-chain packing of a complex where RA and RB are the packings for the constituent monomers A and B, respectively. Meanwhile, RA(i) and RB(j) denote the rotamers chosen for residue i in monomer A and residue j in monomer B, respectively. The optimal side-chain packing minimizes the following energy function. where ) are the intra-monomer energy functions and GAB(RA, RB) = (i,j)∈E AB PA i ,B j (RA(i), RB(j)) is the interfacial energy function.

Tree Decomposition for Monomer Side-Chain Packing
The notions of tree-decomposition and treewidth were introduced by Robertson and Seymour in their seminal work on graph minor theory [20,29], which captures the structural features of all graphs excluding a given minor. The complexity of a graph can be measured by its treewidth, which is the minimum width over all possible tree-decompositions. The width of a tree-decomposition is the maximum component size minus 1. Many optimization problems can be solved using graph tree-decomposition with a time complexity polynomial in graph size when the treewidth is small. Tree-decomposition has been successfully applied to monomer side-chain packing [45], resulting in the first subexponential-time algorithm, which is linear when treewidth is small, for this problem. Afterwards, tree-decomposition has been applied to many biology problems including contact map overlap [46], protein alignment [35], RNA analysis [19], de novo sequencing [19] and network analysis [7].
Although the problem of finding an optimal tree decomposition of a general graph is NP-hard, a variety of heuristic algorithms can produce near optimal treewidth in practice, e.g., the minimum fill-in heuristic algorithm. Given a tree decomposition of a protein/complex interaction graph (RIG or PIG), dynamic programming can be applied to computing the optimal side-chain packing of the protein in two major steps: bottom-to-top and top-to-bottom. The bottom-to-top step is used to calculate the optimal energy function and the top-to-bottom step is used to extract the optimal side-chain packing. This is analogous to dynamic programming for sequence alignment where a forward step is used to calculate the optimal alignment score and the backward step is used to extract the optimal alignment. More detailed account of the tree decomposition algorithm for monomer side-chain packing is described in [45].
The computational complexity of the tree decomposition algorithm for side-chain packing is first analyzed in [44]. The complexity of the algorithm is mainly determined by the treewidth of the graph, which is bounded by O(|V | 2 3 log |V |) from above, where |V | is the number of vertices in the graph. The main result is summarized in the following theorem [45]. The tree-decomposition algorithm works well for monomers, which usually has small treewidth. However, a protein complex has a much larger treewidth. Theoretically, a protein complex of m monomers (each with N residues) could have treewidth O(m 2 3 N 2 3 (log m + log N )). Since the time complexity of the tree-decomposition algorithm is exponential with respect to treewidth, the tree-decomposition algorithm becomes very expensive or infeasible for a complex with very large treewidth. That is, a much better algorithm is needed to address the complex side-chain packing problem.

Dual Decomposition for Complex Side-Chain Packing
Here we present technical details of iTreePack, an efficient optimization algorithm for complex side-chain packing by dual decomposition. Dual decomposition has been applied to many computationally expensive problems, such as natural language processing [31] and inference of graphical models [36]. The challenge of complex side-chain packing problem by tree-decomposition lies in large treewidth of a complex. However, the treewidth of a monomer or a protein interface usually is quite small. The key idea of dual decomposition is to decompose the large complex graph into several subgraphs with small treewidth and then apply the tree-decomposition algorithm to each subgraph separately. To achieve consistency among the solutions of the subgraphs, we iteratively adjust the weight of each subgraph according to the degree of consistency among solutions using a subgradient descent algorithm. At each iteration, we can also estimate the gap between current solution and the optimal solution. Finally we can reach an optimal or near-optimal solution of the complex side-chain packing problem. Complex Decomposition through Vertex Duplication. To decompose a protein complex graph into subgraphs, we make two copies of each interfacial residue, one belonging to a monomer and the other to a protein interface. See Figure 1 for an example. To avoid overcounting the singleton score of interfacial residues, we assign the full score to the monomeric copy and 0 to the interfacial copy. By this way, we can separate a large complex residue interaction graph to a few monomer residue interaction graph plus some protein interface graphs. Each subgraph potentially has much smaller treewidth than the original complex graph.
It is not hard to prove that the formulation in Eq. (2) is equivalent to the formulation in Eq.(1).
Since the optimization problem (2) is still intractable and as hard as problem (1), we do not solve it directly. Instead we construct a Lagrangian dual problem by relaxing the equality constraints in (2). In particular, we introduce a Lagrangian variable for each equality constraint in (2) to obtain the following dual problem. It is not difficult to prove that problem (3) is a relaxation of the problem (2). That is, L(uIA, uIB), also denoted as L(u), is a lower bound of the objective function of the problem (2). Problem (3) consists of three independent and small subproblems, each of which corresponds to a subgraph generated by complex decomposition and can be solved efficiently and separately by tree-decomposition. Therefore, we can solve problem (3) and then use its solution to approximate the problem (2). Since the equality constraints in problem (2) are relaxed, the side-chain packings of the subproblems may be inconsistent in the interface regions. That is, the solutions RA, RB, RIA, RIB may not satisfy the equality constraints in problem (2). See [36] for more detailed account of theoretical analysis and optimality conditions of the dual relaxation approach.
To make the side-chain packings of all the subproblems consistent with one another and also to approach to the optimal side-chain packing solution, we maximize L(u) with respect to u. Since L(u) is a piecewise linear function over dual variable u, it can be optimized by the projected subgradient algorithm, which improves L(u) iteratively. The subgradient of the dual variable can be calculated directly from the solutions of subproblems. At each iteration, the subproblems are updated by the subgradient of dual variables and re-optimized to obtain new subgradient. Finally, L(u) will be equal to or very close to the optimal solution of problem (2) and the side-chain packings of all the subgraphs will be (almost) consistent with one another. The overall algorithm is shown in Algorithm 1.
At each iteration of the projected subgradient algorithm, we can construct a feasible solution to the primal problem (2). That is, we can obtain such a feasible solution by assembling the side-chain packings of all the constituent monomers and ignoring the packings of all the protein interfaces. Such a feasible solution bounds the optimal solution of problem (2) from above. Our dual decomposition can terminate when the gap between L(u) and this feasible solution is sufficiently small or the algorithm itself is converged. Our experiments indicate that it takes up to 20 iterations to terminate the projected subgradient algorithm.

Implementation Detail
Dead End Elimination. To reduce the combinatorial conformation space, we use dead-end-elimination (DEE) to remove rotamers that cannot lead to the optimal conformations. We first employ the Goldstein criterion DEE [10] and then split DEE [25] until no rotamers can be eliminated. The DEE techniques are powerful and often reduce the conformation space substantially.
Stepsize update. Theoretically, the O( 1 ǫ 2 ) convergence rate can be guaranteed if the stepsize αt of the projected subgradient method satisfies 1) limt→∞ αt = 0 and 2) t αt = ∞. Empirically, we set αt to µdt/(d0) where dt is the number of violated equality constraints after iteration t and µ is the initial stepsize. This step size works very well and the dual decomposition algorithm terminates within 20 steps.

Protein Complex Benchmark
To evaluate the performance of our method, we compiled a set of 547 protein complexes randomly selected from 3Dcomplex [17]. Each complex contains at least 10 interfacial residues and any two complexes share less than 30% sequence identity. These complexes contain 202 to 3084 residues. In this benchmark, the maximal number of constituent monomers in a complex is 20 and the maximal number of interfaces is 16. In the following sections, we use TreePack to denote the tree-decomposition algorithm in [45] and iTreePack the work presented in this paper. Note that TreePack uses the energy function described in this paper, which is different from the original TreePack [45]. That is, both TreePack and iTreePack use the same energy function, which allows the fair comparison of their algorithms.

Treewidth Distribution
We calculate the approximate treewidth of complex interaction graphs and monomer/interface interaction subgraphs using the minimum fill-in heuristic algorithm [15]. The interaction graphs is built after the dead-end-elimination steps with both D u and D int being set to 8Ȧ. Figure 2 shows the treewidth distribution of complex interaction graphs and the constituent subgraphs. For each complex, only the maximum treewidth of its constituent monomers is shown. In total, 293 of the 547 complexes contain subgraphs with smaller treewidth and 90 of them have treewidth at least 8 less than that of the complex itself. The average treewidth of the complex interaction graphs is 15.26 while that of the largest subgraph treewidths is 11.26. The largest protein complex 1jnb, which consists of 3084 residues, has treewidth 136 while its 12 constituent monomers have treewidths ranging from 17 to 21. This observation indicates that by applying tree-decomposition to individual monomer separately, we can significantly improve computational efficiently and save memory usage.

Performance Evaluation
We tested iTreePack and SCWRL4 [16] on all the 547 protein complexes. The side-chain prediction for a residue is treated as correct if the deviation of the predicted χ 1 angle from the native is less than 40 • . As a control, we also ran TreePack and SCWRL4 on all constituent monomers separately without considering their interactions. We use SCWRL4-monomer to denote the results obtained by running SCWRL4 on monomers. By comparing SCWRL4-monomer with SCWRL4 and iTreePack, we can estimate the importance of protein interfaces to complex side-chain packing. Prediction Accuracy on Complexes with Large Treewidth. Figure 3 shows the accuracy of iTreePack and SCWRL4 on the interfacial residues. A residue is interfacial if it is in contact with residues in another monomer and there is a contact between two residues if any of their two respective heavy atoms are within 4.5Ȧ [21]. As shown in Fig.3, iTreePack greatly excels SCWRL4 on the complexes with treewidth larger than 20. On 122 complexes with treewidth larger than 20, iTreePack outperforms SCWRL4 on about 75% or 91 of them, while SCWRL4 does better on only 8% or 10 of them. On average, iTreePack correctly predicts side-chain conformations for 5.66 more interfacial residues per complex. On complexes with treewidth between 16 and 20, iTreePack predicts better side-chain conformations for 70% of them, while SCWRL4 does better on 19%. On average, iTreePack correctly predicts side-chain conformations for 2.25 more interfacial residues per complex. Even on those complexes with small treewidth, iTreePack still outperforms SCWRL4 on more than 50% of them. Case Study. iTreePack performs exceptionally well for complexes with very large treewidth. For example, iTreePack does very well on complex 2oau, which contains 7 monomers, 21 interfaces, 1442 residues and 543 interfacial residues. The interaction graph of this complex has treewidth 26, while the maximal treewidth of its constituent monomers is only 10. SCWRL4-monomer correctly predicts 1063 residues with 379 being interfacial residues. TreePack correctly predicts 1054 residues with 377 being interfacial. SCWRL4 correctly predicts 1066 residues with 387 being interfacial, slightly better than SCWRL4-monomer. In contrast, iTreePack correctly predicts 1083 residues with 428 being interfacial residues. The physics energy of iTreePack's prediction is −207kj/mol better than SCWRL4's prediction. That is, there are some serious steric clashes in the side-chain conformations predicted by SCWRL4.
Another example is 1azs, a complex of G-protein and the catalytic domain of mammalian adenylyl cyclase [37]. In this complex, chains A and B form the adenylate cyclase catalytic domain. Chain C is a G-protein alpha unit. These chains closely interact with each other, sharing a common catalytic interface. The catalytic domain has to bind with alpha unit to perform its enzymic function. Although three chains are not large, this complex still has large treewidth because of their strong interaction. The treewidth of the complex is 24 but the maximal treewidth of the three chains is 16. iTreePack minimizes the energy function to the optimal and correctly predicts 11 more interfacial residues than SCWRL4. More importantly, several of these 11 residues play very important roles in the catalytic procedure. Figure 4 shows a pair of interacting residues in the catalytic interface. In the native structure, Arg-986 of Adenylyl cyclase and Ile-280 of G-protein form a canonical Arg-Ile interaction. Both residues are also spatially close to many other residues in all three chains. iTreePack predicts their side-chain conformations almost perfectly and fully recovers the important interaction. However, SCWRL4 fails to predict the side-chain conformations of these residues and results in several steric clashes. Overall Prediction Accuracy. The 4th column of Table 1 shows the average prediction accuracy on the interfacial residues. TreePack and SCWRL4-monomer perform poorly since they do not take into consideration the interactions among monomers. In contrast, iTreePack and SCWRL4 produce substantially better predictions (6-8% better). On the interfacial residues, iTreePack is about 2.36% better than SCWRL4. On the non-interfacial residues, iTreePack is 1.5% better than SCWRL4. This indicates that iTreePack's dual decomposition technique can optimize the energy function more accurately than SCWRL4 and thus, results in better side-chain packing.  Note that in terms of average prediction accuracy iTreePack is not significantly better than SCWRL4 because many test complexes have small treewidth and iTreePack has no advantage over SCWRL4 on these complexes. However, as shown in previous sections, iTreePack is much better than SCWRL4 on complexes with large treewidth.
The third column of Table 1 shows the accuracy on all the residues of the 547 complexes. TreePack and SCWRL4-monomer perform similarly and worse (about 2-3%) than iTreePack and SCWRL4. If only non-interfacial residues are considered, TreePack and SCWRL4-monomer are still worse than iTreePack and SCWRL4. This implies that it is important to consider inter-monomer interactions when predicting side-chain conformations for protein complexes. iTreePack is 1.7% better than SCWRL4 on all the residues, while TreePack is only 0.13% than SCWRL4-monomer. On average, van der Waals' energy of the side-chain placement by iTreePack is lower than that of SCWRL4 by 9.98kcal/mol. iTreePack produces more energetically favorable side-chain packing than SCWRL4 for 96.8% complexes.
Finally, tested on the SCWRL4 dataset of 379 monomer proteins, iTreePack/TreePack is marginally better than SCWRL4 on χ 1 accuracy.
Running Time. We tested iTreePack, SCRWL4 and TreePack using all the 547 complexes on a single core of Intel 2.4GHZ Xeon CPU with 8G RAM. TreePack fails to finish side-chain packing for each of 81 complexes within 1 hour. For the remaining complexes, the average running time of TreePack is 17.8 minutes. By contrast, iTreePack can solve the side-chain packing problem for all the 547 complexes, with the average running time being only 44 seconds, as shown in Table 2. SCWRL4 has an average running time of 32 seconds, slightly faster than iTreePack, but at the cost of packing accuracy.
Tested on the 379 monomer proteins of the SCWRL4 dataset, iTreePack is four times faster than SCWRL4 and slightly more accurate. In particular, iTreePack has an overall running time of 675 seconds while SCWRL4 2897 seconds.

Conclusion
We have presented an efficient algorithm, iTreePack, for protein complex side-chain packing. This method first converts the complex side-chain packing problem into a dual relaxation problem, which can be decomposed into a few small subproblems. Each corresponds to the side-chain packing of a monomer or a protein interface and can be solved by tree-decomposition efficiently and separately. A projected subgradient descent algorithm is then applied to assembling the solutions of the subproblems into a single coherent solution of the original problem. This algorithm can solve the complex side-chain packing problem much more efficiently and accurately than the pure tree-decomposition algorithm and thus, can do side-chain packing for very large complexes. Experimental results show that iTreePack can place side-chain atoms much more accurately than SCWRL4 for very large complexes since iTreePack can optimize the energy function much better than SCRWL4. Such a dual decomposition algorithm can also be applied to speeding up side-chain packing of large monomer proteins, which usually contain several domains. That is, we can first do side-chain packing for each domain separately and then assemble the side-chain packings of all the domains into a packing of the whole monomer protein.
The experimental results also show that there is still a gap between the side-chain packing accuracy of a complex and monomer protein. This may be because that we use the same rotamer library for both non-interfacial and interfacial residues and a simple energy function adapted from monomer side-chain packing. In the future, we are going to develop a rotamer library for interfacial residues and better energy functions for complex side-chain packing.