docs: def covalent_bonds(atoms, threshold=1.1):
      """Returns all the covalent bonds in a list of `Atom` pairs.
  
      Notes
      -----
      Uses information `element_data`, which can be accessed directly
      through this module i.e. `isambard.ampal.interactions.element_data`.
  
      Parameters
      ----------
      atoms : [(`Atom`, `Atom`)]
          List of pairs of `Atoms`.
      threshold : float, optional
          Allows deviation from ideal covalent bond distance to be included.
          For example, a value of 1.1 would allow interactions up to 10% further
          from the ideal distance to be included.
      """
      bonds=[]
      for a, b in atoms:
          bond_distance=(
                  element_data[a.element.title()]['atomic radius'] + element_data[
                  b.element.title()]['atomic radius']) / 100
          dist=distance(a._vector, b._vector)
          if dist <= bond_distance * threshold:
              bonds.append(CovalentBond(a, b, dist))
      return bonds