Giter VIP home page Giter VIP logo

mzmine3's Introduction

logo300_mzmine.png

GitHub all releases GitHub all releases GitHub contributors Development Build Release Static Badge Static Badge

mzmine is an open-source software for mass-spectrometry data processing. The goals of the project is to provide a user-friendly, flexible and easily extendable software with a complete set of modules covering the entire MS data analysis workflow.

More information about the software can be found on the mzmine website.

Getting started with the Documentation and our YouTube channel

License

mzmine source codes are distributed under the MIT license.

Releases

Releases are split into stable releases and the latest development build which reflects the current state of the master branch and is meant for testing purposes. Download options include portable versions and installers for the Window, macOS, and Linux.

Development

Tutorial

Please read our brief tutorial on how to contribute new code to mzmine.

Java version

mzmine development requires Java Development Kit (JDK) version 21 or newer (http://jdk.java.net).

Moving old codebase to new modular build system

If there are still changes pending apply those moves first and then create a PR. Create a backup branch.

git mv -k -v ./src ./mzmine-community/
git mv -v ./log ./mzmine-community/    
git mv -v ./logo ./mzmine-community/    
git mv -v ./Ontologies ./mzmine-community/    

Building

To build the mzmine package from the sources, run the following command:

./gradlew

or

gradlew.bat

The final mzmine distribution will be placed in build/jpackage

If you encounter any problems, please contact the developers by posting an issue: https://github.com/mzmine/mzmine3/issues

Contribute code (or documentation)

Guides and more information is in the mzmine documentation: https://mzmine.github.io/mzmine_documentation/contribute_intellij.html

mzmine3's People

Contributors

akshaj5 avatar ansgarkorf avatar asmirn1 avatar avilbrio avatar corinnabrungs avatar cpudney avatar deepak123bharat avatar dyrlund avatar evgerher avatar golgauth avatar inspiritedcoder avatar itissandeep98 avatar kaibioinfo avatar kevin-murray avatar knakul853 avatar kyrasolaris01 avatar lukasz-fiszer avatar omokshyna avatar omyers avatar robinschmid avatar roman-bushuiev avatar sanbit876 avatar sandracastillopriego avatar sonja-analytik avatar steffenheu avatar surajviitk avatar tnguy271 avatar tomas-pluskal avatar wesmark avatar zhz125 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mzmine3's Issues

Execution failed for task ':jpackage'.

Hi,

in case it helps, drop it here

Basic information

  • My operating system: mac OS 11.0.1
  • My MZmine version: last push

What happened

(base) โžœ  mzmine3 git:(master) ./gradlew

> Configure project :
Project : => no module-info.java found
OS detected as macOS

> Task :compileJava
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :jpackageImage
WARNING: Using incubator modules: jdk.incubator.jpackage

> Task :jpackage
WARNING: Using incubator modules: jdk.incubator.jpackage
java.io.IOException: Command [/usr/bin/hdiutil, unflatten, /Users/rutza/GitHub/mzmine3/build/jpackage/MZmine-3.0.dmg] exited with 1 code


> Task :jpackage FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':jpackage'.
> Process 'command '/Library/Java/JavaVirtualMachines/jdk-14.0.1.jdk/Contents/Home/bin/jpackage'' finished with non-zero exit value 1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 33s
8 actionable tasks: 8 executed

Btw, I am able to find a mounted image in /build ...looks like it worked the same...

Already excited to see what will come out!

Best

ThermoRawFileImport on MS3 fails

The raw data file import generates an mzML with only the last m/z isolation step. Usually mzML has multiple precursor ions sorted by MS level. See the snap below for MS3 from .raw.
@tomas-pluskal do you want to reach out about that?

image

Gap fill wrong scan reference to scan data access

The scan data access was used in the GapDataPoint. Removing it solves an issue in gap filling where retention time is always the last scan due to wrong scan reference.

The scan data access is still used to load the mass lists.

Remove scan numbers to access scans

My idea would be to drop the use of scan numbers to access the scans. Currently, RawDataFileImpl uses Hashtable<Integer, Scan> scans. However, the scan numbers do not add any valuable information. We could just store them in an ArrayList or a similar thread-safe alternative. Then we would pass the scans directly to the features etc.

Pro

  • we can do feature.getScans() directly (not feature.getScanNumbers().stream().map(RawDataFile::getScan))
  • no need to ensure that features reference the same scan number Integer object instead of creating millions of scan numbers

Version check does not work properly

Basic information

  • My operating system: Win7 64bit
  • My MZmine version: 3.0

mzMine says there is a new version available for download in the status bar, which is not true. I run 3.0 version.

See the very last line the in the log file:

[15:14:46|INFO|io.github.mzmine.main.MZmineCore]: Starting MZmine 3.0
[15:14:46|FINEST|io.github.mzmine.main.MZmineCore]: MZmine arguments: 
[15:14:46|FINEST|io.github.mzmine.main.MZmineCore]: Java VM arguments: -Djpackage.app-version=3.0 -XX:MaxHeapFreeRatio=100 -XX:InitialRAMPercentage=30 -XX:MinRAMPercentage=80 -XX:MaxRAMPercentage=80 -enableassertions -Djava.util.logging.config.class=io.github.mzmine.main.MZmineLoggingConfiguration -Djpackage.app-path=C:\Program Files\MZmine\MZmine.exe
[15:14:46|FINEST|io.github.mzmine.main.MZmineCore]: Java class path: C:\Program Files\MZmine\app\mzmine3-3.0.jar;C:\Program Files\MZmine\app\activation-1.1.1.jar;C:\Program Files\MZmine\app\adap-4.1.4.jar;C:\Program Files\MZmine\app\annotations-21.0.1.jar;C:\Program Files\MZmine\app\antlr-2.7.7.jar;C:\Program Files\MZmine\app\arpack_combined_all-0.1.jar;C:\Program Files\MZmine\app\avalon-framework-api-4.3.1.jar;C:\Program Files\MZmine\app\avalon-framework-impl-4.3.1.jar;C:\Program Files\MZmine\app\batik-anim-1.11.jar;C:\Program Files\MZmine\app\batik-awt-util-1.11.jar;C:\Program Files\MZmine\app\batik-bridge-1.11.jar;C:\Program Files\MZmine\app\batik-codec-1.11.jar;C:\Program Files\MZmine\app\batik-constants-1.11.jar;C:\Program Files\MZmine\app\batik-css-1.11.jar;C:\Program Files\MZmine\app\batik-dom-1.11.jar;C:\Program Files\MZmine\app\batik-ext-1.11.jar;C:\Program Files\MZmine\app\batik-extension-1.7.jar;C:\Program Files\MZmine\app\batik-gui-util-1.11.jar;C:\Program Files\MZmine\app\batik-gvt-1.11.jar;C:\Program Files\MZmine\app\batik-i18n-1.11.jar;C:\Program Files\MZmine\app\batik-parser-1.11.jar;C:\Program Files\MZmine\app\batik-rasterizer-1.11.jar;C:\Program Files\MZmine\app\batik-script-1.11.jar;C:\Program Files\MZmine\app\batik-svg-dom-1.11.jar;C:\Program Files\MZmine\app\batik-svggen-1.11.jar;C:\Program Files\MZmine\app\batik-svgrasterizer-1.11.jar;C:\Program Files\MZmine\app\batik-swing-1.11.jar;C:\Program Files\MZmine\app\batik-transcoder-1.11.jar;C:\Program Files\MZmine\app\batik-ttf2svg-1.11.jar;C:\Program Files\MZmine\app\batik-util-1.11.jar;C:\Program Files\MZmine\app\batik-xml-1.11.jar;C:\Program Files\MZmine\app\beam-core-1.3.4.jar;C:\Program Files\MZmine\app\beam-func-1.3.4.jar;C:\Program Files\MZmine\app\bounce-0.18.jar;C:\Program Files\MZmine\app\bzip2-0.9.1.jar;C:\Program Files\MZmine\app\c3p0-0.9.1.1.jar;C:\Program Files\MZmine\app\canopus_predict_oss-1.1.3.jar;C:\Program Files\MZmine\app\cdk-atomtype-2.5.jar;C:\Program Files\MZmine\app\cdk-charges-2.2.jar;C:\Program Files\MZmine\app\cdk-core-2.5.jar;C:\Program Files\MZmine\app\cdk-ctab-2.5.jar;C:\Program Files\MZmine\app\cdk-data-2.5.jar;C:\Program Files\MZmine\app\cdk-dict-2.2.jar;C:\Program Files\MZmine\app\cdk-fingerprint-2.2.jar;C:\Program Files\MZmine\app\cdk-forcefield-2.2.jar;C:\Program Files\MZmine\app\cdk-formula-2.5.jar;C:\Program Files\MZmine\app\cdk-fragment-2.2.jar;C:\Program Files\MZmine\app\cdk-hash-2.2.jar;C:\Program Files\MZmine\app\cdk-inchi-2.2.jar;C:\Program Files\MZmine\app\cdk-interfaces-2.5.jar;C:\Program Files\MZmine\app\cdk-io-2.5.jar;C:\Program Files\MZmine\app\cdk-ioformats-2.5.jar;C:\Program Files\MZmine\app\cdk-isomorphism-2.5.jar;C:\Program Files\MZmine\app\cdk-qsar-2.2.jar;C:\Program Files\MZmine\app\cdk-qsaratomic-2.2.jar;C:\Program Files\MZmine\app\cdk-qsarmolecular-2.2.jar;C:\Program Files\MZmine\app\cdk-reaction-2.2.jar;C:\Program Files\MZmine\app\cdk-render-2.5.jar;C:\Program Files\MZmine\app\cdk-renderawt-2.5.jar;C:\Program Files\MZmine\app\cdk-renderbasic-2.5.jar;C:\Program Files\MZmine\app\cdk-sdg-2.5.jar;C:\Program Files\MZmine\app\cdk-silent-2.5.jar;C:\Program Files\MZmine\app\cdk-smarts-2.2.jar;C:\Program Files\MZmine\app\cdk-smiles-2.5.jar;C:\Program Files\MZmine\app\cdk-standard-2.5.jar;C:\Program Files\MZmine\app\cdk-valencycheck-2.5.jar;C:\Program Files\MZmine\app\cdm-4.5.5.jar;C:\Program Files\MZmine\app\chardet-1.0.jar;C:\Program Files\MZmine\app\chemdb_file_oss-1.1.3.jar;C:\Program Files\MZmine\app\chemdb_rest_oss-1.1.3.jar;C:\Program Files\MZmine\app\chemdb_sql_oss-1.1.3.jar;C:\Program Files\MZmine\app\chemical_db_oss-1.1.3.jar;C:\Program Files\MZmine\app\chemistry_base-4.0.1.jar;C:\Program Files\MZmine\app\chemspider-api-1.0.0.jar;C:\Program Files\MZmine\app\clustering-20210422.jar;C:\Program Files\MZmine\app\colt-1.2.0.jar;C:\Program Files\MZmine\app\commons-beanutils-1.9.3.jar;C:\Program Files\MZmine\app\commons-cli-1.4.jar;C:\Program Files\MZmine\app\commons-codec-1.12.jar;C:\Program Files\MZmine\app\commons-collections-3.2.2.jar;C:\Program Files\MZmine\app\commons-collections4-4.3.jar;C:\Program Files\MZmine\app\commons-compress-1.18.jar;C:\Program Files\MZmine\app\commons-csv-1.3.jar;C:\Program Files\MZmine\app\commons-email-1.4.jar;C:\Program Files\MZmine\app\commons-graph-0.8.1.jar;C:\Program Files\MZmine\app\commons-io-2.6.jar;C:\Program Files\MZmine\app\commons-lang-2.6.jar;C:\Program Files\MZmine\app\commons-lang3-3.7.jar;C:\Program Files\MZmine\app\commons-logging-1.2.jar;C:\Program Files\MZmine\app\commons-math-2.2.jar;C:\Program Files\MZmine\app\commons-math3-3.6.1.jar;C:\Program Files\MZmine\app\commons-pool2-2.4.2.jar;C:\Program Files\MZmine\app\commons-text-1.3.jar;C:\Program Files\MZmine\app\concurrent-1.3.4.jar;C:\Program Files\MZmine\app\controlsfx-11.1.0.jar;C:\Program Files\MZmine\app\core-1.1.2.jar;C:\Program Files\MZmine\app\cpdetector-1.0.7.jar;C:\Program Files\MZmine\app\csparsej-1.1.1.jar;C:\Program Files\MZmine\app\curvesapi-1.06.jar;C:\Program Files\MZmine\app\decomp_cli-4.0.1.jar;C:\Program Files\MZmine\app\ehcache-core-2.6.2.jar;C:\Program Files\MZmine\app\ejml-all-0.38.jar;C:\Program Files\MZmine\app\ejml-cdense-0.38.jar;C:\Program Files\MZmine\app\ejml-core-0.38.jar;C:\Program Files\MZmine\app\ejml-ddense-0.38.jar;C:\Program Files\MZmine\app\ejml-dsparse-0.38.jar;C:\Program Files\MZmine\app\ejml-fdense-0.38.jar;C:\Program Files\MZmine\app\ejml-simple-0.38.jar;C:\Program Files\MZmine\app\ejml-zdense-0.38.jar;C:\Program Files\MZmine\app\epsgraphics-1.2.jar;C:\Program Files\MZmine\app\error-reporter-0.9.2.jar;C:\Program Files\MZmine\app\error_prone_annotations-2.3.4.jar;C:\Program Files\MZmine\app\failureaccess-1.0.1.jar;C:\Program Files\MZmine\app\fastutil-8.2.2.jar;C:\Program Files\MZmine\app\fingerblast_oss-1.1.3.jar;C:\Program Files\MZmine\app\fingerid_utils_oss-1.1.3.jar;C:\Program Files\MZmine\app\fingerprinter_oss-1.1.3.jar;C:\Program Files\MZmine\app\fingerprint_pvalues_oss-1.1.3.jar;C:\Program Files\MZmine\app\fontchooser-2.4.jar;C:\Program Files\MZmine\app\fop-1.0.jar;C:\Program Files\MZmine\app\fragmentation_tree_construction-4.0.1.jar;C:\Program Files\MZmine\app\freehep-graphics2d-2.4.jar;C:\Program Files\MZmine\app\freehep-graphicsbase-2.4.jar;C:\Program Files\MZmine\app\freehep-graphicsio-2.4.jar;C:\Program Files\MZmine\app\freehep-graphicsio-emf-2.4.jar;C:\Program Files\MZmine\app\freehep-graphicsio-tests-2.4.jar;C:\Program Files\MZmine\app\freehep-io-2.2.2.jar;C:\Program Files\MZmine\app\gibbs_sampling-4.0.1.jar;C:\Program Files\MZmine\app\glpk-java-1.7.0.jar;C:\Program Files\MZmine\app\GraphUtils-1.1.jar;C:\Program Files\MZmine\app\gs-algo-2.0.jar;C:\Program Files\MZmine\app\gs-core-2.0.jar;C:\Program Files\MZmine\app\gs-ui-javafx-2.0.jar;C:\Program Files\MZmine\app\gslibml-0.0.1.jar;C:\Program Files\MZmine\app\gson-2.8.5.jar;C:\Program Files\MZmine\app\gson-fire-1.8.0.jar;C:\Program Files\MZmine\app\guava-30.1-jre.jar;C:\Program Files\MZmine\app\hamcrest-2.2.jar;C:\Program Files\MZmine\app\hamcrest-core-1.1.jar;C:\Program Files\MZmine\app\httpclient-4.5.6.jar;C:\Program Files\MZmine\app\httpcore-4.4.10.jar;C:\Program Files\MZmine\app\httpmime-4.2.6.jar;C:\Program Files\MZmine\app\httpservices-4.5.5.jar;C:\Program Files\MZmine\app\io-4.0.1.jar;C:\Program Files\MZmine\app\isogen_cli-4.0.1.jar;C:\Program Files\MZmine\app\isotope_pattern_analysis-4.0.1.jar;C:\Program Files\MZmine\app\itextpdf-5.5.13.1.jar;C:\Program Files\MZmine\app\j2objc-annotations-1.3.jar;C:\Program Files\MZmine\app\jackson-annotations-2.10.5.jar;C:\Program Files\MZmine\app\jackson-core-2.10.5.jar;C:\Program Files\MZmine\app\jackson-databind-2.10.5.1.jar;C:\Program Files\MZmine\app\jackson-dataformat-csv-2.10.5.jar;C:\Program Files\MZmine\app\jackson-dataformat-xml-2.10.5.jar;C:\Program Files\MZmine\app\jackson-datatype-joda-2.10.5.jar;C:\Program Files\MZmine\app\jackson-module-jaxb-annotations-2.10.5.jar;C:\Program Files\MZmine\app\jakarta.activation-api-1.2.1.jar;C:\Program Files\MZmine\app\jakarta.xml.bind-api-2.3.2.jar;C:\Program Files\MZmine\app\jama-1.0.3.jar;C:\Program Files\MZmine\app\jargs-1.0.jar;C:\Program Files\MZmine\app\java-cup-11b-2015.03.26.jar;C:\Program Files\MZmine\app\java-cup-11b-runtime-2015.03.26.jar;C:\Program Files\MZmine\app\java-utilities-1.0-SNAPSHOT.jar;C:\Program Files\MZmine\app\javafx-base-16-win.jar;C:\Program Files\MZmine\app\javafx-base-16.jar;C:\Program Files\MZmine\app\javafx-controls-16-win.jar;C:\Program Files\MZmine\app\javafx-controls-16.jar;C:\Program Files\MZmine\app\javafx-fxml-16-win.jar;C:\Program Files\MZmine\app\javafx-fxml-16.jar;C:\Program Files\MZmine\app\javafx-graphics-16-win.jar;C:\Program Files\MZmine\app\javafx-graphics-16.jar;C:\Program Files\MZmine\app\javafx-media-16-win.jar;C:\Program Files\MZmine\app\javafx-media-16.jar;C:\Program Files\MZmine\app\javafx-swing-16-win.jar;C:\Program Files\MZmine\app\javafx-swing-16.jar;C:\Program Files\MZmine\app\javafx-web-16-win.jar;C:\Program Files\MZmine\app\javanmf-0.2.0.jar;C:\Program Files\MZmine\app\JavaPlot-1.0.jar;C:\Program Files\MZmine\app\javatuples-1.3-SNAPSHOT.jar;C:\Program Files\MZmine\app\javax.activation-api-1.2.0.jar;C:\Program Files\MZmine\app\javax.json-1.1.4.jar;C:\Program Files\MZmine\app\javax.json-api-1.1.4.jar;C:\Program Files\MZmine\app\javax.mail-1.5.2.jar;C:\Program Files\MZmine\app\javax.mail-api-1.6.2.jar;C:\Program Files\MZmine\app\javolution-core-java-msftbx-6.11.8.jar;C:\Program Files\MZmine\app\jaxb-api-2.3.1.jar;C:\Program Files\MZmine\app\jaxb-core-2.3.0.1.jar;C:\Program Files\MZmine\app\jaxb-impl-2.3.2.jar;C:\Program Files\MZmine\app\jaxb-xjc-2.2.7.jar;C:\Program Files\MZmine\app\jblas-1.2.4.jar;C:\Program Files\MZmine\app\jchardet-1.0.jar;C:\Program Files\MZmine\app\jcip-annotations-1.0.jar;C:\Program Files\MZmine\app\jcl-over-slf4j-1.7.26.jar;C:\Program Files\MZmine\app\jcommander-1.35.jar;C:\Program Files\MZmine\app\jdom2-2.0.4.jar;C:\Program Files\MZmine\app\jewelcli-0.8.9.jar;C:\Program Files\MZmine\app\jfreechart-1.5.3.jar;C:\Program Files\MZmine\app\jgrapht-core-0.9.0.jar;C:\Program Files\MZmine\app\jimzmlparser-1.0.5.jar;C:\Program Files\MZmine\app\jjobs-core-0.9.6.jar;C:\Program Files\MZmine\app\jmol-14.29.27.jar;C:\Program Files\MZmine\app\jmprojection-1.0.jar;C:\Program Files\MZmine\app\jmzml-1.7.11.jar;C:\Program Files\MZmine\app\jmztab-modular-model-3.0.9.jar;C:\Program Files\MZmine\app\jmztab-modular-util-3.0.9.jar;C:\Program Files\MZmine\app\jmztabm-api-1.0.6.jar;C:\Program Files\MZmine\app\jmztabm-io-1.0.6.jar;C:\Program Files\MZmine\app\jna-5.5.0.jar;C:\Program Files\MZmine\app\jna-platform-5.5.0.jar;C:\Program Files\MZmine\app\jnati-core-0.4.jar;C:\Program Files\MZmine\app\jnati-deploy-0.4.jar;C:\Program Files\MZmine\app\jni-inchi-0.8.jar;C:\Program Files\MZmine\app\jniloader-1.1.jar;C:\Program Files\MZmine\app\joda-time-2.9.9.jar;C:\Program Files\MZmine\app\joptimizer-3.5.1.jar;C:\Program Files\MZmine\app\json-20190722.jar;C:\Program Files\MZmine\app\jsparsehc-0.1.3.jar;C:\Program Files\MZmine\app\jsr305-3.0.2.jar;C:\Program Files\MZmine\app\junit-4.10.jar;C:\Program Files\MZmine\app\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar;C:\Program Files\MZmine\app\log4j-1.2.14.jar;C:\Program Files\MZmine\app\logging-interceptor-2.7.5.jar;C:\Program Files\MZmine\app\lz4-java-1.4.1.jar;C:\Program Files\MZmine\app\mass_decomposer-4.0.1.jar;C:\Program Files\MZmine\app\mbox2-1.0.jar;C:\Program Files\MZmine\app\migbase64-2.2.jar;C:\Program Files\MZmine\app\miglayout-3.7.4.jar;C:\Program Files\MZmine\app\msdk-datamodel-0.0.27.jar;C:\Program Files\MZmine\app\msdk-featuredetection-adap3d-0.0.27.jar;C:\Program Files\MZmine\app\msdk-id-sirius-0.0.27.jar;C:\Program Files\MZmine\app\msdk-io-msp-0.0.27.jar;C:\Program Files\MZmine\app\msdk-io-mzml-0.0.27.jar;C:\Program Files\MZmine\app\msdk-io-netcdf-0.0.27.jar;C:\Program Files\MZmine\app\msdk-spectra-centroidprofiledetection-0.0.27.jar;C:\Program Files\MZmine\app\MsNumpress-0.1.18.jar;C:\Program Files\MZmine\app\mtj-1.0.4.jar;C:\Program Files\MZmine\app\mysql-connector-java-5.1.34.jar;C:\Program Files\MZmine\app\native_ref-java-1.1.jar;C:\Program Files\MZmine\app\native_system-java-1.1.jar;C:\Program Files\MZmine\app\netcdf4-4.5.5.jar;C:\Program Files\MZmine\app\netlib-java-1.1.jar;C:\Program Files\MZmine\app\netlib-native_ref-linux-armhf-1.1-natives.jar;C:\Program Files\MZmine\app\netlib-native_ref-linux-i686-1.1-natives.jar;C:\Program Files\MZmine\app\netlib-native_ref-linux-x86_64-1.1-natives.jar;C:\Program Files\MZmine\app\netlib-native_ref-osx-x86_64-1.1-natives.jar;C:\Program Files\MZmine\app\netlib-native_ref-win-i686-1.1-natives.jar;C:\Program Files\MZmine\app\netlib-native_ref-win-x86_64-1.1-natives.jar;C:\Program Files\MZmine\app\netlib-native_system-linux-armhf-1.1-natives.jar;C:\Program Files\MZmine\app\netlib-native_system-linux-i686-1.1-natives.jar;C:\Program Files\MZmine\app\netlib-native_system-linux-x86_64-1.1-natives.jar;C:\Program Files\MZmine\app\netlib-native_system-osx-x86_64-1.1-natives.jar;C:\Program Files\MZmine\app\netlib-native_system-win-i686-1.1-natives.jar;C:\Program Files\MZmine\app\netlib-native_system-win-x86_64-1.1-natives.jar;C:\Program Files\MZmine\app\okhttp-2.7.5.jar;C:\Program Files\MZmine\app\okio-1.6.0.jar;C:\Program Files\MZmine\app\opencsv-4.2.jar;C:\Program Files\MZmine\app\org.jfree.chart.fx-2.0.1.jar;C:\Program Files\MZmine\app\org.jfree.fxgraphics2d-2.1.1.jar;C:\Program Files\MZmine\app\org.jfree.pdf-2.0.jar;C:\Program Files\MZmine\app\org.jfree.svg-4.1.jar;C:\Program Files\MZmine\app\oshi-core-4.5.2.jar;C:\Program Files\MZmine\app\pherd-1.0.jar;C:\Program Files\MZmine\app\poi-4.1.0.jar;C:\Program Files\MZmine\app\poi-ooxml-4.1.0.jar;C:\Program Files\MZmine\app\poi-ooxml-schemas-4.1.0.jar;C:\Program Files\MZmine\app\postgresql-42.2.1.jar;C:\Program Files\MZmine\app\protobuf-java-2.5.0.jar;C:\Program Files\MZmine\app\py4j-0.8.1.jar;C:\Program Files\MZmine\app\quartz-2.2.0.jar;C:\Program Files\MZmine\app\RCaller-3.0.jar;C:\Program Files\MZmine\app\Recalibration-1.0.jar;C:\Program Files\MZmine\app\REngine-1.8-5.jar;C:\Program Files\MZmine\app\Rserve-1.8-5.jar;C:\Program Files\MZmine\app\serializer-2.7.2.jar;C:\Program Files\MZmine\app\sirius_api-4.0.1.jar;C:\Program Files\MZmine\app\slf4j-api-1.7.30.jar;C:\Program Files\MZmine\app\slf4j-jdk14-1.7.30.jar;C:\Program Files\MZmine\app\smile-core-1.3.0.jar;C:\Program Files\MZmine\app\smile-data-1.3.0.jar;C:\Program Files\MZmine\app\smile-graph-1.3.0.jar;C:\Program Files\MZmine\app\smile-math-1.3.0.jar;C:\Program Files\MZmine\app\sqlite-jdbc-3.8.11.2.jar;C:\Program Files\MZmine\app\stax2-api-4.2.1.jar;C:\Program Files\MZmine\app\swagger-annotations-1.5.24.jar;C:\Program Files\MZmine\app\threetenbp-1.3.8.jar;C:\Program Files\MZmine\app\trove4j-3.0.3.jar;C:\Program Files\MZmine\app\udunits-4.5.5.jar;C:\Program Files\MZmine\app\utils-1.07.00.jar;C:\Program Files\MZmine\app\validation-api-2.0.0.Final.jar;C:\Program Files\MZmine\app\vecmath-1.5.2.jar;C:\Program Files\MZmine\app\weka-stable-3.8.3.jar;C:\Program Files\MZmine\app\woodstox-core-6.2.1.jar;C:\Program Files\MZmine\app\xalan-2.7.2.jar;C:\Program Files\MZmine\app\xmlbeans-3.1.0.jar;C:\Program Files\MZmine\app\xmlgraphics-commons-2.3.jar;C:\Program Files\MZmine\app\xxindex-0.23.jar;C:\Program Files\MZmine\app\xz-1.6.jar;C:\Program Files\MZmine\app\zstd-jni-1.3.4-10.jar
[15:14:46|FINEST|io.github.mzmine.main.MZmineCore]: Working directory is C:\Program Files\MZmine
[15:14:46|FINEST|io.github.mzmine.main.MZmineCore]: Default temporary directory is C:\Users\me\AppData\Local\Temp\
[15:14:46|FINE|io.github.mzmine.main.MZmineCore]: Loading core classes..
[15:14:47|FINE|io.github.mzmine.main.TmpFileCleanup]: Checking for old temporary files...
[15:14:47|FINE|io.github.mzmine.main.MZmineCore]: Initializing core classes..
[15:14:47|FINEST|io.github.mzmine.taskcontrol.impl.TaskControllerImpl]: Starting task controller thread
[15:14:47|FINEST|io.github.mzmine.main.impl.MZmineConfigurationImpl]: Loading desktop configuration
[15:14:47|FINEST|io.github.mzmine.main.impl.MZmineConfigurationImpl]: Loading last projects
[15:14:48|FINEST|io.github.mzmine.main.impl.MZmineConfigurationImpl]: Loading modules configuration
[15:14:48|FINEST|io.github.mzmine.main.MZmineCore]: Creating an instance of the module io.github.mzmine.modules.io.import_all_data_files.AllSpectralDataImportModule
[15:14:48|FINEST|io.github.mzmine.main.MZmineCore]: Creating an instance of the module io.github.mzmine.modules.visualization.rawdataoverview.RawDataOverviewModule
[15:14:48|FINEST|io.github.mzmine.main.MZmineCore]: Creating an instance of the module io.github.mzmine.modules.io.import_mzxml.MzXMLImportModule
[15:14:48|INFO|io.github.mzmine.main.impl.MZmineConfigurationImpl]: Loaded configuration from file C:\Users\me\.mzmine3.conf
[15:14:48|FINEST|io.github.mzmine.main.MZmineCore]: Working temporary directory is C:\Users\me\AppData\Local\Temp
[15:14:48|INFO|io.github.mzmine.main.MZmineCore]: Starting MZmine GUI
[15:14:48|WARNING|javafx]: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @274c1fb7'
[15:14:48|FINE|io.github.mzmine.main.TmpFileCleanup]: Checking for old temporary files...
[15:14:49|FINEST|io.github.mzmine.gui.MZmineGUI]: Initializing MZmine main window
[15:14:52|FINEST|io.github.mzmine.gui.DesktopSetup]: Configuring desktop settings
[15:14:54|FINEST|io.github.mzmine.util.InetUtils]: Retrieving data from URL http://mzmine.github.io/version.txt
[15:14:54|FINEST|io.github.mzmine.util.InetUtils]: Retrieved 5 characters from http://mzmine.github.io/version.txt
[15:14:54|INFO|io.github.mzmine.gui.NewVersionCheck]: An updated version is available: MZmine 2.53

IonIdentityTest. ionIdentityTest() error return at install (MacOS - Java 17)

Basic information

  • My operating system: MacOS BigSur 11.6
  • My MZmine version: MzMine3

What happened

Problems at the compilation stage and thus cannot use mzmine3.
After running the ./gradlew build command I get a BUILD FAILED info.

See attached screenshot

image

Test not passing is the following one IonIdentityTest. ionIdentityTest()

Please find output below if this can help.
Thanks !

org.mockito.exceptions.base.MockitoException: 
Mockito cannot mock this class: class io.github.mzmine.modules.dataprocessing.id_formulaprediction.ResultFormula.

If you're not sure why you're getting this error, please report to the mailing list.


Java               : 17
JVM vendor name    : Oracle Corporation
JVM vendor version : 17.0.1+12-39
JVM name           : OpenJDK 64-Bit Server VM
JVM version        : 17.0.1+12-39
JVM info           : mixed mode, sharing
OS name            : Mac OS X
OS version         : 11.6


You are seeing this disclaimer because Mockito is configured to create inlined mocks.
You can learn about inline mocks and their limitations under item #39 of the Mockito class javadoc.

Underlying exception : org.mockito.exceptions.base.MockitoException: Could not modify all classes [class io.github.mzmine.datamodel.identities.MolecularFormulaIdentity, class java.lang.Object, class io.github.mzmine.modules.dataprocessing.id_formulaprediction.ResultFormula]
	at org.mockito.junit.jupiter.MockitoExtension.beforeEach(MockitoExtension.java:153)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeEachCallbacks$1(TestMethodTestDescriptor.java:159)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeMethodsOrCallbacksUntilExceptionOccurs$5(TestMethodTestDescriptor.java:195)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeMethodsOrCallbacksUntilExceptionOccurs(TestMethodTestDescriptor.java:195)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeEachCallbacks(TestMethodTestDescriptor.java:158)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:125)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:99)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:79)
	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:75)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
	at jdk.proxy1/jdk.proxy1.$Proxy2.stop(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:135)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182)
	at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164)
	at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:414)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
	at java.base/java.lang.Thread.run(Thread.java:833)
	Suppressed: java.lang.NullPointerException: Cannot invoke "java.util.Set.forEach(java.util.function.Consumer)" because the return value of "org.junit.jupiter.api.extension.ExtensionContext$Store.remove(Object, java.lang.Class)" is null
		at org.mockito.junit.jupiter.MockitoExtension.afterEach(MockitoExtension.java:184)
		at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAfterEachCallbacks$11(TestMethodTestDescriptor.java:253)
		at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAllAfterMethodsOrCallbacks$12(TestMethodTestDescriptor.java:269)
		at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
		at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAllAfterMethodsOrCallbacks$13(TestMethodTestDescriptor.java:269)
		at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
		at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeAllAfterMethodsOrCallbacks(TestMethodTestDescriptor.java:268)
		at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeAfterEachCallbacks(TestMethodTestDescriptor.java:252)
		at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:137)
		... 68 more
