1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
#ifndef alnparams_h
#define alnparams_h
struct HSPData;
// Gap penalty scores are negative
// (i.e., are scores, not penalties).
struct AlnParams
{
const char *SubstMxName;
const float * const *SubstMx;
bool Nucleo;
bool NucleoSet;
// Local gaps
float LocalOpen;
float LocalExt;
// Global internal gaps
float OpenA;
float OpenB;
float ExtA;
float ExtB;
// Global terminal gaps
float LOpenA;
float LOpenB;
float ROpenA;
float ROpenB;
float LExtA;
float LExtB;
float RExtA;
float RExtB;
void Clear();
void SetLocal(float Open, float Ext);
void Init2(const float * const *Mx, float Open, float Ext);
void Init4(const float * const *Mx, float Open, float Ext, float TermOpen, float TermExt);
void Init(const AlnParams &AP, const HSPData &HSP, unsigned LA, unsigned LB);
void InitFromCmdLine(bool Nucleo);
void SetMxFromCmdLine(bool Nucleo);
void SetPenalties(const string &OpenStr, const string &ExtStr);
float GetLocalOpen() const;
float GetLocalExt() const;
bool GetIsNucleo() const;
bool Is2() const;
bool Is4() const;
const char *GetType() const;
void LogMe() const;
};
const float OBVIOUSLY_WRONG_PENALTY = 1000.0;
#endif // alnparams_h
|