Docking and other structure-based tools need a starting point: where on the protein should you even be looking? When little is known about a target, finding candidate binding sites has traditionally been a manual, time-consuming process—eyeballing a structure, cross-referencing the literature, or running clunky standalone software.
Rowan's pocket-detection workflow automates this step, generating ranked candidate binding sites directly from a protein structure.
Rowan's pocket-detection workflow uses Pocketeer, a geometric pocket-finding algorithm that builds on ideas from the widely used fpocket. After a protein has passed through Rowan's automatic protein preparation (removing waters, rebuilding missing residues, and so on), Pocketeer:
The whole process runs in seconds, returning a ranked list of pockets with a volume, a druggability score, a bounding box, and the residues that line each site.
Detected pockets are immediately useful downstream:
Pocket detection can also be run via Rowan's Python API, making it easy to screen many targets at once:
import rowan
folder = rowan.get_folder("examples")
protein = rowan.create_protein_from_pdb_id(
"1OTP", name="thymidine phosphorylase", project_uuid=rowan.default_project().uuid
)
protein.prepare()
workflow = rowan.submit_pocket_detection_workflow(
protein=protein,
name="Pocket detection on thymidine phosphorylase",
folder=folder,
)
result = workflow.result()
print(f"Detected {len(result.pockets)} pocket(s):")
for i, pocket in enumerate(result.pockets):
print(f" Pocket {i}: score={pocket.score}, volume={pocket.volume} ų")
print(f" center={pocket.pocket_center}")
print(f" sides={pocket.pocket_sides}")
print(f" residues={pocket.residue_numbers}")
print(f"View workflow privately at: https://labs.rowansci.com/pocket-detection/{workflow.uuid}")
For more examples, see our example scripts on GitHub.
Ready to try it out? Create a free Rowan account and find candidate binding sites on your target in seconds.