PlayMolecule#

PlayMolecule is a Python API for running Acellera’s containerized drug-discovery apps. You install one Python package, point it at a registry of apps (a Docker registry, an HTTP backend, or a local install), and call each app as a normal Python function. Each call produces a self-contained ExecutableDirectory you can run() locally, submit to SLURM, or execute on a remote PlayMolecule HTTP backend.

Important

The playmolecule Python client (this package) is freely available, but the apps it runs — ProteinPrepare, DeepSite, Parameterize, and the rest — are commercial products that require an Acellera licence. Contact Acellera to book a demo and obtain a quote tailored to your needs. See Licensing for details.

🎓 Tutorials

Step-by-step lessons. Start here if you’re new.

Tutorials
🛠 How-to guides

Task-focused recipes. “How do I X?”

How-to guides
📖 Reference

API, CLI, and environment variables.

Reference
💡 Explanation

Concepts and mental models.

Explanation

Installation#

pip install playmolecule

See Installation for the rest of the setup (registry credentials, container runtime). Cluster administrators rolling out PlayMolecule for a multi-user site should read Install apps for a cluster.

Quick start#

from playmolecule import describe_apps
from playmolecule.apps import proteinprepare

describe_apps()                                      # list what's available
ed = proteinprepare(outdir="out", pdbid="3ptb")      # build an ExecutableDirectory
ed.run()                                             # execute locally
print(ed.status)                                     # JobStatus.COMPLETED

The same ed can be submitted to SLURM instead:

ed = proteinprepare(outdir="out", pdbid="3ptb")
ed.run(queue="slurm", partition="normalCPU", ncpu=1, ngpu=0)

Citing#

If you use PlayMolecule in published work, please cite Acellera. See https://www.acellera.com/playmolecule.