Adds an N-terminal acetamide cap.

        Notes
        -----
        Default behaviour is to duplicate the dihedral angle of the
        succeeding residues such that the orientation of the carbonyl
        of the acetyl will resemble that of the first residue. This
        can be adjusted by supplying a cap_dihedral value. Currently
        only acetyl cap is supported, but this structure should work
        for other caps.

        Parameters
        ----------
        cap : str, optional
            Type of cap to be added. Options: 'acetyl'
        cap_dihedral : bool
            Alternate psi angle to be used when added cap.

def n_cap(self, n_cap='acetyl', cap_dihedral=None):
        """Adds an N-terminal acetamide cap.

        Notes
        -----
        Default behaviour is to duplicate the dihedral angle of the
        succeeding residues such that the orientation of the carbonyl
        of the acetyl will resemble that of the first residue. This
        can be adjusted by supplying a cap_dihedral value. Currently
        only acetyl cap is supported, but this structure should work
        for other caps.

        Parameters
        ----------
        cap : str, optional
            Type of cap to be added. Options: 'acetyl'
        cap_dihedral : bool
            Alternate psi angle to be used when added cap.
        """
        if n_cap == 'acetyl':
            methylacetamide = Ligand(
                atoms=None, mol_code='UNK', is_hetero=True)
            atoms = OrderedDict()
            atoms['C'] = Atom([0.9500, -0.2290, 0.5090], 'C', res_label='C')
            atoms['CA'] = Atom([0.7450, -0.9430, 1.8040], 'C', res_label='CA')
            atoms['O'] = Atom([0.1660, -2.0230, 1.8130], 'O', res_label='O')
            atoms['N'] = Atom([1.2540, -0.2750, 2.9010], 'N', res_label='N')
            atoms['CME'] = Atom([1.1630, -0.7870, 4.2500],
                                'C', res_label='CME')
            # these coordinates seem ok, but could review
            # and use a different fragment if necessary
            methylacetamide.atoms = atoms
            s1, e1, s2, e2 = [
                x._vector for x in [methylacetamide['N'],
                                    methylacetamide['CME'],
                                    self._monomers[0]['N'],
                                    self._monomers[0]['CA']]]
            translation, angle, axis, point = find_transformations(
                s1, e1, s2, e2, radians=False)
            methylacetamide.rotate(
                angle=angle, axis=axis, point=point, radians=False)
            methylacetamide.translate(vector=translation)
            start_angle = dihedral(
                methylacetamide['C'], self._monomers[0]['N'],
                self._monomers[0]['CA'], self._monomers[0]['C'])
            ref_angle = dihedral(
                self._monomers[0]['C'], self._monomers[1]['N'],
                self._monomers[1]['CA'], self._monomers[1]['C'])
            if cap_dihedral is not None:
                methylacetamide.rotate(ref_angle - start_angle + cap_dihedral,
                                       axis=methylacetamide['N']._vector -
                                       self._monomers[0]['CA']._vector,
                                       point=methylacetamide['N']._vector)
            else:
                methylacetamide.rotate(ref_angle - start_angle,
                                       axis=methylacetamide['N']._vector -
                                       self._monomers[0]['CA']._vector,
                                       point=methylacetamide['N']._vector)
            if self.ligands is None:
                self.ligands = LigandGroup(ampal_parent=self)
            acetamide = Ligand(mol_code='ACM', ampal_parent=self.ligands)
            acetamide_atoms = OrderedDict()
            acetamide_atoms['C'] = atoms['C']
            acetamide_atoms['CA'] = atoms['CA']
            acetamide_atoms['O'] = atoms['O']
            for atom in acetamide_atoms.values():
                atom.ampal_parent = acetamide
            acetamide.atoms = acetamide_atoms
            self.ligands.append(acetamide)
        else:
            pass  # just in case we want to build different caps in later
        self.tags['assigned_ff'] = False
        return