Inverse Secondary Structure Prediction

## Files

file | inverse.h
| Inverse folding routines.

## Functions

float | inverse_fold (char *start, const char *target)
| Find sequences with predefined structure. More...
float | inverse_pf_fold (char *start, const char *target)
| Find sequence that maximizes probability of a predefined structure. More...

## Variables

char * | symbolset
| This global variable points to the allowed bases, initially "AUGC". It can be used to design sequences from reduced alphabets.
float | final_cost
int | give_up
int | inv_verbose

## Detailed Description

We provide two functions that search for sequences with a given structure, thereby inverting the folding routines.

## Function Documentation

float inverse_fold | ( | char * | start,
|  | const char * | target
| ) |  |

`#include <ViennaRNA/inverse.h>`

Find sequences with predefined structure.

This function searches for a sequence with minimum free energy structure provided in the parameter 'target', starting with sequence 'start'. It returns 0 if the search was successful, otherwise a structure distance in terms of the energy difference between the search result and the actual target 'target' is returned. The found sequence is returned in 'start'. If give_up is set to 1, the function will return as soon as it is clear that the search will be unsuccessful, this speeds up the algorithm if you are only interested in exact solutions.

Parameters

  start | The start sequence
  target | The target secondary structure in dot-bracket notation

Returns
  The distance to the target in case a search was unsuccessful, 0 otherwise

float inverse_pf_fold | ( | char * | start,
|  | const char * | target
| ) |  |

`#include <ViennaRNA/inverse.h>`

Find sequence that maximizes probability of a predefined structure.

This function searches for a sequence with maximum probability to fold into the provided structure 'target' using the partition function algorithm. It returns where is the frequency of 'target' in the ensemble of possible structures. This is usually much slower than inverse_fold().

Parameters

  start | The start sequence
  target | The target secondary structure in dot-bracket notation

Returns
  The distance to the target in case a search was unsuccessful, 0 otherwise

## Variable Documentation

float final_cost

`#include <ViennaRNA/inverse.h>`

when to stop inverse_pf_fold()

int give_up

`#include <ViennaRNA/inverse.h>`

default 0: try to minimize structure distance even if no exact solution can be found

int inv_verbose

`#include <ViennaRNA/inverse.h>`

print out substructure on which inverse_fold() fails