constraints_hard.h File Reference
Constraining the Secondary Structure Predictions and Evaluations » Hard Constraints

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

Include dependency graph for constraints_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_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_DEFAULT
| Switch for dot-bracket structure constraint with default symbols. More...
#define | VRNA_CONSTRAINT_CONTEXT_EXT_LOOP (char)0x01
| Hard constraints flag, base pair in the exterior loop.
#define | VRNA_CONSTRAINT_CONTEXT_HP_LOOP (char)0x02
| Hard constraints flag, base pair encloses hairpin loop.
#define | VRNA_CONSTRAINT_CONTEXT_INT_LOOP (char)0x04
| Hard constraints flag, base pair encloses an interior loop.
#define | VRNA_CONSTRAINT_CONTEXT_INT_LOOP_ENC (char)0x08
| Hard constraints flag, base pair encloses a multi branch loop.
#define | VRNA_CONSTRAINT_CONTEXT_MB_LOOP (char)0x10
| Hard constraints flag, base pair is enclosed in an interior loop.
#define | VRNA_CONSTRAINT_CONTEXT_MB_LOOP_ENC (char)0x20
| Hard constraints flag, base pair is enclosed in a multi branch loop.
#define | VRNA_CONSTRAINT_CONTEXT_ENFORCE (char)0x40
| Hard constraint flag to indicate enforcement of constraints.
#define | VRNA_CONSTRAINT_CONTEXT_NO_REMOVE (char)0x80
| Hard constraint flag to indicate not to remove base pairs that conflict with a given constraint.
#define | VRNA_CONSTRAINT_CONTEXT_ALL_LOOPS
| Hard constraints flag, shortcut for all base pairs.

## 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 char( | vrna_callback_hc_evaluate) (int i, int j, int k, int l, char d, void *data)
| Callback to evaluate whether or not a particular decomposition step is contributing to the solution space. More...

## 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, 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, 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, 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...
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()

## Function Documentation

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

  option | Option 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

  constraint | The structure constraint string
  length | The actual length of the sequence (constraint may be shorter)
  ptype | A pointer to the basepair type array
  BP | (not used anymore)
  min_loop_size | The minimal loop size (usually TURN )
  idx_type | Define the access type for base pair type array (0 = indx, 1 = iindx)