libpappsomspp
Library for mass spectrometry
pappso::TandemWrapperRun Class Reference

#include <tandemwrapperrun.h>

Inheritance diagram for pappso::TandemWrapperRun:

Signals

void tandemProgressMessage (QString message)
 

Public Member Functions

 TandemWrapperRun (const QString &tandem_binary, const QString &tmp_dir)
 prepare a tandem run More...
 
void run (UiMonitorInterface &monitor, const QString &tandem_input_file)
 run a tandem job More...
 
void readTandemPresetFile (const QString &tandem_preset_file)
 
QString getMs2FilterSuiteString () const
 gets the list of filters used on MS2 spectrum More...
 
 ~TandemWrapperRun ()
 

Private Slots

void readyReadStandardOutput ()
 
void readyReadStandardError ()
 

Private Member Functions

void setTandemBinaryPath (const QString &tandem_binary_path)
 
const QString checkXtandemVersion (const QString &tandem_bin_path)
 
void wrapTandemInputFile (const QString &tandem_input_file)
 
bool convertOrginalMsData2mzXmlData (const QString &origin, const QString &target)
 
void runTandem (const QString &tandem_input_file)
 run a tandem job More...
 
void writeFinalTandemOutput (const QString &tmp_tandem_output, const QString &final_tandem_output, const QString &original_msdata_file_name)
 tandem output modification tandem output is modified to contain the Bruker's file as input and centroidization parameters More...
 

Private Attributes

UiMonitorInterfacemp_monitor
 
QString m_tandemBinary
 
QString m_tandemVersion
 
QString m_tmpDir
 
int m_maxTandemRunTimeMs
 
QProcess * m_xtProcess = nullptr
 
std::shared_ptr< FilterSuiteStringmsp_ms2FilterSuiteString = nullptr
 
QTemporaryDir * mpa_temporaryDirectory = nullptr
 
bool m_convertMzDataUsingSpectrumIndex = false
 

Detailed Description

Definition at line 60 of file tandemwrapperrun.h.

Constructor & Destructor Documentation

◆ TandemWrapperRun()

pappso::TandemWrapperRun::TandemWrapperRun ( const QString &  tandem_binary,
const QString &  tmp_dir 
)

prepare a tandem run

Parameters
tandem_binaryfile path to tandem.exe if not set, a default value is given in QSettings
tmp_dirtemporary directory, where to write mzXML file conversion if not set, a default value is given in QSettings

Definition at line 49 of file tandemwrapperrun.cpp.

51 {
52 
53  setTandemBinaryPath(tandem_binary);
54 
55  if(!tmp_dir.isEmpty())
56  {
57  mpa_temporaryDirectory = new QTemporaryDir(tmp_dir + "/xtpwrp");
58  }
59  else
60  {
61  mpa_temporaryDirectory = new QTemporaryDir(QDir::tempPath() + "/xtpwrp");
62  }
63  mpa_temporaryDirectory->setAutoRemove(true);
64  if(!mpa_temporaryDirectory->isValid())
65  {
67  QObject::tr("ERROR: unable to create temporary directory %1\n Please "
68  "check file system permissions")
69  .arg(mpa_temporaryDirectory->path()));
70  }
71 }
QTemporaryDir * mpa_temporaryDirectory
void setTandemBinaryPath(const QString &tandem_binary_path)

References mpa_temporaryDirectory, and setTandemBinaryPath().

◆ ~TandemWrapperRun()

pappso::TandemWrapperRun::~TandemWrapperRun ( )

Destructor

Definition at line 73 of file tandemwrapperrun.cpp.

74 {
75  if(mpa_temporaryDirectory != nullptr)
76  {
78  }
79 
80  if(m_xtProcess != nullptr)
81  {
82  m_xtProcess->deleteLater();
83  }
84 }

References m_xtProcess, and mpa_temporaryDirectory.

Member Function Documentation

◆ checkXtandemVersion()

