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

better error handling for pwiz spectrum find function

parent 4e5548fc
No related branches found
No related tags found
No related merge requests found
......@@ -123,13 +123,28 @@ pappso::QualifiedSpectrum getQualifiedSpectrumFromPwizMSDataFile(pwiz::msdata::M
string nativeScanId = pwiz::msdata::id::translateScanNumberToNativeID(native_id_format, QString("%1").arg(scan_num).toStdString());
spectrum_index = spectrum_list_ptr.get()->find(nativeScanId);
}
qDebug() << "spectrum_index " << spectrum_index;
qDebug() << "getQualifiedSpectrumFromPwizMSDataFile spectrum_index " << spectrum_index;
if (spectrum_index == spectrum_list_ptr.get()->size()) {
//pwiz::msdata::SpectrumPtr simple_spectrum_pwiz = spectrum_list_ptr.get()->spectrum(10, getBinaryData);
//qDebug() << "spectrum id 10 " << simple_spectrum_pwiz.get()->get;
throw ExceptionNotFound(QObject::tr("scan number %1 not found MS file").arg(scan_num));
throw ExceptionNotFound(QObject::tr("scan number %1 not found in MS file").arg(scan_num));
}
pwiz::msdata::SpectrumPtr simple_spectrum_pwiz = spectrum_list_ptr.get()->spectrum(spectrum_index, getBinaryData);
pwiz::msdata::SpectrumPtr simple_spectrum_pwiz;
try {
simple_spectrum_pwiz = spectrum_list_ptr.get()->spectrum(spectrum_index, getBinaryData);
} catch (std::runtime_error & error) {
qDebug() << "getQualifiedSpectrumFromPwizMSDataFile error " << error.what() << " " << typeid(error).name();
throw ExceptionNotFound(QObject::tr("scan number %1 not found in MS file std::runtime_error :\n%2").arg(scan_num).arg(error.what()));
}
catch (std::exception & error) {
qDebug() << "getQualifiedSpectrumFromPwizMSDataFile error " << error.what() << " " << typeid(error).name();
throw ExceptionNotFound(QObject::tr("scan number %1 not found in MS file :\n%2").arg(scan_num).arg(error.what()));
}
if (simple_spectrum_pwiz.get() == nullptr) {
throw ExceptionNotFound(QObject::tr("scan number %1 not found in MS file : null pointer").arg(scan_num));
}
qDebug() << "getQualifiedSpectrumFromPwizMSDataFile precursors.size() " << simple_spectrum_pwiz.get()->precursors.size();
if (simple_spectrum_pwiz.get()->precursors.size() > 0) {
pwiz::msdata::Precursor & precursor = *(simple_spectrum_pwiz.get()->precursors.begin());
if (precursor.selectedIons.size() > 0) {
......@@ -158,7 +173,8 @@ pappso::QualifiedSpectrum getQualifiedSpectrumFromPwizMSDataFile(pwiz::msdata::M
}
}
unsigned int msLevel(QString(simple_spectrum_pwiz->cvParam(pwiz::msdata::MS_ms_level).value.c_str()).toUInt());
qDebug() << "getQualifiedSpectrumFromPwizMSDataFile msLevel" ;
unsigned int msLevel(QString(simple_spectrum_pwiz->cvParam(pwiz::msdata::MS_ms_level).value.c_str()).toUInt());
pappso_double retentionTime = QString(simple_spectrum_pwiz->scanList.scans[0].cvParam(pwiz::msdata::MS_scan_start_time).value.c_str()).toDouble();
qspectrum.setRtInSeconds(retentionTime);
......@@ -185,7 +201,7 @@ pappso::QualifiedSpectrum getQualifiedSpectrumFromPwizMSDataFile(pwiz::msdata::M
//qDebug() << "it->mz " << it->mz << " it->intensity" << it->intensity;
spectrum.push_back(Peak(it->mz, it->intensity));
}
qDebug() << "spectrum size " << spectrum.size();
qDebug() << "getQualifiedSpectrumFromPwizMSDataFile spectrum size " << spectrum.size();
if (native_id_format == pwiz::cv::CVID::MS_Mascot_MGF_format) {
//sort peaks by mz
spectrum = spectrum.takeNmostIntense(1000);
......@@ -197,6 +213,7 @@ pappso::QualifiedSpectrum getQualifiedSpectrumFromPwizMSDataFile(pwiz::msdata::M
//qDebug() << " env=" << localeconv () << " lc->decimal_point " << lc->decimal_point;
SpectrumSp spectrum_sp = spectrum.makeSpectrumSp();
qspectrum.setOriginalSpectrumSp(spectrum_sp);
qDebug() << "getQualifiedSpectrumFromPwizMSDataFile end ";
return qspectrum;
}
......
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