comparison ms2deepscore_training.xml @ 0:0a0529822d91 draft default tip

planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/ms2deepscore commit 4bd610e0cbbcbed51a6bfb880179777fc8034fd6
author recetox
date Mon, 02 Sep 2024 12:12:30 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:0a0529822d91
1 <tool id="ms2deepscore_training" name="MS2DeepScore Model Training" version="@TOOL_VERSION@+galaxy0">
2 <description>Compute similarity scores using a pre-trained MS2DeepScore model</description>
3 <macros>
4 <import>macros.xml</import>
5 </macros>
6 <expand macro="creator"/>
7 <expand macro="edam" />
8
9 <requirements>
10 <requirement type="package" version="@TOOL_VERSION@">ms2deepscore</requirement>
11 <requirement type="package" version="@ONNX_VERSION@">onnx</requirement>
12 </requirements>
13
14 <command detect_errors="exit_code"><![CDATA[
15 mkdir processing;
16 cp $spectra processing/input."$spectra.ext";
17 python3 ${python_wrapper}
18 ]]></command>
19 <configfiles>
20 <configfile name="python_wrapper">
21 import onnx
22 import os
23 import torch
24 from ms2deepscore.models import load_model
25 from ms2deepscore.SettingsMS2Deepscore import SettingsMS2Deepscore
26 from ms2deepscore.wrapper_functions.training_wrapper_functions import train_ms2deepscore_wrapper, StoreTrainingData
27
28 @json_load@
29
30 settings = SettingsMS2Deepscore(**model_params)
31 file = "processing/input.$spectra.ext"
32 directory = train_ms2deepscore_wrapper(file, settings, $validation_split_fraction)
33
34 expected_file_names = StoreTrainingData(file)
35 pt_model_path = os.path.join(expected_file_names.trained_models_folder, directory, settings.model_file_name)
36
37 model = load_model(pt_model_path)
38 model.eval()
39
40 batch_size = 1
41 number_of_bins = settings.number_of_bins()
42 additional_inputs = len(settings.additional_metadata)
43
44 # Create dummy inputs
45 spectra_tensors_1 = torch.randn(batch_size, number_of_bins)
46 spectra_tensors_2 = torch.randn(batch_size, number_of_bins)
47 metadata_1 = torch.randn(batch_size, additional_inputs)
48 metadata_2 = torch.randn(batch_size, additional_inputs)
49
50 # Export the model to ONNX
51 torch.onnx.export(
52 model,
53 (spectra_tensors_1, spectra_tensors_2, metadata_1, metadata_2),
54 "$onnx_trained_model",
55 verbose=True
56 )
57
58 </configfile>
59 </configfiles>
60
61 <inputs>
62 <expand macro="training_param" />
63 </inputs>
64
65 <outputs>
66 <data label="Trained model" name="onnx_trained_model" format="onnx"/>
67 </outputs>
68
69 <tests>
70 <test expect_num_outputs="1">
71 <param name="spectra" value="clean_spectra.mgf" ftype="mgf"/>
72 <param name="model_param" value="Model_Parameter_JSON.json" ftype="json" />
73 <param name="validation_split_fraction" value="5"/>
74 <output name="onnx_trained_model" value="Trained_model.onnx" ftype="onnx" compare="sim_size"/>
75 </test>
76 </tests>
77
78 <help>
79 <![CDATA[
80 Info
81 ====
82 This tool trains a MS2DeepScore model using the provided training data and model configuration.
83 The trained model is then exported using ONNX.
84
85 About
86 =====
87 @HELP@
88 ]]>
89 </help>
90 <expand macro="citations"/>
91 </tool>