RNAlib-2.4.14
sequence.h
Go to the documentation of this file.
1 #ifndef VIENNA_RNA_PACKAGE_SEQUENCE_H
2 #define VIENNA_RNA_PACKAGE_SEQUENCE_H
3 
17 typedef struct vrna_sequence_s vrna_seq_t;
18 
19 typedef struct vrna_alignment_s vrna_msa_t;
20 
22 
23 
24 #define VRNA_SEQUENCE_RNA 1U
25 
26 #define VRNA_SEQUENCE_DNA 2U
27 
31 typedef 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 
64 vrna_seq_t *
65 vrna_sequence(const char *string,
66  unsigned int options);
67 
68 
69 int
70 vrna_sequence_add(vrna_fold_compound_t *fc,
71  const char *string,
72  unsigned int options);
73 
74 
75 int
76 vrna_sequence_remove(vrna_fold_compound_t *fc,
77  unsigned int i);
78 
79 
80 void
81 vrna_sequence_remove_all(vrna_fold_compound_t *fc);
82 
83 
84 void
85 vrna_sequence_prepare(vrna_fold_compound_t *fc);
86 
87 
88 int
89 vrna_sequence_order_update(vrna_fold_compound_t *fc,
90  const unsigned int *order);
91 
92 
93 int
94 vrna_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
vrna_seq_type_e type
The type of sequence.
Definition: sequence.h:42
char * string
The string representation of the sequence.
Definition: sequence.h:44
Definition: sequence.h:52
The most basic data structure required by many functions throughout the RNAlib.
Definition: fold_compound.h:132
Nucleotide sequence represents a DNA type.
Definition: sequence.h:34
Data structure representing a nucleotide sequence.
Definition: sequence.h:41
short * encoding
The integer representation of the sequence.
Definition: sequence.h:45
Nucleotide sequence represents an Unkown type.
Definition: sequence.h:32
Nucleotide sequence represents an RNA type.
Definition: sequence.h:33
The Basic Fold Compound API.
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