|
Algorithm 1 Grouping predicted ligandable points into binding sites. |
| 1: function binding_sites()
|
| 2: ▹ Real values a and b define the interval in which we look for the best c value. |
| 3:
|
| 4: ▹ Real value c is the threshold for classification of ligandability predictions in each iteration of the while loop. |
| 5:
select_ligandable_points() |
| 6:
|
| 7:
|
| 8:
|
| 9: while is not “break” do
|
| 10:
components() |
| 11: for do
|
| 12: if properties fit into quantile bounds then
|
| 13: append to
|
| 14: end if
|
| 15: end for
|
| 16:
|
| 17: if is “increase a” then
|
| 18:
|
| 19: else if is “decrease b” then
|
| 20:
|
| 21: end if
|
| 22:
|
| 23:
|
| 24:
select_ligandable_points() |
| 25:
compute_condition() |
| 26: end while
|
| 27: return
|
| 28: end function
|
| |
| 29: function
compute_condition() |
| 30: if then return “break” |
| 31: else if then return “increase a” |
| 32: else if is an then return “decrease b” |
| 33: else if then return “decrease b” |
| 34: else if then return “increase a” |
| 35: else if then return “decrease b” |
| 36: else if then return “increase a” |
| 37: else if then return “decrease b” |
| 38: else if then return “increase a” |
| 39: else
|
| 40: return “decrease b” |
| 41: end if
|
| 42: end function
|
| |
| 43: function components() |
| 44:
|
| 45: ▹ Two points are connected if they are closer than 4Å |
| 46: ▹ Create a graph with vertices V and edges E
|
| 47: return connected_components(G) |
| 48: end function
|
| |
| 49: function select_ligandable_points() |
| 50:
|
| 51: for do
|
| 52: if
then ▹ Check if prediction for is higher than threshold c
|
| 53: append to
|
| 54: end if
|
| 55: end for
|
| 56: return
|
| 57: end function
|