This module covers all functionality for hard constraints in secondary structure prediction. More…
// typedefs typedef struct vrna_hc_s vrna_hc_t typedef struct vrna_hc_up_s vrna_hc_up_t typedef unsigned char () vrna_callback_hc_evaluate ( int i, int j, int k, int l, unsigned char d, void *data ) // structs struct vrna_hc_s struct vrna_hc_up_s // global functions void vrna_hc_init (vrna_fold_compound_t* vc) void vrna_hc_add_up ( vrna_fold_compound_t* vc, int i, unsigned char option ) int vrna_hc_add_up_batch ( vrna_fold_compound_t* vc, vrna_hc_up_t* constraints ) void vrna_hc_add_bp ( vrna_fold_compound_t* vc, int i, int j, unsigned char option ) void vrna_hc_add_bp_nonspecific ( vrna_fold_compound_t* vc, int i, int d, unsigned char option ) void vrna_hc_free (vrna_hc_t* hc) int vrna_hc_add_from_db ( vrna_fold_compound_t* vc, const char* constraint, unsigned int options ) // macros #define VRNA_CONSTRAINT_CONTEXT_ALL_LOOPS #define VRNA_CONSTRAINT_CONTEXT_EXT_LOOP #define VRNA_CONSTRAINT_CONTEXT_HP_LOOP #define VRNA_CONSTRAINT_CONTEXT_INT_LOOP #define VRNA_CONSTRAINT_CONTEXT_INT_LOOP_ENC #define VRNA_CONSTRAINT_CONTEXT_MB_LOOP #define VRNA_CONSTRAINT_CONTEXT_MB_LOOP_ENC #define VRNA_CONSTRAINT_DB #define VRNA_CONSTRAINT_DB_DEFAULT #define VRNA_CONSTRAINT_DB_DOT #define VRNA_CONSTRAINT_DB_ENFORCE_BP #define VRNA_CONSTRAINT_DB_GQUAD #define VRNA_CONSTRAINT_DB_INTERMOL #define VRNA_CONSTRAINT_DB_INTRAMOL #define VRNA_CONSTRAINT_DB_PIPE #define VRNA_CONSTRAINT_DB_RND_BRACK #define VRNA_CONSTRAINT_DB_WUSS #define VRNA_CONSTRAINT_DB_X
typedef struct vrna_hc_up_s vrna_hc_up_t
typedef unsigned char () vrna_callback_hc_evaluate ( int i, int j, int k, int l, unsigned char d, void *data )
This is the prototype for callback functions used by the folding recursions to evaluate generic hard constraints. The first four parameters passed indicate the delimiting nucleotide positions of the decomposition, and the parameter denotes
the decomposition step. The last parameter data
is the auxiliary data structure associated to the hard constraints via vrna_hc_add_data() , or NULL if no auxiliary data was added.
Notes on Callback Functions This callback enables one to over-rule default hard constraints in secondary structure decompositions.
Parameters:
i | Left (5’) delimiter position of substructure |
j | Right (3’) delimiter position of substructure |
k | Left delimiter of decomposition |
l | Right delimiter of decomposition |
d | Decomposition step indicator |
data | Auxiliary data |
Returns:
A non-zero value if the decomposition is valid, 0 otherwise
See also:
VRNA_DECOMP_PAIR_HP , VRNA_DECOMP_PAIR_IL , VRNA_DECOMP_PAIR_ML , VRNA_DECOMP_ML_ML_ML , VRNA_DECOMP_ML_STEM , VRNA_DECOMP_ML_ML , VRNA_DECOMP_ML_UP , VRNA_DECOMP_ML_ML_STEM , VRNA_DECOMP_ML_COAXIAL , VRNA_DECOMP_EXT_EXT , VRNA_DECOMP_EXT_UP , VRNA_DECOMP_EXT_STEM , VRNA_DECOMP_EXT_EXT_EXT , VRNA_DECOMP_EXT_STEM_EXT , VRNA_DECOMP_EXT_EXT_STEM , VRNA_DECOMP_EXT_EXT_STEM1 , vrna_hc_add_f() , vrna_hc_add_data()
void vrna_hc_init (vrna_fold_compound_t* vc)
This function resets the hard constraints to their default values, i.e. all positions may be unpaired in all contexts, and base pairs are allowed in all contexts, if they resemble canonical pairs. Previously set hard constraints will be removed vefore initialization.
SWIG Wrapper Notes This function is attached as method hc_init() to objects of type fold_compound
Parameters:
vc | The fold compound |
See also:
vrna_hc_add_bp() , vrna_hc_add_bp_nonspecific() , vrna_hc_add_up()
void vrna_hc_add_up ( vrna_fold_compound_t* vc, int i, unsigned char option )
Parameters:
vc | The vrna_fold_compound_t the hard constraints are associated with |
i | The position that needs to stay unpaired (1-based) |
option | The options flag indicating how/where to store the hard constraints |
int vrna_hc_add_up_batch ( vrna_fold_compound_t* vc, vrna_hc_up_t* constraints )
Parameters:
vc | The vrna_fold_compound_t the hard constraints are associated with |
constraints | The list off constraints to apply, last entry must have position attribute set to 0 |
void vrna_hc_add_bp ( vrna_fold_compound_t* vc, int i, int j, unsigned char option )
Parameters:
vc | The vrna_fold_compound_t the hard constraints are associated with |
i | The 5’ located nucleotide position of the base pair (1-based) |
j | The 3’ located nucleotide position of the base pair (1-based) |
option | The options flag indicating how/where to store the hard constraints |
See also:
vrna_hc_add_bp_nonspecific() , vrna_hc_add_up() , vrna_hc_init() , VRNA_CONSTRAINT_CONTEXT_EXT_LOOP , VRNA_CONSTRAINT_CONTEXT_HP_LOOP , VRNA_CONSTRAINT_CONTEXT_INT_LOOP , VRNA_CONSTRAINT_CONTEXT_INT_LOOP_ENC , VRNA_CONSTRAINT_CONTEXT_MB_LOOP , VRNA_CONSTRAINT_CONTEXT_MB_LOOP_ENC , VRNA_CONSTRAINT_CONTEXT_ENFORCE , VRNA_CONSTRAINT_CONTEXT_ALL_LOOPS
void vrna_hc_add_bp_nonspecific ( vrna_fold_compound_t* vc, int i, int d, unsigned char option )
Parameters:
vc | The vrna_fold_compound_t the hard constraints are associated with |
i | The position that needs to stay unpaired (1-based) |
d | The direction of base pairing ( :math:` d < 0 ` : pairs upstream, :math:` d > 0 ` : pairs downstream, :math:` d == 0 ` : no direction) |
option | The options flag indicating in which loop type context the pairs may appear |
See also:
vrna_hc_add_bp() , vrna_hc_add_up() , vrna_hc_init() , VRNA_CONSTRAINT_CONTEXT_EXT_LOOP , VRNA_CONSTRAINT_CONTEXT_HP_LOOP , VRNA_CONSTRAINT_CONTEXT_INT_LOOP , VRNA_CONSTRAINT_CONTEXT_INT_LOOP_ENC , VRNA_CONSTRAINT_CONTEXT_MB_LOOP , VRNA_CONSTRAINT_CONTEXT_MB_LOOP_ENC , VRNA_CONSTRAINT_CONTEXT_ALL_LOOPS
int vrna_hc_add_from_db ( vrna_fold_compound_t* vc, const char* constraint, unsigned int options )
This function allows one to apply hard constraints from a pseudo dot-bracket notation. The options
parameter controls, which characters are recognized by the parser. Use the VRNA_CONSTRAINT_DB_DEFAULT convenience macro, if you want to allow all known characters
SWIG Wrapper Notes This function is attached as method hc_add_from_db() to objects of type fold_compound
Parameters:
vc | The fold compound |
constraint | A pseudo dot-bracket notation of the hard constraint. |
options | The option flags |
#define VRNA_CONSTRAINT_CONTEXT_ALL_LOOPS
#define VRNA_CONSTRAINT_CONTEXT_EXT_LOOP
#define VRNA_CONSTRAINT_CONTEXT_HP_LOOP
#define VRNA_CONSTRAINT_CONTEXT_INT_LOOP
#define VRNA_CONSTRAINT_CONTEXT_INT_LOOP_ENC
#define VRNA_CONSTRAINT_CONTEXT_MB_LOOP
#define VRNA_CONSTRAINT_CONTEXT_MB_LOOP_ENC
#define VRNA_CONSTRAINT_DB
#define VRNA_CONSTRAINT_DB_DEFAULT
This flag conveniently combines all possible symbols in dot-bracket notation for hard constraints and VRNA_CONSTRAINT_DB
#define VRNA_CONSTRAINT_DB_DOT
#define VRNA_CONSTRAINT_DB_ENFORCE_BP
This flag should be used to really enforce base pairs given in dot-bracket constraint rather than just weakly-enforcing them.
#define VRNA_CONSTRAINT_DB_GQUAD
Warning
This flag is for future purposes only! No implementation recognizes it yet.
#define VRNA_CONSTRAINT_DB_INTERMOL
Use this definition to indicate the usage of ‘e’ character (intermolecular pairs only)
#define VRNA_CONSTRAINT_DB_INTRAMOL
Use this definition to indicate the usage of ‘l’ character (intramolecular pairs only)
#define VRNA_CONSTRAINT_DB_PIPE
Use this definition to indicate the pipe sign ‘|’ (paired with another base)
#define VRNA_CONSTRAINT_DB_RND_BRACK
#define VRNA_CONSTRAINT_DB_WUSS
This secondary structure notation for RNAs is usually used as consensus secondary structure (SS_cons) entry in Stockholm formatted files
Note
See
#define VRNA_CONSTRAINT_DB_X