from bio_files import MmCif, Mol2
from dynamics import *
def main:
dev = ComputationDevice.Cpu
param_set = FfParamSet.new_amber()
protein = MmCif.load(Path("1c8k.cif"))
mol = Mol2.load(Path("CPB.mol2"))
_bonds, _dihedrals = prepare_peptide_mmcif(
protein,
param_set.peptide_ff_q_map,
7.0,
)
mols = [
MolDynamics.from_mol2(mol),
MolDynamics(
ff_mol_type=FfMolType.Peptide,
atoms=protein.atoms,
static_=True,
),
]
md = MdState(dev, MdConfig.default(), mols, param_set)
n_steps = 100
dt = 0.002
for _ in 0..n_steps:
md.step(dev, dt)
snap = md.snapshots[len(md.snapshots) - 1]
print(
f"KE: {}, PE: {}, Atom posits:",
snap.energy_kinetic, snap.energy_potential
)
for posit in snap.atom_posits:
print(f"Posit: {posit}")
for snap in md.snapshots:
pass
}