const QString pappso::TandemWrapperRun::checkXtandemVersion ( const QString &  tandem_bin_path)
private

Definition at line 107 of file tandemwrapperrun.cpp.

108 {
109  qDebug();
110  // check tandem path
111  QFileInfo tandem_exe(tandem_bin_path);
112  if(!tandem_exe.exists())
113  {
114  // dir.path() returns the unique directory path
116  QObject::tr(
117  "X!Tandem software not found at %1.\nPlease check the X!Tandem "
118  "installation on your computer and set tandem.exe path.")
119  .arg(tandem_exe.absoluteFilePath()));
120  }
121  if(!tandem_exe.isReadable())
122  {
123  // dir.path() returns the unique directory path
125  QObject::tr("Please check permissions on X!Tandem software found at %1 "
126  "(file not readable).")
127  .arg(tandem_exe.absoluteFilePath()));
128  }
129  if(!tandem_exe.isExecutable())
130  {
131  // dir.path() returns the unique directory path
133  QObject::tr("Please check permissions on X!Tandem software found at %1 "
134  "(file not executable).")
135  .arg(tandem_exe.absoluteFilePath()));
136  }
137 
138 
139  QString version_return;
140  QStringList arguments;
141 
142  arguments << "-v";
143 
144  QProcess *xt_process = new QProcess();
145  // hk_process->setWorkingDirectory(QFileInfo(_hardklor_exe).absolutePath());
146 
147  xt_process->start(tandem_bin_path, arguments);
148 
149  if(!xt_process->waitForStarted())
150  {
152  QObject::tr("X!Tandem %1 process failed to start")
153  .arg(m_tandemVersion));
154  }
155 
156  while(xt_process->waitForReadyRead(1000))
157  {
158  }
159  /*
160  if (!xt_process->waitForFinished(_max_xt_time_ms)) {
161  throw pappso::PappsoException(QObject::tr("can't wait for X!Tandem process
162  to finish : timeout at %1").arg(_max_xt_time_ms));
163  }
164  */
165  QByteArray result = xt_process->readAll();
166 
167 
168  qDebug() << result.constData();
169 
170  // X! TANDEM Jackhammer TPP (2013.06.15.1 - LabKey, Insilicos, ISB)
171 
172  QRegExp parse_version("(.*) TANDEM ([A-Z,a-z, ]+) \\(([^ ,^\\)]*)(.*)");
173  qDebug() << parse_version;
174  // Pattern patt = Pattern.compile("X! TANDEM [A-Z]+ \\‍((.*)\\‍)",
175  // Pattern.CASE_INSENSITIVE);
176 
177  if(parse_version.exactMatch(result.constData()))
178  {
179  version_return = QString("X!Tandem %1 %2")
180  .arg(parse_version.capturedTexts()[2])
181  .arg(parse_version.capturedTexts()[3]); //.join(" ");
182  }
183  else
184  {
186  QObject::tr("This executable %1 may not be a valid X!Tandem software. "
187  "Please check your X!Tandem installation.")
188  .arg(tandem_bin_path));
189  }
190 
191  QProcess::ExitStatus Status = xt_process->exitStatus();
192  delete xt_process;
193  if(Status != 0)
194  {
195  // != QProcess::NormalExit
197  QObject::tr("error executing X!Tandem Status != 0 : %1 %2\n%3")
198  .arg(tandem_bin_path)
199  .arg(arguments.join(" ").arg(result.data())));
200  }
201  qDebug();
202  return version_return;
203 }

References m_tandemVersion.

Referenced by setTandemBinaryPath().

◆ convertOrginalMsData2mzXmlData()

bool pappso::TandemWrapperRun::convertOrginalMsData2mzXmlData ( const QString &  origin,
const QString &  target 
)
private

Definition at line 404 of file tandemwrapperrun.cpp.

