libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
pappso::cbor::psm::SageFileReader Class Reference

#include <sagefilereader.h>

Public Member Functions

 SageFileReader (pappso::UiMonitorInterface *p_monitor, pappso::cbor::CborStreamWriter *p_output, const QFileInfo &sage_json_file)
 
virtual ~SageFileReader ()
 
const QJsonDocument & getJsonDocument () const
 
QString getMsRunSpWithFileName (const QString &msrun_filename) const
 

Private Member Functions

void readJson ()
 

Private Attributes

const QFileInfo m_sageJsonFile
 
QJsonDocument m_jsonData
 
std::map< QString, QString > m_mapFilePath2MsRunSp
 
QString m_sageVersion
 
pappso::cbor::CborStreamWritermp_cborWriter
 
QString m_decoyTag
 
bool m_generateDecoy = false
 
QStringList m_targetFastaFile
 

Detailed Description

Todo
write docs

Definition at line 46 of file sagefilereader.h.

Constructor & Destructor Documentation

◆ SageFileReader()

pappso::cbor::psm::SageFileReader::SageFileReader ( pappso::UiMonitorInterface * p_monitor,
pappso::cbor::CborStreamWriter * p_output,
const QFileInfo & sage_json_file )

Default constructor

Definition at line 47 of file sagefilereader.cpp.

50 : m_sageJsonFile(sage_json_file)
51{
52 qDebug() << m_sageJsonFile.absoluteFilePath() << "'";
53 try
54 {
55
56 mp_cborWriter = p_output;
57
58 mp_cborWriter->startMap();
59 mp_cborWriter->writeInformations(
60 "sage_file_reader", Utils::getVersion(), "psm", "sage reader");
61
62 QDir::setCurrent(sage_json_file.absolutePath());
63 readJson();
64 mp_cborWriter->append("parameter_map");
65 mp_cborWriter->startMap();
66 mp_cborWriter->append("sage");
67 QCborValue::fromJsonValue(m_jsonData.object()).toCbor(*mp_cborWriter);
68 mp_cborWriter->endMap();
69
70 p_monitor->setStatus(
71 QObject::tr("reading Sage json file %1").arg(sage_json_file.absoluteFilePath()));
72
73 // "decoy_tag": "rev_",
74 // "generate_decoys": true,
75 // "target_fasta_files": ["zea_mays.fasta", "contaminant.fasta"],
76 //"decoy_fasta_files": ["rev_zea_mays.fasta", "rev_contaminant.fasta"],
77
78 mp_cborWriter->append("target_fasta_files");
80
81 SageReader sage_reader(p_monitor, mp_cborWriter, *this, sage_json_file.absoluteFilePath());
82 sage_reader.read();
83
84 // mp_cborWriter->append("protein_map");
85 // sage_reader.getPsmProteinMap().
86
87 mp_cborWriter->endMap();
88 }
89 catch(pappso::ExceptionNotRecognized &err)
90 {
91 throw err;
92 }
93 catch(pappso::PappsoException &other_err)
94 {
95 throw pappso::PappsoException(QObject::tr("Error reading Sage JSON file %1:\n%2")
96 .arg(m_sageJsonFile.absoluteFilePath())
97 .arg(other_err.qwhat()));
98 }
99}
virtual const QString & qwhat() const
virtual void setStatus(const QString &status)=0
current status of the process
static QString getVersion()
Definition utils.cpp:623
pappso::cbor::CborStreamWriter * mp_cborWriter

References pappso::Utils::getVersion(), m_jsonData, m_sageJsonFile, m_targetFastaFile, mp_cborWriter, pappso::PappsoException::qwhat(), pappso::cbor::psm::SageReader::read(), readJson(), and pappso::UiMonitorInterface::setStatus().

◆ ~SageFileReader()

pappso::cbor::psm::SageFileReader::~SageFileReader ( )
virtual

Destructor

Definition at line 102 of file sagefilereader.cpp.

103{
104}

Member Function Documentation

◆ getJsonDocument()

const QJsonDocument & pappso::cbor::psm::SageFileReader::getJsonDocument ( ) const

Definition at line 160 of file sagefilereader.cpp.

161{
162 return m_jsonData;
163}

References m_jsonData.

◆ getMsRunSpWithFileName()

QString pappso::cbor::psm::SageFileReader::getMsRunSpWithFileName ( const QString & msrun_filename) const

Definition at line 167 of file sagefilereader.cpp.