Caused by: org.mockito.exceptions.base.MockitoException: Could not modify all classes [class io.github.mzmine.datamodel.identities.MolecularFormulaIdentity, class java.lang.Object, class io.github.mzmine.modules.dataprocessing.id_formulaprediction.ResultFormula]
	at net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:153)
	at net.bytebuddy.TypeCache$WithInlineExpunction.findOrInsert(TypeCache.java:366)
	at net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:175)
	at net.bytebuddy.TypeCache$WithInlineExpunction.findOrInsert(TypeCache.java:377)
	... 75 more
Caused by: java.lang.IllegalStateException: 
Byte Buddy could not instrument all classes within the mock's type hierarchy

This problem should never occur for javac-compiled classes. This problem has been observed for classes that are:
 - Compiled by older versions of scalac
 - Classes that are part of the Android distribution
	at org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.triggerRetransformation(InlineBytecodeGenerator.java:280)
	at org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.mockClass(InlineBytecodeGenerator.java:213)
	at org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator$1.call(TypeCachingBytecodeGenerator.java:51)
	at org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator$1.call(TypeCachingBytecodeGenerator.java:48)
	at net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:153)
	at net.bytebuddy.TypeCache$WithInlineExpunction.findOrInsert(TypeCache.java:366)
	at net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:175)
	at net.bytebuddy.TypeCache$WithInlineExpunction.findOrInsert(TypeCache.java:377)
	at org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator.mockClass(TypeCachingBytecodeGenerator.java:41)
	at org.mockito.internal.creation.bytebuddy.InlineByteBuddyMockMaker.createMockType(InlineByteBuddyMockMaker.java:379)
	at org.mockito.internal.creation.bytebuddy.InlineByteBuddyMockMaker.doCreateMock(InlineByteBuddyMockMaker.java:339)
	at org.mockito.internal.creation.bytebuddy.InlineByteBuddyMockMaker.createMock(InlineByteBuddyMockMaker.java:318)
	at org.mockito.internal.util.MockUtil.createMock(MockUtil.java:53)
	at org.mockito.internal.MockitoCore.mock(MockitoCore.java:62)
	at org.mockito.Mockito.mock(Mockito.java:1951)
	at org.mockito.internal.configuration.MockAnnotationProcessor.processAnnotationForMock(MockAnnotationProcessor.java:66)
	at org.mockito.internal.configuration.MockAnnotationProcessor.process(MockAnnotationProcessor.java:27)
	at org.mockito.internal.configuration.MockAnnotationProcessor.process(MockAnnotationProcessor.java:24)
	at org.mockito.internal.configuration.IndependentAnnotationEngine.createMockFor(IndependentAnnotationEngine.java:46)
	at org.mockito.internal.configuration.IndependentAnnotationEngine.process(IndependentAnnotationEngine.java:73)
	at org.mockito.internal.configuration.InjectingAnnotationEngine.processIndependentAnnotations(InjectingAnnotationEngine.java:73)
	at org.mockito.internal.configuration.InjectingAnnotationEngine.process(InjectingAnnotationEngine.java:47)
	at org.mockito.MockitoAnnotations.openMocks(MockitoAnnotations.java:82)
	at org.mockito.internal.framework.DefaultMockitoSession.<init>(DefaultMockitoSession.java:43)
	at org.mockito.internal.session.DefaultMockitoSessionBuilder.startMocking(DefaultMockitoSessionBuilder.java:83)
	... 75 more
Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 61
	at net.bytebuddy.jar.asm.ClassReader.<init>(ClassReader.java:189)
	at net.bytebuddy.jar.asm.ClassReader.<init>(ClassReader.java:170)
	at net.bytebuddy.jar.asm.ClassReader.<init>(ClassReader.java:156)
	at net.bytebuddy.utility.OpenedClassReader.of(OpenedClassReader.java:86)
	at net.bytebuddy.dynamic.scaffold.TypeWriter$Default$ForInlining.create(TypeWriter.java:3889)
	at net.bytebuddy.dynamic.scaffold.TypeWriter$Default.make(TypeWriter.java:2166)
	at net.bytebuddy.dynamic.scaffold.inline.RedefinitionDynamicTypeBuilder.make(RedefinitionDynamicTypeBuilder.java:224)
	at net.bytebuddy.dynamic.scaffold.inline.AbstractInliningDynamicTypeBuilder.make(AbstractInliningDynamicTypeBuilder.java:123)
	at net.bytebuddy.dynamic.DynamicType$Builder$AbstractBase.make(DynamicType.java:3659)
	at org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.transform(InlineBytecodeGenerator.java:391)
	at java.instrument/java.lang.instrument.ClassFileTransformer.transform(ClassFileTransformer.java:244)
	at java.instrument/sun.instrument.TransformerManager.transform(TransformerManager.java:188)
	at java.instrument/sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:541)
	at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses0(Native Method)
	at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:169)
	at org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.triggerRetransformation(InlineBytecodeGenerator.java:276)
	... 99 more

