comparison clustalomega/clustal-omega-0.2.0/src/hhalign/hhfullalignment.h @ 0:ff1768533a07

Migrated tool version 0.2 from old tool shed archive to new tool shed repository
author clustalomega
date Tue, 07 Jun 2011 17:04:25 -0400
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:ff1768533a07
1 /* -*- mode: c; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2
3 /*********************************************************************
4 * Clustal Omega - Multiple sequence alignment
5 *
6 * Copyright (C) 2010 University College Dublin
7 *
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.
12 *
13 * This file is part of Clustal-Omega.
14 *
15 ********************************************************************/
16
17 /*
18 * RCS $Id: hhfullalignment.h 143 2010-10-14 13:11:14Z andreas $
19 */
20
21 //////////////////////////////////////////////////////////////////////////////
22 // Class for output alignment of query against template sequences
23 //////////////////////////////////////////////////////////////////////////////
24
25 class FullAlignment
26 {
27 public:
28 FullAlignment(int maxseqdis=MAXSEQDIS);
29 ~FullAlignment();
30 void FreeMemory();
31 void 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
40
41 private:
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);
47 void AddGaps();
48 int ScoreChr(float S) {return (S<-1.5?'=':(S<-0.5?'-':(S<0.5?'.':(S<1.5?'+':'|'))));}
49 };