RNAlib-2.6.0a
Post-transcriptional Modifications

Support of modified bases in secondary structure prediction. More...

Detailed Description

Support of modified bases in secondary structure prediction.

Energy parameter corrections for modified bases.

Many RNAs are known to be (heavily) modified post-trasnciptionaly. The best known examples are tRNAs and rRNAs. To-date, more than 150 different modifications are listed in the MODOMICS database (http://genesilico.pl/modomics/) [5].

Many of the modified bases change the pairing behavior compared to their unmodified version, affecting not only the pairing partner preference, but also the resulting stability of the loops the base pairs may form.

Here, we provide a simple soft constraints callback implementation to correct for some well known modified bases where energy parameters are available for. This mechanism also supports arbitrary new modified base energy parameters supplied in JSON format (see JSON Parameter Files for Modified Bases for details).

+ Collaboration diagram for Post-transcriptional Modifications:

Files

file  soft_special.h
 Specialized implementations that utilize the soft constraint callback mechanism.
 

Typedefs

typedef struct vrna_sc_mod_param_svrna_sc_mod_param_t
 Modified base parameter data structure. More...
 

Functions

vrna_sc_mod_param_t vrna_sc_mod_read_from_jsonfile (const char *filename, vrna_md_t *md)
 Parse and extract energy parameters for a modified base from a JSON file. More...
 
vrna_sc_mod_param_t vrna_sc_mod_read_from_json (const char *json, vrna_md_t *md)
 Parse and extract energy parameters for a modified base from a JSON string. More...
 
void vrna_sc_mod_parameters_free (vrna_sc_mod_param_t params)
 Release memory occupied by a modified base parameter data structure. More...
 
int vrna_sc_mod_json (vrna_fold_compound_t *fc, const char *json, const unsigned int *modification_sites)
 Prepare soft constraint callbacks for modified base as specified in JSON string. More...
 
int vrna_sc_mod_jsonfile (vrna_fold_compound_t *fc, const char *json_file, const unsigned int *modification_sites)
 Prepare soft constraint callbacks for modified base as specified in JSON string. More...
 
int vrna_sc_mod (vrna_fold_compound_t *fc, const vrna_sc_mod_param_t params, const unsigned int *modification_sites)
 Prepare soft constraint callbacks for modified base as specified in JSON string. More...
 
int vrna_sc_mod_m6A (vrna_fold_compound_t *fc, const unsigned int *modification_sites)
 Add soft constraint callbacks for N6-methyl-adenosine (m6A) More...
 
int vrna_sc_mod_pseudouridine (vrna_fold_compound_t *fc, const unsigned int *modification_sites)
 Add soft constraint callbacks for Pseudouridine. More...
 
int vrna_sc_mod_inosine (vrna_fold_compound_t *fc, const unsigned int *modification_sites)
 Add soft constraint callbacks for Inosine. More...
 
int vrna_sc_mod_7DA (vrna_fold_compound_t *fc, const unsigned int *modification_sites)
 Add soft constraint callbacks for 7-deaza-adenosine (7DA) More...
 
int vrna_sc_mod_purine (vrna_fold_compound_t *fc, const unsigned int *modification_sites)
 Add soft constraint callbacks for Purine (a.k.a. nebularine) More...
 
int vrna_sc_mod_dihydrouridine (vrna_fold_compound_t *fc, const unsigned int *modification_sites)
 Add soft constraint callbacks for dihydrouridine. More...
 

Typedef Documentation

◆ vrna_sc_mod_param_t

Function Documentation

◆ vrna_sc_mod_read_from_jsonfile()

vrna_sc_mod_param_t vrna_sc_mod_read_from_jsonfile ( const char *  filename,
vrna_md_t md 
)

#include <ViennaRNA/constraints/soft_special.h>

Parse and extract energy parameters for a modified base from a JSON file.

See also
vrna_sc_mod_read_from_json(), vrna_sc_mod_parameters_free(), vrna_sc_mod(), JSON Parameter Files for Modified Bases
Parameters
filenameThe JSON file containing the specifications of the modified base
mdA model-details data structure (for look-up of canonical base pairs)
Returns
Parameters of the modified base
SWIG Wrapper Notes:
This function is available as an overloaded function sc_mod_read_from_jsonfile() where the md parameter may be omitted

◆ vrna_sc_mod_read_from_json()

vrna_sc_mod_param_t vrna_sc_mod_read_from_json ( const char *  json,
vrna_md_t md 
)

#include <ViennaRNA/constraints/soft_special.h>

Parse and extract energy parameters for a modified base from a JSON string.

See also
vrna_sc_mod_read_from_jsonfile(), vrna_sc_mod_parameters_free(), vrna_sc_mod(), JSON Parameter Files for Modified Bases
Parameters
filenameThe JSON file containing the specifications of the modified base
mdA model-details data structure (for look-up of canonical base pairs)
Returns
Parameters of the modified base
SWIG Wrapper Notes:
This function is available as an overloaded function sc_mod_read_from_json() where the md parameter may be omitted

◆ vrna_sc_mod_parameters_free()

void vrna_sc_mod_parameters_free ( vrna_sc_mod_param_t  params)

#include <ViennaRNA/constraints/soft_special.h>

Release memory occupied by a modified base parameter data structure.

Properly free a vrna_sc_mod_param_t data structure

Parameters
paramsThe data structure to free
SWIG Wrapper Notes:
This function is available as function sc_mod_parameters_free()

◆ vrna_sc_mod_json()

int vrna_sc_mod_json ( vrna_fold_compound_t fc,
const char *  json,
const unsigned int *  modification_sites 
)

#include <ViennaRNA/constraints/soft_special.h>

Prepare soft constraint callbacks for modified base as specified in JSON string.

This function prepares all requirements to acknowledge modified bases as specified in the provided json string. All subsequent predictions will treat each modification site special and adjust energy contributions if necessary.

See also
vrna_sc_mod_jsonfile(), vrna_sc_mod(), vrna_sc_mod_m6A(), vrna_sc_mod_pseudouridine(), vrna_sc_mod_inosine(), vrna_sc_mod_7DA(), vrna_sc_mod_purine(), vrna_sc_mod_dihydrouridine(), JSON Parameter Files for Modified Bases
Parameters
fcThe fold_compound the corrections should be bound to
jsonThe JSON formatted string with the modified base parameters
modification_sitesA list of modification site, i.e. positions that contain the modified base (1-based, last element in the list indicated by 0)
SWIG Wrapper Notes:
This function is attached as method sc_mod_json() to objects of type fold_compound

◆ vrna_sc_mod_jsonfile()

int vrna_sc_mod_jsonfile ( vrna_fold_compound_t fc,
const char *  json_file,
const unsigned int *  modification_sites 
)

#include <ViennaRNA/constraints/soft_special.h>

Prepare soft constraint callbacks for modified base as specified in JSON string.

Similar to vrna_sc_mod_json(), this function prepares all requirements to acknowledge modified bases as specified in the provided json file. All subsequent predictions will treat each modification site special and adjust energy contributions if necessary.

See also
vrna_sc_mod_json(), vrna_sc_mod(), vrna_sc_mod_m6A(), vrna_sc_mod_pseudouridine(), vrna_sc_mod_inosine(), vrna_sc_mod_7DA(), vrna_sc_mod_purine(), vrna_sc_mod_dihydrouridine(), JSON Parameter Files for Modified Bases
Parameters
fcThe fold_compound the corrections should be bound to
jsonThe JSON formatted string with the modified base parameters
modification_sitesA list of modification site, i.e. positions that contain the modified base (1-based, last element in the list indicated by 0)
SWIG Wrapper Notes:
This function is attached as method sc_mod_jsonfile() to objects of type fold_compound

◆ vrna_sc_mod()

int vrna_sc_mod ( vrna_fold_compound_t fc,
const vrna_sc_mod_param_t  params,
const unsigned int *  modification_sites 
)

#include <ViennaRNA/constraints/soft_special.h>

Prepare soft constraint callbacks for modified base as specified in JSON string.

This function takes a vrna_sc_mod_param_t data structure as obtained from vrna_sc_mod_read_from_json() or vrna_sc_mod_read_from_jsonfile() and prepares all requirements to acknowledge modified bases as specified in the provided params data structure. All subsequent predictions will treat each modification site special and adjust energy contributions if necessary.

See also
vrna_sc_mod_read_from_json(), vrna_sc_mod_read_from_jsonfile(), vrna_sc_mod_json(), vrna_sc_mod_jsonfile(), vrna_sc_mod_m6A(), vrna_sc_mod_pseudouridine(), vrna_sc_mod_inosine(), vrna_sc_mod_7DA(), vrna_sc_mod_purine(), vrna_sc_mod_dihydrouridine()
Parameters
fcThe fold_compound the corrections should be bound to
jsonThe JSON formatted string with the modified base parameters
modification_sitesA list of modification site, i.e. positions that contain the modified base (1-based, last element in the list indicated by 0)
Returns
Non-zero if corrections have been added to the fold_compound, 0 otherwise
SWIG Wrapper Notes:
This function is attached as method sc_mod() to objects of type fold_compound

◆ vrna_sc_mod_m6A()

int vrna_sc_mod_m6A ( vrna_fold_compound_t fc,
const unsigned int *  modification_sites 
)

#include <ViennaRNA/constraints/soft_special.h>

Add soft constraint callbacks for N6-methyl-adenosine (m6A)

This is a convenience wrapper to add support for m6A using the soft constraint callback mechanism. Modification sites are provided as a list of sequence positions (1-based). Energy parameter corrections are derived from [18].

Parameters
fcThe fold_compound the corrections should be bound to
modification_sitesA list of modification site, i.e. positions that contain the modified base (1-based, last element in the list indicated by 0)
Returns
Non-zero if corrections have been added to the fold_compound, 0 otherwise
SWIG Wrapper Notes:
This function is attached as method sc_mod_m6A() to objects of type fold_compound

◆ vrna_sc_mod_pseudouridine()

int vrna_sc_mod_pseudouridine ( vrna_fold_compound_t fc,
const unsigned int *  modification_sites 
)

#include <ViennaRNA/constraints/soft_special.h>

Add soft constraint callbacks for Pseudouridine.

This is a convenience wrapper to add support for pseudouridine using the soft constraint callback mechanism. Modification sites are provided as a list of sequence positions (1-based). Energy parameter corrections are derived from [16].

Parameters
fcThe fold_compound the corrections should be bound to
modification_sitesA list of modification site, i.e. positions that contain the modified base (1-based, last element in the list indicated by 0)
Returns
Non-zero if corrections have been added to the fold_compound, 0 otherwise
SWIG Wrapper Notes:
This function is attached as method sc_mod_pseudouridine() to objects of type fold_compound

◆ vrna_sc_mod_inosine()

int vrna_sc_mod_inosine ( vrna_fold_compound_t fc,
const unsigned int *  modification_sites 
)

#include <ViennaRNA/constraints/soft_special.h>

Add soft constraint callbacks for Inosine.

This is a convenience wrapper to add support for inosine using the soft constraint callback mechanism. Modification sites are provided as a list of sequence positions (1-based). Energy parameter corrections are derived from [31] and [32].

Parameters
fcThe fold_compound the corrections should be bound to
modification_sitesA list of modification site, i.e. positions that contain the modified base (1-based, last element in the list indicated by 0)
Returns
Non-zero if corrections have been added to the fold_compound, 0 otherwise
SWIG Wrapper Notes:
This function is attached as method sc_mod_inosine() to objects of type fold_compound

◆ vrna_sc_mod_7DA()

int vrna_sc_mod_7DA ( vrna_fold_compound_t fc,
const unsigned int *  modification_sites 
)

#include <ViennaRNA/constraints/soft_special.h>

Add soft constraint callbacks for 7-deaza-adenosine (7DA)

This is a convenience wrapper to add support for 7-deaza-adenosine using the soft constraint callback mechanism. Modification sites are provided as a list of sequence positions (1-based). Energy parameter corrections are derived from [25].

Parameters
fcThe fold_compound the corrections should be bound to
modification_sitesA list of modification site, i.e. positions that contain the modified base (1-based, last element in the list indicated by 0)
Returns
Non-zero if corrections have been added to the fold_compound, 0 otherwise
SWIG Wrapper Notes:
This function is attached as method sc_mod_7DA() to objects of type fold_compound

◆ vrna_sc_mod_purine()

int vrna_sc_mod_purine ( vrna_fold_compound_t fc,
const unsigned int *  modification_sites 
)

#include <ViennaRNA/constraints/soft_special.h>

Add soft constraint callbacks for Purine (a.k.a. nebularine)

This is a convenience wrapper to add support for Purine using the soft constraint callback mechanism. Modification sites are provided as a list of sequence positions (1-based). Energy parameter corrections are derived from [17].

Parameters
fcThe fold_compound the corrections should be bound to
modification_sitesA list of modification site, i.e. positions that contain the modified base (1-based, last element in the list indicated by 0)
Returns
Non-zero if corrections have been added to the fold_compound, 0 otherwise
SWIG Wrapper Notes:
This function is attached as method sc_mod_purine() to objects of type fold_compound

◆ vrna_sc_mod_dihydrouridine()

int vrna_sc_mod_dihydrouridine ( vrna_fold_compound_t fc,
const unsigned int *  modification_sites 
)

#include <ViennaRNA/constraints/soft_special.h>

Add soft constraint callbacks for dihydrouridine.

This is a convenience wrapper to add support for dihydrouridine using the soft constraint callback mechanism. Modification sites are provided as a list of sequence positions (1-based). This implementation simply assumes that dihydrouridines favor destacking and destabilize base pair stacks by at least 1.5kcal/mol, as suggested in [7].

Parameters
fcThe fold_compound the corrections should be bound to
modification_sitesA list of modification site, i.e. positions that contain the modified base (1-based, last element in the list indicated by 0)
Returns
Non-zero if corrections have been added to the fold_compound, 0 otherwise
SWIG Wrapper Notes:
This function is attached as method sc_mod_dihydrouridine() to objects of type fold_compound