StochHMM
v0.34
Flexible Hidden Markov Model C++ Library and Application
Main Page
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
stochTypes.h
Go to the documentation of this file.
1
//
2
// stochTypes.h
3
//Copyright (c) 2007-2012 Paul C Lott
4
//University of California, Davis
5
//Genome and Biomedical Sciences Facility
6
//UC Davis Genome Center
7
//Ian Korf Lab
8
//Website: www.korflab.ucdavis.edu
9
//Email: lottpaul@gmail.com
10
//
11
//Permission is hereby granted, free of charge, to any person obtaining a copy of
12
//this software and associated documentation files (the "Software"), to deal in
13
//the Software without restriction, including without limitation the rights to
14
//use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
15
//the Software, and to permit persons to whom the Software is furnished to do so,
16
//subject to the following conditions:
17
//
18
//The above copyright notice and this permission notice shall be included in all
19
//copies or substantial portions of the Software.
20
//
21
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
//IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
23
//FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
24
//COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
25
//IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
26
//CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27
28
#ifndef StochHMM_stochTypes_h
29
#define StochHMM_stochTypes_h
30
namespace
StochHMM{
31
//! \file stochTypes.h
32
//! Stores enumerated types used in StochHMM library
33
34
//Enumerated Transition identifiers
35
//!\enum enum transType {STANDARD , USER , INTERNAL , LEXICAL};
36
//!Types of Transitions
37
//! STANDARD = Transition has log probability value
38
//! USER = Transition is duration dependent and calculated by user defined distribution
39
//! INTERNAL = Transition is duration dependent and calculated by internal defined distibution
40
//! LEXICAL = Transition is dependent upon the preceeding sequence
41
enum
transType
{
STANDARD
,
DURATION
,
LEXICAL
};
42
43
44
//!\enum tracebackIdentifier { DIFF_STATE , STATE_NAME , STATE_LABEL , STATE_GFF , START_INIT };
45
//! Traceback identifier describe how stochHMM will traceback when using duration dependent distributions
46
//! Types of Tracebacks
47
//! DIFF_STATE = Traceback current state until a different state is encountered
48
//! STATE_NAME = Traceback until STATE_NAME changes from current state, essentially the same as DIFF_STATE
49
//! STATE_LABEL = Traceback until a State with a different label is encountered
50
//! STATE_GFF = Traceback until a State witha a different GFF tag is encountered
51
//! START_INIT = Traceback until the start of the sequence
52
enum
tracebackIdentifier
{
DIFF_STATE
,
STATE_NAME
,
STATE_LABEL
,
STATE_GFF
,
START_INIT
};
53
54
55
//!enum combineIdentifier { FULL , STATENAME , STATELABEL , STATEGFF};
56
//!Describes how a traceback will be processed
57
//! Types of Combine Identifiers
58
//! FULL = No traceback editing will occur
59
//! STATENAME = Edit out all the states that aren't of given State Name
60
//! STATELABEL= Edit out all the states that aren't of given State Label
61
//! STATEGFF = Edit out all the states that aren't of given GFF Tag
62
enum
combineIdentifier
{
FULL
,
STATENAME
,
STATELABEL
,
STATEGFF
};
63
64
//Enumerated Trellis Types
65
//!\enum trellisType {SIMPLE, STOCH, NTH};
66
//!Defines what type of trellis cells to use
67
//!Types of trellis
68
//! SIMPLE = Trellis will only contain single viterbi, forward, and backward values
69
//! STOCH = Trellis will contain multiple viterbi,forward,backward values and traceback probabilities for stochastic tracebacks
70
//! NTH = Trellis will contain N viterbi values for top N tracebacks
71
enum
trellisType
{
SIMPLE
,
STOCH
,
NTH
};
72
73
//!\enum decodingType {VITERBI, POSTERIOR};
74
//!Type of decoding to perform.
75
//! VITERBI = Traceback performed using viterbi value
76
//! FORWARD = Traceback performed using stochastic forward value
77
//! POSTERIOR = Traceback performed using posterior value
78
enum
decodingType
{
VITERBI
,
FORWARD
,
POSTERIOR
};
79
80
//Enumerated Emission Track types
81
//!Track types
82
//! UNDEFINED = NOT DEFINED BY USER
83
//! ALPHA_NUM = Alphabet is letter or word based (discrete)
84
//! REAL = Real number values (continuous)
85
//! EXTERNAL = ???
86
enum
trackType
{
UNDEFINED
,
ALPHA_NUM
,
REAL
,
EXTERNAL
};
87
88
89
//Enumerated Unknown Emission Character Probability Types
90
91
//!enum unknownCharScoringType { DEFINED_SCORE, AVERAGE_SCORE, LOWEST_SCORE, HIGHEST_SCORE, NO_SCORE};
92
//! How to score unknown or ambiguous characters when encountered in emission or transition
93
//! Scoring types:
94
//! DEFINED_SCORE = user-defined score
95
//! AVERAGE_SCORE = average of all possible scores
96
//! LOWEST_SCORE = lowest of the possible scores
97
//! HIGHEST_SCORE = highest of the possible scores
98
//! NO_SCORE = No score will be defined (Produces error if unknown alphabet encountered)
99
enum
unknownCharScoringType
{
DEFINED_SCORE
,
AVERAGE_SCORE
,
LOWEST_SCORE
,
HIGHEST_SCORE
,
NO_SCORE
};
100
101
102
//enum valueType {PROBABILITY, LOG_ODDS, COUNTS, LOG_PROB, PERCENTAGE};
103
//!Value types that are provided by user
104
//!PROBABILITY = basic probability between [0,1]
105
//!LOG_ODDS = log odds score
106
//!COUNTS = word counts
107
//!LOG_PROG = log2 value of probability
108
//!PERCENTAGE = [0,100] or 100*Probability
109
enum
valueType
{
PROBABILITY
,
LOG_ODDS
,
COUNTS
,
LOG_PROB
,
PERCENTAGE
};
110
111
112
}
113
#endif
Generated on Tue Jul 30 2013 13:23:12 for StochHMM by
1.8.1