//Copyright 2017 Ryan Wick
//This file is part of Bandage
//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with Bandage. If not, see .
#ifndef RUNBLASTSEARCHWORKER_H
#define RUNBLASTSEARCHWORKER_H
#include
#include
#include
#include "../program/globals.h"
//This class carries out the task of running blastn and/or
//tblastn.
//It is a separate class because when run from the GUI, this
//process takes place in a separate thread.
class RunBlastSearchWorker : public QObject
{
Q_OBJECT
public:
RunBlastSearchWorker(QString blastnCommand, QString tblastnCommand, QString parameters);
QString m_error;
private:
QString m_blastnCommand;
QString m_tblastnCommand;
QString m_parameters;
QString runOneBlastSearch(SequenceType sequenceType, bool * success);
public slots:
void runBlastSearch();
signals:
void finishedSearch(QString error);
};
#endif // RUNBLASTSEARCHWORKER_H