schrodinger / coordgenlibs

Schrodinger-developed 2D Coordinate Generation
BSD 3-Clause "New" or "Revised" License
42 stars 28 forks source link

Allow coordgen to run without maeparser. #55

Closed d-b-w closed 4 years ago

d-b-w commented 4 years ago

See internal Schrödinger rationale here: https://jira.schrodinger.com/browse/CRDGEN-252

Bundles templats and allow coordgen to run without maeparser.

Now templates are always bundled into the coordgen library, so there is no search on the file system. coordgen can also be built without maeparser support (USE_MAEPARSER=OFF). This disables user-local template files, but it allows coordgen to be built without reliance on the maeparser library (and therefore without boost).

This is useful for a couple of reasons:

maeparser is always required for running the unit tests.

Includes a short Python script for generating the C++ files describing the templates. This Python script currently requires use of the Schrodinger Python tools, so it will need to be manually updated if the templates are updated. There is a test (#53) that will fail if a new template is added but isn't added to the compiled templates.

run it like:

$SCHRODINGER/run mol_generator.py templates.mae

maeparser is always required for running the unit tests.

Note to reviewers One of the commits here is entirely autogenerated code. I'd recommend avoiding looking at it because it is very long and duplicative, unless it is helpful in reading the Python file that is used to generate the code.

d-b-w commented 4 years ago

Greg - I've been using this in my local RDKit and Schrodinger core suite, I think it's OK.