Skip to content
Snippets Groups Projects
Commit e0594bd8 authored by Olivier Langella's avatar Olivier Langella
Browse files

store mz format

parent bc14bede
No related branches found
No related tags found
No related merge requests found
......@@ -49,9 +49,9 @@ MsRun::~MsRun() {
}
const QString & MsRun::getSampleName() const {
return _name;
}
const QString & MsRun::getSampleName() const {
return _name;
}
void MsRun::setFilename(const QString filename) {
_location = filename;
......@@ -69,3 +69,9 @@ const QString & MsRun::getFilename() const {
MzFormat MsRun::getMzFormat() const {
return _mz_format;
}
void MsRun::setMzFormat(MzFormat mz_format) {
_mz_format = mz_format;
}
......@@ -54,6 +54,7 @@ public:
const QString & getXmlId() const;
MzFormat getMzFormat() const;
void setMzFormat(MzFormat mz_format);
private :
QString _xml_id;
QString _location;
......
......@@ -27,6 +27,7 @@
#include <QSettings>
#include <QFileInfo>
#include <QDir>
#include <QString>
#include <pappsomspp/spectrum/spectrum.h>
#include <pappsomspp/exception/exceptionnotfound.h>
......@@ -58,6 +59,20 @@ pwiz::msdata::MSDataFile * getPwizMSDataFile(const QString & filename) {
return dataFile;
}
MzFormat getPwizMSDataFileFormat(pwiz::msdata::MSDataFile * p_ms_data_file) {
pwiz::msdata::CVID native_id_format = pwiz::msdata::id::getDefaultNativeIDFormat(*p_ms_data_file);
if (native_id_format == pwiz::cv::CVID::MS_Mascot_MGF_format) {
return MzFormat::MGF;
}
if (native_id_format == pwiz::cv::CVID::MS_mzML_format) {
return MzFormat::mzML;
}
if (native_id_format == pwiz::cv::CVID::MS_ISB_mzXML_format) {
return MzFormat::mzXML;
}
throw pappso::PappsoException(QObject::tr(" pwiz::msdata::CVID native_id_format %1 not found").arg(native_id_format));
return MzFormat::unknown;
}
SpectrumSp getSpectrumSpFromPwizMSDataFile(pwiz::msdata::MSDataFile * p_ms_data_file, unsigned int scan_num, unsigned int & precursor_charge_state) {
......@@ -75,9 +90,6 @@ SpectrumSp getSpectrumSpFromPwizMSDataFile(pwiz::msdata::MSDataFile * p_ms_data_
else {
// turn our scan numbers into navtieId strings for pwiz
native_id_format = pwiz::msdata::id::getDefaultNativeIDFormat(*p_ms_data_file);
if (native_id_format == pwiz::cv::CVID::MS_Mascot_MGF_format) {
scan_num = scan_num-1;
}
string nativeScanId = pwiz::msdata::id::translateScanNumberToNativeID(native_id_format, QString("%1").arg(scan_num).toStdString());
spectrum_index = spectrum_list_ptr.get()->find(nativeScanId);
}
......@@ -202,6 +214,7 @@ pappso::SpectrumSp SpectrumStore::getSpectrumSpFromMsRunSp(MsRunSp msrun, unsign
}
msrun.get()->setFilename(mz_file);
p_msdatafile = getPwizMSDataFile(mz_file);
msrun.get()->setMzFormat(getPwizMSDataFileFormat(p_msdatafile));
_map_msrun_msdatafile.insert(std::pair<MsRunSp, pwiz::msdata::MSDataFile *>(msrun, p_msdatafile));
}
else {
......
......@@ -36,6 +36,8 @@ pwiz::msdata::MSDataFile * getPwizMSDataFile(const QString & filename);
pappso::SpectrumSp getSpectrumSpFromPwizMSDataFile(pwiz::msdata::MSDataFile * p_ms_data_file, unsigned int scan_num, unsigned int & precursor_charge_state);
MzFormat getPwizMSDataFileFormat(pwiz::msdata::MSDataFile * p_ms_data_file);
class SpectrumStore {
public:
static pappso::SpectrumSp getSpectrumSpFromMsRunSp(MsRunSp msrun, unsigned int scan_num);
......
......@@ -66,8 +66,10 @@ enum class GroupingType {
*/
enum class MzFormat {
unknown, ///< unknown format
mzML, ///< mzML
mzXML, ///< mzXML
MGF, ///< Mascot format
};
/** \def ValidationState
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment