Dictionary containing backbone bond lengths as lists of floats.

        Returns
        -------
        bond_lengths : dict
            Keys are `n_ca`, `ca_c`, `c_o` and `c_n`, referring to the
            N-CA, CA-C, C=O and C-N bonds respectively. Values are
            lists of floats : the bond lengths in Angstroms.
            The lists of n_ca, ca_c and c_o are of length k for
            a Polypeptide containing k Residues. The list of c_n bonds
            is of length k-1 for a Polypeptide containing k Residues
            (C-N formed between successive `Residue` pairs).

def backbone_bond_lengths(self):
        """Dictionary containing backbone bond lengths as lists of floats.

        Returns
        -------
        bond_lengths : dict
            Keys are `n_ca`, `ca_c`, `c_o` and `c_n`, referring to the
            N-CA, CA-C, C=O and C-N bonds respectively. Values are
            lists of floats : the bond lengths in Angstroms.
            The lists of n_ca, ca_c and c_o are of length k for
            a Polypeptide containing k Residues. The list of c_n bonds
            is of length k-1 for a Polypeptide containing k Residues
            (C-N formed between successive `Residue` pairs).
        """
        bond_lengths = dict(
            n_ca=[distance(r['N'], r['CA'])
                  for r in self.get_monomers(ligands=False)],
            ca_c=[distance(r['CA'], r['C'])
                  for r in self.get_monomers(ligands=False)],
            c_o=[distance(r['C'], r['O'])
                 for r in self.get_monomers(ligands=False)],
            c_n=[distance(r1['C'], r2['N']) for r1, r2 in [
                (self[i], self[i + 1]) for i in range(len(self) - 1)]],
        )
        return bond_lengths