Welcome
🚧 This project is currently under construction. 🚧
Welcome to the documentation for the Smiles Validator library, an essential part of a broader initiative focused on generating molecules using Generative AI techniques. This library is designed with two main components: the Validator and the Chemistry Module. The Validator is responsible for ensuring that SMILES (Simplified Molecular Input Line Entry System) strings are syntactically correct, using a robust parsing mechanism. Meanwhile, the Chemistry Module implements domain-specific chemical rules to guarantee the validity and consistency of molecular structures.
The SMILES validation system is powered by a custom parser built with the SLY LALR(1) toolkit. The grammar used is adapted from the LL(1) parser described in this article and the OpenSMILES specification. For chemical data, such as atomic weights and valence information, the project retrieves information from the Bowserinator/Periodic-Table-JSON repository.
Next Steps
- Implementing aromacity
- Check if rings are closed
- Check if all benzene examples are working properly
- Finish passing everything from the yacc to the parser manager
- Analysing and Implementing RD filters
- Analysing more chemistry filters for the parser like: Filters 1 Filters 2
- Removing all shift/reduce conflicts