Remove mobility from Scan interface

Since we will have the MobilityScan (extending MassSpectrum) soon, we should delete the mobility from the Scan interface to clearly separate ion mobility from regular LC-MS

Colors

Hi all,
I want to start a discussion on how to harmonize the colors used in MZmine, especially for charts. @robinschmid has added utility classes to manage colors in accordance to a selected vision. The vision can be set in the preferences. I tried to use this utility for the raw data overview visualizer, it works really well. Nevertheless, I think it is not the best solution to call the methods to get colors based on vision in every single module when ever a plot is generated. So my idea would be to integrate color themes (based on vision) directly in the preferences. The user can change the colors there and they will be globally applied on every chromatogram, spectrum, etc.
Any other/better ideas or opinions?

a problem of gap filling process in MZmine3

Basic information

  • My operating system: Windows10
  • My MZmine version: MZmine3

What happened

Hi,
I tried to do the process of gap filling after the step of Join aligner. I chose the method of peak finder for the gap filling process. However, after the gap filling, all the m/z values became to 0. Do you know why? I have attached the java codes in the text file and the settings of the gap filling in the screenshots. Thanks a lot !
201912128_gap filling problem.txt
image
image

Some issues and suggestions for the new GUI layout

  • The chromatogram and spectrum visualizer causes problems (exceptions, errors) with certain raw files. See uploaded examples.

  • I think the configuration of the plot could be moved to the setup dialog under the "..." button. In other words, the Base peak intensity/TIC plot should be moved there. The mass range can be an optional parameter. The Update chromatograms button is unnecessary, I think. Please rename "EIC tolerance" to "XIC tolerance" for consistence.

  • The spectrum plot should have a configuration button ("..."), too. For example, it should have an option to show the spectrum as centroid, profile, or auto. The centroid/profile autodetection is not always right.

  • Instead of the title "Overview of raw data files", I would place a separate title for each plot, e.g. "Chromatogram view" and "Spectrum view"

  • It is fine that the plots don't show any legend by default, but it might be useful to have a switch to show the legend in the plot properties dialog.

  • Please fix the capitalization in the table column labels (MS Level -> MS level, m/z Range -> m/z range, Scan Type -> Scan type)

  • A log message appears during project loading:

