Releases: aspuru-guzik-group/selfies
Releases · aspuru-guzik-group/selfies
SELFIES v2.1.2 - 15.07.2024
v2.1.2 - 15.07.2024
Fixed recursion bug for very long molecules (thanks haydn-jones)
Added warning when dot-symbol (".") exists in peculiar cases (thanks vandrw)
Selfies v2.1.1 - 14.07.2022
Fixed index bug in attribution
Selfies v2.1.0 - 17.05.2022
Selfies v2.0.0 - 21.10.2021
Changed
- Improved SMILES parsing (by using adjacencey lists internally), with tighter error handling (e.g. issues #62 and #60).
- Faster and improved kekulization algorithm (issue #55 fixed).
- Support for symbols that are constrained to 0 bonds (e.g., [CH4]) or >8 bonds (users can now specify custon bond constraints with over 8 bonds).
- New strict=True flag to selfies.encoder, which raises an error if the input SMILES violates the current bond constraints. True by default, can be False for speed-up (if SMILES are guaranteed to be correct).
- Added bond constraints for B (max. 3 bonds) to the default and preset constraints.
- Updated the syntax of SELFIES symbols to be cleaner and more readable. (Removing expl from atomic symbols, e.g., [C@@hExPL] becommes [C@@h], Cleaner branch symbols, e.g., [BranchL_2] becomes [=BranchL], Cleaner ring symbols, e.g., [Expl=RingL] becomes [=RingL], If you want to use the old symbols, use the compatible=True flag to selfies.decoder, e.g., sf.decoder('[C][C][Expl=Ring1]',compatible=True) (not recommended!))
- More logically consistent behaviour of [Ring] symbols.
- Standardized SELFIES alphabet, i.e., no two symbols stand for the same atom/ion (issue #58), e.g., [N+1] and [N+] are equivalent now.
- Indexing symbols are now included in the alphabet returned by selfies.get_semantic_robust_alphabet.
Removed
- Removed constraints flag from selfies.decoder; please use selfies.set_semantic_constraints() and pass in "hypervalent" or "octet_rule" instead.
- Removed print_error flag in selfies.encoder and selfies.decoder, which now raise errors selfies.EncoderError and selfies.DecoderError, respectively.
Bug Fixes
- Potential chirality inversion of atoms making ring bonds (e.g. [C@@h]12CCC2CCNC1): fixed by inverting their chirality in selfies.encoder such that they are decoded with the original chirality preserved.
- Failure to represent mismatching stereochemical specifications at ring bonds (e.g. F/C=C/C/C=C\C): fixed by adding new ring symbols (e.g. [-/RingL], [/RingL], etc.).
Selfies v1.0.4 - 23.03.2021
Option for using strict octet rules, and for relaxed rules that allow for hypervalence bonds
Selfies v1.0.3 - 13.01.2021
Added:
- Support for aromatic Si and Al (is not officially supported by Daylight SMILES, but RDKit supports it and examples exist in PubChem).
Selfies v1.0.2 - 14.10.2020
Added:
- Support for aromatic Te and triple bonds.
- Inbuild SELFIES to 1hot encoding, and 1hot encoding to SELFIES
Changed:
- Added default semantic constraints for charged atoms (single positive/negative charge of [C], [N], [O], [S], [P])
- Raised the bond capacity of P to 7 bonds (from 5 bonds).
Bug Fixes:
- Fixed bug: selfies.decoder did not terminate for malformed SELFIES that are missing the closed bracket ']'.
Selfies v1.0.1 - 25.08.2020
Changed:
- Code so that is compatible with python >= 3.5.
- More descriptive error messages.
Bug Fixes:
- Minor bug fixes in the encoder for SMILES ending in branches (e.g. C(Cl)(F)), and SMILES with ring numbers between branches (e.g. C(Cl)1(Br)CCCC1)
- Minor bug fix with ring ordering in decoder (e.g. C1CC2CCC12 vs C1CC2CCC21).