Update sdf parser machinery
This commit updates and modernizes the sdfparser facility in Rosetta.
The previous sdf parser items were created by Sam Deluca in his early days in
Rosetta, and never made it to usable status. At the recommendation of Sam, that
attempt was gutted and replaced with a version which takes advantage of the
current state of ResidueType.
(The primary goal of this commit is actually to support within Rosetta all the
ResidueType creation machinery which had previously been encapsulated only in
molfile_to_params.py, a necessary step for the drug design efforts.)
The SDF parser machinery is not quite ready for general use.
Items still missing before it becomes usable:
* Support for loading rotamers.
* Ability to automatically match input PDB atom names with their SDF equivalents
(Standard SDF does not have a concept of atom names.)
On the wish list:
* Input of *.mol2 files.
* Support for NCAA generation.
Additional unit tests added.
Integration test changes observed:
FAIL sdf_reader
-- new integration test
FAIL fold_and_dock
nonempty diff ref/fold_and_dock/log new/fold_and_dock/log
-- Cosmetic changes to tracer
FAIL hts_io
nonempty diff ref/hts_io/output_ligands/test.sdf.gz new/hts_io/output_ligands/test.sdf.gz
-- Extra data added to output sdfs (Rosetta Name, Rosetta nbr_radius, etc. )
FAIL ligand_database_io
nonempty diff ref/ligand_database_io/ligand_parameters.db3.dump new/ligand_database_io/ligand_parameters.db3.dump
-- changes in (now) non-critical column
Given that this commit touches ResidueType.hh extensively,
the standard complement of sensitive integration test numerical noise is expected.