Aug 06, 2020 11:36:00 AM io.github.mzmine.project.impl.RawDataFileImpl <init>
INFO: null clr: ObjectProperty [value: 0xe69f00ff]

Code refactoring

Hey @robinschmid & @tomas-pluskal,
I hope I'm allowed to chip in my two cents about the recent PR #1 aswell. Sorry that I am late:

I do understand that you want to make the structure of the modules less complicated by removing unnecessary differentiation between the module classes, but I do think that stuff like "featdet_deisotoper" is not quite fitting, too. Either it should be listed under filter or there should be at least one more category like featproc for feature processing.
Yes, it does make sense to keep it as simple as possible, but oversimplification can also lead to confusion and that is certainly not what we want.

Best regards
Steffen

Restructure Feature resolvers

The resolver implementations and module calls shoud lbe restructured in way, we can pass the data to them in a more flexibly or pass more data in the module calls.
See the discussion in #194

GUI + ModularFeature update

Since we want to merge @roman4750 's progress now (thanks a lot for the hard work!), we should keep a list of to dos that need to be fixed. Please feel free to add and tick points on this list!

I tried to go through my "standard" procedure as far as i could and noticed a few things already:

To do:

Feature table:

  • The height of the feature table rows changes when the plot is loaded
  • set height of row and plot right away
  • remove axis in the plot maybe?
  • maybe render an image once and show the image if we run into performance issues
  • Remove unnecessary logging messages
    • [22:40:36|INFO|io.github.mzmine.taskcontrol.impl.WorkerThread]: Starting processing of task Creating a graphical column for col: Shapes in row: -1
    • [22:40:36|INFO|io.github.mzmine.taskcontrol.impl.WorkerThread]: Processing of task Creating a graphical column for col: Shapes in row: 3 done, status FINISHED
  • Rename Feature Table tabs to "-Feature list name- feature table"
  • Make "feature table" tab change data when the feature list selection changes or deactivate/hide the checkbox
  • Menu bar in Feature table looks weird
  • When opening an aligned feature list table:
  • [23:05:59|WARNING|io.github.mzmine.datamodel.features.types.fx.DataTypeCellValueFactory]: There was no DataTypeMap for the column of DataType class io.github.mzmine.datamodel.features.types.numbers.AsymmetryFactorType and raw file 5471.mzML
  • MZmine crashes when a row is selected in an aligned feature table

