~ubuntu-branches/ubuntu/karmic/ugene/karmic

« back to all changes in this revision

Viewing changes to src/plugins_3rdparty/uhmmer/src/u_search/HMMSearchTask.h

  • Committer: Bazaar Package Importer
  • Author(s): Ivan Efremov
  • Date: 2009-01-26 19:17:51 UTC
  • Revision ID: james.westby@ubuntu.com-20090126191751-9kqqevd3yf4o098r
Tags: upstream-1.3.2+repack
ImportĀ upstreamĀ versionĀ 1.3.2+repack

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*****************************************************************
 
2
* Unipro UGENE - Integrated Bioinformatics Suite
 
3
* Copyright (C) 2008 Unipro, Russia (http://ugene.unipro.ru)
 
4
* All Rights Reserved
 
5
 
6
*     This source code is distributed under the terms of the
 
7
*     GNU General Public License. See the files COPYING and LICENSE
 
8
*     for details.
 
9
*****************************************************************/
 
10
 
 
11
#ifndef _GB2_HMMSEARCH_TASK_H_
 
12
#define _GB2_HMMSEARCH_TASK_H_
 
13
 
 
14
#include "uhmmsearch.h"
 
15
 
 
16
#include <core_api/LRegion.h>
 
17
#include <core_api/Task.h>
 
18
#include <datatype/DNASequence.h>
 
19
#include <datatype/AnnotationData.h>
 
20
#include <util_tasks/SequenceWalkerTask.h>
 
21
 
 
22
struct plan7_s;
 
23
 
 
24
namespace GB2 {
 
25
 
 
26
class DNATranslation;
 
27
 
 
28
class HMMSearchTaskResult {
 
29
public:
 
30
    HMMSearchTaskResult() : evalue(0), score(0), onCompl(false), onAmino(false){} 
 
31
    float   evalue;
 
32
    float   score;
 
33
    bool    onCompl;
 
34
    bool    onAmino;
 
35
    LRegion r;
 
36
 
 
37
};
 
38
 
 
39
class HMMSearchTaskCachedResult : public HMMSearchTaskResult {
 
40
public:
 
41
        HMMSearchTaskCachedResult() {}
 
42
    LRegion globalReg;
 
43
 
 
44
};
 
45
 
 
46
class HMMSearchTask: public Task, SequenceWalkerCallback {
 
47
    Q_OBJECT
 
48
public:
 
49
    HMMSearchTask(plan7_s* hmm, const DNASequence& seq, const UHMMSearchSettings& s);
 
50
 
 
51
    virtual void prepare();
 
52
    
 
53
    const QList<HMMSearchTaskResult>& getResults() const {return results;}
 
54
 
 
55
    virtual void onRegion(SequenceWalkerSubtask* t, TaskStateInfo& stateInfo);
 
56
 
 
57
        Task::ReportResult report();
 
58
 
 
59
    QList<SharedAnnotationData> getResultsAsAnnotations(const QString& name) const;
 
60
 
 
61
private:
 
62
    bool checkAlphabets(int hmmAl, DNAAlphabet* seqAl, DNATranslation*& complTrans, DNATranslation*& aminoTrans);
 
63
private:
 
64
    plan7_s*                    hmm;
 
65
    DNASequence                 seq;
 
66
    UHMMSearchSettings          settings;
 
67
    DNATranslation*             complTrans;
 
68
    DNATranslation*             aminoTrans;
 
69
    QList<HMMSearchTaskResult>  results;
 
70
        QList<HMMSearchTaskResult>  resultsCompl;
 
71
        QList<HMMSearchTaskCachedResult>  cacheDirect;
 
72
        QList<HMMSearchTaskCachedResult>  cacheCompl;
 
73
};
 
74
 
 
75
 
 
76
 
 
77
}//namespace
 
78
#endif