Exploring allostery in proteins with graph theory