Main window:

  • Colour feature list names in Feature lists according to raw data file colour
  • Move aligned feature lists to their tab

Other modules


To consider:

  • Make "Feature lists" a Tree instead of a list view
  • allow grouping by:
    -- module / date created
    -- raw data file
  • Feature lists from older projects are not loaded. Is that intended?

Data model for "spectral deconvolution" and ion identity networking

Group signals from the same molecule

Data structure to link all signals (ions) that originate from the same molecule:

  • GC-EI-MS

  • adducts and other ions from CI or ESI-MS

  • RowGroup extends FeatureListRow

    • representative row
    • List

Correlation results

  • not all rows in the same group are actually correlated - more like a correlation network
  • how to store the correlations?
    • Row2RowRelationship map?
      • key: "ID1+ID2"
      • value: any relationship

Annotation results (ion identity networking: M+H, M+Na ...)

  • another layer of RowGroup
  • not all grouped rows are annotated
  • one correlation group might have multiple annotation networks

Renumbering of rows

  • needs to number all rows in the RowGroup to have a unique identifier

Other

  • Parameter to choose "ALL" or "REPRESENTATIVE" features for export

Parallel processing using mzmine3 on HPC cluster

The case for parallel processing

I am working in a Metabolomics core facility where we turn over a lot of samples. We're keen to use MZmine as we think it offers the best solutions that are on the market.

