%load_ext autoreload
%autoreload 2
import molsysmt as msm

Align principal axes#

import molsysmt as msm
import numpy as np
crd = msm.systems['POPC']['popc.crd']
psf = msm.systems['POPC']['popc.psf']
molsys = msm.convert([crd, psf])
msm.info(molsys)
form n_atoms n_groups n_components n_chains n_molecules n_entities n_lipids n_structures
molsysmt.MolSys 134 1 1 1 1 1 1 1
axes, momenta = msm.structure.get_principal_axes(molsys)
for ii in range(3):
    print(axes[0,ii], momenta[0,ii])
[ 0.09213962 -0.02624376 -0.9954002 ] 13.378581090770417
[0.56239734 0.82631277 0.03027277] 73.67866342245162
[-0.82171742  0.56259975 -0.09089556] 78.32952437971095
msm.view(molsys, standard=False)
molsys_2 = msm.structure.align_principal_axes(molsys, axes=[[1,0,0],[0,1,0],[0,0,1]])
axes, momenta = msm.structure.get_principal_axes(molsys_2)
for ii in range(3):
    print(axes[0,ii], momenta[0,ii])
[1.00000000e+00 2.87221485e-16 8.58936055e-17] 13.37858109077042
[-2.87221485e-16  1.00000000e+00 -3.60822483e-15] 73.67866342245169
[-8.58936055e-17  3.60822483e-15  1.00000000e+00] 78.32952437971095
msm.view(molsys_2, standard=False)