From 39f9f110a8ad8554efc05b4551690f93f817fb60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Wed, 9 Feb 2022 17:34:19 +0100 Subject: [PATCH 1/2] Set more required fields. --- .../supplier/animl/io/ChromatogramWriter.java | 4 ++-- .../supplier/animl/io/MassSpectrumWriter.java | 20 ++++++++++++++++--- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/openchrom/plugins/net.openchrom.msd.converter.supplier.animl/src/net/openchrom/msd/converter/supplier/animl/io/ChromatogramWriter.java b/openchrom/plugins/net.openchrom.msd.converter.supplier.animl/src/net/openchrom/msd/converter/supplier/animl/io/ChromatogramWriter.java index 7da6fbe37..50f787d3c 100644 --- a/openchrom/plugins/net.openchrom.msd.converter.supplier.animl/src/net/openchrom/msd/converter/supplier/animl/io/ChromatogramWriter.java +++ b/openchrom/plugins/net.openchrom.msd.converter.supplier.animl/src/net/openchrom/msd/converter/supplier/animl/io/ChromatogramWriter.java @@ -159,8 +159,8 @@ private List createMS(IChromatogramMSD chromatogram) { intensityUnit.setLabel("Abundance"); intensityUnit.setQuantity("arbitrary"); intensitySeries.setUnit(intensityUnit); - massChargeSeries.setDependency(DependencyType.DEPENDENT); - massChargeSeries.setSeriesType(ParameterTypeType.FLOAT_32); + intensitySeries.setDependency(DependencyType.DEPENDENT); + intensitySeries.setSeriesType(ParameterTypeType.FLOAT_32); // if(PreferenceSupplier.getChromatogramSaveEncoded()) { int scans = scanMSD.getNumberOfIons(); diff --git a/openchrom/plugins/net.openchrom.msd.converter.supplier.animl/src/net/openchrom/msd/converter/supplier/animl/io/MassSpectrumWriter.java b/openchrom/plugins/net.openchrom.msd.converter.supplier.animl/src/net/openchrom/msd/converter/supplier/animl/io/MassSpectrumWriter.java index 30752016d..79eadd3d2 100644 --- a/openchrom/plugins/net.openchrom.msd.converter.supplier.animl/src/net/openchrom/msd/converter/supplier/animl/io/MassSpectrumWriter.java +++ b/openchrom/plugins/net.openchrom.msd.converter.supplier.animl/src/net/openchrom/msd/converter/supplier/animl/io/MassSpectrumWriter.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2021 Lablicate GmbH. + * Copyright (c) 2021, 2022 Lablicate GmbH. * * All rights reserved. * This program and the accompanying materials are made available under the @@ -19,6 +19,7 @@ import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; +import org.apache.commons.io.FilenameUtils; import org.eclipse.chemclipse.converter.exceptions.FileIsNotWriteableException; import org.eclipse.chemclipse.logging.core.Logger; import org.eclipse.chemclipse.msd.converter.io.IMassSpectraWriter; @@ -34,12 +35,14 @@ import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.AuditTrailEntrySetType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.AuditTrailEntryType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.CategoryType; +import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.DependencyType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.EncodedValueSetType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.ExperimentStepSetType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.ExperimentStepType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.IndividualValueSetType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.MethodType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.ParameterType; +import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.ParameterTypeType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.ResultType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.SampleSetType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.SampleType; @@ -95,6 +98,7 @@ private void writeAnIML(FileWriter fileWriter, IVendorMassSpectrum massSpectrum) Marshaller marshaller = jaxbContext.createMarshaller(); // AnIMLType anIML = new AnIMLType(); + anIML.setVersion("0.90"); anIML.setSampleSet(createSampleSet(massSpectrum)); anIML.setExperimentStepSet(createExperimentStep(massSpectrum)); anIML.setAuditTrailEntrySet(createAuditTrail()); @@ -105,8 +109,10 @@ private SampleSetType createSampleSet(IVendorMassSpectrum massSpectrum) { SampleSetType sampleSet = new SampleSetType(); SampleType sample = new SampleType(); + sample.setId("OPENCHROM_MASS_SPECTRUM_EXPORT"); sample.setName(massSpectrum.getName()); - sample.setSampleID(massSpectrum.getIdentifier()); + sample.setComment(massSpectrum.getIdentifier()); + sample.setSampleID(FilenameUtils.removeExtension(massSpectrum.getFile().getName())); sample.setSourceDataLocation(massSpectrum.getFile().getAbsolutePath()); sampleSet.getSample().add(sample); return sampleSet; @@ -116,6 +122,8 @@ private ExperimentStepSetType createExperimentStep(IVendorMassSpectrum massSpect ExperimentStepSetType experimentStepSet = new ExperimentStepSetType(); ExperimentStepType massSpecStep = new ExperimentStepType(); + massSpecStep.setName("Mass Spectrometry"); + massSpecStep.setId("MASS_SPECTROMETRY"); massSpecStep.setTechnique(createMassSpecTechnique()); massSpecStep.getResult().add(createResult(massSpectrum)); massSpecStep.setMethod(createMethod()); @@ -139,10 +147,13 @@ private ResultType createResult(IVendorMassSpectrum massSpectrum) { // SeriesType massChargeSeries = new SeriesType(); massChargeSeries.setName("Mass/Charge"); + massChargeSeries.setSeriesID("MASS_CHARGE"); UnitType massChargeUnit = new UnitType(); massChargeUnit.setLabel("Mass/Charge Ratio"); massChargeUnit.setQuantity("mz"); massChargeSeries.setUnit(massChargeUnit); + massChargeSeries.setDependency(DependencyType.INDEPENDENT); + massChargeSeries.setSeriesType(ParameterTypeType.FLOAT_64); // SeriesType intensitySeries = new SeriesType(); intensitySeries.setName("Intensity"); @@ -150,6 +161,8 @@ private ResultType createResult(IVendorMassSpectrum massSpectrum) { intensityUnit.setLabel("Abundance"); intensityUnit.setQuantity("arbitrary"); intensitySeries.setUnit(intensityUnit); + intensitySeries.setDependency(DependencyType.DEPENDENT); + intensitySeries.setSeriesType(ParameterTypeType.FLOAT_32); // if(PreferenceSupplier.getMassSpectrumSaveEncoded()) { int scans = massSpectrum.getNumberOfIons(); @@ -186,8 +199,9 @@ private ResultType createResult(IVendorMassSpectrum massSpectrum) { parameter.setName("Type"); if(massSpectrum.getMassSpectrumType() == 0) { parameter.getS().add("Centroided"); - } else + } else { parameter.getS().add("Continuous"); + } category.getParameter().add(parameter); result.getCategory().add(category); result.setSeriesSet(seriesSet); From 295c509f8231a02e2d0f24682a6650d84f48bd76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Wed, 9 Feb 2022 17:50:01 +0100 Subject: [PATCH 2/2] Set plotting hints. --- .../supplier/animl/io/ChromatogramWriter.java | 3 +++ .../supplier/animl/io/ChromatogramWriter.java | 5 +++++ .../supplier/animl/io/MassSpectrumWriter.java | 3 +++ .../supplier/animl/internal/converter/Common.java | 15 +++++++++++++++ 4 files changed, 26 insertions(+) diff --git a/openchrom/plugins/net.openchrom.csd.converter.supplier.animl/src/net/openchrom/csd/converter/supplier/animl/io/ChromatogramWriter.java b/openchrom/plugins/net.openchrom.csd.converter.supplier.animl/src/net/openchrom/csd/converter/supplier/animl/io/ChromatogramWriter.java index ed15c5c87..544d9d42e 100644 --- a/openchrom/plugins/net.openchrom.csd.converter.supplier.animl/src/net/openchrom/csd/converter/supplier/animl/io/ChromatogramWriter.java +++ b/openchrom/plugins/net.openchrom.csd.converter.supplier.animl/src/net/openchrom/csd/converter/supplier/animl/io/ChromatogramWriter.java @@ -44,6 +44,7 @@ import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.IndividualValueSetType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.MethodType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.ParameterTypeType; +import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.PlotScaleType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.ResultType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.SampleSetType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.SampleType; @@ -134,6 +135,7 @@ private ResultType createResult(IChromatogramCSD chromatogram) { retentionTimeSeries.setUnit(retentionTimeUnit); retentionTimeSeries.setDependency(DependencyType.INDEPENDENT); retentionTimeSeries.setSeriesType(ParameterTypeType.FLOAT_32); + retentionTimeSeries.setPlotScale(PlotScaleType.LINEAR); // SeriesType totalSignalSeries = new SeriesType(); totalSignalSeries.setSeriesID("TOTAL_SIGNAL"); @@ -144,6 +146,7 @@ private ResultType createResult(IChromatogramCSD chromatogram) { totalSignalSeries.setUnit(totalSignalUnit); totalSignalSeries.setDependency(DependencyType.DEPENDENT); totalSignalSeries.setSeriesType(ParameterTypeType.FLOAT_32); + totalSignalSeries.setPlotScale(PlotScaleType.LINEAR); // if(PreferenceSupplier.getChromatogramSaveEncoded()) { int scans = chromatogram.getNumberOfScans(); diff --git a/openchrom/plugins/net.openchrom.msd.converter.supplier.animl/src/net/openchrom/msd/converter/supplier/animl/io/ChromatogramWriter.java b/openchrom/plugins/net.openchrom.msd.converter.supplier.animl/src/net/openchrom/msd/converter/supplier/animl/io/ChromatogramWriter.java index 50f787d3c..983c20a64 100644 --- a/openchrom/plugins/net.openchrom.msd.converter.supplier.animl/src/net/openchrom/msd/converter/supplier/animl/io/ChromatogramWriter.java +++ b/openchrom/plugins/net.openchrom.msd.converter.supplier.animl/src/net/openchrom/msd/converter/supplier/animl/io/ChromatogramWriter.java @@ -49,6 +49,7 @@ import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.MethodType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.ParameterType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.ParameterTypeType; +import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.PlotScaleType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.ResultType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.SampleSetType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.SampleType; @@ -151,6 +152,7 @@ private List createMS(IChromatogramMSD chromatogram) { massChargeSeries.setUnit(massChargeUnit); massChargeSeries.setDependency(DependencyType.DEPENDENT); massChargeSeries.setSeriesType(ParameterTypeType.FLOAT_64); + massChargeSeries.setPlotScale(PlotScaleType.LINEAR); // SeriesType intensitySeries = new SeriesType(); intensitySeries.setSeriesID("INTENSITY"); @@ -161,6 +163,7 @@ private List createMS(IChromatogramMSD chromatogram) { intensitySeries.setUnit(intensityUnit); intensitySeries.setDependency(DependencyType.DEPENDENT); intensitySeries.setSeriesType(ParameterTypeType.FLOAT_32); + intensitySeries.setPlotScale(PlotScaleType.LINEAR); // if(PreferenceSupplier.getChromatogramSaveEncoded()) { int scans = scanMSD.getNumberOfIons(); @@ -214,6 +217,7 @@ private ResultType createTIC(IChromatogramMSD chromatogram) { retentionTimeSeries.setUnit(retentionTimeUnit); retentionTimeSeries.setDependency(DependencyType.INDEPENDENT); retentionTimeSeries.setSeriesType(ParameterTypeType.INT_32); + retentionTimeSeries.setPlotScale(PlotScaleType.LINEAR); // SeriesType totalSignalSeries = new SeriesType(); totalSignalSeries.setSeriesID("TOTAL_SIGNAL"); @@ -224,6 +228,7 @@ private ResultType createTIC(IChromatogramMSD chromatogram) { totalSignalSeries.setUnit(totalSignalUnit); totalSignalSeries.setDependency(DependencyType.DEPENDENT); totalSignalSeries.setSeriesType(ParameterTypeType.FLOAT_32); + totalSignalSeries.setPlotScale(PlotScaleType.LINEAR); // if(PreferenceSupplier.getChromatogramSaveEncoded()) { int scans = chromatogram.getNumberOfScans(); diff --git a/openchrom/plugins/net.openchrom.msd.converter.supplier.animl/src/net/openchrom/msd/converter/supplier/animl/io/MassSpectrumWriter.java b/openchrom/plugins/net.openchrom.msd.converter.supplier.animl/src/net/openchrom/msd/converter/supplier/animl/io/MassSpectrumWriter.java index 79eadd3d2..bca8b174d 100644 --- a/openchrom/plugins/net.openchrom.msd.converter.supplier.animl/src/net/openchrom/msd/converter/supplier/animl/io/MassSpectrumWriter.java +++ b/openchrom/plugins/net.openchrom.msd.converter.supplier.animl/src/net/openchrom/msd/converter/supplier/animl/io/MassSpectrumWriter.java @@ -43,6 +43,7 @@ import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.MethodType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.ParameterType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.ParameterTypeType; +import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.PlotScaleType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.ResultType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.SampleSetType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.SampleType; @@ -154,6 +155,7 @@ private ResultType createResult(IVendorMassSpectrum massSpectrum) { massChargeSeries.setUnit(massChargeUnit); massChargeSeries.setDependency(DependencyType.INDEPENDENT); massChargeSeries.setSeriesType(ParameterTypeType.FLOAT_64); + massChargeSeries.setPlotScale(PlotScaleType.LINEAR); // SeriesType intensitySeries = new SeriesType(); intensitySeries.setName("Intensity"); @@ -163,6 +165,7 @@ private ResultType createResult(IVendorMassSpectrum massSpectrum) { intensitySeries.setUnit(intensityUnit); intensitySeries.setDependency(DependencyType.DEPENDENT); intensitySeries.setSeriesType(ParameterTypeType.FLOAT_32); + intensitySeries.setPlotScale(PlotScaleType.LINEAR); // if(PreferenceSupplier.getMassSpectrumSaveEncoded()) { int scans = massSpectrum.getNumberOfIons(); diff --git a/openchrom/plugins/net.openchrom.xxd.converter.supplier.animl/src/net/openchrom/xxd/converter/supplier/animl/internal/converter/Common.java b/openchrom/plugins/net.openchrom.xxd.converter.supplier.animl/src/net/openchrom/xxd/converter/supplier/animl/internal/converter/Common.java index 775132a60..846c1ce28 100644 --- a/openchrom/plugins/net.openchrom.xxd.converter.supplier.animl/src/net/openchrom/xxd/converter/supplier/animl/internal/converter/Common.java +++ b/openchrom/plugins/net.openchrom.xxd.converter.supplier.animl/src/net/openchrom/xxd/converter/supplier/animl/internal/converter/Common.java @@ -30,6 +30,7 @@ import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.DependencyType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.IndividualValueSetType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.ParameterTypeType; +import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.PlotScaleType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.ResultType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.SeriesSetType; import net.openchrom.xxd.converter.supplier.animl.internal.model.astm.core.SeriesType; @@ -38,6 +39,11 @@ public class Common { + private Common() { + + // only static access + } + public static SoftwareType createSoftware() { SoftwareType software = new SoftwareType(); @@ -62,21 +68,25 @@ public static ResultType createPeaks(IChromatogram chromatogram) { numberSeries.setSeriesID("NUMBER"); numberSeries.setName("Number"); numberSeries.setSeriesType(ParameterTypeType.INT_32); + numberSeries.setPlotScale(PlotScaleType.NONE); // SeriesType idSeries = new SeriesType(); idSeries.setSeriesID("ID"); idSeries.setName("ID"); idSeries.setSeriesType(ParameterTypeType.STRING); + idSeries.setPlotScale(PlotScaleType.NONE); // SeriesType groupIdSeries = new SeriesType(); groupIdSeries.setSeriesID("GROUP_ID"); groupIdSeries.setName("Group ID"); groupIdSeries.setSeriesType(ParameterTypeType.STRING); + groupIdSeries.setPlotScale(PlotScaleType.NONE); // SeriesType nameSeries = new SeriesType(); nameSeries.setSeriesID("NAME"); nameSeries.setName("Name"); nameSeries.setSeriesType(ParameterTypeType.STRING); + nameSeries.setPlotScale(PlotScaleType.NONE); // SeriesType retentionTimeSeries = new SeriesType(); retentionTimeSeries.setSeriesID("RETENTION_TIME"); @@ -87,6 +97,7 @@ public static ResultType createPeaks(IChromatogram chromatogram) { retentionTimeSeries.setUnit(retentionTimeUnit); retentionTimeSeries.setSeriesType(ParameterTypeType.FLOAT_32); retentionTimeSeries.setDependency(DependencyType.INDEPENDENT); + retentionTimeSeries.setPlotScale(PlotScaleType.NONE); // SeriesType adjustedRetentionTimeSeries = new SeriesType(); adjustedRetentionTimeSeries.setSeriesID("ADJUSTED_RETENTION_TIME"); @@ -97,6 +108,7 @@ public static ResultType createPeaks(IChromatogram chromatogram) { adjustedRetentionTimeSeries.setUnit(adjustedRetentionTimeUnit); adjustedRetentionTimeSeries.setSeriesType(ParameterTypeType.FLOAT_32); adjustedRetentionTimeSeries.setDependency(DependencyType.DEPENDENT); + adjustedRetentionTimeSeries.setPlotScale(PlotScaleType.NONE); // SeriesType startTimeSeries = new SeriesType(); startTimeSeries.setSeriesID("START_TIME"); @@ -107,6 +119,7 @@ public static ResultType createPeaks(IChromatogram chromatogram) { startTimeSeries.setUnit(startTimeUnit); startTimeSeries.setSeriesType(ParameterTypeType.FLOAT_32); startTimeSeries.setDependency(DependencyType.DEPENDENT); + startTimeSeries.setPlotScale(PlotScaleType.NONE); // SeriesType endTimeSeries = new SeriesType(); endTimeSeries.setName("End Time"); @@ -116,6 +129,7 @@ public static ResultType createPeaks(IChromatogram chromatogram) { endTimeSeries.setUnit(endTimeUnit); endTimeSeries.setSeriesType(ParameterTypeType.FLOAT_32); endTimeSeries.setDependency(DependencyType.DEPENDENT); + endTimeSeries.setPlotScale(PlotScaleType.NONE); // SeriesType peakHeightSeries = new SeriesType(); peakHeightSeries.setName("Value"); @@ -125,6 +139,7 @@ public static ResultType createPeaks(IChromatogram chromatogram) { peakHeightSeries.setUnit(peakHeightUnit); peakHeightSeries.setSeriesType(ParameterTypeType.FLOAT_32); peakHeightSeries.setDependency(DependencyType.DEPENDENT); + peakHeightSeries.setPlotScale(PlotScaleType.NONE); // IndividualValueSetType numbers = new IndividualValueSetType(); IndividualValueSetType ids = new IndividualValueSetType();