Since we regularly run into problems when we process large datasets on a desktop computer (computational time is the key issue), we are thinking of setting up a processing pipeline on an HPC cluster, probably involving docker/singularity.

Will it be possible to run mzmine3 non-interactively, and will it be possible to distribute some of steps in parallel to multiple nodes? Can we expect large gains in computational time through parallelisation?

You are probably aware of the SLAW project (https://github.com/adelabriere/SLAW) where this has been achieved to some degree. Is this my best bet or is there going to be a version of MZmine 3 that is aimed in this direction? We'd much rather use the same version of MZmine on our local computer and on the cluster.

Our ideas of a workflow are the following

  • interactively and visually inspect experiment with subset of data on desktop computer
  • determine best parameter set, which could be based on previous experiments
  • do the heavy calculations on the cluster
  • do some quality check manually

I'd be very interested to hear your thoughts, comments and suggestions.

Unspecified Error - Clear Feature List Annotations

Basic information

  • My operating system: Windows 10 (Windows Server 2016 Standard)
  • My MZmine version: 3.0

What happened

I encounter an unspecified error when I try to clear my feature list identities using the Clear Feature List Annotations module. I receive the following console output for the error. I have tried this on IDs generated manually, local compound database, and NIST MS search identification methods.

I do not encounter this error if I clear the identities when right clicking the feature list row and clearing the identities manually.

[16:16:40|INFO|io.github.mzmine.gui.mainwindow.MainMenuController]: Menu item activated for module io.github.mzmine.modules.dataprocessing.filter_clearannotations.FeatureListClearAnnotationsModule
[16:16:40|INFO|io.github.mzmine.gui.mainwindow.MainMenuController]: Setting parameters for module Clear peaklist annotations
[16:16:41|FINEST|io.github.mzmine.gui.mainwindow.MainMenuController]: Starting module Clear peaklist annotations with parameters Feature lists: bismailm_luuxx059_20210311_18009_RPpos_MS2_ML_1_210311162742.mzML chromatograms resolved filtered, Clear identities?: true, Clear comments?: true
[16:16:41|FINEST|io.github.mzmine.taskcontrol.impl.TaskQueue]: Adding task "Clearing annotation from peaklist" to the task controller queue
[16:16:41|INFO|io.github.mzmine.taskcontrol.impl.WorkerThread]: Starting processing of task Clearing annotation from peaklist
[16:16:41|INFO|io.github.mzmine.modules.dataprocessing.filter_clearannotations.FeatureListClearAnnotationsTask]: Filtering feature list rows
java.util.ConcurrentModificationException
at java.base/java.util.AbstractList$Itr.checkForComodification(AbstractList.java:399)
at java.base/java.util.AbstractList$Itr.next(AbstractList.java:368)
at io.github.mzmine.modules.dataprocessing.filter_clearannotations.FeatureListClearAnnotationsTask.run(FeatureListClearAnnotationsTask.java:92)
at io.github.mzmine.taskcontrol.impl.WorkerThread.run(WorkerThread.java:58)
[16:16:41|SEVERE|io.github.mzmine.modules.dataprocessing.filter_clearannotations.FeatureListClearAnnotationsTask]: Peak comparison row filter error([email protected]/java.util.AbstractList$Itr.checkForComodification(AbstractList.java:399))
[16:16:41|SEVERE|io.github.mzmine.taskcontrol.impl.WorkerThread]: Error of task Clearing annotation from peaklist: Unspecified error

An error message of centroid mass detector

Basic information

  • My operating system: Windows 10
  • My MZmine version: MZmine3

What happened

Hi,
I always got an error message (please see the screenshots) when I selected the 'centroid' as the mass detector in the step of mass detection. The error message shows that if I use the centroid mass detector, it will likely produce wrong results. However, after I clicked 'ok' and the results actually seems fine. So, is it ok that I just ignore this error message? do you also meet this error message? Thanks!
image
image

Project save/load (modular feature list save/load)

Lets collect some challenges and ideas regarding project saving/loading

Raw data files

  • keep raw data files in their original format
  • use relative and absolute path
  • how to handle missing files?
  • what to do after raw data methods change the scan content? (cropping etc)

MassLists

  • save them in binary files?
  • can we reuse the memory mapped files?

Feature lists (modular)

  • each DataType should know how to save and load
  • format? csv / json

how do we safely reference to the correct DataType?

  • consider ManualAnnotationType (extends ModularType) with multiple sub types, e.g., CommentType, FormulaType, ...
  • how do we know that a value belongs to a specific data type?
    Maybe each data has a unique accession number (from mzML / mzTab-m if available)

Duplicate feature list/raw data file names

Since there cannot be two files of the same name, the project save fill fail.

The best way would be to avoid duplicate names altogether. Will create a fix for it the next days.

More sophisticated feature identity

Apologies if this is already on the agenda / discussed elsewhere. Currently in MZmine2, the feature list identity is usually quite simplistic (just a text annotation, typically), but there is an existing framework to hold the chemical formula when the identity is manually edited:

Screen Shot 2020-11-12 at 9 56 57 AM

As far as I can tell, that chemical formula isn't used to calculate anything anywhere. It would be nice to use the chemical formula associated with the identity to calculate other terms, including:

  1. Calculation of the theoretical MS1 pattern of isotopologues (both unit resolution isotopologue clusters, and "fine isotope" isotopologes)
  2. Annotate the feature list row joined peak & subpeaks with the m/z error from the theoretical exact mass (absolute and ppm)

(MZmine2 already does some of this, for example, in the predict chemical formula module with the isotope match score & the m/z error)

In an optimal implementation, the ionization mode of a given feature list row should probably be stored independently from the chemical formula. It might also be interesting to allow feature identities to be assigned from structures (e.g. SMILES) & ionization mode (or allow automated calculation of an ionization mode if unspecified). This would allow for assignment of chemical formula, some level of automated validation if there was an input error, and perhaps easier interfacing with databases. But, something to consider if using structures is the complication of the isomeric (e.g. keto-enol tautomerization) & alternative protonation at different pHs (See ChEBI which has explicitly dealt with some of these issues)

Annotation types

We still have the AnnotationType for old modules but moved to separate DataTypes for all other annotations (e.g., spectral library matching, formula prediction, etc)

Those annotations implement an AnnotationType interface.

  • rename AnnotationType to FeatureIdentityType
  • all new annotations should be moved to a sepratate package called annotation

Modular data Structure

Hey guys,

this is supposed to be a discussion issue on the new modular data structure model.

Some stuff i noticed while working on it:

  1. https://github.com/SteffenHeu/mzmine3/blob/4819a7fa401d742e61b3eab75c61208ab58cd39d/src/main/java/io/github/mzmine/datamodel/data/ModularFeatureListRow.java#L178
    I think this will be misleading, because not every row necessarily contains a feature in every raw data file in an aligned feature list.
    Additionally, I think to access all raw data files in a ModularFeatureListRow via the map returned by this https://github.com/SteffenHeu/mzmine3/blob/4819a7fa401d742e61b3eab75c61208ab58cd39d/src/main/java/io/github/mzmine/datamodel/data/ModularFeatureListRow.java#L148 is too complicated.
    Thus, I would say it could be a good idea to add a RawDataFilesType which stores the raw data files in a list. Suggestion: https://github.com/SteffenHeu/mzmine3/blob/47187d2d8bb5b060118f136d2486bbddd22e7878/src/main/java/io/github/mzmine/datamodel/data/types/RawFilesType.java

  2. Currently there is no DataType for the "best feature". Suggestion: https://github.com/SteffenHeu/mzmine3/blob/47187d2d8bb5b060118f136d2486bbddd22e7878/src/main/java/io/github/mzmine/datamodel/data/types/BestFeatureType.java

(There is probably more to come)

I will not be able to add everything discussed here myself, this is just meant as a discussion thread, so everyone who joins the work on the data model can leave some thoughts! :)

