G-quadruplexes

Overview

Various functions related to G-quadruplex computations. More…

// global functions

int E_gquad (
    int L,
    int l [3],
    vrna_param_t* P
    )

FLT_OR_DBL exp_E_gquad (
    int L,
    int l [3],
    vrna_exp_param_t* pf
    )

int E_gquad_ali (
    int i,
    int L,
    int l [3],
    const short** S,
    int n_seq,
    vrna_param_t* P
    )

void E_gquad_ali_en (
    int i,
    int L,
    int l [3],
    const short** S,
    int n_seq,
    int en [2],
    vrna_param_t* P
    )

int* get_gquad_matrix (
    short* S,
    vrna_param_t* P
    )

int* get_gquad_ali_matrix (
    short* S_cons,
    short** S,
    int n_seq,
    vrna_param_t* P
    )

FLT_OR_DBL* get_gquad_pf_matrix (
    short* S,
    FLT_OR_DBL* scale,
    vrna_exp_param_t* pf
    )

int** get_gquad_L_matrix (
    short* S,
    int start,
    int maxdist,
    int n,
    int** g,
    vrna_param_t* P
    )

void vrna_gquad_mx_local_update (
    vrna_fold_compound_t* vc,
    int start
    )

void get_gquad_pattern_mfe (
    short* S,
    int i,
    int j,
    vrna_param_t* P,
    int* L,
    int l [3]
    )

void get_gquad_pattern_exhaustive (
    short* S,
    int i,
    int j,
    vrna_param_t* P,
    int* L,
    int* l,
    int threshold
    )

void get_gquad_pattern_pf (
    short* S,
    int i,
    int j,
    vrna_exp_param_t* pf,
    int* L,
    int l [3]
    )

plist* get_plist_gquad_from_pr (
    short* S,
    int gi,
    int gj,
    FLT_OR_DBL* G,
    FLT_OR_DBL* probs,
    FLT_OR_DBL* scale,
    vrna_exp_param_t* pf
    )

plist* get_plist_gquad_from_pr_max (
    short* S,
    int gi,
    int gj,
    FLT_OR_DBL* G,
    FLT_OR_DBL* probs,
    FLT_OR_DBL* scale,
    int* L,
    int l [3],
    vrna_exp_param_t* pf
    )

plist* get_plist_gquad_from_db (
    const char* structure,
    float pr
    )

int get_gquad_count (
    short* S,
    int i,
    int j
    )

int get_gquad_layer_count (
    short* S,
    int i,
    int j
    )

void get_gquad_pattern_mfe_ali (
    short** S,
    short* S_cons,
    int n_seq,
    int i,
    int j,
    vrna_param_t* P,
    int* L,
    int l [3]
    )

int parse_gquad (
    const char* struc,
    int* L,
    int l [3]
    )

PRIVATE int backtrack_GQuad_IntLoop (
    int c,
    int i,
    int j,
    int type,
    short* S,
    int* ggg,
    int* index,
    int* p,
    int* q,
    vrna_param_t* P
    )

PRIVATE int backtrack_GQuad_IntLoop_comparative (
    int c,
    int i,
    int j,
    unsigned int* type,
    short* S_cons,
    short** S5,
    short** S3,
    int* ggg,
    int* index,
    int* p,
    int* q,
    int n_seq,
    vrna_param_t* P
    )

PRIVATE int backtrack_GQuad_IntLoop_L (
    int c,
    int i,
    int j,
    int type,
    short* S,
    int** ggg,
    int maxdist,
    int* p,
    int* q,
    vrna_param_t* P
    )

PRIVATE int vrna_BT_gquad_int (
    vrna_fold_compound_t* vc,
    int i,
    int j,
    int en,
    vrna_bp_stack_t* bp_stack,
    int* stack_count
    )

PRIVATE int vrna_BT_gquad_mfe (
    vrna_fold_compound_t* vc,
    int i,
    int j,
    vrna_bp_stack_t* bp_stack,
    int* stack_count
    )

