RNAlib-2.4.14

Functions and data structures for handling of secondary structure hard constraints. More...

+ Include dependency graph for hard.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  vrna_hc_bp_storage_t
 A base pair hard constraint. More...
 
struct  vrna_hc_s
 The hard constraints data structure. More...
 
struct  vrna_hc_up_s
 A single hard constraint for a single nucleotide. More...
 

Macros

#define VRNA_CONSTRAINT_NO_HEADER   0
 do not print the header information line More...
 
#define VRNA_CONSTRAINT_DB   16384U
 Flag for vrna_constraints_add() to indicate that constraint is passed in pseudo dot-bracket notation. More...
 
#define VRNA_CONSTRAINT_DB_ENFORCE_BP   32768U
 Switch for dot-bracket structure constraint to enforce base pairs. More...
 
#define VRNA_CONSTRAINT_DB_PIPE   65536U
 Flag that is used to indicate the pipe '|' sign in pseudo dot-bracket notation of hard constraints. More...
 
#define VRNA_CONSTRAINT_DB_DOT   131072U
 dot '.' switch for structure constraints (no constraint at all) More...
 
#define VRNA_CONSTRAINT_DB_X   262144U
 'x' switch for structure constraint (base must not pair) More...
 
#define VRNA_CONSTRAINT_DB_ANG_BRACK   524288U
 angle brackets '<', '>' switch for structure constraint (paired downstream/upstream) More...
 
#define VRNA_CONSTRAINT_DB_RND_BRACK   1048576U
 round brackets '(',')' switch for structure constraint (base i pairs base j) More...
 
#define VRNA_CONSTRAINT_DB_INTRAMOL   2097152U
 Flag that is used to indicate the character 'l' in pseudo dot-bracket notation of hard constraints. More...
 
#define VRNA_CONSTRAINT_DB_INTERMOL   4194304U
 Flag that is used to indicate the character 'e' in pseudo dot-bracket notation of hard constraints. More...
 
#define VRNA_CONSTRAINT_DB_GQUAD   8388608U
 '+' switch for structure constraint (base is involved in a gquad) More...
 
#define VRNA_CONSTRAINT_DB_WUSS   33554432U
 Flag to indicate Washington University Secondary Structure (WUSS) notation of the hard constraint string. More...
 
#define VRNA_CONSTRAINT_DB_DEFAULT
 Switch for dot-bracket structure constraint with default symbols. More...
 
#define VRNA_CONSTRAINT_CONTEXT_EXT_LOOP   (unsigned char)0x01
 Hard constraints flag, base pair in the exterior loop.
 
#define VRNA_CONSTRAINT_CONTEXT_HP_LOOP   (unsigned char)0x02
 Hard constraints flag, base pair encloses hairpin loop.
 
#define VRNA_CONSTRAINT_CONTEXT_INT_LOOP   (unsigned char)0x04
 Hard constraints flag, base pair encloses an interior loop.
 
#define VRNA_CONSTRAINT_CONTEXT_INT_LOOP_ENC   (unsigned char)0x08
 Hard constraints flag, base pair encloses a multi branch loop.
 
#define VRNA_CONSTRAINT_CONTEXT_MB_LOOP   (unsigned char)0x10
 Hard constraints flag, base pair is enclosed in an interior loop.
 
#define VRNA_CONSTRAINT_CONTEXT_MB_LOOP_ENC   (unsigned char)0x20
 Hard constraints flag, base pair is enclosed in a multi branch loop.
 
#define VRNA_CONSTRAINT_CONTEXT_ENFORCE   (unsigned char)0x40
 Hard constraint flag to indicate enforcement of constraints.
 
#define VRNA_CONSTRAINT_CONTEXT_NO_REMOVE   (unsigned char)0x80
 Hard constraint flag to indicate not to remove base pairs that conflict with a given constraint.
 
#define VRNA_CONSTRAINT_CONTEXT_NONE   (unsigned char)0
 Constraint context flag that forbids any loop.
 
#define VRNA_CONSTRAINT_CONTEXT_CLOSING_LOOPS
 Constraint context flag indicating base pairs that close any loop.
 
#define VRNA_CONSTRAINT_CONTEXT_ENCLOSED_LOOPS
 Constraint context flag indicating base pairs enclosed by any loop.
 
#define VRNA_CONSTRAINT_CONTEXT_ALL_LOOPS
 Constraint context flag indicating any loop context.
 

Typedefs

typedef struct vrna_hc_s vrna_hc_t
 Typename for the hard constraints data structure vrna_hc_s.
 
typedef struct vrna_hc_up_s vrna_hc_up_t
 Typename for the single nucleotide hard constraint data structure vrna_hc_up_s.
 
