def METHOD_NAME(self, atoms):
    """Build the neighbour list based on pairwise distances.
    Parameters
    ----------
    atoms : ase.Atoms
        atoms to initialize the list from
    Raises
    ------
    ValueError
        Must specify cutoff radii for all atoms
    """
    self.positions = atoms.get_positions()
    self.pbc = atoms.get_pbc()
    self.cell = atoms.get_cell()
    shorti, shortj = mspy_nl(str("ij"), atoms, self.cutoffs)
    new_neighbours = [[] for idx in range(len(atoms))]
    for idx in range(len(shorti)):
        new_neighbours[shorti[idx]].append(shortj[idx])
    if self.do_hysteretic:
        longi, longj = mspy_nl(str("ij"), atoms, self.cutoffs_hysteretic)
        for idx in range(len(longi)):
            # Split for profiling
            previously_connected = longj[idx] in self.old_neighbours[longi[idx]]
            not_added = longj[idx] not in new_neighbours[longi[idx]]
            if previously_connected and not_added:
                new_neighbours[longi[idx]].append(longj[idx])
        self.old_neighbours = new_neighbours
    for idx in range(len(new_neighbours)):
        self.neighbours[idx] = np.asarray(list(new_neighbours[idx]))
    self.nupdates += 1