RNAlib-2.4.5
|
|
Files | |
file | RNAstruct.h |
Parsing and Coarse Graining of Structures. | |
Data Structures | |
struct | vrna_hx_s |
Data structure representing an entry of a helix list. More... | |
struct | vrna_elem_prob_s |
Data structure representing a single entry of an element probability list (e.g. list of pair probabilities) More... | |
Macros | |
#define | VRNA_BRACKETS_ALPHA 4U |
Bitflag to indicate secondary structure notations using uppercase/lowercase letters from the latin alphabet. More... | |
#define | VRNA_BRACKETS_RND 8U |
Bitflag to indicate secondary structure notations using round brackets (parenthesis), () More... | |
#define | VRNA_BRACKETS_CLY 16U |
Bitflag to indicate secondary structure notations using curly brackets, {} More... | |
#define | VRNA_BRACKETS_ANG 32U |
Bitflag to indicate secondary structure notations using angular brackets, <> More... | |
#define | VRNA_BRACKETS_SQR 64U |
Bitflag to indicate secondary structure notations using square brackets, [] More... | |
#define | VRNA_BRACKETS_DEFAULT |
Default bitmask to indicate secondary structure notation using any pair of brackets. More... | |
Typedefs | |
typedef struct vrna_hx_s | vrna_hx_t |
Convenience typedef for data structure vrna_hx_s. | |
typedef struct vrna_elem_prob_s | vrna_ep_t |
Convenience typedef for data structure #vrna_pp_s. | |
Functions | |
char * | b2HIT (const char *structure) |
Converts the full structure from bracket notation to the HIT notation including root. More... | |
char * | b2C (const char *structure) |
Converts the full structure from bracket notation to the a coarse grained notation using the 'H' 'B' 'I' 'M' and 'R' identifiers. More... | |
char * | b2Shapiro (const char *structure) |
Converts the full structure from bracket notation to the weighted coarse grained notation using the 'H' 'B' 'I' 'M' 'S' 'E' and 'R' identifiers. More... | |
char * | add_root (const char *structure) |
Adds a root to an un-rooted tree in any except bracket notation. More... | |
char * | expand_Shapiro (const char *coarse) |
Inserts missing 'S' identifiers in unweighted coarse grained structures as obtained from b2C(). More... | |
char * | expand_Full (const char *structure) |
Convert the full structure from bracket notation to the expanded notation including root. More... | |
char * | unexpand_Full (const char *ffull) |
Restores the bracket notation from an expanded full or HIT tree, that is any tree using only identifiers 'U' 'P' and 'R'. More... | |
char * | unweight (const char *wcoarse) |
Strip weights from any weighted tree. More... | |
void | unexpand_aligned_F (char *align[2]) |
Converts two aligned structures in expanded notation. More... | |
void | parse_structure (const char *structure) |
Collects a statistic of structure elements of the full structure in bracket notation. More... | |
char * | vrna_db_pack (const char *struc) |
Pack secondary secondary structure, 5:1 compression using base 3 encoding. More... | |
char * | vrna_db_unpack (const char *packed) |
Unpack secondary structure previously packed with vrna_db_pack() More... | |
short * | vrna_ptable (const char *structure) |
Create a pair table of a secondary structure. More... | |
short * | vrna_ptable_from_string (const char *string, unsigned int options) |
Create a pair table for a secondary structure string. More... | |
short * | vrna_pt_pk_get (const char *structure) |
Create a pair table of a secondary structure (pseudo-knot version) More... | |
short * | vrna_ptable_copy (const short *pt) |
Get an exact copy of a pair table. More... | |
short * | vrna_pt_ali_get (const char *structure) |
Create a pair table of a secondary structure (snoop align version) | |
short * | vrna_pt_snoop_get (const char *structure) |
Create a pair table of a secondary structure (snoop version) More... | |
int * | vrna_loopidx_from_ptable (const short *pt) |
Get a loop index representation of a structure. | |
void | vrna_db_flatten (char *structure, unsigned int options) |
Substitute pairs of brackets in a string with parenthesis. More... | |
void | vrna_db_flatten_to (char *string, const char target[3], unsigned int options) |
Substitute pairs of brackets in a string with another type of pair characters. More... | |
char * | vrna_db_from_ptable (short *pt) |
Convert a pair table into dot-parenthesis notation. More... | |
char * | vrna_db_from_WUSS (const char *wuss) |
Convert a WUSS annotation string to dot-bracket format. More... | |
int | vrna_bp_distance (const char *str1, const char *str2) |
Compute the "base pair" distance between two secondary structures s1 and s2. More... | |
unsigned int * | vrna_refBPcnt_matrix (const short *reference_pt, unsigned int turn) |
Make a reference base pair count matrix. More... | |
unsigned int * | vrna_refBPdist_matrix (const short *pt1, const short *pt2, unsigned int turn) |
Make a reference base pair distance matrix. More... | |
char * | vrna_db_from_probs (const FLT_OR_DBL *pr, unsigned int length) |
Create a dot-bracket like structure string from base pair probability matrix. | |
char | vrna_bpp_symbol (const float *x) |
Get a pseudo dot bracket notation for a given probability information. | |
char * | vrna_db_from_bp_stack (vrna_bp_stack_t *bp, unsigned int length) |
Create a dot-backet/parenthesis structure from backtracking stack. More... | |
vrna_ep_t * | vrna_plist (const char *struc, float pr) |
Create a vrna_ep_t from a dot-bracket string. More... | |
char * | vrna_db_from_plist (vrna_ep_t *pairs, unsigned int n) |
Convert a list of base pairs into dot-bracket notation. More... | |
void | assign_plist_from_db (vrna_ep_t **pl, const char *struc, float pr) |
Create a vrna_ep_t from a dot-bracket string. More... | |
char * | pack_structure (const char *struc) |
Pack secondary secondary structure, 5:1 compression using base 3 encoding. More... | |
char * | unpack_structure (const char *packed) |
Unpack secondary structure previously packed with pack_structure() More... | |
short * | make_pair_table (const char *structure) |
Create a pair table of a secondary structure. More... | |
short * | copy_pair_table (const short *pt) |
Get an exact copy of a pair table. More... | |
short * | alimake_pair_table (const char *structure) |
short * | make_pair_table_snoop (const char *structure) |
int | bp_distance (const char *str1, const char *str2) |
Compute the "base pair" distance between two secondary structures s1 and s2. More... | |
unsigned int * | make_referenceBP_array (short *reference_pt, unsigned int turn) |
Make a reference base pair count matrix. More... | |
unsigned int * | compute_BPdifferences (short *pt1, short *pt2, unsigned int turn) |
Make a reference base pair distance matrix. More... | |
void | parenthesis_structure (char *structure, vrna_bp_stack_t *bp, int length) |
Create a dot-backet/parenthesis structure from backtracking stack. More... | |
void | parenthesis_zuker (char *structure, vrna_bp_stack_t *bp, int length) |
Create a dot-backet/parenthesis structure from backtracking stack obtained by zuker suboptimal calculation in cofold.c. More... | |
void | bppm_to_structure (char *structure, FLT_OR_DBL *pr, unsigned int length) |
Create a dot-bracket like structure string from base pair probability matrix. More... | |
char | bppm_symbol (const float *x) |
Get a pseudo dot bracket notation for a given probability information. More... | |
Variables | |
int | loop_size [STRUC] |
contains a list of all loop sizes. loop_size[0] contains the number of external bases. | |
int | helix_size [STRUC] |
contains a list of all stack sizes. | |
int | loop_degree [STRUC] |
contains the corresponding list of loop degrees. | |
int | loops |
contains the number of loops ( and therefore of stacks ). | |
int | unpaired |
contains the number of unpaired bases. | |
int | pairs |
contains the number of base pairs in the last parsed structure. | |
struct vrna_hx_s |
Data structure representing an entry of a helix list.
struct vrna_elem_prob_s |
Data structure representing a single entry of an element probability list (e.g. list of pair probabilities)
#define VRNA_BRACKETS_ALPHA 4U |
#include <ViennaRNA/structure_utils.h>
Bitflag to indicate secondary structure notations using uppercase/lowercase letters from the latin alphabet.
#define VRNA_BRACKETS_RND 8U |
#include <ViennaRNA/structure_utils.h>
Bitflag to indicate secondary structure notations using round brackets (parenthesis), ()
#define VRNA_BRACKETS_CLY 16U |
#include <ViennaRNA/structure_utils.h>
Bitflag to indicate secondary structure notations using curly brackets, {}
#define VRNA_BRACKETS_ANG 32U |
#include <ViennaRNA/structure_utils.h>
Bitflag to indicate secondary structure notations using angular brackets, <>
#define VRNA_BRACKETS_SQR 64U |
#include <ViennaRNA/structure_utils.h>
Bitflag to indicate secondary structure notations using square brackets, []
#define VRNA_BRACKETS_DEFAULT |
#include <ViennaRNA/structure_utils.h>
Default bitmask to indicate secondary structure notation using any pair of brackets.
char* b2HIT | ( | const char * | structure | ) |
#include <ViennaRNA/RNAstruct.h>
Converts the full structure from bracket notation to the HIT notation including root.
structure |
char* b2C | ( | const char * | structure | ) |
#include <ViennaRNA/RNAstruct.h>
Converts the full structure from bracket notation to the a coarse grained notation using the 'H' 'B' 'I' 'M' and 'R' identifiers.
structure |
char* b2Shapiro | ( | const char * | structure | ) |
#include <ViennaRNA/RNAstruct.h>
Converts the full structure from bracket notation to the weighted coarse grained notation using the 'H' 'B' 'I' 'M' 'S' 'E' and 'R' identifiers.
structure |
char* add_root | ( | const char * | structure | ) |
#include <ViennaRNA/RNAstruct.h>
Adds a root to an un-rooted tree in any except bracket notation.
structure |
char* expand_Shapiro | ( | const char * | coarse | ) |
#include <ViennaRNA/RNAstruct.h>
Inserts missing 'S' identifiers in unweighted coarse grained structures as obtained from b2C().
coarse |
char* expand_Full | ( | const char * | structure | ) |
#include <ViennaRNA/RNAstruct.h>
Convert the full structure from bracket notation to the expanded notation including root.
structure |
char* unexpand_Full | ( | const char * | ffull | ) |
#include <ViennaRNA/RNAstruct.h>
Restores the bracket notation from an expanded full or HIT tree, that is any tree using only identifiers 'U' 'P' and 'R'.
ffull |
char* unweight | ( | const char * | wcoarse | ) |
void unexpand_aligned_F | ( | char * | align[2] | ) |
#include <ViennaRNA/RNAstruct.h>
Converts two aligned structures in expanded notation.
Takes two aligned structures as produced by tree_edit_distance() function back to bracket notation with '_' as the gap character. The result overwrites the input.
align |
void parse_structure | ( | const char * | structure | ) |
#include <ViennaRNA/RNAstruct.h>
Collects a statistic of structure elements of the full structure in bracket notation.
The function writes to the following global variables: loop_size, loop_degree, helix_size, loops, pairs, unpaired
structure |
char* vrna_db_pack | ( | const char * | struc | ) |
#include <ViennaRNA/structure_utils.h>
Pack secondary secondary structure, 5:1 compression using base 3 encoding.
Returns a binary string encoding of the secondary structure using a 5:1 compression scheme. The string is NULL terminated and can therefore be used with standard string functions such as strcmp(). Useful for programs that need to keep many structures in memory.
struc | The secondary structure in dot-bracket notation |
char* vrna_db_unpack | ( | const char * | packed | ) |
#include <ViennaRNA/structure_utils.h>
Unpack secondary structure previously packed with vrna_db_pack()
Translate a compressed binary string produced by vrna_db_pack() back into the familiar dot-bracket notation.
packed | The binary encoded packed secondary structure |
short* vrna_ptable | ( | const char * | structure | ) |
#include <ViennaRNA/structure_utils.h>
Create a pair table of a secondary structure.
Returns a newly allocated table, such that table[i]=j if (i.j) pair or 0 if i is unpaired, table[0] contains the length of the structure.
structure | The secondary structure in dot-bracket notation |
short* vrna_ptable_from_string | ( | const char * | string, |
unsigned int | options | ||
) |
#include <ViennaRNA/structure_utils.h>
Create a pair table for a secondary structure string.
This function takes an input string of a secondary structure annotation in Dot-Bracket Notation (a.k.a. Dot-Parenthesis Notation) or Extended Dot-Bracket Notation, and converts it into a pair table representation.
string | Secondary structure in Extended Dot-Bracket Notation |
options | A bitmask to specify which brackets are recognized during conversion to pair table |
short* vrna_pt_pk_get | ( | const char * | structure | ) |
#include <ViennaRNA/structure_utils.h>
Create a pair table of a secondary structure (pseudo-knot version)
Returns a newly allocated table, such that table[i]=j if (i.j) pair or 0 if i is unpaired, table[0] contains the length of the structure.
In contrast to vrna_ptable() this function also recognizes the base pairs denoted by '[' and ']' brackets.
structure | The secondary structure in (extended) dot-bracket notation |
short* vrna_ptable_copy | ( | const short * | pt | ) |
#include <ViennaRNA/structure_utils.h>
Get an exact copy of a pair table.
pt | The pair table to be copied |
short* vrna_pt_snoop_get | ( | const char * | structure | ) |
#include <ViennaRNA/structure_utils.h>
Create a pair table of a secondary structure (snoop version)
returns a newly allocated table, such that: table[i]=j if (i.j) pair or 0 if i is unpaired, table[0] contains the length of the structure. The special pseudoknotted H/ACA-mRNA structure is taken into account.
vrna_db_flatten | ( | char * | string, |
unsigned int | options | ||
) |
#include <ViennaRNA/structure_utils.h>
Substitute pairs of brackets in a string with parenthesis.
This function can be used to replace brackets of unusual types, such as angular brackets <> , to dot-bracket format. The options
parameter is used tpo specify which types of brackets will be replaced by round parenthesis () .
structure | The structure string where brackets are flattened in-place |
options | A bitmask to specify which types of brackets should be flattened out |
This function flattens an input structure string in-place! The second parameter is optional and defaults to VRNA_BRACKETS_DEFAULT.
An overloaded version of this function exists, where an additional second parameter can be passed to specify the target brackets, i.e. the type of matching pair characters all brackets will be flattened to. Therefore, in the scripting language interface this function is a replacement for vrna_db_flatten_to().
void vrna_db_flatten_to | ( | char * | string, |
const char | target[3], | ||
unsigned int | options | ||
) |
#include <ViennaRNA/structure_utils.h>
Substitute pairs of brackets in a string with another type of pair characters.
This function can be used to replace brackets in a structure annotation string, such as square brackets [] , to another type of pair characters, e.g. angular brackets <> .
The target
array must contain a character for the 'pair open' annotation at position 0, and one for 'pair close' at position 1. Toptions
parameter is used to specify which types of brackets will be replaced by the new pairs.
structure | The structure string where brackets are flattened in-place |
target | The new pair characters the string will be flattened to |
options | A bitmask to specify which types of brackets should be flattened out |
char* vrna_db_from_ptable | ( | short * | pt | ) |
#include <ViennaRNA/structure_utils.h>
Convert a pair table into dot-parenthesis notation.
pt | The pair table to be copied |
char* vrna_db_from_WUSS | ( | const char * | wuss | ) |
#include <ViennaRNA/structure_utils.h>
Convert a WUSS annotation string to dot-bracket format.
wuss | The input string in WUSS notation |
int vrna_bp_distance | ( | const char * | str1, |
const char * | str2 | ||
) |
#include <ViennaRNA/structure_utils.h>
Compute the "base pair" distance between two secondary structures s1 and s2.
The sequences should have the same length. dist = number of base pairs in one structure but not in the other same as edit distance with open-pair close-pair as move-set
str1 | First structure in dot-bracket notation |
str2 | Second structure in dot-bracket notation |
unsigned int* vrna_refBPcnt_matrix | ( | const short * | reference_pt, |
unsigned int | turn | ||
) |
#include <ViennaRNA/structure_utils.h>
Make a reference base pair count matrix.
Get an upper triangular matrix containing the number of basepairs of a reference structure for each interval [i,j] with i<j. Access it via iindx!!!
unsigned int* vrna_refBPdist_matrix | ( | const short * | pt1, |
const short * | pt2, | ||
unsigned int | turn | ||
) |
#include <ViennaRNA/structure_utils.h>
Make a reference base pair distance matrix.
Get an upper triangular matrix containing the base pair distance of two reference structures for each interval [i,j] with i<j. Access it via iindx!!!
char* vrna_db_from_bp_stack | ( | vrna_bp_stack_t * | bp, |
unsigned int | length | ||
) |
#include <ViennaRNA/structure_utils.h>
Create a dot-backet/parenthesis structure from backtracking stack.
This function is capable to create dot-bracket structures from suboptimal structure prediction sensu M. Zuker
bp | Base pair stack containing the traced base pairs |
length | The length of the structure |
vrna_ep_t* vrna_plist | ( | const char * | struc, |
float | pr | ||
) |
#include <ViennaRNA/structure_utils.h>
Create a vrna_ep_t from a dot-bracket string.
The dot-bracket string is parsed and for each base pair an entry in the plist is created. The probability of each pair in the list is set by a function parameter.
The end of the plist is marked by sequence positions i as well as j equal to 0. This condition should be used to stop looping over its entries
struc | The secondary structure in dot-bracket notation |
pr | The probability for each base pair used in the plist |
char* vrna_db_from_plist | ( | vrna_ep_t * | pairs, |
unsigned int | n | ||
) |
#include <ViennaRNA/structure_utils.h>
Convert a list of base pairs into dot-bracket notation.
pairs | A vrna_ep_t containing the pairs to be included in the dot-bracket string |
n | The length of the structure (number of nucleotides) |
void assign_plist_from_db | ( | vrna_ep_t ** | pl, |
const char * | struc, | ||
float | pr | ||
) |
#include <ViennaRNA/structure_utils.h>
Create a vrna_ep_t from a dot-bracket string.
The dot-bracket string is parsed and for each base pair an entry in the plist is created. The probability of each pair in the list is set by a function parameter.
The end of the plist is marked by sequence positions i as well as j equal to 0. This condition should be used to stop looping over its entries
pl | A pointer to the vrna_ep_t that is to be created |
struc | The secondary structure in dot-bracket notation |
pr | The probability for each base pair |
char* pack_structure | ( | const char * | struc | ) |
#include <ViennaRNA/structure_utils.h>
Pack secondary secondary structure, 5:1 compression using base 3 encoding.
Returns a binary string encoding of the secondary structure using a 5:1 compression scheme. The string is NULL terminated and can therefore be used with standard string functions such as strcmp(). Useful for programs that need to keep many structures in memory.
struc | The secondary structure in dot-bracket notation |
char* unpack_structure | ( | const char * | packed | ) |
#include <ViennaRNA/structure_utils.h>
Unpack secondary structure previously packed with pack_structure()
Translate a compressed binary string produced by pack_structure() back into the familiar dot-bracket notation.
packed | The binary encoded packed secondary structure |
short* make_pair_table | ( | const char * | structure | ) |
#include <ViennaRNA/structure_utils.h>
Create a pair table of a secondary structure.
Returns a newly allocated table, such that table[i]=j if (i.j) pair or 0 if i is unpaired, table[0] contains the length of the structure.
structure | The secondary structure in dot-bracket notation |
short* copy_pair_table | ( | const short * | pt | ) |
#include <ViennaRNA/structure_utils.h>
Get an exact copy of a pair table.
pt | The pair table to be copied |
short* alimake_pair_table | ( | const char * | structure | ) |
#include <ViennaRNA/structure_utils.h>
Pair table for snoop align
short* make_pair_table_snoop | ( | const char * | structure | ) |
#include <ViennaRNA/structure_utils.h>
returns a newly allocated table, such that: table[i]=j if (i.j) pair or 0 if i is unpaired, table[0] contains the length of the structure. The special pseudoknotted H/ACA-mRNA structure is taken into account.
int bp_distance | ( | const char * | str1, |
const char * | str2 | ||
) |
#include <ViennaRNA/structure_utils.h>
Compute the "base pair" distance between two secondary structures s1 and s2.
The sequences should have the same length. dist = number of base pairs in one structure but not in the other same as edit distance with open-pair close-pair as move-set
str1 | First structure in dot-bracket notation |
str2 | Second structure in dot-bracket notation |
unsigned int* make_referenceBP_array | ( | short * | reference_pt, |
unsigned int | turn | ||
) |
#include <ViennaRNA/structure_utils.h>
Make a reference base pair count matrix.
Get an upper triangular matrix containing the number of basepairs of a reference structure for each interval [i,j] with i<j. Access it via iindx!!!
unsigned int* compute_BPdifferences | ( | short * | pt1, |
short * | pt2, | ||
unsigned int | turn | ||
) |
#include <ViennaRNA/structure_utils.h>
Make a reference base pair distance matrix.
Get an upper triangular matrix containing the base pair distance of two reference structures for each interval [i,j] with i<j. Access it via iindx!!!
void parenthesis_structure | ( | char * | structure, |
vrna_bp_stack_t * | bp, | ||
int | length | ||
) |
#include <ViennaRNA/structure_utils.h>
Create a dot-backet/parenthesis structure from backtracking stack.
void parenthesis_zuker | ( | char * | structure, |
vrna_bp_stack_t * | bp, | ||
int | length | ||
) |
#include <ViennaRNA/structure_utils.h>
Create a dot-backet/parenthesis structure from backtracking stack obtained by zuker suboptimal calculation in cofold.c.
void bppm_to_structure | ( | char * | structure, |
FLT_OR_DBL * | pr, | ||
unsigned int | length | ||
) |
#include <ViennaRNA/structure_utils.h>
Create a dot-bracket like structure string from base pair probability matrix.
char bppm_symbol | ( | const float * | x | ) |
#include <ViennaRNA/structure_utils.h>
Get a pseudo dot bracket notation for a given probability information.