docker run --env-file .env dynamate --pdb-id <pdb-id> --ligand <ligand-name (optional)> --model <model_name> --temp <simulation temperature (K), default: chosen by the agent> --duration <simulation duration (ns), default: chosen by the agent>
docker run --env-file .env dynamate --model <model_name> --pdb-id <pdb-id> --ligand <ligand-name (optional)> --temp <simulation temperature (K), default: chosen by the agent> --duration <simulation duration (ns), default: chosen by the agent>
```
```
4. Interactive mode (for debugging or exploration):
4. Interactive mode (for debugging or exploration):
```
```
docker run -it --rm --env-file .env dynamate /bin/bash
docker run -it --rm --env-file .env dynamate /bin/bash
To launch the script specify the PDB (or upload it), possible ligand name, and model name in the command line arguments. For example, to launch the MD run with the protein 5UEZ, ligand 89G, and model GPT-5 mini:
To launch the script specify the model name in the command line arguments. For example, to launch the agent with GPT-5 mini:
"""Have the LLM ask the user for the PDB ID and optional ligand, parse via LLM, then confirm."""
# Step 1: LLM asks the user
self.messages.append({
"role":"user",
"content":"Ask the user what molecular system they would like to simulate (PDB ID or file upload) and whether they have a ligand to include (3-letter code).",
prompt=f"I would like to run molecular dynamics for the system {user_input}. If a PDB has not been uploaded, use the tools available to fetch and prepare the PDB for {user_input}."
ifinteractive:
self.logger.info(f"User input: {prompt}")
self._ask_for_system()
ifinteractive:
prompt="Please proceed to fetch and prepare the PDB file for the system we just discussed."
else:
prompt=f"Fetch and prepare the PDB file for {self.pdb_id}."
self.logger.info(f"Starting prep for PDB: {self.pdb_id}, Ligand: {self.ligand_name or 'none'}")