DeepConf is written in Python 3.8 and uses ASE libraries to calculate energy and force components in the conformer generations and energy minimization processes. The workflow for the prediction of local minima and conformer generation is given in Figure . The program starts reading the common 3D files (xyz, mol2, sdf and pdb file formats) from a directory of the ligands and fixes the structure by adding required hydrogen atoms if needed upon user request. According to the choice of the user, pre-optimization of the ligand is performed using several optimization methods (optimization_method=BFGS, LBFGS, FIRE, GPMin or Berny) and the energy/force calculator (calculator_type=ANI-2x or G16) until the convergence threshold is achieved (which is set by thr_fmax and maxiter, corresponding to maximum force and maximum iterations). Then, the program identifies rotatable bonds (torsion points) using the RDKit library, with or without the ETKDG approach. After identifying the torsion points, the program perturbs the torsion angles within a specified range to sample diverse conformations. To reduce redundancy and select representative structures, the generated conformers are clustered based on root-mean-square deviation (RMSD) of atomic coordinates using Kmeans clustering. The lowest energy structures in each of the clusters are chosen as the final representative conformations. This approach ensures that the final set of conformers is both diverse and energetically favorable. To sample all possible conformations, the program attempts to increase the number of conformers generated by the user defined parameters. Specifically, the user defines how many flips (nfold) will be performed on each torsion point (default is 2 corresponding to 180° rotation on each torsion) and a total of (nfold) N x10 conformations generated, where N represents the number of torsions. For instance, if there are 5 torsions and each one defined to flip 180° (i.e., nfold=2), a total of 2 5 x10=320 structures are produced. In addition, the maximum number of conformations can be set by the user to avoid too many conformations. Next, the program generates (nfold) N different clusters, where N represents the number of torsions, using K-means clustering and distributes generated structures into these clusters to ensure that each fold is categorized into a distinct cluster. For example, for a molecule with N = 5 torsions and nfold = 2, the program generates 2 5 = 10 clusters and distributes the 320 generated structures among them. Then, it calculates the single-point energies (SPE) of the structures and selects one representative structure (the one with the lowest energy) from each cluster. While the conformations are expected to be physically valid within the limits of RDKit/ETKDG, some unphysical structures, such as atom clashes, could arise. However, the SPE calculations, combined with clustering, effectively eliminate these unphysical structures, as they will have significantly higher energies compared to other conformers in the cluster. At this point, the user can set extra structures for consideration from each of the clusters (default is npick=0, corresponding to no additional structure pick from clusters and pick only the lowest energy one). In addition, if the user wants to optimize the picked structures from cluster, the program uses the minimization methods and calculators to minimize the structures. The last part is to eliminate the structures that are converging to the same equilibrium geometries. This is done by using F-clustering based on RMSD (opt_prune_rms_thresh) and energy (opt_prune_diffE_thresh) thresholds. The final structures represent the global and local minima structures.