lab-cosmo / i-pi-dev_archive

Development version of i-PI
21 stars 12 forks source link

PDB loading is broken #179

Closed OndrejMarsalek closed 7 years ago

OndrejMarsalek commented 7 years ago

The attached files illustrate the problem. If you provide a to-specification PDB, the numbers in it (Angstrom) are read as they are and thus interpreted as Bohr. Even more worryingly, if you specify positions{Angstrom} in the TITLE line, you still get Bohr. Only positions{angstrom} works if you want to load the file as Angstrom. I specifically remember putting calls to .lower() in the units processing to avoid this issue in the input file.

Although we agree that I/O still needs some more work, could someone who worked on the unit conversion have a look at this even before we sort it out for good? I have recently set up several people with i-PI and had to explain carefully how their PDB file had to have an oddly specific first line with quirky capitalization.

test.zip

OndrejMarsalek commented 7 years ago

As a bonus, notice:

$ grep -r 'position{' examples | wc -l
43

that examples contain a bunch of cases of position{}, rather than positions{}, which does not work either. The only reason it does not matter in these cases is that they all request atomic_units, but this has the potential to result in some very confused users.