RNAlib-2.5.1
alignments.h
Go to the documentation of this file.
1#ifndef VIENNA_RNA_PACKAGE_ALN_UTIL_H
2#define VIENNA_RNA_PACKAGE_ALN_UTIL_H
3
4#ifdef VRNA_WARN_DEPRECATED
5# if defined(__clang__)
6# define DEPRECATED(func, msg) func __attribute__ ((deprecated("", msg)))
7# elif defined(__GNUC__)
8# define DEPRECATED(func, msg) func __attribute__ ((deprecated(msg)))
9# else
10# define DEPRECATED(func, msg) func
11# endif
12#else
13# define DEPRECATED(func, msg) func
14#endif
15
30
31
35#define VRNA_ALN_DEFAULT 0U
36
37
41#define VRNA_ALN_RNA 1U
42
43
47#define VRNA_ALN_DNA 2U
48
49
53#define VRNA_ALN_UPPERCASE 4U
54
55
59#define VRNA_ALN_LOWERCASE 8U
60
66#define VRNA_MEASURE_SHANNON_ENTROPY 1U
67
68#ifndef VRNA_DISABLE_BACKWARD_COMPATIBILITY
69
70/* the following typedefs are for backward compatibility only */
71
77typedef struct vrna_pinfo_s pair_info;
78
79#endif
80
82#include <ViennaRNA/model.h>
83
95 unsigned i;
96 unsigned j;
97 float p;
98 float ent;
99 short bp[8];
100 char comp;
101};
102
103
110int
111vrna_aln_mpi(const char **alignment);
112
113
129 const char *structure,
130 double threshold);
131
132
133int *
134vrna_aln_pscore(const char **alignment,
135 vrna_md_t *md);
136
137
138int
139vrna_pscore(vrna_fold_compound_t *fc,
140 unsigned int i,
141 unsigned int j);
142
143
144int
145vrna_pscore_freq(vrna_fold_compound_t *fc,
146 const unsigned int *frequencies,
147 unsigned int pairs);
148
162char **
163vrna_aln_slice(const char **alignment,
164 unsigned int i,
165 unsigned int j);
166
167
173void
174vrna_aln_free(char **alignment);
175
176
185char **
186vrna_aln_uppercase(const char **alignment);
187
188
197char **
198vrna_aln_toRNA(const char **alignment);
199
200
214char **
215vrna_aln_copy(const char **alignment,
216 unsigned int options);
217
218
233float *
234vrna_aln_conservation_struct(const char **alignment,
235 const char *structure,
236 const vrna_md_t *md);
237
238
256float *
257vrna_aln_conservation_col(const char **alignment,
258 const vrna_md_t *md_p,
259 unsigned int options);
260
261
269char *
270vrna_aln_consensus_sequence(const char **alignment,
271 const vrna_md_t *md_p);
272
284char *
285vrna_aln_consensus_mis(const char **alignment,
286 const vrna_md_t *md_p);
287
288
289#ifndef VRNA_DISABLE_BACKWARD_COMPATIBILITY
290
291#include <stdio.h>
295DEPRECATED(int read_clustal(FILE *clust,
296 char *AlignedSeqs[],
297 char *names[]),
298 "Use vrna_file_msa_read() and vrna_file_msa_read_record() instead");
299
300
304DEPRECATED(char *consensus(const char *AS[]),
305 "Use vrna_aln_consensus_sequence() instead!");
306
307
311DEPRECATED(char *consens_mis(const char *AS[]),
312 "Use vrna_aln_consensus_mis() instead!");
313
314
318DEPRECATED(char *get_ungapped_sequence(const char *seq),
319 "Use vrna_seq_ungapped() instead!");
320
321
333DEPRECATED(int get_mpi(char *Alseq[],
334 int n_seq,
335 int length,
336 int *mini),
337 "Use vrna_aln_mpi() instead");
338
339/*
340 #############################################################
341 # some helper functions that might be useful in the library #
342 #############################################################
343 */
344
360DEPRECATED(void encode_ali_sequence(const char *sequence,
361 short *S,
362 short *s5,
363 short *s3,
364 char *ss,
365 unsigned short *as,
366 int circ),
367 "This function is obsolete");
368
369
386DEPRECATED(void alloc_sequence_arrays(const char **sequences,
387 short ***S,
388 short ***S5,
389 short ***S3,
390 unsigned short ***a2s,
391 char ***Ss,
392 int circ),
393 "This function is obsolete");
394
395
411DEPRECATED(void free_sequence_arrays(unsigned int n_seq,
412 short ***S,
413 short ***S5,
414 short ***S3,
415 unsigned short ***a2s,
416 char ***Ss),
417 "This fucntion is obsolete");
418
419#endif
420
426#endif
The Basic Fold Compound API.
void free_sequence_arrays(unsigned int n_seq, short ***S, short ***S5, short ***S3, unsigned short ***a2s, char ***Ss)
Free the memory of the sequence arrays used to deal with aligned sequences.
void alloc_sequence_arrays(const char **sequences, short ***S, short ***S5, short ***S3, unsigned short ***a2s, char ***Ss, int circ)
Allocate memory for sequence array used to deal with aligned sequences.
int get_mpi(char *Alseq[], int n_seq, int length, int *mini)
Get the mean pairwise identity in steps from ?to?(ident)
void encode_ali_sequence(const char *sequence, short *S, short *s5, short *s3, char *ss, unsigned short *as, int circ)
Get arrays with encoded sequence of the alignment.
char comp
1 iff pair is in mfe structure
Definition: alignments.h:100
unsigned j
nucleotide position j
Definition: alignments.h:96
float ent
Pseudo entropy for .
Definition: alignments.h:98
float p
Probability.
Definition: alignments.h:97
short bp[8]
Frequencies of pair_types.
Definition: alignments.h:99
unsigned i
nucleotide position i
Definition: alignments.h:95
vrna_pinfo_t * vrna_aln_pinfo(vrna_fold_compound_t *vc, const char *structure, double threshold)
Retrieve an array of vrna_pinfo_t structures from precomputed pair probabilities.
char ** vrna_aln_copy(const char **alignment, unsigned int options)
Make a copy of a multiple sequence alignment.
float * vrna_aln_conservation_col(const char **alignment, const vrna_md_t *md_p, unsigned int options)
Compute nucleotide conservation in an alignment.
char ** vrna_aln_slice(const char **alignment, unsigned int i, unsigned int j)
Slice out a subalignment from a larger alignment.
char ** vrna_aln_toRNA(const char **alignment)
Create a copy of an alignment where DNA alphabet is replaced by RNA alphabet.
float * vrna_aln_conservation_struct(const char **alignment, const char *structure, const vrna_md_t *md)
Compute base pair conservation of a consensus structure.
void vrna_aln_free(char **alignment)
Free memory occupied by a set of aligned sequences.
char * vrna_aln_consensus_sequence(const char **alignment, const vrna_md_t *md_p)
Compute the consensus sequence for a given multiple sequence alignment.
char * vrna_aln_consensus_mis(const char **alignment, const vrna_md_t *md_p)
Compute the Most Informative Sequence (MIS) for a given multiple sequence alignment.
int vrna_aln_mpi(const char **alignment)
Get the mean pairwise identity in steps from ?to?(ident)
char ** vrna_aln_uppercase(const char **alignment)
Create a copy of an alignment with only uppercase letters in the sequences.
A base pair info structure.
Definition: alignments.h:94
The most basic data structure required by many functions throughout the RNAlib.
Definition: fold_compound.h:148
int circ
backward compatibility variable.. this does not effect anything
The data structure that contains the complete model details used throughout the calculations.
Definition: model.h:180
int pairs
contains the number of base pairs in the last parsed structure.
The model details data structure and its corresponding modifiers.