Thank you for your interest in contributing to openclatura.
openclatura aims to be a practical implementation of the IUPAC Blue Book 2013 recommendations for organic nomenclature. This is the main scope of the project and the area we currently prioritize.
We especially welcome:
- bug reports
- feature requests
- tests
- code contributions
Please open a GitHub issue if openclatura:
- generates an incorrect name for a family of compounds
- does not yet support a nomenclature feature.
A useful issue includes:
- input structures, preferably as SMILES
- names generated by openclatura, or the error message
- expected names
- the suspected reason for the failure, if known
- a reference or output from another program, such as OPSIN and a few related examples from the same family.
For example, if one polycyclic structure fails, it is helpful to include a few similar polycyclic structures. This makes it easier to identify and implement the general missing rule instead of fixing only one molecule.
Feature requests should also be submitted as GitHub issues.
The current priority is nomenclature covered by the Blue Book 2013.
Please open pull requests against the tests branch.
Pull requests to this branch run the automated test and regression workflows. These checks help ensure that a change does not reduce the general naming performance or break previously supported cases.
For code contributions, please:
- add tests for new behavior or bug fixes;
- include several related examples when implementing a general rule;
- mention the relevant Blue Book rule or other reference when available; and
- make sure the existing tests pass.
We prioritize work that can be validated through OPSIN where possible. OPSIN validation is helpful for automated testing, but it is not the only measure of correctness, and valid cases that OPSIN does not support may still be considered.
If you are unsure whether an example is a bug, a missing feature, or outside the current scope, please open an issue and describe what you found. :::