#include "squid/squid.h"#include "util.h"Go to the source code of this file.
Data Structures | |
| struct | mseq_t |
| structure for storing multiple sequences More... | |
Defines | |
| #define | SEQTYPE_UNKNOWN kOtherSeq |
| #define | SEQTYPE_DNA kDNA |
| #define | SEQTYPE_RNA kRNA |
| #define | SEQTYPE_PROTEIN kAmino |
| #define | AMINOACID_ANY 'X' |
| #define | NUCLEOTIDE_ANY 'N' |
Functions | |
| void | AliStat (mseq_t *prMSeq, bool bSampling, bool bReportAll) |
| Stripped down version of squid's alistat. | |
| void | AddSeq (mseq_t **prMSeqDest_p, char *pcSeqName, char *pcSeqRes) |
| Creates a new sequence entry and appends it to an existing mseq structure. | |
| void | SeqSwap (mseq_t *mseq, int i, int j) |
| Swap two sequences in an mseq_t structure. | |
| void | DealignMSeq (mseq_t *mseq) |
| Dealigns all sequences in mseq structure, updates the sequence length info and sets aligned to FALSE. | |
| const char * | SeqTypeToStr (int seqtype) |
| convert int-encoded iSeqType to string | |
| int | ReadSequences (mseq_t *prMSeq_p, char *pcSeqFile, int iSeqType, int iSeqFmt, int iMaxNumSeq, int iMaxSeqLen) |
| reads sequences from file | |
| void | NewMSeq (mseq_t **mseq) |
| allocate and initialise new mseq_t | |
| void | FreeMSeq (mseq_t **mseq) |
| Frees an mseq_t and it's members and zeros all members. | |
| void | CopyMSeq (mseq_t **prMSeqDest_p, mseq_t *prMSeqSrc) |
| copies an mseq structure | |
| void | LogSqInfo (SQINFO *sqinfo) |
| debug output of sqinfo struct | |
| int | FindSeqName (char *seqname, mseq_t *mseq) |
| int | WriteAlignment (mseq_t *mseq, const char *aln_outfile, int msafile_format) |
| Write alignment to file. | |
| void | DealignSeq (char *seq) |
| Removes all gap-characters from a sequence. | |
| void | ShuffleMSeq (mseq_t *prMSeq) |
| Shuffle mseq order. | |
| void | SortMSeqByLength (mseq_t *prMSeq, const char cOrder) |
| Sort sequences by length. | |
| void | JoinMSeqs (mseq_t **prMSeqDest_p, mseq_t *prMSeqToAdd) |
| Appends an mseq structure to an already existing one. filename will be left untouched. | |
| bool | SeqsAreAligned (mseq_t *prMSeq) |
| Checks if sequences in given mseq structure are aligned. By definition this is only true, if sequences are of the same length and at least one gap was found. | |
| #define AMINOACID_ANY 'X' |
| #define NUCLEOTIDE_ANY 'N' |
| #define SEQTYPE_DNA kDNA |
| #define SEQTYPE_PROTEIN kAmino |
| #define SEQTYPE_RNA kRNA |
| #define SEQTYPE_UNKNOWN kOtherSeq |
int-encoded sequence types. these are in sync with squid's seqtypes and only used for convenience here
| void AddSeq | ( | mseq_t ** | prMSeqDest_p, | |
| char * | pcSeqName, | |||
| char * | pcSeqRes | |||
| ) |
Creates a new sequence entry and appends it to an existing mseq structure.
| [out] | prMSeqDest_p | Already existing and initialised mseq structure |
| [in] | pcSeqName | sequence name of the sequence to add |
| [in] | pcSeqRes | the actual sequence (residues) to add |
FIXME allow adding of more features
| void AliStat | ( | mseq_t * | prMSeq, | |
| bool | bSampling, | |||
| bool | bReportAll | |||
| ) |
Stripped down version of squid's alistat.
| [in] | prMSeq | The alignment to analyse |
| [in] | bSampling | For many sequences: samples from pool |
| [in] | bReportAll | Report identities for all sequence pairs |
Don't have to worry about sequence case because our version of PairwiseIdentity is case insensitive
mseq to squid msa
FIXME code overlap with WriteAlignment. Make it a function and take code there (contains more comments) as template
copies an mseq structure
| [out] | prMSeqDest_p | Copy of mseq structure |
| [in] | prMSeqSrc | Source mseq structure to copy |
| void DealignMSeq | ( | mseq_t * | mseq | ) |
Dealigns all sequences in mseq structure, updates the sequence length info and sets aligned to FALSE.
| [out] | mseq | The mseq structure to dealign |
| void DealignSeq | ( | char * | seq | ) |
Removes all gap-characters from a sequence.
| [out] | seq | Sequence to dealign |
| int FindSeqName | ( | char * | seqname, | |
| mseq_t * | mseq | |||
| ) |
| [in] | seqname | The sequence name to search for |
| [in] | mseq | The multiple sequence structure to search in |
| void FreeMSeq | ( | mseq_t ** | mseq | ) |
Appends an mseq structure to an already existing one. filename will be left untouched.
| [in] | prMSeqDest_p | MSeq structure to which to append to |
| [out] | prMSeqToAdd | MSeq structure which is to append |
| void LogSqInfo | ( | SQINFO * | sqinfo | ) |
debug output of sqinfo struct
| [in] | sqinfo | Squid's SQINFO struct for a certain seqeuence |
| void NewMSeq | ( | mseq_t ** | prMSeq | ) |
allocate and initialise new mseq_t
| [out] | prMSeq | newly allocated and initialised mseq_t |
| int ReadSequences | ( | mseq_t * | prMSeq, | |
| char * | seqfile, | |||
| int | iSeqType, | |||
| int | iSeqFmt, | |||
| int | iMaxNumSeq, | |||
| int | iMaxSeqLen | |||
| ) |
reads sequences from file
| [out] | prMSeq | Multiple sequence struct. Must be preallocated. FIXME: would make more sense to allocate it here. |
| [in] | seqfile | Sequence file name. If '-' sequence will be read from stdin. |
| [in] | iSeqType | int-encoded sequence type. Set to SEQTYPE_UNKNOWN for autodetect (guessed from first sequence) |
| [in] | iMaxNumSeq | Return an error, if more than iMaxNumSeq have been read |
| [in] | iMaxSeqLen | Return an error, if a seq longer than iMaxSeqLen has been read |
| bool SeqsAreAligned | ( | mseq_t * | prMSeq | ) |
Checks if sequences in given mseq structure are aligned. By definition this is only true, if sequences are of the same length and at least one gap was found.
| [in] | prMSeq | Sequences to check |
| void SeqSwap | ( | mseq_t * | prMSeq, | |
| int | i, | |||
| int | j | |||
| ) |
Swap two sequences in an mseq_t structure.
| [out] | prMSeq | Multiple sequence struct |
| [in] | i | Index of first sequence |
| [in] | j | Index of seconds sequence |
| const char* SeqTypeToStr | ( | int | iSeqType | ) |
convert int-encoded iSeqType to string
| [in] | iSeqType | int-encoded sequence type |
| void ShuffleMSeq | ( | mseq_t * | mseq | ) |
Shuffle mseq order.
| [out] | mseq | mseq structure to shuffle |
| void SortMSeqByLength | ( | mseq_t * | prMSeq, | |
| const char | cOrder | |||
| ) |
Sort sequences by length.
| [out] | prMSeq | mseq to sort by length |
| [out] | cOrder | Sorting order. 'd' for descending, 'a' for ascending. |
| int WriteAlignment | ( | mseq_t * | mseq, | |
| const char * | pcAlnOutfile, | |||
| int | outfmt | |||
| ) |
Write alignment to file.
| [in] | mseq | The mseq_t struct containing the aligned sequences |
| [in] | pcAlnOutfile | The name of the output file |
| [in] | outfmt | The alignment output format (defined in squid.h) |
1.6.3