48 const QFileInfo &sage_json_file)
61 QDir::setCurrent(sage_json_file.absolutePath());
70 QObject::tr(
"reading Sage json file %1").arg(sage_json_file.absoluteFilePath()));
96 .arg(other_err.
qwhat()));
110 if(!mfile.open(QFile::ReadOnly))
113 QObject::tr(
"Unable to read Sage JSON file %1").arg(
m_sageJsonFile.absoluteFilePath()));
115 QByteArray iContents = mfile.readAll();
117 QJsonParseError parseError;
118 m_jsonData = QJsonDocument::fromJson(iContents, &parseError);
119 if(parseError.error != QJsonParseError::NoError)
123 .arg(parseError.offset)
124 .arg(parseError.errorString()));
127 QJsonValue mzml_value =
m_jsonData.object().value(
"mzml_paths");
129 if(mzml_value.isNull())
132 QObject::tr(
"Sage JSON file %1 does not contain mzml_paths")
135 for(
const QJsonValue &value :
m_jsonData.object().value(
"mzml_paths").toArray())
137 qDebug() << value.toString();
141 {QFileInfo(value.toString()).fileName(), QFileInfo(value.toString()).absoluteFilePath()});
148 QJsonObject sage_object =
m_jsonData.object();
151 QJsonObject database = sage_object.value(
"database").toObject();
153 m_decoyTag = database.value(
"decoy_tag").toString();
excetion to use when an item type is not recognized
virtual const QString & qwhat() const
virtual void setStatus(const QString &status)=0
current status of the process
static QString getVersion()
overrides QCborStreamWriter base class to provide convenient functions
SageFileReader(pappso::UiMonitorInterface *p_monitor, pappso::cbor::CborStreamWriter *p_output, const QFileInfo &sage_json_file)
main function to convert Sage results to CBOR output
std::map< QString, QString > m_mapFilePath2MsRunSp
pappso::cbor::CborStreamWriter * mp_cborWriter
QStringList m_targetFastaFile
QString getMsRunSpWithFileName(const QString &msrun_filename) const
const QJsonDocument & getJsonDocument() const
virtual ~SageFileReader()
const QFileInfo m_sageJsonFile
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...