1
/*****************************************************************
2
* Unipro UGENE - Integrated Bioinformatics Suite
3
* Copyright (C) 2008 Unipro, Russia (http://ugene.unipro.ru)
6
* This source code is distributed under the terms of the
7
* GNU General Public License. See the files COPYING and LICENSE
9
*****************************************************************/
11
#ifndef _GB2_HMMSEARCH_DIALOG_CONTROLLER_H_
12
#define _GB2_HMMSEARCH_DIALOG_CONTROLLER_H_
14
#include "uhmmsearch.h"
16
#include <ui/ui_HMMSearchDialog.h>
18
#include <core_api/Task.h>
19
#include <core_api/DocumentModel.h>
20
#include <datatype/DNASequence.h>
21
#include <datatype/AnnotationData.h>
23
#include <QtGui/QDialog>
24
#include <QtCore/QPointer>
30
class CreateAnnotationWidgetController;
31
class CreateAnnotationModel;
32
class AnnotationTableObject;
33
class CreateAnnotationsTask;
34
class LoadUnloadedDocumentTask;
37
class HMMSearchTaskResult;
38
class DNASequenceObject;
41
class HMMSearchDialogController : public QDialog, public Ui_HMMSearchDialog {
44
HMMSearchDialogController(const DNASequenceObject* obj, QWidget* p = NULL);
45
~HMMSearchDialogController();
51
void sl_hmmFileClicked();
54
void sl_expSpinBoxValueChanged(int);
56
void sl_onStateChanged();
57
void sl_onProgressChanged();
61
DNASequence dnaSequence;
63
CreateAnnotationWidgetController* createController;
64
CreateAnnotationModel* createModel;
68
//////////////////////////////////////////////////////////////////////////
71
class HMMSearchToAnnotationsTask : public Task {
75
HMMSearchToAnnotationsTask(const QString& hmmFile, const DNASequence& s, AnnotationTableObject* aobj,
76
const QString& group, const QString& aname,
77
const UHMMSearchSettings& settings);
79
virtual QList<Task*> onSubTaskFinished(Task* subTask);
80
QString generateReport() const;
84
DNASequence dnaSequence;
87
UHMMSearchSettings settings;
89
HMMReadTask* readHMMTask;
90
HMMSearchTask* searchTask;
91
CreateAnnotationsTask* createAnnotationsTask;
92
QPointer<AnnotationTableObject> aobj;