Therefore, for the first protein atom, the algorithm takes all the protein atoms that came out of the filtering process described above and picks the first atom (P1) where the angle P1-L1-L2 between that protein atom and two of the ligand atoms is at least 10 kT from 0 • or 180 • (see Equation ), where the dihedral angle P1-L1-L2-L3 is between -150 • and 150 • , and where the circular variance (as implemented in the SciPy package in Python) of that angle and dihedral angle are smaller than 100 or 300 degrees 2 , respectively.