sirius-ms / sirius

SIRIUS is a software for discovering a landscape of de-novo identification of metabolites using tandem mass spectrometry. This repository contains the code of the SIRIUS Software (GUI and CLI)
GNU Affero General Public License v3.0
84 stars 20 forks source link

Windows CLI troubles #33

Closed rickhelmus closed 3 years ago

rickhelmus commented 3 years ago

Hi guys,

As of SIRIUS 4.7 I get all kinds of exceptions when trying to run on Windows, both on my laptop and on AppVeyor

C:\Users\rick\Documents\Rproj\sirius>sirius -i C:\Users\rick\Documents\Rproj\sirius-demo-data\ms\Bicuculline.ms -o C:\Users\rick\Documents\Rproj\sirius-demo-data\out formula
INFO    08:56:54 - Sirius Workspace Successfull initialized at: C:\Users\rick\.sirius-4.7
INFO    08:56:54 - You run SIRIUS 4.7.3
INFO    08:56:54 - Sirius was compiled with the following ILP solvers: GLPK-v1.7.0 (included), Gurobi-v9.1.1, CPLEX-v12.7.1, COIN-OR-v1.17.3
INFO    08:56:54 - Treebuilder priorities loaded from 'sirius.properties' are: [GUROBI, CPLEX, CLP, GLPK]
INFO    08:56:54 - CPU check done. 8 cores that handle 16 threads were found.
INFO    08:56:54 - Bug reporter initialized.
INFO    08:56:54 - Web API initialized.
INFO    08:56:55 - Running with following arguments: [-i, C:\Users\rick\Documents\Rproj\sirius-demo-data\ms\Bicuculline.ms, -o, C:\Users\rick\Documents\Rproj\sirius-demo-data\out, formula]
INFO    08:56:55 - Job manager successful initialized with 8 CPU thread(s) and 3 IO thread(s).
FINE    08:56:55 - <0>[InputExpanderJJob] Running post processing
FINE    08:56:55 - <0>[InputExpanderJJob] Running cleanup
INFO    08:56:55 - <1>[InputExpanderJJob] Expanding Input Files: 'C:\Users\rick\Documents\Rproj\sirius-demo-data\ms\Bicuculline.ms'...
INFO    08:56:55 - <1>[InputExpanderJJob] ...Input Files successfully expanded!
FINE    08:56:55 - <1>[InputExpanderJJob] Running post processing
FINE    08:56:55 - <1>[InputExpanderJJob] Running cleanup
WARNING 08:56:56 - Could not load GrbSolver! Sirius was compiled with the following ILP solvers: GLPK-v1.7.0 (included), Gurobi-v9.1.1, CPLEX-v12.7.1, COIN-OR-v1.17.3: gurobi/GRBException
WARNING 08:56:56 - Could not load GrbSolver! Sirius was compiled with the following ILP solvers: GLPK-v1.7.0 (included), Gurobi-v9.1.1, CPLEX-v12.7.1, COIN-OR-v1.17.3: gurobi/GRBException
WARNING 08:56:56 - Could not load GrbSolver! Sirius was compiled with the following ILP solvers: GLPK-v1.7.0 (included), Gurobi-v9.1.1, CPLEX-v12.7.1, COIN-OR-v1.17.3: gurobi/GRBException
WARNING 08:56:56 - Could not load CPLEXSolver! Sirius was compiled with the following ILP solvers: GLPK-v1.7.0 (included), Gurobi-v9.1.1, CPLEX-v12.7.1, COIN-OR-v1.17.3: ilog/concert/IloNumVar
WARNING 08:56:56 - Could not load CPLEXSolver! Sirius was compiled with the following ILP solvers: GLPK-v1.7.0 (included), Gurobi-v9.1.1, CPLEX-v12.7.1, COIN-OR-v1.17.3: ilog/concert/IloNumVar
WARNING 08:56:56 - Could not load CPLEXSolver! Sirius was compiled with the following ILP solvers: GLPK-v1.7.0 (included), Gurobi-v9.1.1, CPLEX-v12.7.1, COIN-OR-v1.17.3: ilog/concert/IloNumVar
WARNING 08:56:56 - Could not load Solver 'CLP': java.lang.UnsatisfiedLinkError: C:\Users\rick\Documents\Rproj\sirius\CLPModelWrapper_JNI.dll: Kan opgegeven procedure niet vinden
WARNING 08:56:56 - Could not load Solver 'CLP': java.lang.NoClassDefFoundError: Could not initialize class de.unijena.bioinf.FragmentationTreeConstruction.computation.tree.ilp.CLPModel_JNI
WARNING 08:56:56 - Could not load Solver 'CLP': java.lang.NoClassDefFoundError: Could not initialize class de.unijena.bioinf.FragmentationTreeConstruction.computation.tree.ilp.CLPModel_JNI
WARNING 08:56:56 - Could not find and load de.unijena.bioinf.FragmentationTreeConstruction.computation.tree.ilp.GLPKSolver! Sirius was compiled with the following ILP solvers: GLPK-v1.7.0 (included), Gurobi-v9.1.1, CPLEX-v12.7.1, COIN-OR-v1.17.3: de.unijena.bioinf.FragmentationTreeConstruction.computation.tree.ilp.GLPKSolver
WARNING 08:56:56 - Could not find and load de.unijena.bioinf.FragmentationTreeConstruction.computation.tree.ilp.GLPKSolver! Sirius was compiled with the following ILP solvers: GLPK-v1.7.0 (included), Gurobi-v9.1.1, CPLEX-v12.7.1, COIN-OR-v1.17.3: de.unijena.bioinf.FragmentationTreeConstruction.computation.tree.ilp.GLPKSolver
WARNING 08:56:56 - Could not find and load de.unijena.bioinf.FragmentationTreeConstruction.computation.tree.ilp.GLPKSolver! Sirius was compiled with the following ILP solvers: GLPK-v1.7.0 (included), Gurobi-v9.1.1, CPLEX-v12.7.1, COIN-OR-v1.17.3: de.unijena.bioinf.FragmentationTreeConstruction.computation.tree.ilp.GLPKSolver
SEVERE  08:56:56 - Your system does not ship with any instantiatable ILP solver. Please install either CLP,  Gurobi or CPLEX to use SIRIUS.
SEVERE  08:56:56 - Your system does not ship with any instantiatable ILP solver. Please install either CLP,  Gurobi or CPLEX to use SIRIUS.
SEVERE  08:56:56 - Your system does not ship with any instantiatable ILP solver. Please install either CLP,  Gurobi or CPLEX to use SIRIUS.
SEVERE  08:56:56 - <28>[RecalibrationJob] Failed!
java.lang.NullPointerException: Cannot invoke "de.unijena.bioinf.FragmentationTreeConstruction.computation.tree.TreeBuilder.computeTree()" because "finalBuilder" is null
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance.recalibrate(FasterTreeComputationInstance.java:557)
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance$RecalibrationJob.compute(FasterTreeComputationInstance.java:532)
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance$RecalibrationJob.compute(FasterTreeComputationInstance.java:518)
        at de.unijena.bioinf.jjobs.BasicJJob.call(BasicJJob.java:120)
        at de.unijena.bioinf.jjobs.BasicMasterJJob$1.compute(BasicMasterJJob.java:87)
        at java.base/java.util.concurrent.RecursiveTask.exec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

SEVERE  08:56:56 - <27>[RecalibrationJob] Failed!
java.lang.NullPointerException: Cannot invoke "de.unijena.bioinf.FragmentationTreeConstruction.computation.tree.TreeBuilder.computeTree()" because "finalBuilder" is null
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance.recalibrate(FasterTreeComputationInstance.java:557)
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance$RecalibrationJob.compute(FasterTreeComputationInstance.java:532)
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance$RecalibrationJob.compute(FasterTreeComputationInstance.java:518)
        at de.unijena.bioinf.jjobs.BasicJJob.call(BasicJJob.java:120)
        at de.unijena.bioinf.jjobs.BasicMasterJJob$1.compute(BasicMasterJJob.java:87)
        at java.base/java.util.concurrent.RecursiveTask.exec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

SEVERE  08:56:56 - <26>[RecalibrationJob] Failed!
java.lang.NullPointerException: Cannot invoke "de.unijena.bioinf.FragmentationTreeConstruction.computation.tree.TreeBuilder.computeTree()" because "finalBuilder" is null
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance.recalibrate(FasterTreeComputationInstance.java:557)
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance$RecalibrationJob.compute(FasterTreeComputationInstance.java:532)
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance$RecalibrationJob.compute(FasterTreeComputationInstance.java:518)
        at de.unijena.bioinf.jjobs.BasicJJob.call(BasicJJob.java:120)
        at de.unijena.bioinf.jjobs.BasicMasterJJob$1.compute(BasicMasterJJob.java:87)
        at java.base/java.util.concurrent.RecursiveTask.exec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

