<commit_before>==================================
Using Sims to dissect trajectories
==================================

**Sim** objects are designed to store datasets that were obtained from a single
simulation, and they give a direct interface to trajectory data by way of the
`MDAnalysis <http://mdanalysis.googlecode.com>`__ **Universe** object.

To generate a **Sim** from scratch, we need only give it a name. This will be used
to distinguish the **Sim** from others, though it need not be unique. We can
also give it a topology and/or trajectory files as we would to an MDAnalysis
**Universe** ::
    
    >>> s = Sim('scruffy', universe=['path/to/topology', 'path/to/trajectory'])

This will create a directory ``scruffy`` that contains a single file
(``Sim.h5``).  That file is a persistent representation of the **Sim** on disk.
We can access trajectory data by way of ::

    >>> s.universe
    <Universe with 47681 atoms>

The **Sim** can also store selections by giving the usual inputs to
``Universe.selectAtoms`` ::

    >>> s.selections.add('backbone', 'name CA', 'name N', 'name C')

And the **AtomGroup** can be conveniently obtained with ::<commit_msg>Small doc fix.<commit_after>==================================
Using Sims to dissect trajectories
==================================

**Sim** objects are designed to store datasets that are obtained from a single
simulation, and they give a direct interface to trajectory data by way of the
`MDAnalysis <http://mdanalysis.googlecode.com>`__ **Universe** object.

To generate a **Sim** from scratch, we need only give it a name. This will be used
to distinguish the **Sim** from others, though it need not be unique. We can
also give it a topology and/or trajectory files as we would to an MDAnalysis
**Universe** ::
    
    >>> s = Sim('scruffy', universe=['path/to/topology', 'path/to/trajectory'])

This will create a directory ``scruffy`` that contains a single file
(``Sim.h5``).  That file is a persistent representation of the **Sim** on disk.
We can access trajectory data by way of ::

    >>> s.universe
    <Universe with 47681 atoms>

The **Sim** can also store selections by giving the usual inputs to
``Universe.selectAtoms`` ::

    >>> s.selections.add('backbone', 'name CA', 'name N', 'name C')

And the **AtomGroup** can be conveniently obtained with ::
{'fraction_non_alphanumeric': 0.16268146883005977, 'fraction_numerical': 0.005123825789923143, 'mean_word_length': 4.605263157894737, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 25, '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}}
{'dir': 'git-commits-cleaned', 'id': '169492', 'n_tokens_mistral': 661, 'n_tokens_neox': 616, 'n_words': 304}