168{
169 auto it = m_mapFilePath2MsRunSp.find(msrun_filename);
170 if(it != m_mapFilePath2MsRunSp.end())
171 return it->second;
172
173
174 throw pappso::PappsoException(QObject::tr("msrun filename %1 not found").arg(msrun_filename));
175}
std::map< QString, QString > m_mapFilePath2MsRunSp

References m_mapFilePath2MsRunSp.

◆ readJson()

void pappso::cbor::psm::SageFileReader::readJson ( )
private

Definition at line 108 of file sagefilereader.cpp.

109{
110 QFile mfile(m_sageJsonFile.absoluteFilePath());
111 if(!mfile.open(QFile::ReadOnly))
112 {
113 throw pappso::ExceptionNotRecognized(
114 QObject::tr("Unable to read Sage JSON file %1").arg(m_sageJsonFile.absoluteFilePath()));
115 }
116 QByteArray iContents = mfile.readAll();
117
118 QJsonParseError parseError;
119 m_jsonData = QJsonDocument::fromJson(iContents, &parseError);
120 if(parseError.error != QJsonParseError::NoError)
121 {
122 throw pappso::ExceptionNotRecognized(QObject::tr("Error reading Sage JSON file %1 at %2:%3")
123 .arg(m_sageJsonFile.absoluteFilePath())
124 .arg(parseError.offset)
125 .arg(parseError.errorString()));
126 }
127
128 QJsonValue mzml_value = m_jsonData.object().value("mzml_paths");
129
130 if(mzml_value.isNull())
131 {
132 throw pappso::ExceptionNotRecognized(
133 QObject::tr("Sage JSON file %1 does not contain mzml_paths")
134 .arg(m_sageJsonFile.absoluteFilePath()));
135 }
136 for(const QJsonValue &value : m_jsonData.object().value("mzml_paths").toArray())
137 {
138 qDebug() << value.toString();
139
140 // MsRunSp msrun_sp = p_project->getMsRunStore().getInstance(value.toString());
142 {QFileInfo(value.toString()).fileName(), QFileInfo(value.toString()).absoluteFilePath()});
143 }
144
145
146 m_sageVersion = m_jsonData.object().value("version").toString();
147
148
149 QJsonObject sage_object = m_jsonData.object();
150
151
152 QJsonObject database = sage_object.value("database").toObject();
153
154 m_decoyTag = database.value("decoy_tag").toString();
155 m_generateDecoy = database.value("generate_decoy").toBool();
156 m_targetFastaFile << database.value("fasta").toString();
157}

References m_decoyTag, m_generateDecoy, m_jsonData, m_mapFilePath2MsRunSp, m_sageJsonFile, m_sageVersion, and m_targetFastaFile.

Referenced by SageFileReader().

Member Data Documentation

◆ m_decoyTag

QString pappso::cbor::psm::SageFileReader::m_decoyTag
private

Definition at line 74 of file sagefilereader.h.

Referenced by readJson().

◆ m_generateDecoy

bool pappso::cbor::psm::SageFileReader::m_generateDecoy = false
private

Definition at line 75 of file sagefilereader.h.

Referenced by readJson().

◆ m_jsonData

QJsonDocument pappso::cbor::psm::SageFileReader::m_jsonData
private

Definition at line 69 of file sagefilereader.h.

Referenced by SageFileReader(), getJsonDocument(), and readJson().

◆ m_mapFilePath2MsRunSp

std::map<QString, QString> pappso::cbor::psm::SageFileReader::m_mapFilePath2MsRunSp
private

Definition at line 71 of file sagefilereader.h.

Referenced by getMsRunSpWithFileName(), and readJson().

◆ m_sageJsonFile

const QFileInfo pappso::cbor::psm::SageFileReader::m_sageJsonFile
private

Definition at line 68 of file sagefilereader.h.

Referenced by SageFileReader(), and readJson().

◆ m_sageVersion

QString pappso::cbor::psm::SageFileReader::m_sageVersion
private

Definition at line 72 of file sagefilereader.h.

Referenced by readJson().

◆ m_targetFastaFile

QStringList pappso::cbor::psm::SageFileReader::m_targetFastaFile
private

Definition at line 76 of file sagefilereader.h.

Referenced by SageFileReader(), and readJson().

◆ mp_cborWriter

pappso::cbor::CborStreamWriter* pappso::cbor::psm::SageFileReader::mp_cborWriter
private

Definition at line 73 of file sagefilereader.h.

Referenced by SageFileReader().


The documentation for this class was generated from the following files: