MORTAR

DOI License: MIT Maintenance GitHub issues GitHub contributors GitHub release Java CI with Gradle Quality Gate Status Software Article - JChemInf Tutorial - Tutorial folder Tutorial - Online

MORTAR_logo

MOlecule fRagmenTAtion fRamework (MORTAR)

See the GitHub repository here: https://github.com/FelixBaensch/MORTAR

SonarCloud

Contents of this document

Description

MORTAR (‘MOlecule fRagmenTation fRamework’) is an open software project that supports workflows of molecular fragmentation and substructure analysis. The Java/JavaFX rich-client application offers extensive graphical functions for visualising the fragmentation results of individual compounds or entire compound sets. With several views and analysis functions, MORTAR supports the interpretation of fragmentation results. In addition to three currently integrated methods for fragmentation and substructure analysis - ErtlFunctionalGroupsFinder, Sugar Removal Utility, and CDK-Scaffold - MORTAR allows straightforward integration of additional fragmentation algorithms with automatic generation of settings menus. All cheminformatics functionalities are implemented based on the Chemistry Development Kit (CDK).
The scientific article describing MORTAR can be found here: MORTAR: a rich client application for in silico molecule fragmentation (Baensch et al. 2023)

Contents of this repository

Sources

The “src” subfolder contains all source code packages including JUnit tests.

Tutorial

The “Tutorial” folder contains a PDF document with a detailed tutorial on how to install and use MORTAR, together with a test data set.
The tutorial PDF document is also available online.

Images

The “Images” folder contains the MORTAR logo and icon as image files that were created by Kohulan Rajan. If you are using MORTAR for your own projects, feel free to acknowledge it by using the logo in your presentations etc.

Installation

Application

Pre-compiled and executable MORTAR distributions can be found attached as assets to the marked releases (below the change notes).
In short (more details in the dedicated sections below), a graphical installer executable is available for Windows, a disk image (DMG) file is given for installation on macOS, and a Debian package (DEB) is available for installation on Debian-based Linux distributions like Ubuntu. On all three operating systems (Windows, macOS, and Linux), MORTAR can also be run from the command line using the supplied “fat” Java ARchive (JAR) which gives you full control, e.g., over how much memory should be used. A Java Development Kit or Runtime Environment (JDK/JRE) of version 21.0.1 or higher must be pre-installed on your system.

Windows: A convenient Windows OS installer executable for MORTAR is available (click here to automatically download the installer .exe of the latest version). Download the installer executable, start, and follow the instructions to install MORTAR. Note that the installation includes a full Java Runtime Environment (JRE). After installation, create a shortcut to an appropriate MORTAR start batch file on your Windows desktop. E.g. for MORTAR to use up to 4 gigabyte of RAM, copy a shortcut to batch file "MORTAR.bat" which is located in the MORTAR program folder (default "C:\Program Files\MORTAR\MORTARv1.2.2.0\bin" or the path specified at installation). To start MORTAR, double-click the created shortcut. MORTAR can be uninstalled by the provided Uninstall.exe executable in the MORTAR program folder or standard Windows functions.
As an alternative to "MORTAR.bat", there is also the "MORTAR_20GB.bat" batch file available that allocates up to 20 GB of RAM for MORTAR. If you want to configure your own heap space settings, open one of the provided batch files and adjust the line

set DEFAULT_JVM_OPTS="-Xms4g" "-Xmx4g"

with your chosen initially allocated memory (-Xms) and maximum value (-Xmx) accordingly.

Should this installation or the execution of the batch files not work for you, you can also run MORTAR directly from the command line (see below).
Please note that x32 processor architectures are not supported by MORTAR.

MacOS: On macOS, MORTAR can be installed using the disk image (.dmg) files attached to every release since v1.2 (one for devices with an x86 processor architecture and one for ARM/AArch64-based systems). Download the right file for your system and double-click on it. In the window that opens, drag the MORTAR icon into the Applications folder to install it. It might be necessary to adjust your security settings to allow MORTAR to run.
The disk images are configured to allocate up to 4 gigabytes of RAM to MORTAR. Should you want to assign more memory to analyse bigger data sets or should this installation not work for you, you can run MORTAR directly from the command line (see below).

