Next: , Previous: Cofolding, Up: Folding Routines


2.9 Searching for local structures in large molecules

Local structures can be predicted by a modified version of the fold() algorithm that restricts the span of all base pairs.

— Function: float Lfold (char *string, char *structure, int maxdist)

The local analog to fold(). Computes the minimum free energy structure including only base pairs with a span smaller than

maxdist.

— Function: struct plist *pfl_fold (char *sequence, int winSize,int pairSize, float cutoff, float *pup)

pfl_fold computes partition functions for every window of size winSize possible in a RNA molecule, allowing only pairs with a span smaller than pairSize. It returns the mean pair probabilities averaged over all windows containing the pair in pl. winSize should always be >= pairSize. Note that in contrast to Lfold(), bases outside of the window do not influence the structure at all. Only probabilities higher than cutoff are kept.

If pup is supplied (i.e is not the NULL pointer), pfl_fold() will also compute the mean probability that regions of length u are unpaired. The parameter u is supplied in pup[0]. On return the pup array will contain these probabilities, with the entry on pup[x] containing the mean probability that x and the u-1 preceding bases are unpaired. The pup array needs to be large enough to hold n+1 float entries, where n is the sequence length.

— Function: void init_pf_foldLP (int length)

Analog to init_pf_fold(). length is the length of the sequence.

— Function: void free_pf_arraysLP (void)

frees the arrays used by pfl_fold()

— Function: void update_pf_paramsLP (int length)

Analog to update_pf_params(). length is the length of the sequence.