<commit_before>.. _background:

Motivation
==========

The aim of this package is to provide software tools for predictive
modeling of the long timescale dynamics of biomolecular systems using
statistical modeling to analyze physical simulations.

Given a dataset of one or more stochastic trajectories tracking the
coordinates of every (10,000+) atom in a molecular system at a discrete
time interval, how do we understand the slow dynamical processes and make
quantitative predictions about the system?


Workflow
--------

To build a dynamical model, we apply (stepwise) a series of dimensionality
reductions. The basic set of steps is outlined below. Note that most steps
are optional under certain circumstances. The particulars should become
clear as you continue reading the documentation.

1. Set up a system for molecular dynamics, and run one or more simulations
   for as long as you can on as many CPUs or GPUs as you have access.
   There are a lot of great software packages for running MD, e.g `OpenMM
   <https://simtk.org/home/openmm>`_, `Gromacs <http://www.gromacs.org/>`_,
   `Amber <http://ambermd.org/>`_, `CHARMM <http://www.charmm.org/>`_, and
   many others. MSMBuilder is not one of them.

2. :ref:`Featurize<featurization>` trajectories into an appropriate vector
   of features. The full :math:`3N` set of atomic coordinates is
   potentially unwieldy and redundant. It likely does not repsect the
   rotational or translational symmetry of your system either. We commonly
   use backbone dihedral angles as our features, although this depends
   highly on the system being modelled.
<commit_msg>Update background.rst<commit_after>.. _background:

Motivation
==========

The aim of this package is to provide software tools for predictive
modeling of the long timescale dynamics of biomolecular systems using
statistical modeling to analyze physical simulations.

Given a dataset of one or more stochastic trajectories tracking the
coordinates of every (10,000+) atom in a molecular system at a discrete
time interval, how do we understand the slow dynamical processes and make
quantitative predictions about the system?


Workflow
--------

To build a dynamical model, we apply (stepwise) a series of dimensionality
reductions. The basic set of steps is outlined below. Note that most steps
are optional under certain circumstances. The particulars should become
clear as you continue reading the documentation.

1. Set up a system for molecular dynamics, and run one or more simulations
   for as long as you can on as many CPUs or GPUs as you have access.
   There are a lot of great software packages for running MD, e.g `OpenMM
   <https://simtk.org/home/openmm>`_, `Gromacs <http://www.gromacs.org/>`_,
   `Amber <http://ambermd.org/>`_, `CHARMM <http://www.charmm.org/>`_, and
   many others. MSMBuilder is not one of them.

2. :ref:`Featurize<featurization>` trajectories into an appropriate vector
   of features. The full :math:`3N` set of atomic coordinates is
   potentially unwieldy and redundant. It likely does not respect the
   rotational or translational symmetry of your system either. We commonly
   use backbone dihedral angles as our features, although this depends
   highly on the system being modeled.

{'fraction_non_alphanumeric': 0.0642089093701997, 'fraction_numerical': 0.004915514592933948, 'mean_word_length': 4.243156199677939, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 2, 'lorem ipsum': 0, 'www.': 4, '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}}
{'dir': 'git-commits-cleaned', 'id': '2441784', 'n_tokens_mistral': 860, 'n_tokens_neox': 806, 'n_words': 451}