SEVERE  08:56:56 - <17>[FasterTreeComputationInstance] Failed!
java.lang.NullPointerException: Cannot invoke "de.unijena.bioinf.FragmentationTreeConstruction.computation.tree.TreeBuilder.computeTree()" because "finalBuilder" is null
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance.recalibrate(FasterTreeComputationInstance.java:557)
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance$RecalibrationJob.compute(FasterTreeComputationInstance.java:532)
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance$RecalibrationJob.compute(FasterTreeComputationInstance.java:518)
        at de.unijena.bioinf.jjobs.BasicJJob.call(BasicJJob.java:120)
        at de.unijena.bioinf.jjobs.BasicMasterJJob$1.compute(BasicMasterJJob.java:87)
        at java.base/java.util.concurrent.RecursiveTask.exec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

SEVERE  08:56:56 - <18>[FasterTreeComputationInstance] Failed!
java.lang.NullPointerException: Cannot invoke "de.unijena.bioinf.FragmentationTreeConstruction.computation.tree.TreeBuilder.computeTree()" because "finalBuilder" is null
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance.recalibrate(FasterTreeComputationInstance.java:557)
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance$RecalibrationJob.compute(FasterTreeComputationInstance.java:532)
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance$RecalibrationJob.compute(FasterTreeComputationInstance.java:518)
        at de.unijena.bioinf.jjobs.BasicJJob.call(BasicJJob.java:120)
        at de.unijena.bioinf.jjobs.BasicMasterJJob$1.compute(BasicMasterJJob.java:87)
        at java.base/java.util.concurrent.RecursiveTask.exec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

SEVERE  08:56:56 - <19>[FasterTreeComputationInstance] Failed!
java.lang.NullPointerException: Cannot invoke "de.unijena.bioinf.FragmentationTreeConstruction.computation.tree.TreeBuilder.computeTree()" because "finalBuilder" is null
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance.recalibrate(FasterTreeComputationInstance.java:557)
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance$RecalibrationJob.compute(FasterTreeComputationInstance.java:532)
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance$RecalibrationJob.compute(FasterTreeComputationInstance.java:518)
        at de.unijena.bioinf.jjobs.BasicJJob.call(BasicJJob.java:120)
        at de.unijena.bioinf.jjobs.BasicMasterJJob$1.compute(BasicMasterJJob.java:87)
        at java.base/java.util.concurrent.RecursiveTask.exec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

SEVERE  08:56:56 - <16>[SiriusIdentificationJob] Failed!
java.lang.NullPointerException: Cannot invoke "de.unijena.bioinf.FragmentationTreeConstruction.computation.tree.TreeBuilder.computeTree()" because "finalBuilder" is null
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance.recalibrate(FasterTreeComputationInstance.java:557)
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance$RecalibrationJob.compute(FasterTreeComputationInstance.java:532)
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance$RecalibrationJob.compute(FasterTreeComputationInstance.java:518)
        at de.unijena.bioinf.jjobs.BasicJJob.call(BasicJJob.java:120)
        at de.unijena.bioinf.jjobs.BasicMasterJJob$1.compute(BasicMasterJJob.java:87)
        at java.base/java.util.concurrent.RecursiveTask.exec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

SEVERE  08:56:56 - <14>[SiriusIdentificationJob] Failed!
java.lang.NullPointerException: Cannot invoke "de.unijena.bioinf.FragmentationTreeConstruction.computation.tree.TreeBuilder.computeTree()" because "finalBuilder" is null
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance.recalibrate(FasterTreeComputationInstance.java:557)
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance$RecalibrationJob.compute(FasterTreeComputationInstance.java:532)
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance$RecalibrationJob.compute(FasterTreeComputationInstance.java:518)
        at de.unijena.bioinf.jjobs.BasicJJob.call(BasicJJob.java:120)
        at de.unijena.bioinf.jjobs.BasicMasterJJob$1.compute(BasicMasterJJob.java:87)
        at java.base/java.util.concurrent.RecursiveTask.exec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

