This project reimplements the automatic refinement of intramolecular interactions in Python, following the methodology described in Lyman 2008 (Systematic Multiscale Parameterization of Heterogeneous Elastic Network Models of Proteins). The original Perl-based implementation is available here.
The goal of this project is to model proteins as systems of springs, refining spring constants based on data from finer-grained simulations (e.g., atomistic or coarse-grained Martini simulations). Specifically, we use this approach to refine interactions within ultra-coarse-grained (UCG) models of RAS proteins, using Martini coarse-grained (CG) trajectories as input.
The CG simulations will produce two main files:
- GROMACS structure file:
input-files/protein_initial_unaligned.gro - Trajectory file:
input-files/protein_bb_unaligned_pbc_fixed.trr
These files simulate the unaligned trajectory of the RAS protein and serve as inputs to the refinement process. To run the complete pipeline, execute the following command:
./run-all.sh-
Trajectory Alignment and Superposition
- Purpose: Aligns and superposes the CG trajectory to isolate intramolecular interactions.
- Script:
run-align/align_mda.py - Output:
input-files/mda_traj_sup.pdb: Aligned trajectory fileinput-files/mda_structure_ave.pdb: Averaged structural PDB file
-
Spring Coefficient Refinement
- Scripts and their roles:
run-py/fix_enmitp.py: Prepares initial bond and fluctuation data using the aligned structure and trajectory files (mda_traj_sup.pdbandmda_structure_ave.pdb).run-py/fluc-match-8f.py: Refines the spring constants iteratively to match the desired interaction strength.run-py/fluc-match-str-pdb.py: Generates the finalenm.itpfile containing the optimized spring constant data.
- Scripts and their roles:
-
Final Output
- The resulting
run-py/enm.itpfile, which contains the refined spring constants, can be used to run UCG simulations in LAMMPS.
- The resulting