406 {
407  qDebug();
408  pappso::MsFileAccessor origin_access(origin, "runa1");
409  origin_access.setPreferedFileReaderType(pappso::MzFormat::brukerTims,
411  origin_access.getMsRunIds();
412 
413  if(origin_access.getFileFormat() == pappso::MzFormat::brukerTims)
414  {
416  }
417 
418  if((origin_access.getFileFormat() == pappso::MzFormat::mzML) ||
419  (origin_access.getFileFormat() == pappso::MzFormat::brukerTims))
420  {
422  QObject::tr("Converting %1 to mzXML %2").arg(origin).arg(target));
423  pappso::MsRunReaderSPtr p_reader;
424  p_reader =
425  origin_access.msRunReaderSp(origin_access.getMsRunIds().front());
426 
427  pappso::TimsMsRunReaderMs2 *tims2_reader =
428  dynamic_cast<pappso::TimsMsRunReaderMs2 *>(p_reader.get());
429  if(tims2_reader != nullptr)
430  {
431  qDebug();
432  tims2_reader->setMs2BuiltinCentroid(true);
433 
434  if(msp_ms2FilterSuiteString != nullptr)
435  {
437  }
438  qDebug();
439  }
440 
441 
442  pappso::MzxmlOutput *p_mzxml_output;
443  QFile output_file(target);
444  // qDebug() << " TsvDirectoryWriter::writeSheet " <<
445  // QFileInfo(*_p_ofile).absoluteFilePath();
446  if(output_file.open(QIODevice::WriteOnly))
447  {
448  p_mzxml_output = new pappso::MzxmlOutput(
449  *mp_monitor, QTextStream(&output_file).device());
450 
451  p_mzxml_output->maskMs1(true);
452 
453  p_mzxml_output->setReadAhead(true);
454 
455  p_mzxml_output->write(p_reader.get());
456 
457  p_mzxml_output->close();
458 
459  delete p_mzxml_output;
460  }
461  else
462  {
464  QObject::tr("unable to write into %1 mzXML output file")
465  .arg(target));
466  }
467 
468  qDebug();
469  return true;
470  }
471  else
472  { // other mz data formats
473  return false;
474  }
475  return true;
476 }
void setReadAhead(bool read_ahead)
Definition: mzxmloutput.cpp:93
void write(MsRunReader *p_msrunreader)
Definition: mzxmloutput.cpp:98
void maskMs1(bool mask_ms1)
UiMonitorInterface * mp_monitor
std::shared_ptr< FilterSuiteString > msp_ms2FilterSuiteString
void setMs2FilterCstSPtr(pappso::FilterInterfaceCstSPtr filter)
void setMs2BuiltinCentroid(bool centroid)
enable or disable simple centroid filter on raw tims data for MS2
virtual void setStatus(const QString &status)=0
current status of the process
std::shared_ptr< MsRunReader > MsRunReaderSPtr
Definition: msrunreader.h:166

References pappso::brukerTims, pappso::MzxmlOutput::close(), pappso::MsFileAccessor::getFileFormat(), pappso::MsFileAccessor::getMsRunIds(), m_convertMzDataUsingSpectrumIndex, pappso::MzxmlOutput::maskMs1(), mp_monitor, msp_ms2FilterSuiteString, pappso::MsFileAccessor::msRunReaderSp(), pappso::mzML, pappso::TimsMsRunReaderMs2::setMs2BuiltinCentroid(), pappso::TimsMsRunReaderMs2::setMs2FilterCstSPtr(), pappso::MsFileAccessor::setPreferedFileReaderType(), pappso::MzxmlOutput::setReadAhead(), pappso::UiMonitorInterface::setStatus(), pappso::tims_ms2, and pappso::MzxmlOutput::write().

Referenced by wrapTandemInputFile().

◆ getMs2FilterSuiteString()

QString pappso::TandemWrapperRun::getMs2FilterSuiteString ( ) const

gets the list of filters used on MS2 spectrum

Returns
string describing filters and associated parameters