Tempspace C:\Users\me\AppData\Local\Temp filled up but undetected

Basic information

  • My operating system: Win7 64bit
  • My MZmine version: 3.0

Hi,
when running the Prague_mzmine_batch.xml file it happened that while processing thevinputs my $TMPDIR? storage got filled up. Only 108kB is left.

When going through the logfile I see

...
[16:22:15|FINEST|io.github.mzmine.util.MemoryMapStorage]: Created a temporary file C:\Users\me\AppData\Local\Temp\mzmine11707586684191191635.tmp
[16:22:15|FINEST|io.github.mzmine.util.MemoryMapStorage]: Created a temporary file C:\Users\me\AppData\Local\Temp\mzmine11990726100647907719.tmp
[16:22:15|FINEST|io.github.mzmine.util.MemoryMapStorage]: Created a temporary file C:\Users\me\AppData\Local\Temp\mzmine18007678918196254741.tmp
...
[16:23:32|INFO|io.github.mzmine.modules.batchmode.BatchTask]: Starting step # 6
[16:23:32|FINEST|io.github.mzmine.taskcontrol.impl.TaskQueue]: Adding task "Join aligner, Aligned feature list (9 feature lists)" to the task controller queue
[16:23:32|INFO|io.github.mzmine.taskcontrol.impl.WorkerThread]: Starting processing of task Join aligner, Aligned feature list (9 feature lists)
[16:23:32|INFO|io.github.mzmine.modules.dataprocessing.align_join.JoinAlignerTask]: Running join aligner
[16:24:21|INFO|io.github.mzmine.modules.dataprocessing.align_join.JoinAlignerTask]: Finished join aligner
[16:24:21|INFO|io.github.mzmine.taskcontrol.impl.WorkerThread]: Processing of task Join aligner, Aligned feature list (9 feature lists) done, status FINISHED
[16:24:22|INFO|io.github.mzmine.modules.batchmode.BatchTask]: Starting step # 7
[16:24:22|FINEST|io.github.mzmine.taskcontrol.impl.TaskQueue]: Adding task "Filtering feature list rows" to the task controller queue
[16:24:22|INFO|io.github.mzmine.taskcontrol.impl.WorkerThread]: Starting processing of task Filtering feature list rows
[16:24:22|INFO|io.github.mzmine.modules.dataprocessing.filter_rowsfilter.RowsFilterTask]: Filtering feature list rows
[16:24:23|INFO|io.github.mzmine.modules.dataprocessing.filter_rowsfilter.RowsFilterTask]: Finished feature list rows filter
[16:24:23|INFO|io.github.mzmine.taskcontrol.impl.WorkerThread]: Processing of task Filtering feature list rows done, status FINISHED
[16:24:24|INFO|io.github.mzmine.modules.batchmode.BatchTask]: Starting step # 8
[16:24:24|FINEST|io.github.mzmine.taskcontrol.impl.TaskQueue]: Adding task "Main task: Gap filling Aligned feature list rt_2iso_2f" to the task controller queue
[16:24:24|INFO|io.github.mzmine.taskcontrol.impl.WorkerThread]: Starting processing of task Main task: Gap filling Aligned feature list rt_2iso_2f
[16:24:24|INFO|io.github.mzmine.modules.dataprocessing.gapfill_peakfinder.multithreaded.MultiThreadPeakFinderMainTask]: Running multithreaded gap filler on Aligned feature list rt_2iso_2f
[16:24:25|FINEST|io.github.mzmine.taskcontrol.impl.TaskQueue]: Adding task "Sub task 0: Gap filling on raw files 1-9 of pkl:Aligned feature list rt_2iso_2f" to the task controller queue
[16:49:39|FINEST|io.github.mzmine.taskcontrol.impl.TaskQueue]: Adding task "Calculating base peak chromatogram(s) of m/z 89.0593 in 1 file(s)." to the task controller queue
[16:49:39|FINEST|io.github.mzmine.taskcontrol.impl.TaskQueue]: Adding task "Calculating scan data sets for 1 raw data file(s)." to the task controller queue

I do not know how to detect the situation. Seems mzMine did not received a write orror from Windows7. It is using ~50% of the single CPU core I assigned to the VMWare instance.

Here is the full log: mzmine.log

Question about the exported molecular formulas

Basic information

  • My operating system: Windows 10
  • My MZmine version: MZmine 3

What happened

Dear MZmine developers,

This is Kai, I'm now using MZmine 3 to analyze the raw data file from Orbitrap MS (Q-Exactive, Thermo Scientific), especially for the formula prediction. I would like to do one modification about the exported molecular formulas. As far as I know, in the default setting, the exported formulas are the formulas with the lowest mass tolerance between the detected m/z and the theoretic m/z. So, is it possible to export formulas with the highest isotope pattern score instead of the lowest mass tolerance and how to do it? Thanks a lot!

FeatureTableFX updates all cells after sorting

Hey everyone,

this is related to the new data model in PR #8
The TreeTableView or more precisely the CellFactory is updating all cells everytime there is a sorting event.
How can we "double buffer" the graphical cells?
Do we need to keep track in the data model then?

One MemoryMapStorage per module call

We still need to create a way to safely control the creation of MemoryMapStorage
The idea is to bundle all RawDataFiles, MassLists, and FeatureLists that were created by the same module call to limit the number of files.

In Windows 10 I had the issue that we could only create 8 temp files with 1GB each on ~8 GB free disk space.

TODO

  • Maybe keep track of all MemoryMapStorage instances in a List / Map to delete them if not needed anymore
  • Have a way to create a single memory map for a module call

[bug][GUI] RawDataFile sort and rename

After sorting and renaming - the raw data file cells change names for mutliple files. After selecting the cells the correct name is displayed.

  • Currently, sorting is not applied to the underlying list in project

a problem of the function of 'help' in MZmine3

Basic information

  • My operating system: Windows10
  • My MZmine version: MZmine3

What happened

Hi,
When I tried to read the description of each parameter by clicking the button of 'help', it always shows 'loading help' without any text (please see the screenshot and the attached code below).
image
'Caused by: java.lang.ClassNotFoundException: io.github.mzmine.gui.impl.helpwindow.HelpWindowController
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:928)
... 16 more'

Raw data file rename may cause problems

In case raw data files are renamed during the import by the common prefix removal, the generation of a load/save batch queue will probably fail. Renaming files after the import is fine due to the RawDataFileRenameModule introduced in #367.

Some Feature List method modules registered incorrectly.

Basic information

  • My operating system: Ubuntu 20.04
  • My MZmine version: most recent 3-SNAPSHOT from master 7bb9446

What happened

  • Menu -> Feature list methods -> Import feature list [csv, mzTab, mzTab-m]
  • Menu -> Feature list methods -> Export feature list [mzTab, mzTab-m]
  • All these menu entries throw an error that the corresponding module can not be found.
  • Reason: MainMenu.fxml has wrong package names for the modules.
  • Solution: Update the package names to the correct, refactored ones.

Feature table crashes java fx application thread

This exception:

https://pastebin.com/eNpitPeu

Happened at some point when scrolling through the feature table.
I have investigated it a bit and i think i narrowed it down to the bufferedColChart in the ModularFeature and ModularFeatureListRow.
I can only assume how it would cause the issue. However, i came up with these two solutions.

  1. removing the bufferedColChart,xecute as usual https://github.com/SteffenHeu/mzmine3/tree/nobufferedcharts
  2. removing the bufferedColChart, use Platform.runLater to execute the graphical node task. See branch https://github.com/SteffenHeu/mzmine3/tree/checkfx

