#include <tandemwrapperrun.h>
Definition at line 59 of file tandemwrapperrun.h.
◆ TandemWrapperRun()
pappso::TandemWrapperRun::TandemWrapperRun |
( |
const QString & |
tandem_binary, |
|
|
const QString & |
tmp_dir, |
|
|
const QString & |
centroid_options |
|
) |
| |
prepare a tandem run
- Parameters
-
tandem_binary | file path to tandem.exe if not set, a default value is given in QSettings |
tmp_dir | temporary directory, where to write mzXML file conversion if not set, a default value is given in QSettings |
centroid_options | controls the way MS2 spectrum are centroided from raw bruker's data if not set, a default value is given in QSettings |
Definition at line 64 of file tandemwrapperrun.cpp.
◆ ~TandemWrapperRun()
pappso::TandemWrapperRun::~TandemWrapperRun |
( |
| ) |
|
◆ checkXtandemVersion()
const QString pappso::TandemWrapperRun::checkXtandemVersion |
( |
const QString & |
tandem_bin_path | ) |
|
|
private |
Definition at line 115 of file tandemwrapperrun.cpp.
123 QObject::tr(
"Please check permissions on X!Tandem software found at %1 "
124 "(file not executable).")
125 .arg(tandem_exe.absoluteFilePath()));
129 QString version_return;
130 QStringList arguments;
134 QProcess *xt_process =
new QProcess();
137 xt_process->start(tandem_bin_path, arguments);
139 if(!xt_process->waitForStarted())
142 QObject::tr(
"X!Tandem %1 process failed to start")
146 while(xt_process->waitForReadyRead(1000))
155 QByteArray result = xt_process->readAll();
158 qDebug() << result.constData();
162 QRegExp parse_version(
"(.*) TANDEM ([A-Z,a-z, ]+) \\(([^ ,^\\)]*)(.*)");
163 qDebug() << parse_version;
167 if(parse_version.exactMatch(result.constData()))
169 version_return = QString(
"X!Tandem %1 %2")
170 .arg(parse_version.capturedTexts()[2])
171 .arg(parse_version.capturedTexts()[3]);
176 QObject::tr(
"This executable %1 may not be a valid X!Tandem software. "
177 "Please check your X!Tandem installation.")
178 .arg(tandem_bin_path));
181 QProcess::ExitStatus Status = xt_process->exitStatus();
187 QObject::tr(
"error executing X!Tandem Status != 0 : %1 %2\n%3")
188 .arg(tandem_bin_path)
189 .arg(arguments.join(
" ").arg(result.data())));
192 return version_return;
◆ convertOrginalMsData2mzXmlData()
void pappso::TandemWrapperRun::convertOrginalMsData2mzXmlData |
( |
const QString & |
origin, |
|
|
const QString & |
target |
|
) |
| const |
|
private |
Definition at line 369 of file tandemwrapperrun.cpp.
401 p_mzxml_output->maskMs1(
true);
403 p_mzxml_output->setReadAhead(
true);
405 p_mzxml_output->write(p_reader.get());
407 p_mzxml_output->close();
412 tr(
"unable to write into %1 mzXML output file").arg(target));
420 QTextStream &output_stream,
421 QTextStream &error_stream)
◆ readTandemPresetFile()
void pappso::TandemWrapperRun::readTandemPresetFile |
( |
const QString & |
tandem_preset_file | ) |
|
Definition at line 267 of file tandemwrapperrun.cpp.
270 cpu_number = ideal_number_of_thread;
276 QThreadPool::globalInstance()->setMaxThreadCount(cpu_number);
278 qDebug() <<
" maxThreadCount="
279 << QThreadPool::globalInstance()->maxThreadCount();
283 if(!preset_handler.getCentroidOptions().isEmpty())
291 QObject::tr(
"Error reading %1 X!Tandem preset file :\n %2")
292 .arg(tandem_preset_file)
293 .arg(preset_handler.errorString()));
305 QString mzxml_data_file_name =
307 QString wrapped_tandem_input =
309 QString wrapped_tandem_output =
311 XtandemInputSaxHandler wrap_input(
312 mzxml_data_file_name, wrapped_tandem_input, wrapped_tandem_output);
◆ readyReadStandardError
void pappso::TandemWrapperRun::readyReadStandardError |
( |
| ) |
|
|
privateslot |
◆ readyReadStandardOutput
void pappso::TandemWrapperRun::readyReadStandardOutput |
( |
| ) |
|
|
privateslot |
◆ run()
void pappso::TandemWrapperRun::run |
( |
const QString & |
tandem_input_file, |
|
|
QTextStream & |
output_stream, |
|
|
QTextStream & |
error_stream |
|
) |
| |
run a tandem job
- Parameters
-
tandem_input_file | tandem xml input file |
output_stream | standard output where to write tandem stdout |
error_stream | standard error where to write tandem stderr |
Definition at line 437 of file tandemwrapperrun.cpp.
◆ runTandem()
void pappso::TandemWrapperRun::runTandem |
( |
const QString & |
tandem_input_file | ) |
|
|
private |
run a tandem job
- Parameters
-
tandem_input_file | tandem xml input file |
Definition at line 450 of file tandemwrapperrun.cpp.
461 QObject::tr(
"X!Tandem process failed to start"));
475 QObject::tr(
"X!Tandem stopped by the user processing on file %1")
476 .arg(tandem_input_file));
480 QProcess::ExitStatus Status =
m_xtProcess->exitStatus();
487 QObject::tr(
"error executing X!Tandem Status != 0 : %1")
◆ setTandemBinaryPath()
void pappso::TandemWrapperRun::setTandemBinaryPath |
( |
const QString & |
tandem_binary_path | ) |
|
|
private |
Definition at line 95 of file tandemwrapperrun.cpp.
101 QFileInfo tandem_exe(tandem_bin_path);
102 if(!tandem_exe.exists())
107 "X!Tandem software not found at %1.\nPlease check the X!Tandem "
108 "installation on your computer and set tandem.exe path.")
109 .arg(tandem_exe.absoluteFilePath()));
111 if(!tandem_exe.isReadable())
◆ shouldIstop()
bool pappso::TandemWrapperRun::shouldIstop |
( |
| ) |
|
|
private |
◆ wrapTandemInputFile()
void pappso::TandemWrapperRun::wrapTandemInputFile |
( |
const QString & |
tandem_input_file | ) |
|
|
private |
Definition at line 317 of file tandemwrapperrun.cpp.
326 QObject::tr(
"Error reading %1 X!Tandem input file :\n %2")
327 .arg(tandem_input_file)
328 .arg(wrap_input.errorString()));
336 QString original_msdata_file_name = wrap_input.getOriginalMsDataFileName();
338 mzxml_data_file_name);
346 wrap_input.getOriginalTandemOutputFileName(),
347 original_msdata_file_name);
352 const QString &target)
const
358 origin_access.getMsRunIds();
361 p_reader = origin_access.msRunReaderSp(origin_access.getMsRunIds().front());
366 if(tims2_reader !=
nullptr)
◆ writeFinalTandemOutput()
void pappso::TandemWrapperRun::writeFinalTandemOutput |
( |
const QString & |
tmp_tandem_output, |
|
|
const QString & |
final_tandem_output, |
|
|
const QString & |
original_msdata_file_name |
|
) |
| |
|
private |
tandem output modification tandem output is modified to contain the Bruker's file as input and centroidization parameters
- Parameters
-
tmp_tandem_output | raw tandem output filename |
final_tandem_output | final destination file for modified tandem output |
Definition at line 236 of file tandemwrapperrun.cpp.
242 QObject::tr(
"Error reading %1 X!Tandem output file :\n %2")
243 .arg(tmp_tandem_output)
244 .arg(wrap_output.errorString()));
253 XtandemPresetSaxHandler preset_handler;
255 QFile qfile(tandem_preset_file);
256 QXmlInputSource xmlInputSource(&qfile);
257 QXmlSimpleReader simplereader;
258 simplereader.setContentHandler(&preset_handler);
259 simplereader.setErrorHandler(&preset_handler);
261 if(simplereader.parse(xmlInputSource))
264 int ideal_number_of_thread = QThread::idealThreadCount();
◆ m_centroidOptions
QString pappso::TandemWrapperRun::m_centroidOptions |
|
private |
◆ m_maxTandemRunTimeMs
int pappso::TandemWrapperRun::m_maxTandemRunTimeMs = (60000 * 60 * 24) |
|
private |
◆ m_tandemBinary
QString pappso::TandemWrapperRun::m_tandemBinary |
|
private |
◆ m_tandemVersion
QString pappso::TandemWrapperRun::m_tandemVersion |
|
private |
◆ m_tmpDir
QString pappso::TandemWrapperRun::m_tmpDir |
|
private |
◆ m_xtProcess
QProcess* pappso::TandemWrapperRun::m_xtProcess = nullptr |
|
private |
◆ mp_errorStream
QTextStream* pappso::TandemWrapperRun::mp_errorStream = nullptr |
|
private |
◆ mp_outputStream
QTextStream* pappso::TandemWrapperRun::mp_outputStream = nullptr |
|
private |
◆ mpa_temporaryDirectory
QTemporaryDir* pappso::TandemWrapperRun::mpa_temporaryDirectory = nullptr |
|
private |
The documentation for this class was generated from the following files: