///////////////////////////////////////////////////////////////////////////////////// // Class for output alignment of query against template sequences ///////////////////////////////////////////////////////////////////////////////////// #include "hhhalfalignment.h" #ifndef HHFULLALIGNMENT_H #define HHFULLALIGNMENT_H #include class FullAlignment { public: explicit FullAlignment(int maxseqdis); ~FullAlignment(); void FreeMemory(); void Build(HMM* q, Hit& hit, const int nseqdis, const float S[20][20]); void PrintHeader(std::stringstream& out, HMM* q, Hit& hit); void PrintHHR(std::stringstream& out, Hit& hit, const char showconf, const char showcons, const char showdssp, const char showpred, const int aliwidth, const int maxseq); void PrintA2M(std::stringstream& out, Hit& hit, const char showcons, const char showdssp, const char showpred, const int aliwidth); void PrintFASTA(std::stringstream& out, Hit& hit, const char showcons, const char showdssp, const char showpred, const int aliwidth); void PrintA3M(std::stringstream& out, Hit& hit, const char showcons, const char showdssp, const char showpred, const int aliwidth); int identities; // number of identical residues in query and template sequence float score_sim; // substitution matrix similarity score between query and template private: HalfAlignment* qa; // query and template parts of the alignment HalfAlignment* ta; // query and template parts of the alignment char symbol[LINELEN]; // symbol[h] = symbol (= - . + |) indicating match score for col h of alignment char posterior[LINELEN]; // posterior probability for pair of aligned columns void ClearSymbols() {for (int h=0; h