1 /* -*- mode: c; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
3 /*********************************************************************
4 * Clustal Omega - Multiple sequence alignment
6 * Copyright (C) 2010 University College Dublin
8 * Clustal-Omega is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License as
10 * published by the Free Software Foundation; either version 2 of the
11 * License, or (at your option) any later version.
13 * This file is part of Clustal-Omega.
15 ********************************************************************/
18 * RCS $Id: hhfullalignment.h 243 2011-05-31 13:49:19Z fabian $
21 //////////////////////////////////////////////////////////////////////////////
22 // Class for output alignment of query against template sequences
23 //////////////////////////////////////////////////////////////////////////////
28 FullAlignment(int maxseqdis=MAXSEQDIS);
31 int Build(HMM& q, Hit& hit);
32 void PrintHeader(FILE* outf, HMM& q, Hit& hit);
33 void PrintHHR(FILE* outf, Hit& hit);
34 void PrintA2M(FILE* outf, Hit& hit);
35 void PrintFASTA(FILE* outf, Hit& hit);
36 void PrintA3M(FILE* outf, Hit& hit);
37 void OverWriteSeqs(char **ppcFirstProf, char **ppcSecndProf);
38 int identities; // number of identical residues in query and template sequence
39 float score_sim; // substitution matrix similarity score between query and template
42 HalfAlignment* qa; //query and template parts of the alignment
43 HalfAlignment* ta; //query and template parts of the alignment
44 char symbol[LINELEN]; //symbol[h] = symbol (= - . + |) indicating match score for col h of alignment
45 void ClearSymbols() {for (int h=0; h<LINELEN-1; h++) symbol[h]=' ';}
46 void AddColumns(int i, int j, char prev_state, char state, float S);
48 int ScoreChr(float S) {return (S<-1.5?'=':(S<-0.5?'-':(S<0.5?'.':(S<1.5?'+':'|'))));}