This procedure is an adapted form of iGEM’s 3A assembly method. Instead of assembling two gene parts together, this procedure aims to assemble 3 parts into a plasmid backbone. Reference Design section for a visual diagram of the ligation procedure.
Digesting 3 inserts separately
Label 3 1.5 mL microcentrifuge tubes A, B, and C.
Into each tube, transfer 3uL of gene insert (part A into tube A, part B into tube B, part C into tube C) and 5 uL of distilled water.
Into tube A, add 1uL of 10X Tango Buffer (comes with SpeI) and 1 uL of SpeI
Into tubes B and C, add 1uL of FastDigest buffer and 1 uL of XbaI
Vortex and microcentrifuge tubes A, B, and C to mix and collect the liquid in each
Incubate in 37C water bath for 15 hours (overnight)
Cleaning Up Each Sample with Qiagen PCR Purification Kit
Due to the heat resistant nature of SpeI, we could not heat inactivate the enzyme and had to use a PCR cleanup kit to remove the enzyme to ensure it did not interfere with downstream processes. Every cleanup step is performed with a Qiagen PCR Purification Kit. The procedure listed here is repeated for each tube. As a side note, our Speed-Vac machine was likely broken and couldn’t pull a vacuum or heat up to 60 C.
Add 50 uL of Buffer PB to the digest mix (5:1 ratio)
Transfer sample to QIAquick column that has already been assembled with a 2 mL collection tube
Centrifuge at 13000 RPM for 60 seconds
Discard flow-through and replace column in collection tube
Add 750 uL of Buffer PE to the column and centrifuge again at 13000 RPM for 60 seconds
Discard flow-through and replace column in collection tube
Centrifuge again at 13000 RPM for 60 seconds
Discard collection tube and place column in clean 1.5 mL microcentrifuge tube
Add 50 uL Buffer EB to column
Centrifuge for another 60 seconds at 13000 RPM and collect flowthrough
Add another 30 uL of Buffer EB to column and centrifuge at 13000 RPM for 60 seconds using the same tube
Place open microcentrifuge tube into Speed-Vac and spin at 60C for 5 minutes
Ligating A and B Together
Label a new 1.5 mL microcentrifuge tube “AB”
Add 9 uL of the cleaned part A and 9 uL of the cleaned part B into that tube
Add 1 uL of T4 DNA Ligase
Add 4 uL of Ligase Buffer
Incubate for 1 hour at room temperature
To kill the ligase, incubate at 70 C for 5 minutes
Digesting Part AB
To the previous mixture, add 2 uL of 10X Tango Buffer and 1uL of SpeI
Incubate overnight in 37 C water bath
Cleaning Up Part AB
As a side note, our Speed-Vac machine was likely broken and couldn’t pull a vacuum or heat up to 60 C.
Add 50 uL of Buffer PB to the digest mix (5:1 ratio)
Transfer sample to QIAquick column that has already been assembled with a 2 mL collection tube
Centrifuge at 13000 RPM for 60 seconds
Discard flow-through and replace column in collection tube
Add 750 uL of Buffer PE to the column and centrifuge again at 13000 RPM for 60 seconds
Discard flow-through and replace column in collection tube
Centrifuge again at 13000 RPM for 60 seconds
Discard collection tube and place column in clean 1.5 mL microcentrifuge tube
Add 50 uL Buffer EB to column
Centrifuge for another 60 seconds at 13000 RPM and collect flowthrough
Add another 30 uL of Buffer EB to column and centrifuge at 13000 RPM for 60 seconds using the same tube
Place open microcentrifuge tube into Speed-Vac and spin at 60C for 5 minutes
Ligating AB and C
To 80 uL of cleaned AB from the last step, add 20 uL of part C
Add 12 uL of Ligase Buffer
Add 1 uL of T4 DNA Ligase
Incubate for 1 hour at room temperature
Kill ligase by incubating at 70 C for 5 minutes
Digesting ABC with EcoRI and PstI
To the ligation mixture above, add 15(?) uL of FastDigest Buffer
Add 1 uL of EcoRI and 1uL of PstI
Vortex and microcentrifuge to collect liquid
Incubate in 37 C water bath overnight
Cleaning Up Part ABC (botched)
As a side note, our Speed-Vac machine was likely broken and couldn’t pull a vacuum or heat up to 60 C.
Load 100 uL of digestion mix into QIAquick column and place into collection tube
Add 500 uL of Wash Buffer (should have been binding buffer)
Realize mistake
Centrifuge at 13000 RPM for 1 minute
Speed Vac for 5 minutes
Place flowthrough back into column and top off with Membrane Binding Buffer
Repeat 4-6 4 times
Place column into new 1.5 mL microcentrifuge tube
Add 50 uL of Elution Buffer to column and centrifuge at 13000 RPM for 1 minute
Add 30 uL of Elution Buffer to column and centrifuge at 13000 RPM for 1 minute
Await Bioanalyzer testing of flowthrough, which should contain the composite part ABC
3 part assembly procedure (second iteration)
Digesting 3 inserts separately
Label 3 tubes: A, B, C
For each tube add 3 uL of the insert, 1 uL of 10x buffer, 5 uL of distilled water, 1 uL enzyme
For tube A: Insert=Const-LuxR 2, enzyme is SpeI
For tube B: Insert=Prma-LuxI, enzyme is XbaI
For tube C: Insert=Plux-GFP1, enzyme is XbaI
Vortex the mix, and then centrifuge to collect all contents to the bottom
Put all 3 tubes in a water bath at 37C water bath for 15 minutes
Purify all sample, to remove any enzymes
Label 3 column tubes A, B, C
Label 3 microcentrifuge tubes A, B, C
Put 50 uL of the buffer PB and mix in each tube
Place each 60 uL mix in their respective column tubes
Centrifuge the tubes for 1 minute at 13000 RPM
Empty flow through and place the column back into the same tubes
Add 750 uL of buffer PE into the column and centrifuge again
Discard flow through, place column in the same tube and centrifuge again
Place column into their respectively label new micro centrifuge tubes
Add 50 uL of buffer EB to each column and centrifuge
Now all samples have been purified
Ligating Insert A and B
Label a new tube AB
Add 9 uL of purified A and 9 uL of purified B, 5 uL ligase buffer, 1 uL water, 1 uL of Ligase to the tube
Vortex and Centrifuge
Let the mix sit for 5 minutes
Digesting AB mix
In the AB tube (should contain 25 uL of content) add 3 uL of 10x TANGO buffer, 1 uL of SpeI and 1 uL of water
Vortex, and centrifuge to bring contents down to the bottom
Let tube sit in a 37C water bath for 15 minutes
Purify the AB mix to remove any enzymes
Label 1 column tube AB
Label 1 microcentrifuge tubes AB, on the side write pure
Put 150 uL of the buffer PB and mix in the original AB tube
Place each 180 uL mix in its respective column tube
Centrifuge the tubes for 1 minute at 13000 RPM
Empty flow through and place the column back into the same tubes
Add 750 uL of buffer PE into the column and centrifuge again
Discard flow through, place column in the same tube and centrifuge again
Place column into their respectively label new micro centrifuge tubes
Add 50 uL of buffer EB to each column and centrifuge
Now all samples have been purified
Ligating inserts AB and C
Make a new tube labelled ABC
Add 25 uL of purified AB mix, 9 uL of C, 9 uL of 5x ligase buffer, 1 uL of Ligase, and 1 uL of water
Vortex and Centrifuge
Let the mix sit at room temperature for 5 minutes
Digesting ABC
In your ABC tube (should have 45 uL of content)
Add 6 uL of 10x Buffer, 7 uL of water, 1 uL of ECORI, and 1 uL of PSTI
Vortex and centrifuge
Let the mix sit in a 37C water bath for 15 minutes
Purify your sample
Label 1 column tube ABC
Label 1 microcentrifuge tubes ABC, on the side write pure
Put 300 uL of the buffer PB and mix in the original ABC tube
Place each 360 uL mix in its respective column tube
Centrifuge the tubes for 1 minute at 13000 RPM
Empty flow through and place the column back into the same tubes
Add 750 uL of buffer PE into the column and centrifuge again
Discard flow through, place column in the same tube and centrifuge again
Place column into their respectively label new micro centrifuge tubes
Add 50 uL of buffer EB to each column and centrifuge
Now all samples have been purified
You should now have all 3 inserts assembled and purified along with some extra samples in each step of the way, in case you want to run a Bio analyzer, Nanodrop, etc.
Redoing the process starting at Ligation of AB and C
Ligating inserts AB and C again
Make a new tube labelled ABC2
Add 25 uL of purified AB mix, 9 uL of C, 9 uL of 5x ligase buffer, 1 uL of Ligase, and 1 uL of water
Vortex and Centrifuge
Let the mix sit at room temperature for 15 minutes
Digesting ABC
In your ABC tube (should have 45 uL of content)
Add 6 uL of 10x Buffer, 7 uL of water, 1 uL of ECORI, and 1 uL of PSTI
Vortex and centrifuge
Let the mix sit in a 37C water bath for 45 minutes
Purify your sample
Label 1 column tube ABC
Label 1 microcentrifuge tubes ABC, on the side write pure
Put 300 uL of the buffer PB and mix in the original ABC tube
Place each 360 uL mix in its respective column tube
Centrifuge the tubes for 1 minute at 13000 RPM
Empty flow through and place the column back into the same tubes
Add 750 uL of buffer PE into the column and centrifuge again
Discard flow through, place column in the same tube and centrifuge again
Place column into their respectively label new micro centrifuge tubes
Add 50 uL of buffer EB to each column and centrifuge
Now all samples have been purified
You should now have all 3 inserts assembled again and purified along with almost no extra surplus.
Storage Vectors - Plasmid Digestion Try #1
Creation of Competent Cells
Obtain Escherichia coli cells
Heat shock for 30 seconds in 42° C H2O
Incubated on ice for 2 minutes
Store the cells at room temperature while preparing the Super Optimal Broth
Add 250 uL of SOB (Super Optimal Broth) Medium to the cells
Put cells on a shaking incubator for 60 minutes at 225 rpm (revolutions per minute) at 37° C.
Transforming Competent Cells with Plasmids
Thaw the competent cells on wet ice. Add the microcentrifuge tubes that will be used to the wet ice as well.
Gently mix the cells and then add 50 μL aliquots to the chilled microcentrifuge tubes
Add 1-5 μL of the plasmid DNA into the tube and mix well by flicking the tube
Incubate the cells on ice for 30 minutes
Heat shock the cells for exactly 30 seconds in a 42° C water bath
Incubate the cells on ice for 2 minutes
Add 250 μL of SOC medium and place the tube in a shaking incubator
Shake the tubes at 225 rpm for 1 hour at 37° C
Spread cells from each tube to an agar plate and incubate at 37° C for 18 hours (overnight)
To prepare the agar plate
Add 500 uL of chloramphenicol to 500 mL of agar
Pour the mix was onto a 20 uL plate.
Our agar plates had to much growth. We realized that our ration of 1:1 was too high, so we decided that we would dilute it the next time we made agar plates.
Miniprep of Colonies
Note: All centrifuges were done at 14000 rpm and 27° C
Centrifuge cells for 5 minutes to pellet cells
5 minutes was too long to centrifuge, only did 3 minutes next time
Add 250 μL of Resuspension Solution and ensure no cell clumps are present
We skipped this step on accident
Transfer all liquid to a microcentrifuge tube
Add 250 μL of Lysis Solution to tube and invert 4-6 times
Add 350 μL of Neutralization Solution and invert the tube 4-6 times immediately
Centrifuge for 5 minutes to pellet cell debris and chromosomal DNA
Transfer supernatant fluid to the GeneJET Spin Column
Centrifuge for 1 minute and discard flow-through
Add 500 μL of the Wash Solution, centrifuge for 30-60 seconds, and discard flow-through
Centrifuge for an additional 60 seconds and discard the flow-through
Transfer the GeneJET column to a 1.5 mL microcentrifuge tube
Add 50 μL of the Elution Buffer and incubate at room temperature for 2 minutes
Centrifuge for 2 minutes and discard the column. Ensure that the flowthrough is stored safelyh
After nanodropping the plasmids from the miniprep, we decided to only use C11, E11, and G11 since they had the highest concentration and purity (high 260/280 ratio).
Digestion of Plasmids + Inserts
Label 7 1.5 mL microcentrifuge tubes C11, E11, G11, A, B, and C.
Into each tube for the plasmids, add 25 uL of the plasmid, 3 uL of 10X buffer, 1 uL of EcoRI, and 1 uL of PST
Into each tube for the inserts, add 9 uL of the insert, 7 uL of H2O, 2 uL of 10X Buffer, 1 uL EcoRI, and 1 uL of PST
Put plasmids and inserts into a 37° C water bath for 15 hours (overnight)
BioAnalyzer
Put agarose gel into microchip and incubate for 1 minute to let it set
Add undigested and digested plasmids in an alternating pattern into the chip
Run the chip through the BioAnalyzer. Ensure the BioAnalyzer is set to high sensitivity
The results from the BioAnalyzer were inconclusive for the plasmids, so we decided to move on to the gel electrophoresis and purification. The BioAnalyzer is essentially a smaller gel electrophoresis, which means that running a gel can confirm the results and allow us to move with our experiment.
The results from the BioAnalyzer for the inserts showed that parts A and B had digested correctly. However, part C wasn’t digested correctly from the size that the band correlated with. We redigested part C using the same digestion procedure shown above.
Gel Electrophoresis
Measure out 1 gram of agarose gel powder.
Poured into a beaker and measure up to 100 mL with TAE (Tris-acetate EDTA 50X) buffer.
Prepare the gel cast with tape around the corners.
Pour up to 25 mL of TAE/agarose mix into the empty gel cast.
Ensured that the teeth aren’t covered completely
Put DNA samples onto the gel.
No bands were seen under UV light, so we decided to redo the entire procedure and fix some of the mistakes that were made.
Storage Vectors - Plasmid Digestion Try #2
Miniprep of Colonies
Note: All centrifuges were done at 14000 rpm and 27° C
Centrifuge cells for 5 minutes to pellet cells
Add 250 μL of Resuspension Solution and ensure no cell clumps are present
Transfer all liquid to a microcentrifuge tube
Add 250 μL of Lysis Solution to tube and invert 4-6 times
Add 350 μL of Neutralization Solution and invert the tube 4-6 times immediately
Centrifuge for 5 minutes to pellet cell debris and chromosomal DNA
Transfer supernatant fluid to the GeneJET Spin Column
Centrifuge for 1 minute and discard flow-through
Add 500 μL of the Wash Solution, centrifuge for 30-60 seconds, and discard flow-through
Centrifuge for an additional 60 seconds and discard the flow-through
Transfer the GeneJET column to a 1.5 mL microcentrifuge tube
Add 50 μL of the Elution Buffer and incubate at room temperature for 2 minutes
Centrifuge for 2 minutes and discard the column. Ensure that the flowthrough is stored safelyh
After nanodropping the plasmids from the miniprep, we decided to only use A11, C11, and E11 since, although G11 had high concentration, they had the highest purity (high 260/280 ratio).
PCR Purification Column
Note: All centrifuges were done at 13000 rpm and 27° C
Add 5 volumes of PB buffer for 1 volume of plasmid
Place liquid into a QIAquick column
Centrifuge for 30-60 seconds and discard the flow-through
Add 750 μL of Buffer PE and centrifuge for 30-60 seconds and discard the flow-through
Centrifuge one more for 1 minute and discard the flow-through
Place the QIAquick columns into a 1.5 mL microcentrifuge tube
Add 30 μL of Elution Buffer (for concentrated DNA) and centrifuge for 1 minute and store the flow-through safely
The plasmids were run through a BioAnalyzer again (Check above for the protocol) and sufficient concentrations and sizes were seen for all of the plasmids that were digested.
Gel Electrophoresis
Measure out 1 gram of agarose gel powder.
Poured into a beaker and measure up to 100 mL with TAE (Tris-acetate EDTA 50X) buffer.
Prepare the gel cast with tape around the corners.
Pour up to 25 mL of TAE/agarose mix into the empty gel cast.
Ensured that the teeth aren’t covered completely
Put DNA samples onto the gel.
Minimal bands were seen in the gel for A11, C11, and E11, so it was determined that the digestion was unsuccessful once again. However, the results were confusing because the BioAnalyzer showed sufficient amounts of all three of the digests. We decided to run the undigested G11 on the gel and its band showed up. For this reason, we decided to quickly digest G11 and use it for the experiment.
Storage Vectors - G11
PCR Purification Column
Note: All centrifuges were done at 13000 rpm and 27° C
Add 5 volumes of PB buffer for 1 volume of plasmid
Place liquid into a QIAquick column
Centrifuge for 30-60 seconds and discard the flow-through
Add 750 μL of Buffer PE and centrifuge for 30-60 seconds and discard the flow-through
Centrifuge one more for 1 minute and discard the flow-through
Place the QIAquick columns into a 1.5 mL microcentrifuge tube
Add 30 μL of Elution Buffer (for concentrated DNA) and centrifuge for 1 minute and store the flow-through safely
The resulting flow-through was nanodropped, but the results showed low concentrations of plasmid. The G11 was eluted 2 more times in order to maximize the amount of plasmid taken from the column.
Gel Extraction
Measure out 1 gram of agarose gel powder.
Poured into a beaker and measure up to 100 mL with TAE (Tris-acetate EDTA 50X) buffer.
Prepare the gel cast with tape around the corners.
Pour up to 25 mL of TAE/agarose mix into the empty gel cast.
Ensured that the teeth aren’t covered completely
Put DNA samples onto the gel and let the gel run for 1-1.5 hours.
Excise the gel slice with the band (make sure it is as close as possible) and add it to a 1.5 mL tube
Add 1:1 volume of Binding Buffer (volume of buffer: gel slice weight)
Incubate at 50 to 60° C for 10 minutes or until the gel slice is dissolved
Vortex the gel mixture briefly and then transfer 800μL of the mixture to the GeneJET column
Centrifuge for 1 minute and discard the flow-through
Add 100 μL of Binding Buffer and centrifuge for 1 minute. Discard the flow-through
Add 700 μL of Wash Buffer and centrifuge for 1 minute. Discard the flow through
Centrifuge for an additional 1 minute and discard the flow through.
Transfer the column to a 1.5 mL microcentrifuge tube and add 50 μL of Elution Buffer
Centrifuge for 1 minute and store the flow-through safely
Ligation of Inserts
Note: All numerical values of insert amount, plasmid amount, and buffer amount are based on our calculations
Calculate the ratio of insert:plasmid amount to reach a 1:3 ratio (dependent on concentration)
In tube 1, add 5 μL of the cleaned part A to 1 μL of G11
In tube 2, add 2 μL of the cleaned part B to 1 μL of G11
In tube 3, add 8 μL of the cleaned part C to 1 μL of G11
Add 1 uL of T4 DNA Ligase to each tube
Add 3 μL of 10X Ligase Buffer to Tube 1 and 6 μL to Tube 2
Incubate for 1 hour at room temperature
Incubate at 70° C for 5 minutes to kill the ligase
transformation Vector
Thaw the competent cells on wet ice. Add the microcentrifuge tubes that will be used to the wet ice as well.
Gently mix the cells and then add 50 μL aliquots to the chilled microcentrifuge tubes
Add 1-5 μL of the plasmid DNA into the tube and mix well by flicking the tube
Incubate the cells on ice for 30 minutes
Heat shock te cells for exactly 30 seconds in a 42° C water bath
Incubate the cells on ice for 2 minutes
Add 250 μL of SOC medium and place the tube in a shaking incubator
Shake the tubes at 225 rpm for 1 hour at 37° C
Spread cells from each tube to an agar plate and incubate at 37° C for 18 hours (overnight)
To prepare the agar plate
Add 500 uL of chloramphenicol to 500 mL of agar
Pour the mix was onto a 20 uL plate.
Dry Lab
OpenMM
Setting Up OpenMM
To start with OpenMM, set up procedures on the official website need to be followed. A simplified version for MacBooks will be presented here. Anaconda and a new environment to install OpenMM will be needed. To install run this snippet of code
conda install -c conda-forge openmm
this should install openmm, but you might have to use pip to install other necessary libraries for your script. Also to use any of the same files that we have used visit this link.
A file that contains your ligand and protein is needed, and, ideally, it should already be situated in a binding pocket to reduce the amount of time needed to observe. We used ROSIE a ligand docking software to dock the ligand to the protein. 200 different iterations were used and when the 2 get docked, conformational change is also recorded and saved, meaning the structure is in the correct shape.
https://rosie.graylab.jhu.edu/ligand_docking
The needed files can be generated; Using the pdb created by Uniprot for LuxR, this smile string for PFOA "C(=O)(C(C(C(C(C(C(C(F)(F)F)(F)F)(F)F)(F)F)(F)F)(F)F)(F)F)O", and this smile string for AHL "CCCC(=O)CC(=O)NC1CCOC1=O"
Forcefields
Now, to govern how the ligand and protein interact, you will need forcefields, which are essentially just files of data, containing everything about the molecule from elements to charges. Now for the protein, LuxR we can use the general amber forcefield, amber 14 all, and the general forceifeld for water is, amber 14 - tip3pfb, for the ligand and protein system we will use the amber 14 general forcefield, GAFF, and finally we will need one specific to the ligand, or in this case one for pfoa and one for ahl. To generate these files you will need the sdf file for the ligand, the same one used in the ROSIE docking. You will need to install homebrew before proceding. Once homebrew is installed, open terminal and run this
brew install gcc
This will install all the dependencies for ambertools.
Now we can use the antechamber tool that comes with ambertools, this is a very useful quantum computing tool. Run this command into terminal to determine the charges for your ligand. Run this in your terminal (same environment that all libraries were installed in anaconda), and you can use The OpenBabel to convert your sdf to mol2 so that you can store charges
Now that you have a mol2 with your charges, you can run it through this converter to get a pdb file. Then using this cloud server, you can obtain a forcefield file (.xml) for your ligand, you will need to do this twice, to get one for ahl, and one for PFOA.
https://www.cheminfo.org/Chemistry/Cheminformatics/FormatConverter/index.html and https://datascience.unm.edu/tomcat/biocomp/convert
Developing the script
Now it is time to create the script, we can run this through snippets so each part of the code is understandable, this is the final code after many many iterations. The provided code appears to be using the OpenMM library to perform molecular dynamics simulations.
Importing Modules
from openmm.app import *
from openmm import *
from openmm.unit import *
from sys import stdout
from mdtraj.reporters import *
This section imports the necessary modules and classes from OpenMM and other libraries. OpenMM is used for molecular dynamics simulations, and `mdtraj` is used for reporting and analyzing simulation data.
`openmm.app` contains classes for working with molecular systems, like `PDBFile`, `ForceField`, and `Modeller`
`openmm` contains core OpenMM classes, such as `System`, `Integrator`, and `Simulation`
`openmm.unit` contains units used for specifying quantities (e.g., nanometers, kelvin, picoseconds)
`sys` is used for standard I/O operations, specifically to print output to the console.
`mdtraj.reporters` contains classes for reporting simulation data
Loading Molecular Structures
pdb = PDBFile("pfoa_luxr/pfoa_dock_luxr_1.pdb")
In this section, a PDB file representing a molecular structure is loaded using the `PDBFile` class. This file contains the initial coordinates and topology information for the system.
A force field is created by specifying XML files that define the parameters for the molecules in the system. This includes information about atoms, bonds, angles, dihedrals, and nonbonded interactions.
This section imports the necessary modules and classes from OpenMM and other libraries. OpenMM is used for molecular dynamics simulations, and `mdtraj` is used for reporting and analyzing simulation data.
`Modeller` is used to create a modified molecular structure based on the loaded PDB file.
`deleteWater()` removes water molecules from the system.
`openmm.unit` contains units used for specifying quantities (e.g., nanometers, kelvin, picoseconds)
addHydrogens(forcefield)` adds hydrogen atoms to the structure as per the force field..
`mdtraj.reporters` contains classes for reporting simulation data
Creating the Molecular System
system = forcefield.createSystem(modeller.topology, nonbondedMethod=PME, nonbondedCutoff=1.0*nanometer, constraints=HBonds)
Here, the molecular system is created based on the modified topology. The force field parameters are used to define the system's potential energy functions. The `nonbondedMethod` is set to PME, and the `nonbondedCutoff` is set to 1.0 nanometers. Constraints on hydrogen bonds are also specified.
An integrator is configured for the simulation. In this case, a Langevin integrator is used with a temperature of 300 K, a collision rate of 1/picosecond, and a time step of 0.002 picoseconds.
An integrator is configured for the simulation. In this case, a Langevin integrator is used with a temperature of 300 K, a collision rate of 1/picosecond, and a time step of 0.002 picoseconds.
Energy Minimization
simulation.minimizeEnergy()
The energy of the system is minimized to relax the initial structure.
In this section, several reporters are added to report simulation data at regular intervals. These reporters include PDBReporter for trajectory snapshots, StateDataReporter for energy and temperature data, and DCDReporter for trajectory storage.
Running NVT Simulation
simulation.step(10000)
A molecular dynamics simulation in the NVT ensemble is run for 10,000 steps.
A Monte Carlo barostat is added to the system to maintain constant pressure (NPT ensemble), and another NPT simulation is run for 10,000 steps. The last reporter is closed to finish data collection.
Data Analysis and Plotting
import numpy as np
import matplotlib.pyplot as plt
data = np.loadtxt("md_log.txt", delimiter=',')
Data collected from the simulation is loaded from the "md_log.txt" file into a NumPy array for analysis and plotting.
This section uses Matplotlib to create and display plots of potential energy, kinetic energy, total energy, temperature, and volume as a function of simulation step. The data for these properties is obtained from the loaded "md_log.txt" file. The code is primarily concerned with setting up and running a molecular dynamics simulation and visualizing the results through plots.
Final Script
The final script can be downloaded with the gitlab link from earlier.
Virtual Cell Modeling
Our models are freely available to anyone that has a VCell account. All constants, simulation setups, reaction diagrams, and results can all be accessed for free by opening our models in VCell. Annotations for each reaction include the sources used to find the reaction constants. The models are hosted on VCell servers and are shared publicly in the “Uncurated” folder.
The best way to replicate our experiments with VCell is to find our models (names listed in Engineering) and play around with them!