PRIVATE int backtrack_GQuad_IntLoop_L_comparative (
    int c,
    int i,
    int j,
    unsigned int* type,
    short* S_cons,
    short** S5,
    short** S3,
    int** ggg,
    int* p,
    int* q,
    int n_seq,
    vrna_param_t* P
    )

PRIVATE int E_GQuad_IntLoop (
    int i,
    int j,
    int type,
    short* S,
    int* ggg,
    int* index,
    vrna_param_t* P
    )

PRIVATE int* E_GQuad_IntLoop_exhaustive (
    int i,
    int j,
    int** p_p,
    int** q_p,
    int type,
    short* S,
    int* ggg,
    int threshold,
    int* index,
    vrna_param_t* P
    )

PRIVATE int E_GQuad_IntLoop_L (
    int i,
    int j,
    int type,
    short* S,
    int** ggg,
    int maxdist,
    vrna_param_t* P
    )

PRIVATE FLT_OR_DBL exp_E_GQuad_IntLoop (
    int i,
    int j,
    int type,
    short* S,
    FLT_OR_DBL* G,
    FLT_OR_DBL* scale,
    int* index,
    vrna_exp_param_t* pf
    )

Detailed Documentation

Various functions related to G-quadruplex computations.

Global Functions

int* get_gquad_matrix (
    short* S,
    vrna_param_t* P
    )
Get a triangular matrix prefilled with minimum free energy contributions of G-quadruplexes.

At each position ij in the matrix, the minimum free energy of any G-quadruplex delimited by i and j is stored. If no G-quadruplex formation is possible, the matrix element is set to INF. Access the elements in the matrix via matrix[indx[j]+i]. To get the integer array indx see get_jindx().

Parameters:

S The encoded sequence
P A pointer to the data structure containing the precomputed energy contributions

Returns:

A pointer to the G-quadruplex contribution matrix

See also:

get_jindx(), encode_sequence()

int parse_gquad (
    const char* struc,
    int* L,
    int l [3]
    )
given a dot-bracket structure (possibly) containing gquads encoded by ‘+’ signs, find first gquad, return end position or 0 if none found Upon return L and l[] contain the number of stacked layers, as well as the lengths of the linker regions. To parse a string with many gquads, call parse_gquad repeatedly e.g. end1 = parse_gquad(struc, &L, l); … ; end2 = parse_gquad(struc+end1, &L, l); end2+=end1; … ; end3 = parse_gquad(struc+end2, &L, l); end3+=end2; … ;
PRIVATE int backtrack_GQuad_IntLoop (
    int c,
    int i,
    int j,
    int type,
    short* S,
    int* ggg,
    int* index,
    int* p,
    int* q,
    vrna_param_t* P
    )

backtrack an interior loop like enclosed g-quadruplex with closing pair (i,j)

Parameters:

c The total contribution the loop should resemble
i position i of enclosing pair
j position j of enclosing pair
type base pair type of enclosing pair (must be reverse type)
S integer encoded sequence
ggg triangular matrix containing g-quadruplex contributions
index the index for accessing the triangular matrix
p here the 5’ position of the gquad is stored
q here the 3’ position of the gquad is stored
P the datastructure containing the precalculated contibutions

Returns:

1 on success, 0 if no gquad found

PRIVATE int backtrack_GQuad_IntLoop_L (
    int c,
    int i,
    int j,
    int type,
    short* S,
    int** ggg,
    int maxdist,
    int* p,
    int* q,
    vrna_param_t* P
    )

backtrack an interior loop like enclosed g-quadruplex with closing pair (i,j) with underlying Lfold matrix

Parameters:

c The total contribution the loop should resemble
i position i of enclosing pair
j position j of enclosing pair
type base pair type of enclosing pair (must be reverse type)
S integer encoded sequence
ggg triangular matrix containing g-quadruplex contributions
p here the 5’ position of the gquad is stored
q here the 3’ position of the gquad is stored
P the datastructure containing the precalculated contibutions

Returns:

1 on success, 0 if no gquad found