RNAlib-2.5.1
sequence.h
Go to the documentation of this file.
1#ifndef VIENNA_RNA_PACKAGE_SEQUENCE_H
2#define VIENNA_RNA_PACKAGE_SEQUENCE_H
3
18
19typedef struct vrna_alignment_s vrna_msa_t;
20
22
23
24#define VRNA_SEQUENCE_RNA 1U
25
26#define VRNA_SEQUENCE_DNA 2U
27
31typedef enum {
36
37
43 char *name;
44 char *string;
45 short *encoding;
46 short *encoding5;
47 short *encoding3;
48 unsigned int length;
49};
50
51
53 unsigned int n_seq;
54 vrna_seq_t *sequences;
55 char **gapfree_seq;
56 unsigned int *gapfree_size; /* for MAF alignment coordinates */
57 unsigned long long *genome_size; /* for MAF alignment coordinates */
58 unsigned long long *start; /* for MAF alignment coordinates */
59 unsigned char *orientation; /* for MAF alignment coordinates */
60 unsigned int **a2s;
61};
62
63
65vrna_sequence(const char *string,
66 unsigned int options);
67
68
69int
70vrna_sequence_add(vrna_fold_compound_t *fc,
71 const char *string,
72 unsigned int options);
73
74
75int
76vrna_sequence_remove(vrna_fold_compound_t *fc,
77 unsigned int i);
78
79
80void
81vrna_sequence_remove_all(vrna_fold_compound_t *fc);
82
83
84void
85vrna_sequence_prepare(vrna_fold_compound_t *fc);
86
87
88int
89vrna_sequence_order_update(vrna_fold_compound_t *fc,
90 const unsigned int *order);
91
92
93int
94vrna_msa_add( vrna_fold_compound_t *fc,
95 const char **alignment,
96 const char **names,
97 const unsigned char *orientation,
98 const unsigned long long *start,
99 const unsigned long long *genome_size,
100 unsigned int options);
101
102
107#endif
The Basic Fold Compound API.
short * encoding
The integer representation of the sequence.
Definition: sequence.h:45
char * string
The string representation of the sequence.
Definition: sequence.h:44
vrna_seq_type_e type
The type of sequence.
Definition: sequence.h:42
unsigned int length
The length of the sequence.
Definition: sequence.h:48
vrna_seq_type_e
A enumerator used in vrna_sequence_s to distinguish different nucleotide sequences.
Definition: sequence.h:31
@ VRNA_SEQ_DNA
Nucleotide sequence represents a DNA type.
Definition: sequence.h:34
@ VRNA_SEQ_RNA
Nucleotide sequence represents an RNA type.
Definition: sequence.h:33
@ VRNA_SEQ_UNKNOWN
Nucleotide sequence represents an Unkown type.
Definition: sequence.h:32
Definition: sequence.h:52
Data structure representing a nucleotide sequence.
Definition: sequence.h:41
The most basic data structure required by many functions throughout the RNAlib.
Definition: fold_compound.h:148