Both worked fine for me while testing it, altough i cannot guarantee it was the issue ultimately. A third solution would be to directly create the chart pane without any runnable in the getCellNode method of the data type.

Option 1 loads charts the slowest but causes the least lag in the feature table. Option 2 loads the charts faster but caused a little lag in the table and option 3 loaded the charts the fastest, but caused a little more lag again.

What do you guys think? Any ideas why storing the node would cause these issues? My guess would be some kind of concurrent modification, but it's hard to guess how that would happen. Note: i added assert Platform.isFxApplicationThread() to all the charts at some point and did not get any errors, so yeah... One thing i noticed was, that if the chart was buffered, it would be returned as the node directly, but if it was created, it would be wrapped in an additional StackPane.

IMS data -> frame as scan

Just a reminder.
We should use the IMS Frame (average spectrum) as the scan to allow regular LC-MS data processing pipeline on LC-ion mobility-MS data.

MobilityScans, so the mobility resolved data will be stored in a different data type

CSV export

Proposed changes:

  • change to CSV library usage: OpenCSV or apache commons?
  • add another header with accession IDs or harmonized names for DataTypes (mzML / mzTab-m IDs)
  • change the joining of ListDataTypes to the selected separator
  • use the full raw data file name or add the file path as a DataType (for removed name prefixes)
  • change NoTextType to meaningful name (clear difference to NullColumnType)

Problem with mass detection

Basic information

  • My operating system: Win10
  • My MZmine version: 3

What happened

After loading files mass detection reaches status: FINISHED on the status bar, but this is instantaneous and no mass list is created. Have tested Agilent .d files converted with MSConvert to XML and mzXML files downloaded from MASSIve.

image

Data is centroid and the same files process successfully in mzMine 2.53
We have tried changing noise level, MS1 v. MS2 level with no success. There are no other filters active.

Best,
Justin

  • Please describe what happened and how it differs from what you expected to happen.
  • Please include all parameter values for the MZmine modules you used.
  • Please upload screenshots of any errors and your log/mzmine.log file.
  • Please upload an MZmine project file that demonstrates the problem you are reporting.

[Feature] remove integration from feature list

Hi,

I do not know if that's something meaningful to implement, but I miss a "remove integration option".
In some cases, it might be interesting to re-integrate peaks after gap-filling is done, but I could not manage to do it in MZmine directly (re-integrating does not overwrite integrated area). You need it to be "red" to do so.
Getting the whole peak list "red" using peak filters does not seem possible to me, or I did not find the right combination allowing that.

So, in the meantime here is what I did as a dirty workaround:

# export feature list as xml (test.mpl)
# Then, in R

library(xml2)

xmlpath <- "~/Downloads/test.mpl"
exportpath <- "~/Downloads/done.mpl"
myxpath <- "/peaklist/row/peak[@status='ESTIMATED']"

page <- xml2::read_xml(xmlpath)

page |>
  xml2::xml_find_all(xpath = myxpath) |>
  xml2::xml_remove() |>
  xml2::xml_new_root(.value = "peaklist")

xml2::write_xml(x = page, file = exportpath)

# re-import done.mpl in MZmine

Again, no idea if worth implementing, just dropping it here in case.

a problem after merging a new module for sorting predicted formulas

Basic information

  • My operating system: Windows10
  • My MZmine version: MZmine3

What happened

Dear MZmine developer,

This is Kai, again... First, I would like to really thank the MZmine developers for helping me solve several problems. Now I have a new problem. Today I merged a new module for sorting predicted formulas (which was contributed by Robin) in my MZmine3 repository and then cloned this modified MZmine3 to my Eclipse for running. However, when I did the step of formula prediction (by clicking Feature list method/identification/formula prediction) ,it looked that nothing happened and there was no task progress bar running on the screen and finally no predicted formulas were observed. It means that the function of formula prediction did not work. Could you please tell me how to figure it out? I have attached the java codes in the text file.
20191217_codes of formula prediction.txt

No module list in Batch Module window

Basic information

  • My operating system:
    Windows 10 Home
    Version 1903
    Build 18362.720
  • My MZmine version:
    3.0 (2020/03/14)

What happened

  1. Run a freshly-compiled version of MZmine3 (openjdk version "13.0.2" 2020-01-14)
  2. Opened "Batch Mode" window from "Project" menu
  3. The list of loadable modules is empty
    Batch_mode

Compilation Output:
.\gradlew.bat

Configure project :
OS detected as Windows

Task :compileJava
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
BUILD SUCCESSFUL in 1m 1s
8 actionable tasks: 8 executed
PS


Program Output:

openjdk version "13.0.2" 2020-01-14
OpenJDK Runtime Environment (build 13.0.2+8)
OpenJDK 64-Bit Server VM (build 13.0.2+8, mixed mode)
[6:26:13|INFO|io.github.mzmine.main.MZmineCore]: Starting MZmine 3.0
[6:26:13|FINE|io.github.mzmine.main.MZmineCore]: Loading core classes..
[6:26:13|FINE|io.github.mzmine.main.TmpFileCleanup]: Checking for old temporary files...
[6:26:14|FINE|io.github.mzmine.main.MZmineCore]: Initializing core classes..
[6:26:14|FINEST|io.github.mzmine.taskcontrol.impl.TaskControllerImpl]: Starting task controller thread
[6:26:14|INFO|io.github.mzmine.main.MZmineCore]: Starting MZmine GUI
[6:26:14|FINEST|io.github.mzmine.gui.MZmineGUI]: Initializing MZmine main window
[6:26:14|FINEST|io.github.mzmine.gui.DesktopSetup]: Configuring desktop settings
[6:26:15|FINEST|io.github.mzmine.util.InetUtils]: Retrieving data from URL http://mzmine.github.io/version.txt
[6:26:15|FINEST|io.github.mzmine.util.InetUtils]: Retrieved 5 characters from http://mzmine.github.io/version.txt
[6:26:15|INFO|io.github.mzmine.gui.NewVersionCheck]: An updated version is available: MZmine 2.53
[6:26:22|INFO|io.github.mzmine.gui.mainwindow.MainMenuController]: Menu item activated for module io.github.mzmine.modules.batchmode.BatchModeModule
[6:26:22|FINEST|io.github.mzmine.main.MZmineCore]: Creating an instance of the module io.github.mzmine.modules.batchmode.BatchModeModule
[6:26:22|INFO|io.github.mzmine.gui.mainwindow.MainMenuController]: Setting parameters for module Batch mode
[6:29:17|INFO|io.github.mzmine.gui.mainwindow.MainMenuController]: Menu item activated for module io.github.mzmine.modules.batchmode.BatchModeModule
[6:29:17|INFO|io.github.mzmine.gui.mainwindow.MainMenuController]: Setting parameters for module Batch mode


Notes:
The only change applied to downloaded tree, to bypass default java installation:
in gradlew.bat, lines 36 and 53:
set JAVA_HOME=""C:\Program Files\jdk-13.0.2""


mzmine.log file:
mzmine.log

Eclipse Initial Run - ClassNotFoundException

  • My operating system: Windows 10
  • My JDK: jdk-13.0.1
  • My JRE: jre-1.8.0_231

I am attempting to build and run MZmine 3 (current git) using Eclipse for the first time. I followed the instructions provided in the documentation section and followed the suggestions given in issue #765 and #767. Unfortunately, I am encountering an ClassNotFoundException for io.github.mzmine.main.MZmineCore not mentioned in either of these previous issues when I attempt to run the MZmineCore main class. Below are some screenshots of my parameters.

eclipse_mzmine_classnotfound_1
eclipse_mzmine_classnotfound_2
eclipse_mzmine_classnotfound_3

To the best of my knowledge, I am following the instructions and guidance provided in the documentation and issue threads. As a precaution, I reinstalled my eclipse, JDK, and rebuilt the source, to no avail. As this issue was not mentioned in the previous threads, I assume I operating Eclipse incorrectly. When attempting to Google the problem the only relevant issues I found suggested my build-path may be incorrectly specified, however, the source successful builds with Gradle.

Would anyone be able to suggest how to overcome this issue? I am eager to develop a new module for MZmine but this issue stops me in my tracks.

GUI Design ListView vs TreeView

Hey Tomas,
I was wondering why we are using ListView instead of TreeView for the RawDataTree in the main window. I talked to @robinschmid today about the possibility to use TableTreeView. That would make it more complicated but would also enable nice possibilities to observe a raw file.
What do you think?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.