SEVERE  08:56:56 - <15>[SiriusIdentificationJob] Failed!
java.lang.NullPointerException: Cannot invoke "de.unijena.bioinf.FragmentationTreeConstruction.computation.tree.TreeBuilder.computeTree()" because "finalBuilder" is null
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance.recalibrate(FasterTreeComputationInstance.java:557)
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance$RecalibrationJob.compute(FasterTreeComputationInstance.java:532)
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance$RecalibrationJob.compute(FasterTreeComputationInstance.java:518)
        at de.unijena.bioinf.jjobs.BasicJJob.call(BasicJJob.java:120)
        at de.unijena.bioinf.jjobs.BasicMasterJJob$1.compute(BasicMasterJJob.java:87)
        at java.base/java.util.concurrent.RecursiveTask.exec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

SEVERE  08:56:56 - <13>[SiriusSubToolJob | 1_Bicuculline_Bicuculline@368m/z] Failed!
java.lang.NullPointerException: Cannot invoke "de.unijena.bioinf.FragmentationTreeConstruction.computation.tree.TreeBuilder.computeTree()" because "finalBuilder" is null
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance.recalibrate(FasterTreeComputationInstance.java:557)
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance$RecalibrationJob.compute(FasterTreeComputationInstance.java:532)
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance$RecalibrationJob.compute(FasterTreeComputationInstance.java:518)
        at de.unijena.bioinf.jjobs.BasicJJob.call(BasicJJob.java:120)
        at de.unijena.bioinf.jjobs.BasicMasterJJob$1.compute(BasicMasterJJob.java:87)
        at java.base/java.util.concurrent.RecursiveTask.exec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

SEVERE  08:56:56 - <10>[SiriusSubToolJob | 0_Bicuculline_Bicuculline@368m/z] Failed!
java.lang.NullPointerException: Cannot invoke "de.unijena.bioinf.FragmentationTreeConstruction.computation.tree.TreeBuilder.computeTree()" because "finalBuilder" is null
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance.recalibrate(FasterTreeComputationInstance.java:557)
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance$RecalibrationJob.compute(FasterTreeComputationInstance.java:532)
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance$RecalibrationJob.compute(FasterTreeComputationInstance.java:518)
        at de.unijena.bioinf.jjobs.BasicJJob.call(BasicJJob.java:120)
        at de.unijena.bioinf.jjobs.BasicMasterJJob$1.compute(BasicMasterJJob.java:87)
        at java.base/java.util.concurrent.RecursiveTask.exec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

SEVERE  08:56:56 - <7>[SiriusSubToolJob | 2_Bicuculline_Bicuculline@368m/z] Failed!
java.lang.NullPointerException: Cannot invoke "de.unijena.bioinf.FragmentationTreeConstruction.computation.tree.TreeBuilder.computeTree()" because "finalBuilder" is null
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance.recalibrate(FasterTreeComputationInstance.java:557)
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance$RecalibrationJob.compute(FasterTreeComputationInstance.java:532)
        at de.unijena.bioinf.FragmentationTreeConstruction.computation.FasterTreeComputationInstance$RecalibrationJob.compute(FasterTreeComputationInstance.java:518)
        at de.unijena.bioinf.jjobs.BasicJJob.call(BasicJJob.java:120)
        at de.unijena.bioinf.jjobs.BasicMasterJJob$1.compute(BasicMasterJJob.java:87)
        at java.base/java.util.concurrent.RecursiveTask.exec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