typedef unsigned char( vrna_callback_hc_evaluate) (int i, int j, int k, int l, unsigned char d, void *data)
 Callback to evaluate whether or not a particular decomposition step is contributing to the solution space. More...
 

Enumerations

Functions

void vrna_message_constraint_options (unsigned int option)
 Print a help message for pseudo dot-bracket structure constraint characters to stdout. (constraint support is specified by option parameter) More...
 
void vrna_message_constraint_options_all (void)
 Print structure constraint characters to stdout (full constraint support) More...
 
void vrna_hc_init (vrna_fold_compound_t *vc)
 Initialize/Reset hard constraints to default values. More...
 
void vrna_hc_add_up (vrna_fold_compound_t *vc, int i, unsigned char option)
 Make a certain nucleotide unpaired. More...
 
int vrna_hc_add_up_batch (vrna_fold_compound_t *vc, vrna_hc_up_t *constraints)
 Apply a list of hard constraints for single nucleotides. More...
 
void vrna_hc_add_bp (vrna_fold_compound_t *vc, int i, int j, unsigned char option)
 Favorize/Enforce a certain base pair (i,j) More...
 
void vrna_hc_add_bp_nonspecific (vrna_fold_compound_t *vc, int i, int d, unsigned char option)
 Enforce a nucleotide to be paired (upstream/downstream) More...
 
void vrna_hc_free (vrna_hc_t *hc)
 Free the memory allocated by a vrna_hc_t data structure. More...
 
void vrna_hc_add_f (vrna_fold_compound_t *vc, vrna_callback_hc_evaluate *f)
 Add a function pointer pointer for the generic hard constraint feature.
 
void vrna_hc_add_data (vrna_fold_compound_t *vc, void *data, vrna_callback_free_auxdata *f)
 Add an auxiliary data structure for the generic hard constraints callback function. More...
 
int vrna_hc_add_from_db (vrna_fold_compound_t *vc, const char *constraint, unsigned int options)
 Add hard constraints from pseudo dot-bracket notation. More...
 
void print_tty_constraint (unsigned int option)
 Print structure constraint characters to stdout. (constraint support is specified by option parameter) More...
 
void print_tty_constraint_full (void)
 Print structure constraint characters to stdout (full constraint support) More...
 
void constrain_ptypes (const char *constraint, unsigned int length, char *ptype, int *BP, int min_loop_size, unsigned int idx_type)
 Insert constraining pair types according to constraint structure string. More...
 

Detailed Description

Functions and data structures for handling of secondary structure hard constraints.

Macro Definition Documentation

#define VRNA_CONSTRAINT_NO_HEADER   0

do not print the header information line

Deprecated:
This mode is not supported anymore!
#define VRNA_CONSTRAINT_DB_ANG_BRACK   524288U

angle brackets '<', '>' switch for structure constraint (paired downstream/upstream)

See also
vrna_hc_add_from_db(), vrna_constraints_add(), vrna_message_constraint_options(), vrna_message_constraint_options_all()

Enumeration Type Documentation

The hard constraints type.

Global and local structure prediction methods use a slightly different way to handle hard constraints internally. This enum is used to distinguish both types.

Enumerator
VRNA_HC_DEFAULT 

Default Hard Constraints.

VRNA_HC_WINDOW 

Hard Constraints suitable for local structure prediction using window approach.

See also
vrna_mfe_window(), vrna_mfe_window_zscore(), pfl_fold()

Function Documentation

void vrna_hc_add_data ( vrna_fold_compound_t vc,
void *  data,
vrna_callback_free_auxdata f 
)

Add an auxiliary data structure for the generic hard constraints callback function.

See also
vrna_hc_add_f()
Parameters
vcThe fold compound the generic hard constraint function should be bound to
dataA pointer to the data structure that holds required data for function 'f'
fA pointer to a function that free's the memory occupied by data (Maybe NULL)
void print_tty_constraint ( unsigned int  option)

Print structure constraint characters to stdout. (constraint support is specified by option parameter)

Deprecated:
Use vrna_message_constraints() instead!
Parameters
optionOption switch that tells which constraint help will be printed
void print_tty_constraint_full ( void  )

Print structure constraint characters to stdout (full constraint support)

Deprecated:
Use vrna_message_constraint_options_all() instead!
void constrain_ptypes ( const char *  constraint,
unsigned int  length,
char *  ptype,
int *  BP,
int  min_loop_size,
unsigned int  idx_type 
)

Insert constraining pair types according to constraint structure string.

Deprecated:
Do not use this function anymore! Structure constraints are now handled through vrna_hc_t and related functions.
Parameters
constraintThe structure constraint string
lengthThe actual length of the sequence (constraint may be shorter)
ptypeA pointer to the basepair type array
BP(not used anymore)
min_loop_sizeThe minimal loop size (usually TURN )
idx_typeDefine the access type for base pair type array (0 = indx, 1 = iindx)