#include <assert.h>
#include "clustal-omega.h"
#include "clustal-omega-config.h"
#include "hhalign/general.h"
#include "hhalign/hhfunc.h"
#include "clustal/log.h"
#include "clustal/util.h"
#include "clustal/symmatrix.h"
#include "clustal/tree.h"
#include "clustal/seq.h"
#include "clustal/mbed.h"
#include "clustal/weights.h"
#include "clustal/pair_dist.h"
#include "clustal/hhalign_wrapper.h"
Defines | |
#define | INDIRECT_HMM 0 |
#define | USEHMMER 1 |
#define | USEHHMAKE (!USEHMMER) |
#define | SHUFFLE_INPUT_SEQ_ORDER 0 |
#define | SORT_INPUT_SEQS 0 |
#define | PRINT_TAIL 5 |
Functions | |
void | PrintLongVersion (char *pcStr, int iSize) |
Print Long version information to pre-allocated char. | |
void | FreeAlnOpts (opts_t *prAlnOpts) |
free aln opts members | |
void | SetDefaultAlnOpts (opts_t *prOpts) |
Sets members of given user opts struct to default values. | |
void | AlnOptsLogicCheck (opts_t *prOpts) |
Check logic of parsed user options. Will exit (call Log(&rLog, LOG_FATAL, )) on Fatal logic error. | |
void | PrintAlnOpts (FILE *prFile, opts_t *prOpts) |
FIXME doc. | |
int | HmmerVersion () |
Returns major version of HMMER. Whichever hmmbuild version is found first in your PATH will be used. | |
int | AlnToHHMFile (mseq_t *prMSeq, char *pcHMMOut) |
Create a HHM file from aligned sequences. | |
int | AlnToHMMFile (mseq_t *prMSeq, const char *pcHMMOut) |
Create a HMM file from aligned sequences. | |
int | AlnToHMM (hmm_light *prHMM, mseq_t *prMSeq) |
Convert a multiple sequence structure into a HMM. | |
void | InitClustalOmega (int iNumThreadsRequested) |
FIXME. | |
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 & 2. | |
int | AlignmentOrder (int **piOrderLR_p, double **pdSeqWeights_p, mseq_t *prMSeq, int iPairDistType, char *pcDistmatInfile, char *pcDistmatOutfile, int iClusteringType, char *pcGuidetreeInfile, char *pcGuidetreeOutfile, bool bUseMbed) |
Defines the alignment order by calculating a guide tree. In a first-step pairwise distances will be calculated (or read from a file). In a second step those distances will be clustered and a guide-tree created. Steps 1 and 2 will be skipped if a guide-tree file was given, in which case the guide-tree will be just read from the file. | |
void | SetAutoOptions (opts_t *prOpts, int iNumSeq) |
Set some options automatically based on number of sequences. Might overwrite some user-set options. | |
int | Align (mseq_t *prMSeq, mseq_t *prMSeqProfile, opts_t *prOpts) |
The main alignment function which wraps everything else. | |
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. | |
Variables | |
int | iNumberOfThreads |
#define INDIRECT_HMM 0 |
#define PRINT_TAIL 5 |
#define SHUFFLE_INPUT_SEQ_ORDER 0 |
#define SORT_INPUT_SEQS 0 |
#define USEHHMAKE (!USEHMMER) |
#define USEHMMER 1 |
The main alignment function which wraps everything else.
[out] | prMSeq | *the* multiple sequences structure |
[in] | prMSeqProfile | optional profile to align against |
[in] | prOpts | alignment options to use |
int AlignmentOrder | ( | int ** | piOrderLR_p, | |
double ** | pdSeqWeights_p, | |||
mseq_t * | prMSeq, | |||
int | iPairDistType, | |||
char * | pcDistmatInfile, | |||
char * | pcDistmatOutfile, | |||
int | iClusteringType, | |||
char * | pcGuidetreeInfile, | |||
char * | pcGuidetreeOutfile, | |||
bool | bUseMbed | |||
) |
Defines the alignment order by calculating a guide tree. In a first-step pairwise distances will be calculated (or read from a file). In a second step those distances will be clustered and a guide-tree created. Steps 1 and 2 will be skipped if a guide-tree file was given, in which case the guide-tree will be just read from the file.
[out] | piOrderLR_p | order in which nodes/profiles are to be merged/aligned |
[out] | pdSeqWeights_p | Sequence weights |
[out] | pdSeqWeights_p | Sequence weights |
[in] | prMSeq | The sequences from which the alignment order is to be calculated |
[in] | iPairDistType | Method of pairwise distance comparison |
[in] | pcDistmatInfile | If not NULL distances will be read from this file instead of being calculated |
[in] | pcDistmatOutfile | If not NULL computed pairwise distances will be written to this file |
[in] | iClusteringType | Clustering method to be used to cluster the pairwise distances |
[in] | pcGuidetreeInfile | If not NULL guidetree will be read from this file. Skips pairwise distance and guidetree computation |
[in] | pcGuidetreeOutfile | If not NULL computed guidetree will be written to this file |
[in] | bUseMbed | If TRUE, fast mBed guidetree computation will be employed |
Align two profiles, ie two sets of prealigned sequences. Already aligned columns won't be changed.
[out] | prMSeqProfile1 | First profile/aligned set of sequences. Merged alignment will be found in here. |
[in] | prMSeqProfile2 | First profile/aligned set of sequences |
[in] | rHhalignPara | FIXME |
void AlnOptsLogicCheck | ( | opts_t * | prOpts | ) |
Check logic of parsed user options. Will exit (call Log(&rLog, LOG_FATAL, )) on Fatal logic error.
[in] | prOpts | Already parsed user options |
int AlnToHHMFile | ( | mseq_t * | prMSeq, | |
char * | pcHMMOut | |||
) |
Create a HHM file from aligned sequences.
[in] | prMSeq | Aligned mseq_t |
[in] | pcHMMOut | HMM output file name |
int AlnToHMM | ( | hmm_light * | prHMM, | |
mseq_t * | prMSeq | |||
) |
Convert a multiple sequence structure into a HMM.
[out] | prHMM | Pointer to preallocted HMM which will be set here |
[in] | prMSeq | Pointer to an alignment |
int AlnToHMMFile | ( | mseq_t * | prMSeq, | |
const char * | pcHMMOut | |||
) |
Create a HMM file from aligned sequences.
[in] | prMSeq | Aligned mseq_t |
[in] | pcHMMOut | HMM output file name |
void FreeAlnOpts | ( | opts_t * | prAlnOpts | ) |
free aln opts members
int HmmerVersion | ( | ) |
Returns major version of HMMER. Whichever hmmbuild version is found first in your PATH will be used.
void InitClustalOmega | ( | int | iNumThreadsRequested | ) |
FIXME.
void PrintAlnOpts | ( | FILE * | prFile, | |
opts_t * | prOpts | |||
) |
FIXME doc.
void PrintLongVersion | ( | char * | pcStr, | |
int | iSize | |||
) |
Print Long version information to pre-allocated char.
[out] | pcStr | char pointer to write to preallocated to hold iSize chars. |
[in] | iSize | size of pcStr |
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 & 2.
[out] | piOrderLR_p | order in which nodes/profiles are to be merged/aligned |
[in] | iNumSeq | Number of sequences |
void SetAutoOptions | ( | opts_t * | prOpts, | |
int | iNumSeq | |||
) |
Set some options automatically based on number of sequences. Might overwrite some user-set options.
[out] | prOpts | Pointer to alignment options structure |
[in] | iNumSeq | Number of sequences to align |
void SetDefaultAlnOpts | ( | opts_t * | prOpts | ) |
Sets members of given user opts struct to default values.
[out] | prOpts | User opt struct to initialise |
int iNumberOfThreads |