/* -*- mode: c; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */ /********************************************************************* * Clustal Omega - Multiple sequence alignment * * Copyright (C) 2010 University College Dublin * * Clustal-Omega is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This file is part of Clustal-Omega. * ********************************************************************/ /* * RCS $Id: hhfullalignment.h 243 2011-05-31 13:49:19Z fabian $ */ ////////////////////////////////////////////////////////////////////////////// // Class for output alignment of query against template sequences ////////////////////////////////////////////////////////////////////////////// class FullAlignment { public: FullAlignment(int maxseqdis=MAXSEQDIS); ~FullAlignment(); void FreeMemory(); int Build(HMM& q, Hit& hit); void PrintHeader(FILE* outf, HMM& q, Hit& hit); void PrintHHR(FILE* outf, Hit& hit); void PrintA2M(FILE* outf, Hit& hit); void PrintFASTA(FILE* outf, Hit& hit); void PrintA3M(FILE* outf, Hit& hit); void OverWriteSeqs(char **ppcFirstProf, char **ppcSecndProf); 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 void ClearSymbols() {for (int h=0; h