I apologize, I was not looking carefully enough. You are probably right, and the easiest way is to use the "Close neighbors" tools in the VNL Builder to verify it!
So in that case we are back to your first question, which I don't quite understand. Your scripts are very advanced which make them difficult to understand for anyone else. For a bug report, you will need to prepare two simple scripts that show the issue. The scripts need to be without "code" - just a simple version without options or loops or variables, and without custom plotting too - because after all there is a small possibility the error is in your code and not in ATK, and it will take us too long to troubleshoot your code.
Maybe, simply, your translation is not correct...
Here are simple scripts.
The “Select By Bond Length” tool shown there are definitely none atoms overlapping.
Graphene1.py → Graphene2.py
Conducted only coordinate translation: x → x-0.64 y → y+0.38
And for Graphene1.py, if set vector_b = [8.544, 14.7986420999, 0.0]*Angstrom, Band1.png would got.
Only 3 kpoints are used in Graphene1.py and Graphene2.py for testing, but they shown results consistent with the more detailed results from the Band.py and plotBand.py in “script for bug test.7z”.
By the way, every time reading the model from self-consistent finished .nc files, it would shown "Calculating Nonlocal Part and Kinetic Matrix". Is not that information stored in the .nc files? If yes, this is a waste of time.