Parse the atom string.

    Args:
        atoms_string (str): The atoms to plot, in the form ``"C.1.2.3,"``.

    Returns:
        dict: The atomic indices over which to sum the DOS. Formatted as::

            {Element: [atom_indices]}.

        Indices are zero indexed for each atomic species. If an element symbol
        is included with an empty list, then all sites for that species are
        considered.

def _atoms(atoms_string):
    """Parse the atom string.

    Args:
        atoms_string (str): The atoms to plot, in the form ``"C.1.2.3,"``.

    Returns:
        dict: The atomic indices over which to sum the DOS. Formatted as::

            {Element: [atom_indices]}.

        Indices are zero indexed for each atomic species. If an element symbol
        is included with an empty list, then all sites for that species are
        considered.
    """
    atoms = {}
    for split in atoms_string.split(','):
        sites = split.split('.')
        el = sites.pop(0)
        sites = list(map(int, sites))
        atoms[el] = np.array(sites) - 1
    return atoms