Skip to content

Releases: JonasSchaub/ErtlFunctionalGroupsFinder

V1.3.0.0

02 Feb 16:54
7513224
Compare
Choose a tag to compare

Lifted the strict input restrictions for the ErtlFunctionalGroupsFinder.find() method that identifies functional groups in input molecules and performed a general clean-up and refactoring of the code base.

Details:

So far, the ErtlFunctionalGroupsFinder.find() method that identifies functional groups in input molecules did not accept input molecules which contain metal, metalloid, or pseudo (R) atoms, have multiple disconnected structures (e.g. ion and counter-ion), or have formal charges. These were implemented based on Ertl's description of the performed standardisation steps prior to testing his algorithm on a molecular data set ("Organometallic structures were discarded and all molecules were standardized by removing counterions and neutralizing atomic charges.”). While applying such an algorithm only to "organic" and standardising an input structure set prior to a similar analysis is still considered best practice, these input restrictions made the ErtlFunctionalGroupsFinder (EFGF) complicated to use and one needed to perform complex filtering and preprocessing prior to analysing a new data set.

Therefore, these input restrictions were lifted by default but they can still be used via a new variant of the .find() method (set third parameter to "true"). It was tested using the complete ChEBI database whether the processing of molecules that would not have been accepted as input before causes any issues and it did not.

Note:

  • Metal and metalloid atoms are now treated like hetero atoms and are marked for as part of a functional group
  • Pseudo (R) atoms are ignored
  • Formal charges are treated like other atomic properties, they are conserved in marked atoms at FG extraction. Note: a charged carbon atom is not marked simply because of its charge because this was not included in the Ertl algorithm.
  • In disconnected structures, all disconnected parts are treated equally


Additional new functionalities:

  • The EFGF class now has additional utility methods for filtering (to be used if(!) the input restrictions are explicitly applied by the user)
  • New factory methods for creating EFGF instances with a specified functional group environment mode
  • New functional group environment mode that only extracts the marked atoms without their environment
  • The functional group environment mode is now configurable on an existing instance
  • Bug fix concerning explicit, unconnected hydrogen atoms

What's Changed

Full Changelog: V1.2.1...V1.3.0.0

ErtlFunctionalGroupsFinder Version 1.2.1

08 Jan 12:25
3c72d9e
Compare
Choose a tag to compare

What's Changed

  • Bumped minimum required Java version to 11 and GH actions is now testing the Gradle build based on multiple Java versions by @JonasSchaub in #13

Full Changelog: V1.2...V1.2.1

ErtlFunctionalGroupsFinder Version 1.2

15 Dec 15:48
27f62a4
Compare
Choose a tag to compare

First release after project take-over and restructuring. The source code remains mostly unchanged compared to the version 1.1.2 release in the former repository.

The following changes have been made to make the repository functional: - Gradle is now used as build tool - Added GitHub workflows for continuous integration, JavaDoc publication on GitHub pages, automatic code scanning via SonarCloud, and Maven package publication - Functional repository structure with properly structured src folder - Updated test classes to JUnit 5 - Automatic linting using spotless - Updated readme - Added GitHub wiki