Skip to content

Releases: aspuru-guzik-group/selfies

SELFIES v2.1.2 - 15.07.2024

15 Jul 00:16
5155ecc
Compare
Choose a tag to compare

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

14 Jul 11:40
3646a66
Compare
Choose a tag to compare

Fixed index bug in attribution

Selfies v2.1.0 - 17.05.2022

17 May 16:50
f9a28ed
Compare
Choose a tag to compare

Changed

  • Dropped support for Python 3.5-3.6 and will continue to support only current Python versions.

Added:

  • optional attribution to map encoder/decoder output string back to input string (Issue #48, #79)

Selfies v2.0.0 - 21.10.2021

20 Oct 22:48
eb1ac63
Compare
Choose a tag to compare

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

24 Mar 02:23
f4e3d7a
Compare
Choose a tag to compare

Option for using strict octet rules, and for relaxed rules that allow for hypervalence bonds

Selfies v1.0.3 - 13.01.2021

13 Jan 16:46
64bdf5f
Compare
Choose a tag to compare

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

14 Oct 13:42
cc2d53c
Compare
Choose a tag to compare

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

25 Aug 13:41
e00f931
Compare
Choose a tag to compare

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).