Finding the nearest neighbour, from an atom within a crystal

Is there any software can give me the information of nearest neighbour, nest nearest neighbour,....(and their distance) from an atom within a crystal (described by a .cif file)? Perhaps some visualization software like VESTA?




I don't use VESTA and there are probably a few tools that can do this.


My suggestion would be to use the open source Python package [ASE](https://wiki.fysik.dtu.dk/ase/) or "Atomic Simulation Environment." developed in part by the group of [Karsten W. Jacobsen](http://www.fysik.dtu.dk/english/Research/CAMD/Research/Atomic-scale-materials-design).


There are several algorithms available for generating neighbor lists and iterating through them:
<https://wiki.fysik.dtu.dk/ase/ase/neighborlist.html>


Here's an example from the documentation:



```
# get neighbors of atom 42
indices, offsets = nl.get_neighbors(42)
for i, offset in zip(indices, offsets):
    print(atoms.positions[i] + dot(offset, atoms.get_cell()))

```

 4