Definition at line 557 of file tandemwrapperrun.cpp.

558 {
559  if(msp_ms2FilterSuiteString == nullptr)
560  return "";
561  return msp_ms2FilterSuiteString.get()->toString();
562 }

References msp_ms2FilterSuiteString.

Referenced by writeFinalTandemOutput().

◆ readTandemPresetFile()

void pappso::TandemWrapperRun::readTandemPresetFile ( const QString &  tandem_preset_file)

Definition at line 281 of file tandemwrapperrun.cpp.

282 {
283  // get number of threads and centroid parameters from tandem preset
284 
285  XtandemPresetSaxHandler preset_handler;
286 
287  QFile qfile(tandem_preset_file);
288  QXmlInputSource xmlInputSource(&qfile);
289  QXmlSimpleReader simplereader;
290  simplereader.setContentHandler(&preset_handler);
291  simplereader.setErrorHandler(&preset_handler);
292 
293  if(simplereader.parse(xmlInputSource))
294  {
295 
296  int ideal_number_of_thread = QThread::idealThreadCount();
297  int cpu_number = preset_handler.getNumberOfThreads();
298  qDebug() << " cpu_number=" << cpu_number;
299  // QThreadPool::globalInstance()->setMaxThreadCount(1);
300  if(cpu_number > ideal_number_of_thread)
301  {
302  cpu_number = ideal_number_of_thread;
303  }
304  else
305  {
306  if(cpu_number > 0)
307  {
308  QThreadPool::globalInstance()->setMaxThreadCount(cpu_number);
309 
310  qDebug() << " maxThreadCount="
311  << QThreadPool::globalInstance()->maxThreadCount();
312  }
313  }
314 
315  QString ms2_filters_str = preset_handler.getMs2FiltersOptions();
316  if(!ms2_filters_str.isEmpty())
317  {
319  std::make_shared<pappso::FilterSuiteString>(ms2_filters_str);
320  }
321  else
322  {
324  std::make_shared<pappso::FilterSuiteString>(
325  "chargeDeconvolution|0.02dalton mzExclusion|0.01dalton");
326  }
327  }
328  else
329  {
331  QObject::tr("Error reading %1 X!Tandem preset file :\n %2")
332  .arg(tandem_preset_file)
333  .arg(preset_handler.errorString()));
334  }
335 }

References pappso::XtandemPresetSaxHandler::errorString(), pappso::XtandemPresetSaxHandler::getMs2FiltersOptions(), pappso::XtandemPresetSaxHandler::getNumberOfThreads(), and msp_ms2FilterSuiteString.

Referenced by wrapTandemInputFile().

◆ readyReadStandardError

void pappso::TandemWrapperRun::readyReadStandardError ( )
privateslot

Definition at line 227 of file tandemwrapperrun.cpp.

228 {
229  mp_monitor->appendText(m_xtProcess->readAllStandardError());
230  if(mp_monitor->shouldIstop())
231  {
232  m_xtProcess->kill();
233  delete m_xtProcess;
234  m_xtProcess = nullptr;
236  QObject::tr("X!Tandem stopped by the user"));
237  }
238 }
virtual void appendText(const QString &text)=0
append a text to a long report
virtual bool shouldIstop()=0
should the procces be stopped ? If true, then cancel process Use this function at strategic point of ...

References pappso::UiMonitorInterface::appendText(), m_xtProcess, mp_monitor, and pappso::UiMonitorInterface::shouldIstop().

Referenced by runTandem().

◆ readyReadStandardOutput

void pappso::TandemWrapperRun::readyReadStandardOutput ( )
privateslot

Definition at line 206 of file tandemwrapperrun.cpp.

