Mercurial > repos > clustalomega > clustalomega
view 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 |
line wrap: on
line source
/* -*- 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 143 2010-10-14 13:11:14Z andreas $ */ ////////////////////////////////////////////////////////////////////////////// // Class for output alignment of query against template sequences ////////////////////////////////////////////////////////////////////////////// class FullAlignment { public: FullAlignment(int maxseqdis=MAXSEQDIS); ~FullAlignment(); void FreeMemory(); void 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<LINELEN-1; h++) symbol[h]=' ';} void AddColumns(int i, int j, char prev_state, char state, float S); void AddGaps(); int ScoreChr(float S) {return (S<-1.5?'=':(S<-0.5?'-':(S<0.5?'.':(S<1.5?'+':'|'))));} };