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() { ...@@ -49,9 +49,9 @@ MsRun::~MsRun() {
} }
const QString & MsRun::getSampleName() const { const QString & MsRun::getSampleName() const {
return _name; return _name;
} }
void MsRun::setFilename(const QString filename) { void MsRun::setFilename(const QString filename) {
_location = filename; _location = filename;
...@@ -69,3 +69,9 @@ const QString & MsRun::getFilename() const { ...@@ -69,3 +69,9 @@ const QString & MsRun::getFilename() const {
MzFormat MsRun::getMzFormat() const { MzFormat MsRun::getMzFormat() const {
return _mz_format; return _mz_format;
} }
void MsRun::setMzFormat(MzFormat mz_format) {
_mz_format = mz_format;
}
...@@ -54,6 +54,7 @@ public: ...@@ -54,6 +54,7 @@ public:
const QString & getXmlId() const; const QString & getXmlId() const;
MzFormat getMzFormat() const; MzFormat getMzFormat() const;
void setMzFormat(MzFormat mz_format);
private : private :
QString _xml_id; QString _xml_id;
QString _location; QString _location;
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#include <QSettings> #include <QSettings>
#include <QFileInfo> #include <QFileInfo>
#include <QDir> #include <QDir>
#include <QString>
#include <pappsomspp/spectrum/spectrum.h> #include <pappsomspp/spectrum/spectrum.h>
#include <pappsomspp/exception/exceptionnotfound.h> #include <pappsomspp/exception/exceptionnotfound.h>
...@@ -58,6 +59,20 @@ pwiz::msdata::MSDataFile * getPwizMSDataFile(const QString & filename) { ...@@ -58,6 +59,20 @@ pwiz::msdata::MSDataFile * getPwizMSDataFile(const QString & filename) {
return dataFile; 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) { 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_ ...@@ -75,9 +90,6 @@ SpectrumSp getSpectrumSpFromPwizMSDataFile(pwiz::msdata::MSDataFile * p_ms_data_
else { else {
// turn our scan numbers into navtieId strings for pwiz // turn our scan numbers into navtieId strings for pwiz
native_id_format = pwiz::msdata::id::getDefaultNativeIDFormat(*p_ms_data_file); 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()); string nativeScanId = pwiz::msdata::id::translateScanNumberToNativeID(native_id_format, QString("%1").arg(scan_num).toStdString());
spectrum_index = spectrum_list_ptr.get()->find(nativeScanId); spectrum_index = spectrum_list_ptr.get()->find(nativeScanId);
} }
...@@ -202,6 +214,7 @@ pappso::SpectrumSp SpectrumStore::getSpectrumSpFromMsRunSp(MsRunSp msrun, unsign ...@@ -202,6 +214,7 @@ pappso::SpectrumSp SpectrumStore::getSpectrumSpFromMsRunSp(MsRunSp msrun, unsign
} }
msrun.get()->setFilename(mz_file); msrun.get()->setFilename(mz_file);
p_msdatafile = getPwizMSDataFile(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)); _map_msrun_msdatafile.insert(std::pair<MsRunSp, pwiz::msdata::MSDataFile *>(msrun, p_msdatafile));
} }
else { else {
......
...@@ -36,6 +36,8 @@ pwiz::msdata::MSDataFile * getPwizMSDataFile(const QString & filename); ...@@ -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); 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 { class SpectrumStore {
public: public:
static pappso::SpectrumSp getSpectrumSpFromMsRunSp(MsRunSp msrun, unsigned int scan_num); static pappso::SpectrumSp getSpectrumSpFromMsRunSp(MsRunSp msrun, unsigned int scan_num);
......
...@@ -66,8 +66,10 @@ enum class GroupingType { ...@@ -66,8 +66,10 @@ enum class GroupingType {
*/ */
enum class MzFormat { enum class MzFormat {
unknown, ///< unknown format
mzML, ///< mzML mzML, ///< mzML
mzXML, ///< mzXML mzXML, ///< mzXML
MGF, ///< Mascot format
}; };
/** \def ValidationState /** \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