MORTAR v1.2.0.0-beta
Pre-release
Pre-release
JonasSchaub
released this
15 Apr 11:49
·
53 commits
to production
since this release
Change notes
- Settings menus now have proper option strings in drop-down boxes and every option has a specific tooltip
- Minor GUI rework concerning button and other control sizes
- Switched licence to MIT
- Now using GitHub pages: https://felixbaensch.github.io/MORTAR/ (not updated for this beta release)
- Updated ErtlFunctionalGroupsFinder (https://github.com/JonasSchaub/ErtlFunctionalGroupsFinder) to v1.3 which has some new functionality and less input restrictions (https://github.com/JonasSchaub/ErtlFunctionalGroupsFinder/releases/tag/V1.3.0.0)
- Updated from Java 17 to Java 21
- SDF and SMILES import routines improved and augmented
- Changed CSV export separator char from being set directly to an enum constant defining the character
- New fragmentation option in ScaffoldGeneratorFragmenter to dissect a scaffold into its single rings
- A few changes and additions in headers of exported files
- Added MORTAR icon to all alerts and dialogs
- Revision of exception handling at import
- Fixed import without adding implicit hydrogen atoms
- Separator character is now replaced with _ in molecule names when items tab is exported to CSV
- New row added in pipeline settings view is now pre-set to selected fragmenter and other issues fixed there
- Keep last fragment setting for pipeline was removed since the fragmentation algorithms can be configured in this regard now
- Fixed bug with file extension on export for Linux
- Fixed issue #56 that coordinates were not generated for fragments exported to separate SD files
- Multiple other small bug fixes
- Code only:
- Now using the spotless plugin for automatic code formatting
- Now using SonarCloud for automatics code analysis
- Copied source files from ErtlFunctionalGroupsFinder, Scaffold Generator (now CDK-Scaffold), and Sugar Removal Utility were replaced with their artifacts taken from Maven Central
- Updated Gradle to v8.5, CDK to v2.9, JavaFx to 21.0.1, and spotless to v6.25
- Conducted general code base review guided by SonarCloud analysis (https://sonarcloud.io/project/issues?resolved=false&types=CODE_SMELL&id=FelixBaensch_MORTAR)
- Introduced a configuration properties file to read paths to icons and other resource files from
- Fixed all the "bugs" that SonarCloud reported (https://sonarcloud.io/summary/overall?id=FelixBaensch_MORTAR): putting readers and writers in try-with-resources blocks, logic error in PreferenceContainer.addWithoutChecks(), retrieval of example parent molecule in FragmentDataModel, preventing possible division by zero in FragmentationService, better handling of InterruptedExceptions at ExecutorService shutdown
- Most strings like log messages are now formatted correctly instead of using string concatenation
- Improved casting and typing in most places
- Throwing defined exception types instead of general ones in some places
- Manual code linting and additional documentation
- Overhaul of exporter, mostly exception treatment (more is passed on to export thread now, so that it fails properly)
- Introduced separate display names for settings (general and for fragmenters)
- Added SimpleIDisplayEnumConstantProperty as new JavaFX property that wraps an enum constant with associated display name and tooltip to be used in the GUI and replaced all SimpleEnumConstantNameProperty settings with SimpleIDisplayEnumConstantProperty settings
- Reduced duplication by moving translation of preferences to properties and check of properties for preference restrictions to PreferenceUtil for SettingsContainer, FragmentationService, and ViewToolsManager
- Added separate display names to fragmenters for usage in GUI
- Changed integer and double filters of settings view text fields to positive value filter including zero
- Collection util rework
What's Changed (according to GitHub pull requests)
- Gradle build in GitHub actions on push to master; spotless code formatting plugin; DOI badge in readme by @JonasSchaub in #9
- Replaced copied ScaffoldGenerator source files with cdk-scaffold artifact by @JonasSchaub in #14
- Replaced SRU source files with maven artifact by @JonasSchaub in #17
- EFGF artifact integration and dependency updates by @JonasSchaub in #25
- Update readme by @JonasSchaub in #34
- Update README.md by @JonasSchaub in #37
- Readme update by @JonasSchaub in #39
- Updated EFGF to v1.3 and make adjustments in fragmenter class by @JonasSchaub in #35
- Update of ErtlFunctionalGroupsFinder v1.2 to v1.3 by @JonasSchaub in #42
- Changed licence to MIT in source code file headers and in licence files by @JonasSchaub in #41
- Licence change to MIT by @JonasSchaub in #43
- Update LICENSE by @JonasSchaub in #44
- Fixed SD files not being imported completely by @SamuelBehr in #12
- Smiles import minor adaptions by @SamuelBehr in #13
- Smiles importer test for improvements by @JonasSchaub in #31
- Collection util rework by @FelixBaensch in #53
- Fixed some SonarCloud issues from the complete code analysis by @JonasSchaub in #49
- Fixed copy and paste error in SettingsContainer by @JonasSchaub in #60
- Separator character is now replaced with _ in molecule names when items tab is exported to CSV by @JonasSchaub in #64
- Issue 54 button sizes by @JonasSchaub in #65
- Export fixes by @JonasSchaub in #62
- Issue 36 query bonds import by @JonasSchaub in #63
- Issue 59 pipeline settings view by @JonasSchaub in #69
- Marked keepLastFragmentSetting for pipelines as deprecated and removed… by @JonasSchaub in #70
- Preparations for v1.2, adjusted version numbers, updated gradle wrapper, … by @JonasSchaub in #73
- Check for file extension on export; by @FelixBaensch in #76
Full Changelog: v1.1.1.0...v1.2.0.0-beta