<jupyter_start><jupyter_text>Parallel<jupyter_code>traj = pt.iterload('md.nc', 'dna.prmtop')
data = pt.pmap(pt.rmsd, traj, ref=0, mask=':1-14&!@H=', n_cores=8)

# serial: data = pt.rmsd(traj, ref=0, mask=':1-14&!@H=')<jupyter_output><empty_output><jupyter_text>Parallel scaling<jupyter_code>from IPython import display
display.Image('bench_pmap_casegroup.png', width=500)<jupyter_output><empty_output><jupyter_text>Intergrate will pysander (Python interface for sander)<jupyter_code>traj2 = pt.iterload('tz2.nc', 'tz2.parm7')
energies = pt.energy_decomposition(traj2, igb=8, dtype='dataframe')
energies[['bond', 'angle', 'dihedral', 'gb']].head()<jupyter_output><empty_output><jupyter_text>Support more file formats?<jupyter_code># XTC

import mdtraj as md

t0 = md.load('./monolayer.xtc', top='monolayer.pdb')

coordinates = t0.xyz.astype('f8')
traj = pt.Trajectory(xyz=coordinates, top='monolayer.pdb')
print(traj)
print("")
pt.center_of_mass(traj)<jupyter_output>pytraj.Trajectory, 101 frames: 
Size: 0.008127 (GB)
<Topology: 3600 atoms, 1 residues, 0 mols, non-PBC>
{'fraction_non_alphanumeric': 0.17399438727782976, 'fraction_numerical': 0.03461178671655753, 'mean_word_length': 8.727272727272727, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 17, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '4', 'dir': 'jupyter-structured-clean-dedup', 'id': '154700', 'license': 'BSD-3-Clause', 'n_tokens_mistral': 485, 'n_tokens_neox': 459, 'n_words': 68, 'path': 'process/example.ipynb', 'repo_name': 'hainm/amber2016_meeting', 'size': '1069'}