207 {
208  QString message(m_xtProcess->readAllStandardOutput());
209  mp_monitor->appendText(message);
210 
211  if(message.toLower().contains("error"))
212  {
213  throw pappso::XtandemError(message);
214  }
215 
216  if(mp_monitor->shouldIstop())
217  {
218  m_xtProcess->kill();
219  delete m_xtProcess;
220  m_xtProcess = nullptr;
222  QObject::tr("X!Tandem stopped by the user"));
223  }
224 }

References pappso::UiMonitorInterface::appendText(), m_xtProcess, mp_monitor, and pappso::UiMonitorInterface::shouldIstop().

Referenced by runTandem().

◆ run()

void pappso::TandemWrapperRun::run ( UiMonitorInterface monitor,
const QString &  tandem_input_file 
)

run a tandem job

The tandem input file should contain an additional input parameter called "spectrum, timstof MS2 filters". The value of this parameters must contain a string describing the FilterSuiteString to apply on TimsTOF MS2. A default value of "chargeDeconvolution|0.02dalton" is recommended for this additional tandem input parameter

Parameters
monitoruser interface monitor
tandem_input_filetandem xml input file

Definition at line 479 of file tandemwrapperrun.cpp.

481 {
482  mp_monitor = &monitor;
483 
484  wrapTandemInputFile(tandem_input_file);
485  mp_monitor = nullptr;
486 }
void wrapTandemInputFile(const QString &tandem_input_file)

References mp_monitor, and wrapTandemInputFile().

◆ runTandem()

void pappso::TandemWrapperRun::runTandem ( const QString &  tandem_input_file)
private

run a tandem job

Parameters
tandem_input_filetandem xml input file

Definition at line 488 of file tandemwrapperrun.cpp.

489 {
490  if(mp_monitor->shouldIstop())
491  {
493  QObject::tr("X!Tandem stopped by the user processing on file %1")
494  .arg(tandem_input_file));
495  }
496  m_xtProcess = new QProcess();
497  QStringList arguments;
498 
499  qDebug() << m_tandemBinary << " " << m_xtProcess->arguments();
500 
501  arguments << tandem_input_file;
502  // hk_process->setWorkingDirectory(QFileInfo(_hardklor_exe).absolutePath());
503  m_xtProcess->start(m_tandemBinary, arguments);
504 
505  qDebug() << m_tandemBinary << " " << m_xtProcess->arguments();
506 
507  connect(m_xtProcess,
508  &QProcess::readyReadStandardOutput,
509  this,
511  connect(m_xtProcess,
512  &QProcess::readyReadStandardError,
513  this,
515 
516 
517  qDebug() << m_tandemBinary << " " << m_xtProcess->arguments();
518 
519  mp_monitor->setStatus(QObject::tr("Running X!Tandem"));
520 
521  if(!m_xtProcess->waitForStarted())
522  {
524  QObject::tr("X!Tandem process failed to start"));
525  }
526 
527  qDebug() << m_tandemBinary << " " << m_xtProcess->arguments();
528  while(m_xtProcess->waitForFinished(m_maxTandemRunTimeMs) == false)
529  {
530  //_p_monitor->appendText(xt_process->readAll().data());
531  // data.append(xt_process->readAll());
532  if(mp_monitor->shouldIstop())
533  {
534  m_xtProcess->kill();
535  delete m_xtProcess;
536  m_xtProcess = nullptr;
538  QObject::tr("X!Tandem stopped by the user processing on file %1")
539  .arg(tandem_input_file));
540  }
541  }
542 
543  QProcess::ExitStatus Status = m_xtProcess->exitStatus();
544 
545  delete m_xtProcess;
546  if(Status != QProcess::ExitStatus::NormalExit)
547  {
548  // != QProcess::NormalExit
550  QObject::tr("error executing X!Tandem Status != 0 : %1")
551  .arg(m_tandemBinary));
552  }
553  m_xtProcess = nullptr;
554 }

References m_maxTandemRunTimeMs, m_tandemBinary, m_xtProcess, mp_monitor, readyReadStandardError(), readyReadStandardOutput(), pappso::UiMonitorInterface::setStatus(), and pappso::UiMonitorInterface::shouldIstop().

