Clustal Omega 1.2.4
clustal-omega.h
Go to the documentation of this file.
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: clustal-omega.h 212 2011-03-10 15:09:46Z andreas $
19 */
20
21#ifndef CLUSTALO_H
22#define CLUSTALO_H
23
24
25
26#ifdef HAVE_OPENMP
27#include <omp.h>
28#endif
29#include <stdbool.h>
30
31#include "clustal-omega-config.h"
32
33/* the following needs to be kept in sync with library_include_HEADERS of all
34 * subdir Makefile.am's
35 */
36
37/* hhalign */
38#include "hhalign/general.h"
39#include "hhalign/hhfunc.h"
40
41
42/* clustal */
43#include "clustal/log.h"
44#include "clustal/util.h"
45#include "clustal/symmatrix.h"
46#include "clustal/tree.h"
47#include "clustal/seq.h"
48#include "clustal/mbed.h"
49#include "clustal/weights.h"
50#include "clustal/pair_dist.h"
52
53
54
55#define CLUSTERING_UNKNOWN 0
56#define CLUSTERING_UPGMA 1
57
58/* weights will be computed if 1. but are not really used for now and they
59 * might slow things down. also, mbed's screws up branch lengths which will
60 * have a negative effect on weights
61*/
62#define USE_WEIGHTS 0
63
64extern int iNumberOfThreads;
65
66/* output order */
68
69
76typedef struct {
77 /* auto: Clustal (know what) is good for you
78 */
80
81 /* Distance matrix
82 */
87
88 /* Clustering / guide-tree
89 */
116
117 /* HMMs
118 */
126
127 /* Iteration
128 */
137
138 hhalign_para rHhalignPara;
139
140 /* changes here will have to be reflected in FreeAlnOpts(),
141 * SetDefaultAlnOpts(), AlnOptsLogicCheck() etc
142 */
143} opts_t;
144
145
146
147extern void
148PrintLongVersion(char *pcStr, int iSize);
149
150extern void
152
153extern void
154FreeAlnOpts(opts_t *aln_opts);
155
156extern void
158
159extern void
160PrintAlnOpts(FILE *prFile, opts_t *opts);
161
162extern void
163InitClustalOmega(int iNumThreadsToUse);
164
165extern void
166SequentialAlignmentOrder(int **piOrderLR_p, int iNumSeq);
167
168extern int
169AlignmentOrder(int **piOrderLR_p, double **pdSeqWeights_p, mseq_t *prMSeq,
170 int iPairDistType, char *pcDistmatInfile, char *pcDistmatOutfile,
171 int iClusteringType, int iClustersizes,
172 char *pcGuidetreeInfile, char *pcGuidetreeOutfile, char *pcClusterFile,
173 bool bUseMBed, bool bPercID);
174
175extern int
176Align(mseq_t *prMSeq,
177 mseq_t *prMSeqProfile,
178 opts_t *prOpts);
179
180extern int
181AlignProfiles(mseq_t *prMSeqProfile1,
182 mseq_t *prMSeqProfile2, hhalign_para rHhalignPara);
183
184#endif
185extern int
186ReadPseudoCountParams(hhalign_para *rHhalignPara_p, char *pcPseudoFile);
void SetDefaultAlnOpts(opts_t *opts)
Sets members of given user opts struct to default values.
Definition clustal-omega.c:189
void AlnOptsLogicCheck(opts_t *opts)
Check logic of parsed user options. Will exit (call Log(&rLog, LOG_FATAL, )) on Fatal logic error.
Definition clustal-omega.c:232
int Align(mseq_t *prMSeq, mseq_t *prMSeqProfile, opts_t *prOpts)
The main alignment function which wraps everything else.
Definition clustal-omega.c:960
int ReadPseudoCountParams(hhalign_para *rHhalignPara_p, char *pcPseudoFile)
read pseudo-count 'fudge' parameters from file
Definition clustal-omega.c:1532
void FreeAlnOpts(opts_t *aln_opts)
free aln opts members
Definition clustal-omega.c:163
void PrintAlnOpts(FILE *prFile, opts_t *opts)
FIXME doc.
Definition clustal-omega.c:281
void SequentialAlignmentOrder(int **piOrderLR_p, int iNumSeq)
Defines an alignment order, which adds sequences sequentially, i.e. one at a time starting with seq 1...
Definition clustal-omega.c:657
void PrintLongVersion(char *pcStr, int iSize)
Print Long version information to pre-allocated char.
Definition clustal-omega.c:149
int iNumberOfThreads
Definition clustal-omega.c:131
int AlignmentOrder(int **piOrderLR_p, double **pdSeqWeights_p, mseq_t *prMSeq, int iPairDistType, char *pcDistmatInfile, char *pcDistmatOutfile, int iClusteringType, int iClustersizes, char *pcGuidetreeInfile, char *pcGuidetreeOutfile, char *pcClusterFile, bool bUseMBed, bool bPercID)
Defines the alignment order by calculating a guide tree. In a first-step pairwise distances will be c...
Definition clustal-omega.c:755
@ INPUT_ORDER
Definition clustal-omega.h:67
@ TREE_ORDER
Definition clustal-omega.h:67
int AlignProfiles(mseq_t *prMSeqProfile1, mseq_t *prMSeqProfile2, hhalign_para rHhalignPara)
Align two profiles, ie two sets of prealigned sequences. Already aligned columns won't be changed.
Definition clustal-omega.c:1484
void InitClustalOmega(int iNumThreadsToUse)
FIXME.
Definition clustal-omega.c:622
structure for storing multiple sequences
Definition seq.h:47
Definition clustal-omega.h:76
int iPairDistType
Definition clustal-omega.h:101
int iTransitivity
Definition clustal-omega.h:97
bool bUseMbed
Definition clustal-omega.h:103
char * pcDistmatOutfile
Definition clustal-omega.h:86
int iClustersizes
Definition clustal-omega.h:93
int iMaxHMMIterations
Definition clustal-omega.h:134
bool bIterationsAuto
Definition clustal-omega.h:132
int iClusteringType
Definition clustal-omega.h:91
bool bUseMbedForIteration
Definition clustal-omega.h:105
bool bPileup
Definition clustal-omega.h:107
int iHMMInputFiles
Definition clustal-omega.h:123
hhalign_para rHhalignPara
Definition clustal-omega.h:138
char * pcGuidetreeOutfile
Definition clustal-omega.h:109
char * pcDistmatInfile
Definition clustal-omega.h:84
char * pcClustfile
Definition clustal-omega.h:95
bool bUseKimura
Definition clustal-omega.h:113
int iMaxGuidetreeIterations
Definition clustal-omega.h:136
bool bPercID
Definition clustal-omega.h:115
char ** ppcHMMInput
Definition clustal-omega.h:120
char * pcPosteriorfile
Definition clustal-omega.h:99
char * pcHMMBatch
Definition clustal-omega.h:125
char * pcGuidetreeInfile
Definition clustal-omega.h:111
bool bAutoOptions
Definition clustal-omega.h:79
int iNumIterations
Definition clustal-omega.h:130