RNAlib-2.2.9
|
Notes on functions and structures wrapped to the scripting language interface(s)
For an easy integration into scripting languages, we provide an automatically generated interface to the RNAlib C-library, generated with scripting.
The main difference when using a scripting language interface compared to direct calls of RNAlib C functions is, that the prefix 'vrna_' is dropped. For instance, when calling the vrna_fold() function, corresponding calls in perl or python are RNA::fold(), and RNA.fold(), respectively.
Functions that are dedicated to work on specific data structures only, e.g. the vrna_fold_compound_t, are usually not exported at all. Instead, they are attached as object methods of a corresponding class (see Object oriented Interface for data structures for detailed information).
For data structures, typedefs, and enumerations the 'vrna_' prefixes are dropped as well, together with their suffixes '_s', '_t', and '_e', respectively. Furthermore, data structures are usually transformed into classes and relevant functions of the C-library are attached as methods.
Example 1: "Simple MFE prediction"
The 'fold_compound' class that serves as an object oriented interface for vrna_fold_compound_t
Example 1: "Simple MFE prediction"
This function is attached to vrna_fc_s objects as overloaded exp_params_rescale() method.
When no parameter is passed to this method, the resulting action is the same as passing NULL as second parameter to vrna_exp_params_rescale(), i.e. default scaling of the partition function. Passing an energy in kcal/mol, e.g. as retrieved by a previous call to the mfe() method, instructs all subsequent calls to scale the partition function accordingly.
This function is attached to vrna_fc_s objects as overloaded exp_params_reset() method.
When no parameter is passed to this method, the resulting action is the same as passing NULL as second parameter to vrna_exp_params_reset(), i.e. global default model settings are used. Passing an object of type vrna_md_s resets the fold compound according to the specifications stored within the vrna_md_s object.
This data structure is wrapped as an object fold_compound with several related functions attached as methods.
A new fold_compound can be obtained by calling one of its constructors:
The resulting object has a list of attached methods which in most cases directly correspond to functions that mainly operate on the corresponding C data structure:
This data structure is wrapped as an object md with multiple related functions attached as methods.
A new set of default parameters can be obtained by calling the constructure of md:
The resulting object has a list of attached methods which directly correspond to functions that mainly operate on the corresponding C data structure:
Note, that default parameters can be modified by directly setting any of the following global variables. Internally, getting/setting default parameters using their global variable representative translates into calls of the following functions, therefore these wrappers for these functions do not exist in the scripting language interface(s):
This function is attached to vrna_fc_s objects as overloaded params_reset() method.
When no parameter is passed to this method, the resulting action is the same as passing NULL as second parameter to vrna_params_reset(), i.e. global default model settings are used. Passing an object of type vrna_md_s resets the fold compound according to the specifications stored within the vrna_md_s object.