Referenced by wrapTandemInputFile().

◆ setTandemBinaryPath()

void pappso::TandemWrapperRun::setTandemBinaryPath ( const QString &  tandem_binary_path)
private

Definition at line 87 of file tandemwrapperrun.cpp.

88 {
89 
90 
91  m_tandemBinary = tandem_binary_path;
92  QSettings settings;
93  if(m_tandemBinary.isEmpty())
94  {
96  settings.value("path/tandem_binary", "/usr/bin/tandem").toString();
97  }
98  // check for tandem executable
100 
101  qDebug() << m_tandemVersion;
102  settings.setValue("path/tandem_binary", m_tandemBinary);
103 }
const QString checkXtandemVersion(const QString &tandem_bin_path)

References checkXtandemVersion(), m_tandemBinary, and m_tandemVersion.

Referenced by TandemWrapperRun().

◆ tandemProgressMessage

void pappso::TandemWrapperRun::tandemProgressMessage ( QString  message)
signal

◆ wrapTandemInputFile()

void pappso::TandemWrapperRun::wrapTandemInputFile ( const QString &  tandem_input_file)
private

Definition at line 339 of file tandemwrapperrun.cpp.

340 {
341  // read original tandem input file
342  // store original ms data file name
343  // create new mzXML data file in temporary directory
344  // create new tandem input file based on new mzXML file
345  QString mzxml_data_file_name =
346  mpa_temporaryDirectory->filePath("msdata.mzxml");
347  QString wrapped_tandem_input =
348  mpa_temporaryDirectory->filePath("input_tandem.xml");
349  QString wrapped_tandem_output =
350  mpa_temporaryDirectory->filePath("output_tandem.xml");
351  XtandemInputSaxHandler wrap_input(
352  mzxml_data_file_name, wrapped_tandem_input, wrapped_tandem_output);
353 
354  QFile qfile(tandem_input_file);
355  if(!qfile.exists())
356  {
358  QObject::tr("Tandem input file %1 does not exists")
359  .arg(QFileInfo(tandem_input_file).absoluteFilePath()));
360  }
361  QXmlInputSource xmlInputSource(&qfile);
362  QXmlSimpleReader simplereader;
363  simplereader.setContentHandler(&wrap_input);
364  simplereader.setErrorHandler(&wrap_input);
365 
366  if(simplereader.parse(xmlInputSource))
367  {
368  }
369  else
370  {
372  QObject::tr("Error reading %1 X!Tandem input file :\n %2")
373  .arg(tandem_input_file)
374  .arg(wrap_input.errorString()));
375  }
376 
377  // get number of threads and centroid parameters from tandem preset
378  readTandemPresetFile(wrap_input.getOriginalTandemPresetFileName());
379 
380 
381  // convert to mzXML
382  QString original_msdata_file_name = wrap_input.getOriginalMsDataFileName();
383  if(convertOrginalMsData2mzXmlData(original_msdata_file_name,
384  mzxml_data_file_name))
385  {
386 
387 
388  // launch tandem
389  runTandem(wrapped_tandem_input);
390 
391  // rewrite tandem result file
392  writeFinalTandemOutput(wrapped_tandem_output,
393  wrap_input.getOriginalTandemOutputFileName(),
394  original_msdata_file_name);
395  }
396  else
397  {
398  // launch tandem on original file
399  runTandem(tandem_input_file);
400  }
401 }
bool convertOrginalMsData2mzXmlData(const QString &origin, const QString &target)
void readTandemPresetFile(const QString &tandem_preset_file)
void writeFinalTandemOutput(const QString &tmp_tandem_output, const QString &final_tandem_output, const QString &original_msdata_file_name)
tandem output modification tandem output is modified to contain the Bruker's file as input and centro...
void runTandem(const QString &tandem_input_file)
run a tandem job

