#include <tandemwrapperrun.h>
Definition at line 61 of file tandemwrapperrun.h.
◆ TandemWrapperRun()
pappso::TandemWrapperRun::TandemWrapperRun |
( |
const QString & |
tandem_binary, |
|
|
const QString & |
tmp_dir |
|
) |
| |
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 |
Definition at line 65 of file tandemwrapperrun.cpp.
65 : unable to create temporary directory %1\n Please
"
66 "check file system permissions
")
67 .arg(mpa_temporaryDirectory->path()));
71 TandemWrapperRun::~TandemWrapperRun()
73 if(mpa_temporaryDirectory != nullptr)
75 delete mpa_temporaryDirectory;
80 TandemWrapperRun::setTandemBinaryPath(const QString &tandem_binary_path)
84 m_tandemBinary = tandem_binary_path;
86 if(m_tandemBinary.isEmpty())
◆ ~TandemWrapperRun()
pappso::TandemWrapperRun::~TandemWrapperRun |
( |
| ) |
|
◆ checkXtandemVersion()
const QString pappso::TandemWrapperRun::checkXtandemVersion |
( |
const QString & |
tandem_bin_path | ) |
|
|
private |
Definition at line 118 of file tandemwrapperrun.cpp.
126 QObject::tr(
"Please check permissions on X!Tandem software found at %1 "
127 "(file not executable).")
128 .arg(tandem_exe.absoluteFilePath()));
132 QString version_return;
133 QStringList arguments;
137 QProcess *xt_process =
new QProcess();
140 xt_process->start(tandem_bin_path, arguments);
142 if(!xt_process->waitForStarted())
145 QObject::tr(
"X!Tandem %1 process failed to start")
149 while(xt_process->waitForReadyRead(1000))
158 QByteArray result = xt_process->readAll();
161 qDebug() << result.constData();
165 QRegExp parse_version(
"(.*) TANDEM ([A-Z,a-z, ]+) \\(([^ ,^\\)]*)(.*)");
166 qDebug() << parse_version;
170 if(parse_version.exactMatch(result.constData()))
172 version_return = QString(
"X!Tandem %1 %2")
173 .arg(parse_version.capturedTexts()[2])
174 .arg(parse_version.capturedTexts()[3]);
179 QObject::tr(
"This executable %1 may not be a valid X!Tandem software. "
180 "Please check your X!Tandem installation.")
181 .arg(tandem_bin_path));
184 QProcess::ExitStatus Status = xt_process->exitStatus();
190 QObject::tr(
"error executing X!Tandem Status != 0 : %1 %2\n%3")
191 .arg(tandem_bin_path)
192 .arg(arguments.join(
" ").arg(result.data())));
195 return version_return;
◆ convertOrginalMsData2mzXmlData()
void pappso::TandemWrapperRun::convertOrginalMsData2mzXmlData |
( |
const QString & |
origin, |
|
|
const QString & |
target |
|
) |
| const |
|
private |
Definition at line 366 of file tandemwrapperrun.cpp.
372 std::shared_ptr<FilterSuite> ms2filter =
373 std::make_shared<FilterSuite>();
375 ms2filter.get()->push_back(
376 std::make_shared<FilterChargeDeconvolution>(
379 tims2_reader->setMs2FilterCstSPtr(ms2filter);
386 QFile output_file(target);
389 if(output_file.open(QIODevice::WriteOnly))
398 p_mzxml_output->
write(p_reader.get());
400 p_mzxml_output->
close();
405 tr(
"unable to write into %1 mzXML output file").arg(target));
413 QTextStream &output_stream,
414 QTextStream &error_stream)
References msp_ms2FilterSuite, and pappso::TimsMsRunReaderMs2::setMs2FilterCstSPtr().
◆ getMs2FilterSuite()
std::shared_ptr< FilterSuite > pappso::TandemWrapperRun::getMs2FilterSuite |
( |
| ) |
const |
gets the list of filters used on MS2 spectrum
- Returns
- vector of filters applied on MS2 spectrums
Definition at line 511 of file tandemwrapperrun.cpp.
◆ 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();
286 QObject::tr(
"Error reading %1 X!Tandem preset file :\n %2")
287 .arg(tandem_preset_file)
288 .arg(preset_handler.errorString()));
300 QString mzxml_data_file_name =
302 QString wrapped_tandem_input =
304 QString wrapped_tandem_output =
306 XtandemInputSaxHandler wrap_input(
307 mzxml_data_file_name, wrapped_tandem_input, wrapped_tandem_output);
◆ readyReadStandardError
void pappso::TandemWrapperRun::readyReadStandardError |
( |
| ) |
|
|
privateslot |
◆ readyReadStandardOutput
void pappso::TandemWrapperRun::readyReadStandardOutput |
( |
| ) |
|
|
privateslot |
Definition at line 225 of file tandemwrapperrun.cpp.
227 XtandemOutputSaxHandler wrap_output(final_tandem_output,
228 original_msdata_file_name);
◆ 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 430 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 442 of file tandemwrapperrun.cpp.
453 QObject::tr(
"X!Tandem process failed to start"));
467 QObject::tr(
"X!Tandem stopped by the user processing on file %1")
468 .arg(tandem_input_file));
472 QProcess::ExitStatus Status =
m_xtProcess->exitStatus();
479 QObject::tr(
"error executing X!Tandem Status != 0 : %1")
487 const std::shared_ptr<FilterSuite> ms2filter)
492 std::shared_ptr<FilterSuite>
◆ setMs2FilterSuite()
void pappso::TandemWrapperRun::setMs2FilterSuite |
( |
const std::shared_ptr< FilterSuite > |
ms2filter | ) |
|
sets optional filters to use on MS2 spectrum
- Parameters
-
ms2filter | vector of filters applied on MS2 spectrums |
Definition at line 504 of file tandemwrapperrun.cpp.
◆ setTandemBinaryPath()
void pappso::TandemWrapperRun::setTandemBinaryPath |
( |
const QString & |
tandem_binary_path | ) |
|
|
private |
Definition at line 98 of file tandemwrapperrun.cpp.
104 QFileInfo tandem_exe(tandem_bin_path);
105 if(!tandem_exe.exists())
110 "X!Tandem software not found at %1.\nPlease check the X!Tandem "
111 "installation on your computer and set tandem.exe path.")
112 .arg(tandem_exe.absoluteFilePath()));
114 if(!tandem_exe.isReadable())
◆ shouldIstop()
bool pappso::TandemWrapperRun::shouldIstop |
( |
| ) |
|
|
private |
◆ wrapTandemInputFile()
void pappso::TandemWrapperRun::wrapTandemInputFile |
( |
const QString & |
tandem_input_file | ) |
|
|
private |
Definition at line 312 of file tandemwrapperrun.cpp.
321 QObject::tr(
"Error reading %1 X!Tandem input file :\n %2")
322 .arg(tandem_input_file)
323 .arg(wrap_input.errorString()));
331 QString original_msdata_file_name = wrap_input.getOriginalMsDataFileName();
332 qDebug() <<
"DDDDDDDDDDD" << original_msdata_file_name
333 << wrap_input.getOriginalTandemOutputFileName();
335 mzxml_data_file_name);
343 wrap_input.getOriginalTandemOutputFileName(),
344 original_msdata_file_name);
349 const QString &target)
const
355 origin_access.getMsRunIds();
358 p_reader = origin_access.msRunReaderSp(origin_access.getMsRunIds().front());
362 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 239 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();
References pappso::XtandemOutputSaxHandler::errorString().
◆ 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 |
◆ msp_ms2FilterSuite
std::shared_ptr<FilterSuite> pappso::TandemWrapperRun::msp_ms2FilterSuite |
|
private |
The documentation for this class was generated from the following files: