Merge pull request #2468 from RosettaCommons/JWLabonte/PDB_IO
PDB IO: Title Section IO
Following an idea/request from @cdbahl at RosettaCON 2017, I have added functionality for automatically adding a time stamp and Rosetta version number to all output `.pdb` files. The default output uses proper/standard/PDB-defined records, _e.g._:
```
HEADER 21-FEB-19 XXXX
EXPDTA THEORETICAL MODEL
REMARK 220
REMARK 220 EXPERIMENTAL DETAILS
REMARK 220 EXPERIMENT TYPE : THEORETICAL MODELLING
REMARK 220 DATE OF DATA COLLECTION : 21-FEB-19
REMARK 220
REMARK 220 REMARK: MODEL GENERATED BY ROSETTA
REMARK 220 VERSION 2019.04.post.dev+165.HEAD.646026d
```
This way, one will always know whence a `.pdb` came, and it will lead to better reproducibility of results.
One could also easily adapt this system, using JD2 or JD3, to automatically include specific protocol information to the file.
This merge will also allow input and output of `AUTHOR` records:
```
HEADER 21-FEB-19 XXXX
EXPDTA THEORETICAL MODEL
AUTHOR LABONTE
```
To include a list of authors, simply use the option flag `-set_pdb_author` with a comma-delimited list of names, according to the PDB format:
```
-set_pdb_author "I.M.A.JUNIOR JR.,I.HYPHENATE-MY-SURNAME,LABONTE"
```
If integration tests are running, the system automatically outputs the date as `xx-MMM-xx` and the version number as `INTEGRATION TEST` to ensure that integration tests do not fail every time from the changing date and version output.
This merge also corrects some bugs in `HeaderInformation`.
All unit tests pass.
Almost every single integration test changes, as every `.pdb` file now has a default title section prepended. I have looked through about 10% of the >400 tests and did not find any unexpected changes.
Likewise, 5 score tests are changed and 2 mpi integration tests.