MsScanUtil.java
/*
* (C) Copyright 2015-2017 by MSDK Development Team
*
* This software is dual-licensed under either
*
* (a) the terms of the GNU Lesser General Public License version 2.1 as published by the Free
* Software Foundation
*
* or (per the licensee's choosing)
*
* (b) the terms of the Eclipse Public License v1.0 as published by the Eclipse Foundation.
*/
package io.github.msdk.util;
import javax.annotation.Nonnull;
import com.google.common.base.Preconditions;
import io.github.msdk.datamodel.impl.SimpleMsScan;
import io.github.msdk.datamodel.rawdata.MsScan;
import io.github.msdk.datamodel.rawdata.RawDataFile;
/**
* <p>
* MsScanUtil class.
* </p>
*/
public class MsScanUtil {
/**
* <p>
* clone.
* </p>
*
* @param scan a {@link io.github.msdk.datamodel.rawdata.MsScan} object.
* @param copyDataPoints a {@link java.lang.Boolean} object.
* @return a {@link io.github.msdk.datamodel.rawdata.MsScan} object.
*/
@Nonnull
static public SimpleMsScan clone(@Nonnull MsScan scan, @Nonnull Boolean copyDataPoints) {
Preconditions.checkNotNull(scan);
Preconditions.checkNotNull(copyDataPoints);
SimpleMsScan newScan = new SimpleMsScan(scan.getScanNumber(), scan.getMsFunction());
newScan.setPolarity(scan.getPolarity());
newScan.setMsScanType(scan.getMsScanType());
newScan.setScanningRange(scan.getScanningRange());
newScan.setRetentionTime(scan.getRetentionTime());
newScan.setMsLevel(scan.getMsLevel());
newScan.setSourceInducedFragmentation(scan.getSourceInducedFragmentation());
newScan.getIsolations().addAll(scan.getIsolations());
if (copyDataPoints) {
double mzValues[] = scan.getMzValues();
float intensityValues[] = scan.getIntensityValues();
newScan.setDataPoints(mzValues, intensityValues, scan.getNumberOfDataPoints());
}
return newScan;
}
/**
* {@inheritDoc}
*
* @param scan a {@link io.github.msdk.datamodel.rawdata.MsScan} object.
* @return a {@link java.lang.String} object.
*/
public String msScanToString(@Nonnull MsScan scan) {
StringBuilder buf = new StringBuilder();
buf.append("Scan ");
final RawDataFile rawDataFile2 = scan.getRawDataFile();
if (rawDataFile2 != null && rawDataFile2.getOriginalFile() != null) {
buf.append(rawDataFile2.getOriginalFilename());
buf.append(" ");
}
if (scan.getMsFunction() != null) {
buf.append(scan.getMsFunction());
buf.append(" ");
}
buf.append("#");
buf.append(scan.getScanNumber());
return buf.toString();
}
}