SMARTS Library Parity

swamidasslab/xsmarts-autoconf

Where cheminformatics libraries agree and disagree on SMARTS matching and SMIRKS transforms. Each row is one behavior probed by xsmarts-autoconf; each column is a stored result for one library version. Add a test or a library →

Contribute

Every row here comes from a small executable test in xsmarts-autoconf. To contribute, fork the repo, make your change, and open a pull request. Merged changes appear on this page automatically. Contributions are welcome, especially from people who know a library's corners.

Add a test or behavior

  1. Add a JSON rule in src/xsmarts_autoconf/data/rules/<area>/: the smallest cases that separate the behaviors, one value per behavior, and provenance.
  2. If a value is a bug or silent failure, list it in data/site/severity.json so it shows red.
  3. Run xsmarts-autoconf update and commit the refreshed configs for the library versions you have.
  4. Open a pull request with the rule and configs.

Add a library (harness)

  1. Subclass Adapter in adapters.py: implement version, parse, match, apply and sanitize, whichever the library supports. Imports stay optional.
  2. Register it in ADAPTERS and run xsmarts-autoconf update <name>.
  3. Commit the adapter and data/configs/<name>/<version>.json.
  4. Open a pull request; the library appears here once it is merged.

Add a library version

  1. Install another version of a covered library.
  2. Run xsmarts-autoconf check, then update.
  3. Open a pull request with the new config file; it becomes a selectable version above once merged.

Fork and open a pull request Contributing guide Report a behavior