References convertOrginalMsData2mzXmlData(), pappso::XtandemInputSaxHandler::errorString(), pappso::XtandemInputSaxHandler::getOriginalMsDataFileName(), pappso::XtandemInputSaxHandler::getOriginalTandemOutputFileName(), pappso::XtandemInputSaxHandler::getOriginalTandemPresetFileName(), mpa_temporaryDirectory, readTandemPresetFile(), runTandem(), and writeFinalTandemOutput().

Referenced by run().

◆ 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_outputraw tandem output filename
final_tandem_outputfinal destination file for modified tandem output

Definition at line 241 of file tandemwrapperrun.cpp.

245 {
246  mp_monitor->setStatus(QObject::tr("Rewriting X!Tandem XML result file"));
247 
248  XtandemOutputSaxHandler wrap_output(final_tandem_output,
249  original_msdata_file_name);
250 
251  wrap_output.setInputParameters("spectrum, timstof MS2 filters",
253 
255  {
256  wrap_output.setInputParameters("output, spectrum index", "true");
257  }
258  else
259  {
260  }
261 
262  QFile qfile(tmp_tandem_output);
263  QXmlInputSource xmlInputSource(&qfile);
264  QXmlSimpleReader simplereader;
265  simplereader.setContentHandler(&wrap_output);
266  simplereader.setErrorHandler(&wrap_output);
267 
268  if(simplereader.parse(xmlInputSource))
269  {
270  }
271  else
272  {
274  QObject::tr("Error reading %1 X!Tandem output file :\n %2")
275  .arg(tmp_tandem_output)
276  .arg(wrap_output.errorString()));
277  }
278 }
QString getMs2FilterSuiteString() const
gets the list of filters used on MS2 spectrum

References pappso::XtandemOutputSaxHandler::errorString(), getMs2FilterSuiteString(), m_convertMzDataUsingSpectrumIndex, mp_monitor, pappso::XtandemOutputSaxHandler::setInputParameters(), and pappso::UiMonitorInterface::setStatus().

Referenced by wrapTandemInputFile().

Member Data Documentation

◆ m_convertMzDataUsingSpectrumIndex

bool pappso::TandemWrapperRun::m_convertMzDataUsingSpectrumIndex = false
private

Definition at line 145 of file tandemwrapperrun.h.

Referenced by convertOrginalMsData2mzXmlData(), and writeFinalTandemOutput().

◆ m_maxTandemRunTimeMs

int pappso::TandemWrapperRun::m_maxTandemRunTimeMs
private
Initial value:
=
1000

Definition at line 137 of file tandemwrapperrun.h.

Referenced by runTandem().

◆ m_tandemBinary

QString pappso::TandemWrapperRun::m_tandemBinary
private

Definition at line 134 of file tandemwrapperrun.h.

Referenced by runTandem(), and setTandemBinaryPath().

◆ m_tandemVersion

QString pappso::TandemWrapperRun::m_tandemVersion
private

Definition at line 135 of file tandemwrapperrun.h.

Referenced by checkXtandemVersion(), and setTandemBinaryPath().

◆ m_tmpDir

QString pappso::TandemWrapperRun::m_tmpDir
private

Definition at line 136 of file tandemwrapperrun.h.

◆ m_xtProcess

QProcess* pappso::TandemWrapperRun::m_xtProcess = nullptr
private

◆ mp_monitor

UiMonitorInterface* pappso::TandemWrapperRun::mp_monitor
private

◆ mpa_temporaryDirectory

QTemporaryDir* pappso::TandemWrapperRun::mpa_temporaryDirectory = nullptr
private

Definition at line 143 of file tandemwrapperrun.h.

Referenced by TandemWrapperRun(), ~TandemWrapperRun(), and wrapTandemInputFile().

◆ msp_ms2FilterSuiteString

std::shared_ptr<FilterSuiteString> pappso::TandemWrapperRun::msp_ms2FilterSuiteString = nullptr
private

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