SEVERE  08:56:56 - <7>[SiriusSubToolJob | 2_Bicuculline_Bicuculline@368m/z] ToolChain Job failed due to: java.lang.NullPointerException: Cannot invoke "de.unijena.bioinf.FragmentationTreeConstruction.computation.tree.TreeBuilder.computeTree()" because "finalBuilder" is null
SEVERE  08:56:56 - <10>[SiriusSubToolJob | 0_Bicuculline_Bicuculline@368m/z] ToolChain Job failed due to: java.lang.NullPointerException: Cannot invoke "de.unijena.bioinf.FragmentationTreeConstruction.computation.tree.TreeBuilder.computeTree()" because "finalBuilder" is null
SEVERE  08:56:56 - <13>[SiriusSubToolJob | 1_Bicuculline_Bicuculline@368m/z] ToolChain Job failed due to: java.lang.NullPointerException: Cannot invoke "de.unijena.bioinf.FragmentationTreeConstruction.computation.tree.TreeBuilder.computeTree()" because "finalBuilder" is null
INFO    08:56:56 - Workflow has been finished!
INFO    08:56:56 - Executing Postprocessing...
INFO    08:56:56 - Writing summary files...
INFO    08:56:56 - Project-Space summaries successfully written!
INFO    08:56:56 - CLI shut down hook: SIRIUS is cleaning up threads and shuts down...

Please cite the following publications when using our tool:

When using the SIRIUS Software please cite the following paper:

Kai Dührkop, Markus Fleischauer, Marcus Ludwig, Alexander A. Aksenov, Alexey V. Melnik, Marvin Meusel, Pieter C. Dorrestein, Juho Rousu and Sebastian Böcker
SIRIUS4: a rapid tool for turning tandem mass spectra into metabolite structure information
Nat Methods, 16, 2019.  https://doi.org/10.1038/s41592-019-0344-8

Depending on the tools you have used please also cite:

Kai Dührkop, Louis-Félix Nothias, Markus Fleischauer, Raphael Reher, Marcus Ludwig, Martin A. Hoffmann, Daniel Petras, William H. Gerwick, Juho Rousu, Pieter C. Dorrestein and Sebastian Böcker
Systematic classification of unknown metabolites using high-resolution fragmentation mass spectra
Nature Biotechnology, 2020.  https://doi.org/10.1038/s41587-020-0740-8
(Cite if you are using: CANOPUS)

Yannick Djoumbou Feunang, Roman Eisner, Craig Knox, Leonid Chepelev, Janna Hastings, Gareth Owen, Eoin Fahy, Christoph Steinbeck, Shankar Subramanian, Evan Bolton, Russell Greiner, David S. Wishart
ClassyFire: automated chemical classification with a comprehensive, computable taxonomy
J Cheminf, 8, 2016.  https://doi.org/10.1186/s13321-016-0174-y
(Cite if you are using: CANOPUS)

Kai Dührkop, Huibin Shen, Marvin Meusel, Juho Rousu and Sebastian Böcker
Searching molecular structure databases with tandem mass spectra using CSI:FingerID
Proc Natl Acad Sci U S A, 112, 2015.  https://doi.org/10.1073/pnas.1509788112
(Cite if you are using: CSI:FingerID)

Sebastian Böcker and Kai Dührkop
Fragmentation trees reloaded
J Cheminform, 8, 2016.  https://doi.org/10.1186/s13321-016-0116-8
(Cite if you are using: Fragmentation Trees)

Sebastian Böcker, Matthias Letzel, Zsuzsanna Lipták and Anton Pervukhin
SIRIUS: Decomposing isotope patterns for metabolite identification
Bioinformatics, 25, 2009.  https://doi.org/10.1093/bioinformatics/btn603
(Cite if you are using: Isotope Pattern analysis)

Marcus Ludwig, Louis-Félix Nothias, Kai Dührkop, Irina Koester, Markus Fleischauer, Martin A. Hoffmann, Daniel Petras, Fernando Vargas, Mustafa Morsy, Lihini Aluwihare, Pieter C. Dorrestein, Sebastian Böcker
ZODIAC: database-independent molecular formula annotation using Gibbs sampling reveals unknown small molecules
bioRxiv, 2019.  https://doi.org/10.1101/842740
(Cite if you are using: ZODIAC)

Similar errors appear when running the .bat file. Any ideas?

Thanks, Rick

mfleisch commented 3 years ago

Hey Rick, we have already seen this problem before but were not able to reproduce it so far. Can you give a bit more details how we can reproduce it?

I am wondering if some virtual windows environments do not add the location of the executable to the PATH, as it is usually the case on windows.

rickhelmus commented 3 years ago

Hi Markus,

This is just with a fresh unzip or installation with v4.7.3. The SIRIUS binaries were not in PATH (they never were), but it doesn't make a difference if I change this.

I also uninstalled all the JDKs I had (11 and 15), but no changes either.

Interestingly I cannot reproduce it with a fresh Windows VM from here, which I would expect since the AppVeyor image is fairly clean.

rickhelmus commented 3 years ago

And to add to that: I just tested 4.6.1 and it works OK, while 4.7.0 doesn't. I am using the demo data. No differences between GUI/headless versions.

f-kretschmer commented 3 years ago

Hi Rick,

Thanks for checking with the old version. In 4.6.1 a different ILP solver (GLPK) was also included; now CLP is the only solver shipped and seems to produce the issue on some windows systems. Could you run the 4.6.1 version again, but this time changing the solver priorities to only use CLP? The priorities can be set either in the GUI (Settings->Allowed solvers) or in the sirius.properties file (C:\Users\<user>\sirius-4.6\sirius.properties: change the entry de.unijena.bioinf.sirius.treebuilder.solvers to clp).

This could clear up whether the issue is with the current solver libraries only or the solver libraries in general.

Thanks in advance!

rickhelmus commented 3 years ago

Hi Fleming,

Thanks for your reply.

No issues with CLP though.

C:\Users\rick>c:\Users\rick\Documents\Rproj\sirius-gui\sirius  -i C:\Users\rick\Documents\Rproj\sirius-demo-data\ms\Bicuculline.ms -o C:\Users\rick\Documents\Rproj\sirius-demo-data\out formula
apr. 14, 2021 9:04:49 A.M. de.unijena.bioinf.jjobs.JJob logInfo
INFO:  (0): Starting Application Core...
INFO  09:04:50 - Sirius Workspace Successfull initialized at: C:\Users\rick\.sirius-4.6
INFO  09:04:50 - You run SIRIUS 4.6.1
INFO  09:04:50 - Sirius was compiled with the following ILP solvers: GLPK-v1.7.0 (included), Gurobi-v8.1.0, CPLEX-v12.7.1, COIN-OR-v1.17.3
INFO  09:04:50 - Treebuilder priorities are: [CLP]
INFO  09:04:50 - CPU check done. 8 cores that handle 16 threads were found.
INFO  09:04:50 - Bug reporter initialized.
INFO  09:04:50 - Web API initialized.
INFO  09:04:50 - Starting Application Core
INFO  09:04:50 - Job manager successful initialized with 8 CPU thread(s) and 1 IO thread(s).
INFO  09:04:50 - Swing Job MANAGER initialized! 8 : 1
INFO  09:04:50 -  (0): Configure shutdown hooks...
INFO  09:04:50 -  (0): Configure Workflows...
INFO  09:04:50 -  (0): Firing up SIRIUS...
INFO  09:04:50 - Running with following arguments: [-i, C:\Users\rick\Documents\Rproj\sirius-demo-data\ms\Bicuculline.ms, -o, C:\Users\rick\Documents\Rproj\sirius-demo-data\out, formula]
FINE  09:04:50 - InputExpanderJJob (1): Running post processing
FINE  09:04:50 - InputExpanderJJob (1): Running cleanup
INFO  09:04:50 - InputExpanderJJob (2): Expanding Input Files: 'C:\Users\rick\Documents\Rproj\sirius-demo-data\ms\Bicuculline.ms'...
INFO  09:04:50 - InputExpanderJJob (2): ...Input Files successfully expanded!
FINE  09:04:50 - InputExpanderJJob (2): Running post processing
FINE  09:04:50 - InputExpanderJJob (2): Running cleanup
INFO  09:04:52 - Workflow has been finished!
INFO  09:04:52 - Executing Postprocessing...
INFO  09:04:52 - Writing summary files...
INFO  09:04:52 - Project-Space summaries successfully written!
INFO  09:04:52 - CLI shut down hook: SIRIUS is cleaning up threads and shuts down...

Please cite the following publications when using our tool:

When using the SIRIUS Software please cite the following paper:

Kai Dührkop, Markus Fleischauer, Marcus Ludwig, Alexander A. Aksenov, Alexey V. Melnik, Marvin Meusel, Pieter C. Dorrestein, Juho Rousu and Sebastian Böcker
SIRIUS4: a rapid tool for turning tandem mass spectra into metabolite structure information
Nat Methods, 16, 2019.  https://doi.org/10.1038/s41592-019-0344-8

Depending on the tools you have used please also cite:

Kai Dührkop, Louis-Félix Nothias, Markus Fleischauer, Raphael Reher, Marcus Ludwig, Martin A. Hoffmann, Daniel Petras, William H. Gerwick, Juho Rousu, Pieter C. Dorrestein and Sebastian Böcker
Systematic classification of unknown metabolites using high-resolution fragmentation mass spectra
Nature Biotechnology, 2020.  https://doi.org/10.1038/s41587-020-0740-8
(Cite if you are using: CANOPUS)

Yannick Djoumbou Feunang, Roman Eisner, Craig Knox, Leonid Chepelev, Janna Hastings, Gareth Owen, Eoin Fahy, Christoph Steinbeck, Shankar Subramanian, Evan Bolton, Russell Greiner, David S. Wishart
ClassyFire: automated chemical classification with a comprehensive, computable taxonomy
J Cheminf, 8, 2016.  https://doi.org/10.1186/s13321-016-0174-y
(Cite if you are using: CANOPUS)

Kai Dührkop, Huibin Shen, Marvin Meusel, Juho Rousu and Sebastian Böcker
Searching molecular structure databases with tandem mass spectra using CSI:FingerID
Proc Natl Acad Sci U S A, 112, 2015.  https://doi.org/10.1073/pnas.1509788112
(Cite if you are using: CSI:FingerID)

Sebastian Böcker and Kai Dührkop
Fragmentation trees reloaded
J Cheminform, 8, 2016.  https://doi.org/10.1186/s13321-016-0116-8
(Cite if you are using: Fragmentation Trees)

Sebastian Böcker, Matthias Letzel, Zsuzsanna Lipták and Anton Pervukhin
SIRIUS: Decomposing isotope patterns for metabolite identification
Bioinformatics, 25, 2009.  https://doi.org/10.1093/bioinformatics/btn603
(Cite if you are using: Isotope Pattern analysis)

Marcus Ludwig, Louis-Félix Nothias, Kai Dührkop, Irina Koester, Markus Fleischauer, Martin A. Hoffmann, Daniel Petras, Fernando Vargas, Mustafa Morsy, Lihini Aluwihare, Pieter C. Dorrestein, Sebastian Böcker
ZODIAC: database-independent molecular formula annotation using Gibbs sampling reveals unknown small molecules
bioRxiv, 2019.  https://doi.org/10.1101/842740
(Cite if you are using: ZODIAC)

Thanks, Rick

f-kretschmer commented 3 years ago

Very interesting, then the new version should work if you just copy (and overwrite) the CLPModelWrapper_JNI.dll from the sirius 4.6.1 folder to the new version's folder. If sirius still doesn't work then, try also copying the other DLLs libbz2-1.dll, libgcc_s_seh-1.dll, libgfortran-5.dll, libgmp-10.dll, libquadmath-0.dll, libstdc++-6.dll, libwinpthread-1.dll, zlib1.dll.

I hope this works as a temporary fix until the new DLLs are updated.

rickhelmus commented 3 years ago

Yep replacing the CLP DLL did the trick! Replacing the others didn't seem to be necessary. If needed I can test any other version needed for the next release.

f-kretschmer commented 3 years ago

Perfect, thanks for the help! I'm working on fixing the issue of the new CLP DLL, if you could help testing the new DLL when ready, that would of course be highly appreciated.

f-kretschmer commented 3 years ago

Just to clarify (for everyone seeing this issue), the old CLP DLL had some performance issues, especially with very big problems and many CPU cores; the new DLL implements a better solving algorithm. Therefore using the old DLL can only be a temporary solution. The windows incompatibilities should be fixed in the next sirius version soon to be released.

f-kretschmer commented 3 years ago

@rickhelmus Could you test this new version of the DLL? https://cloud.uni-jena.de/s/M2cMLr3Tgag9C2T (Now also included in the official artifactory at https://bio.informatik.uni-jena.de/repository/dist-release-local/de/unijena/bioinf/clp/clp_cbc-2.10.zip, clp/w64/CLPModelWrapper_JNI.dll)

rickhelmus commented 3 years ago

Hi Fleming,

I had some reproducibility issues and all started working with every DLL version, but I think a reboot 'fixed' that.

Anyway, it seems the new DLL fixes everything :-)

mfleisch commented 3 years ago

Great, we will include the new .dll in the upcoming release. Thanks for testing @rickhelmus!