Linux: On Debian-based Linux distributions like Ubuntu, MORTAR can be installed using the Debian package (.deb) attached to every release since v1.2.2 (only one for devices with an x86 processor architecture). Download the package and double-click on it to install it. Alternatively, you can install it via the command line:

sudo dpkg -i <path to>MORTAR-1.2.2.deb

Execute the command in the directory where the JAR is situated or use its explicit path instead of <path to>. The package is configured to allocate up to 4 gigabytes of RAM to MORTAR. Should you want to assign more memory to analyse bigger data sets or should this installation not work for you, you can run MORTAR directly from the command line (see below).

JAR execution via command line (all platforms): Every release has the executable JAR "MORTAR-fat-1.2.2.0.jar" attached, which contains the packaged MORTAR code together with all dependencies (click here to automatically download the JAR of the latest version). To run MORTAR (with up to 4 GB of RAM available, e.g.), execute the JAR from the command-line using

java -jar -Xms512m -Xmx4g <path to>MORTAR-fat-1.2.2.0.jar

A JDK or JRE of version 21.0.1 or higher needs to be installed on your system and linked to the “java” command. Otherwise, replace “java” with the path to the java command of your JDK or JRE.
Execute the command in the directory where the JAR is situated or use its explicit path instead of <path to>.
Adjust the initially allocated memory (-Xms) and maximum memory to be used (-Xmx) according to your preferences.

Further notes: Please note that MORTAR only supports x64 (not x32, on all three platforms) and AArch64/ARM (on macOS and Linux) architectures in general. For the latter, a special "fat JAR" named "MORTAR-fat-aarch64-1.2.2.0.jar" is available from the distributions attached to the releases and must be used (click here to automatically download the AArch64 JAR of the latest version).

Also note that using the Windows Subsystem for Linux (WSL) is not recommended, since a lot of additional configurations have to be made there to run Java GUI applications.

The X / X11 / X Window System can be used to run a graphical application like MORTAR on a remote server while displaying the graphical user interface on the local machine / personal computer. This setup can be beneficial if more computing power or memory is required to analyse large data sets. However, please note that while this is possible in principle, unexpected behaviour from MORTAR may occur. We cannot take responsibility for or recommend this way of deployment, similar to using the WSL as mentioned above.

Source code

This is a Gradle project. In order to use the source code for your own software or do your own MORTAR build, download or clone the repository and open it in a Gradle-supporting IDE (e.g. IntelliJ) as a Gradle project and execute the build.gradle file. Gradle will then take care of installing all dependencies. A Java Development Kit (JDK) of version 21.0.1 or higher must also be pre-installed and set as project JDK / project compiler. The Gradle build process is configured to include a specific Java Runtime Environment (JRE) in the “install” folder. For this to work, you need to create an “AdoptOpenJDK\jdk-21.0.1_12_jre" folder and put the JRE with the specified version into it (i.e. sub-folders of “AdoptOpenJDK\jdk-21.0.1_12_jre" need to be “bin”, “conf”, “legal”, “lib”, etc.).

Dependencies

Needs to be pre-installed:

Managed by Gradle:

Citation

You can cite this software or this repository as it is defined in the CITATION.cff file. Also, please cite our scientific article ( MORTAR: a rich client application for in silico molecule fragmentation (Baensch et al. 2023)).

Ertl algorithm

Sugar Removal Utility

Scaffold Generator

Chemistry Development Kit (CDK)

Acknowledgements

Developers:

Logo:

Initialization, conceptualization, and supervision:

MORTAR was developed at:

Zielesny Research Group
Westphalian University of Applied Sciences
August-Schmidt-Ring 10
D-45665 Recklinghausen Germany

and

Steinbeck Research Group
Institute for Inorganic and Analytical Chemistry
Friedrich-Schiller-University Jena
Lessingstraße 8
D-07743 Jena

The MORTAR project team would like to thank the communities behind the open software libraries the application employs for their amazing work.