## 2 Materials and Methods
### Implementation Details
TRRT-Exploration: The exploration algorithm implemented in this work combines ideas of the Transition-based RRT (TRRT) [34] and the threshold algorithm [8]. The pseudo-code is presented in Algorithm 5. The algorithm constructs several exploration trees starting from the given set of roots, aiming to cover the reachable regions of the conformational space. These trees are constructed by iterating the following steps:  
* (line 3) One of the trees \(\mathcal{T}_{i}\) is randomly selected. * (line 4) A conformation \(q_{\text{rand}}\) is randomly sampled in a domain containing the selected tree. In practice, a convex polytope in \(\mathcal{C}\) is computed for each tree, and updated when the tree grows. This polytope is enlarged in proportion to the size of the exploration step, and a conformation is randomly sampled within it. * (line 5) The nearest conformation to \(q_{\text{rand}}\), \(q_{\text{near}}\), stored in the nodes of the selected tree \(\mathcal{T}_{i}\) is chosen for extension. * (line 6) A new conformation \(q_{\text{new}}\) is created by extending \(q_{\text{near}}\) in the direction of \(q_{\text{rand}}\). This extension is implemented by moving along the interpolated path between \(q_{\text{near}}\) and \(q_{\text{rand}}\) of a given step size, provided in the set of parameters \(P\). * (lines 7-8) A new node containing \(q_{\text{new}}\) will be added to the corresponding tree if it satisfies a set of constraints. More precisely, the function ValidConformation tests the absence of clashes between non-bonded atoms and that the potential energy of the conformation is below a given threshold (defined in the set of parameters \(P\)). The function AddNode creates a new node and performs the merging of two trees when \(q_{\text{new}}\) can be connected to a neighboring node in another tree. The algorithm stops when StoppingCriteria based on a maximum number of iterations or on a limited computing time are satisfied. ```
input : Conformational space variables \(\mathcal{C}\)  Algorithm parameters and energy function \(P\)  Initial conformations for the exploration (roots) \(\mathcal{Q}\) output:Set of trees containing conformations \(\mathcal{T}\)
1\(\mathcal{T}\leftarrow\mathcal{Q}\)
2 whilenotStoppingCriteria\((P,\mathcal{T})\)do
3\(\mathcal{T}_{i}\leftarrow\texttt{SelectTree}(\mathcal{T})\)
4\(q_{\text{rand}}\leftarrow\texttt{SampleRandomConformation}(\mathcal{C}, \mathcal{T}_{i})\)
5\(q_{\text{near}}\leftarrow\texttt{GetNearestNeighbor}(\mathcal{T}_{i},q_{\text{rand}})\)
6\(q_{\text{new}}\leftarrow\texttt{ExtendTree}(P,q_{\text{near}},q_{\text{rand}})\)
7 ifValidConformation\((P,q_{\text{new}})\)then
8\(\mathcal{T}\leftarrow\texttt{AddNode}(\mathcal{T}_{i},q_{\text{new}})\)
9 return\(\mathcal{T}\)
```  
**Algorithm 5**TRRT-Exploration  
FilterConformations: The aim of this function is to reduce the number of local minima from which the next iteration of the IGLOO algorithm is initialized. Similarity between conformations is based on two criteria: (i) the angular root-mean-square deviation (RMSD) between the values of the _main_ variables; (ii) the difference between each _main_ dihedral value. Two conformations are considered to be too similar if these two values are below given thresholds. In that case, the conformation with higher energy is removed. StoppingCriteria: Several types of conditions can be considered to determine the end of the iterative process performed by the algorithms. They are based on: (i) a maximum number of iterations; (ii) a limited computing time; (iii) estimated convergence, based on the evolution of the lowest energy value (i.e., the global optimum). All these conditions are evaluated, and the first one to be satisfied stops the algorithm.