|
30 | 30 | "\n", |
31 | 31 | "| Time | Section | Topic |\n", |
32 | 32 | "|------|---------|-------|\n", |
33 | | - "| 0-5 min | **Setup** | Connect to simulation |\n", |
34 | | - "| 5-15 min | **Application 1** | Continuous monitoring |\n", |
35 | | - "| 15-25 min | **Application 2** | Monitoring with breaks |\n", |
36 | | - "| 25-35 min | **Application 3** | Adaptive and selective sampling |\n", |
37 | | - "| 35-45 min | **Application 4** | Live visualization |\n", |
38 | | - "| 45-52 min | **Exercise 1** | Hydration shell analysis |\n", |
39 | | - "| 52-60 min | **Exercise 2** | Radius of gyration |\n", |
| 33 | + "| 0-5 min | **Setup** | Workspace Codespace setup |\n", |
| 34 | + "| 5-12 min | **Introduction** | Connecting to Simulation |\n", |
| 35 | + "| 12-15 min | **Application 1** | Continuous monitoring |\n", |
| 36 | + "| 15-24 min | **Application 2** | Monitoring with breaks |\n", |
| 37 | + "| 24-29 min | **Application 3** | Adaptive and selective sampling |\n", |
| 38 | + "| 29-35 min | **Application 4** | Live visualization |\n", |
| 39 | + "| 35-47 min | **Exercise 1** | Charge Density Analysis |\n", |
| 40 | + "| 47-59 min | **Exercise 2** | Root Mean Square Deviation (RMSD) |\n", |
| 41 | + "| 59-60 min | **Wrap-up** | Q&A and next steps |\n", |
40 | 42 | "\n", |
41 | 43 | "Let's get started! 🚀" |
42 | 44 | ] |
|
110 | 112 | "print(f\"💧 Waters: {u.select_atoms('resname TIP3').n_residues} molecules\")\n" |
111 | 113 | ] |
112 | 114 | }, |
| 115 | + { |
| 116 | + "cell_type": "code", |
| 117 | + "execution_count": null, |
| 118 | + "metadata": {}, |
| 119 | + "outputs": [], |
| 120 | + "source": [ |
| 121 | + "# Disconnect from the simulation\n", |
| 122 | + "u.trajectory.close()\n", |
| 123 | + "print(\"🔌 Disconnected from simulation.\")" |
| 124 | + ] |
| 125 | + }, |
113 | 126 | { |
114 | 127 | "cell_type": "markdown", |
115 | 128 | "metadata": {}, |
|
138 | 151 | "### Step 4: Stopping and Restarting the Simulation\n", |
139 | 152 | "\n", |
140 | 153 | "**To stop the simulation:**\n", |
141 | | - "- In the terminal running `./run.sh`, press **Ctrl+C**\n", |
| 154 | + "- In the terminal running `./run.sh`, press **Ctrl+C** (multiple times for certain Simulation Engines)\n", |
142 | 155 | "- GROMACS will shut down gracefully\n", |
143 | 156 | "\n", |
144 | 157 | "**To restart:**\n", |
|
429 | 442 | "\n", |
430 | 443 | "# Create live plot\n", |
431 | 444 | "plot = live_plot(title=\"Protein Radius of Gyration\", ylabel=\"Rg (Å)\", update_interval=1)\n", |
| 445 | + "# Have fixed axis for better visualization\n", |
| 446 | + "# plot[\"ax\"].set_xlim(0, 100) # Time axis from 0 to 100 ps\n", |
| 447 | + "# plot[\"ax\"].set_ylim(13, 16) # Rg axis from 13 to 16 Å\n", |
432 | 448 | "\n", |
433 | 449 | "try:\n", |
434 | 450 | " for ts in u.trajectory:\n", |
|
495 | 511 | "metadata": {}, |
496 | 512 | "outputs": [], |
497 | 513 | "source": [ |
498 | | - "from imdclient.IMD import IMDReader\n", |
499 | 514 | "import MDAnalysis as mda\n", |
500 | 515 | "import numpy as np\n", |
501 | 516 | "from graph_utils import live_plot\n", |
|
583 | 598 | "metadata": {}, |
584 | 599 | "outputs": [], |
585 | 600 | "source": [ |
586 | | - "from imdclient.IMD import IMDReader\n", |
587 | 601 | "import MDAnalysis as mda\n", |
588 | 602 | "from MDAnalysis.analysis import rms\n", |
589 | 603 | "import numpy as np\n", |
|
0 commit comments