<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.15.0" xml:lang="en-US">
  <compounddef id="callbacks" kind="page">
    <compoundname>callbacks</compoundname>
    <title>Notes on Callback Functions</title>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
<para><variablelist>
<varlistentry><term>Global <ref refid="group__fold__compound_1gab4e75b7511179095ef41dc1a8656433a" kindref="member">vrna_auxdata_free_f</ref>  )(void *data)</term></varlistentry>
<listitem><para><anchor id="callbacks_1_callbacks000001"/> <parblock><para>This callback is supposed to free memory occupied by an auxiliary data structure. It will be called when the <ref refid="group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166" kindref="member">vrna_fold_compound_t</ref> is erased from memory through a call to <ref refid="group__fold__compound_1ga576a077b418a9c3650e06f8e5d296fc2" kindref="member">vrna_fold_compound_free()</ref> and will be passed the address of memory previously bound to the <ref refid="group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166" kindref="member">vrna_fold_compound_t</ref> via <ref refid="group__fold__compound_1gad6c0747712712bda6d94702e0de895a7" kindref="member">vrna_fold_compound_add_auxdata()</ref>.  </para>
</parblock></para>
</listitem>
<varlistentry><term>Global <ref refid="group__subopt__stochbt_1ga4e064a63f93476c9f1dba0e207009a0e" kindref="member">vrna_bs_result_f</ref>  )(const char *structure, void *data)</term></varlistentry>
<listitem><para><anchor id="callbacks_1_callbacks000021"/> <parblock><para>This function will be called for each secondary structure that has been successfully backtraced from the partition function DP matrices.  </para>
</parblock></para>
</listitem>
<varlistentry><term>Global <ref refid="group__grammar_1ga43d1c010a22991a657603c0a21435ea6" kindref="member">vrna_gr_inside_exp_f</ref>  )(<ref refid="group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166" kindref="member">vrna_fold_compound_t</ref> *fc, unsigned int i, unsigned int j, void *data)</term></varlistentry>
<listitem><para><anchor id="callbacks_1_callbacks000017"/> <parblock><para>This callback allows for extending the partition function secondary structure decomposition with additional rules.  </para>
</parblock></para>
</listitem>
<varlistentry><term>Global <ref refid="group__grammar_1gac7113454f6ec1bbd043f632756ae7224" kindref="member">vrna_gr_inside_f</ref>  )(<ref refid="group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166" kindref="member">vrna_fold_compound_t</ref> *fc, unsigned int i, unsigned int j, void *data)</term></varlistentry>
<listitem><para><anchor id="callbacks_1_callbacks000015"/> <parblock><para>This callback allows for extending the MFE secondary structure decomposition with additional rules.  </para>
</parblock></para>
</listitem>
<varlistentry><term>Global <ref refid="group__grammar_1gaa74a3d39ef2ce6a65b112377ae1d98e6" kindref="member">vrna_gr_outside_f</ref>  )(<ref refid="group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166" kindref="member">vrna_fold_compound_t</ref> *fc, unsigned int i, unsigned int j, int e, <ref refid="group__data__structures__bt_1ga9452b56292759e4264eb888ed3cc8655" kindref="member">vrna_bps_t</ref> bp_stack, <ref refid="group__data__structures__bt_1ga79fec76412a4fd843e3d4baf87118f14" kindref="member">vrna_bts_t</ref> bt_stack, void *data)</term></varlistentry>
<listitem><para><anchor id="callbacks_1_callbacks000016"/> <parblock><para>This callback allows for backtracking (sub)structures obtained from extending the MFE secondary structure decomposition with additional rules.  </para>
</parblock></para>
</listitem>
<varlistentry><term>Global <ref refid="group__grammar_1gadbb62f9eda06defb039fbc99199d2158" kindref="member">vrna_gr_serialize_bp_f</ref>  )(<ref refid="group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166" kindref="member">vrna_fold_compound_t</ref> *fc, <ref refid="group__data__structures__bt_1ga9452b56292759e4264eb888ed3cc8655" kindref="member">vrna_bps_t</ref> bp_stack, void *data)</term></varlistentry>
<listitem><para><anchor id="callbacks_1_callbacks000014"/> <parblock><para>This callback allows for changing the way how base pairs (and other types of data) obtained from the default and extended grammar are converted back into a dot-bracket string.  </para>
</parblock></para>
</listitem>
<varlistentry><term>Global <ref refid="group__hard__constraints_1ga23a523332de2867a1568a0229345ab80" kindref="member">vrna_hc_eval_f</ref>  )(int i, int j, int k, int l, unsigned char d, void *data)</term></varlistentry>
<listitem><para><anchor id="callbacks_1_callbacks000010"/> <parblock><para>This callback enables one to over-rule default hard constraints in secondary structure decompositions.  </para>
</parblock></para>
</listitem>
<varlistentry><term>Global <ref refid="group__thermodynamics_1gafa73325bee7e6b7c9d1732d70e67d65a" kindref="member">vrna_heat_capacity_f</ref>  )(float temp, float heat_capacity, void *data)</term></varlistentry>
<listitem><para><anchor id="callbacks_1_callbacks000003"/> <parblock><para>This function will be called for each evaluated temperature in the heat capacity prediction.  </para>
</parblock></para>
</listitem>
<varlistentry><term>Global <ref refid="group__math__scalar_1ga868f4010e57fb868ce11804b77f04c2f" kindref="member">vrna_math_fun_dbl_f</ref>  )(double value, <ref refid="group__math__scalar_1ga486680b7d43688e2bcbec959a547ffee" kindref="member">vrna_math_fun_dbl_opt_t</ref> options)</term></varlistentry>
<listitem><para><anchor id="callbacks_1_callbacks000018"/> <parblock><para>This callback handles mathematical functions working on scalar <emphasis>double</emphasis> values.  </para>
</parblock></para>
</listitem>
<varlistentry><term>Global <ref refid="group__mfe__window_1gaa97863c328b909d7da26d618e0c83fb9" kindref="member">vrna_mfe_window_f</ref>  )(unsigned int start, unsigned int end, const char *structure, float en, void *data)</term></varlistentry>
<listitem><para><anchor id="callbacks_1_callbacks000019"/> <parblock><para>This function will be called for each hit in a sliding window MFE prediction.  </para>
</parblock></para>
</listitem>
<varlistentry><term>Global <ref refid="group__part__func__window_1ga847115aeace6030fa01185cca6e34f9e" kindref="member">vrna_probs_window_f</ref>  )(<ref refid="group__data__structures_1ga31125aeace516926bf7f251f759b6126" kindref="member">FLT_OR_DBL</ref> *pr, int pr_size, int i, int max, unsigned int type, void *data)</term></varlistentry>
<listitem><para><anchor id="callbacks_1_callbacks000020"/> <parblock><para>This function will be called for each probability data set in the sliding window probability computation implementation of <ref refid="group__part__func__window_1ga86ebf4399ab22f7d3126c81b5c75b9f4" kindref="member">vrna_probs_window()</ref>. The argument <emphasis>type</emphasis> specifies the type of probability that is passed to this function.  </para>
</parblock></para>
</listitem>
<varlistentry><term>Global <ref refid="group__fold__compound_1gabc02e2d02dad91e66eca6656c68987c1" kindref="member">vrna_recursion_status_f</ref>  )(<ref refid="group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166" kindref="member">vrna_fold_compound_t</ref> *fc, unsigned char status, void *data)</term></varlistentry>
<listitem><para><anchor id="callbacks_1_callbacks000002"/> <parblock><para>This function will be called to notify a third-party implementation about the status of a currently ongoing recursion. The purpose of this callback mechanism is to provide users with a simple way to ensure pre- and post conditions for auxiliary mechanisms attached to our implementations.  </para>
</parblock></para>
</listitem>
<varlistentry><term>Global <ref refid="group__soft__constraints__generic_1gaaa010a245ab273cd5c265929ff0b8bbd" kindref="member">vrna_sc_bt_f</ref>  )(int i, int j, int k, int l, unsigned char d, void *data)</term></varlistentry>
<listitem><para><anchor id="callbacks_1_callbacks000013"/> <parblock><para>This callback enables one to add auxiliary base pairs in the backtracking steps of hairpin- and internal loops.  </para>
</parblock></para>
</listitem>
<varlistentry><term>Global <ref refid="group__soft__constraints__generic_1ga562554815b6717091125bf9782532740" kindref="member">vrna_sc_exp_f</ref>  )(int i, int j, int k, int l, unsigned char d, void *data)</term></varlistentry>
<listitem><para><anchor id="callbacks_1_callbacks000012"/> <parblock><para>This callback enables one to add (pseudo-)energy contributions to individual decompositions of the secondary structure (Partition function variant, i.e. contributions must be returned as Boltzmann factors).  </para>
</parblock></para>
</listitem>
<varlistentry><term>Global <ref refid="group__soft__constraints__generic_1gae2f7ded586b09b12ddaa627eee355a32" kindref="member">vrna_sc_f</ref>  )(int i, int j, int k, int l, unsigned char d, void *data)</term></varlistentry>
<listitem><para><anchor id="callbacks_1_callbacks000011"/> <parblock><para>This callback enables one to add (pseudo-)energy contributions to individual decompositions of the secondary structure.  </para>
</parblock></para>
</listitem>
<varlistentry><term>Global <ref refid="group__subopt__wuchty_1ga760ee7f326a411565f9e9f0cf44b2ff8" kindref="member">vrna_subopt_result_f</ref>  )(const char *stucture, float energy, void *data)</term></varlistentry>
<listitem><para><anchor id="callbacks_1_callbacks000022"/> <parblock><para>This function will be called for each suboptimal secondary structure that is successfully backtraced.  </para>
</parblock></para>
</listitem>
<varlistentry><term>Global <ref refid="group__domains__up_1ga5ea006f39d44db3ae9481a748889a0a1" kindref="member">vrna_ud_add_probs_f</ref>  )(<ref refid="group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166" kindref="member">vrna_fold_compound_t</ref> *fc, int i, int j, unsigned int loop_type, <ref refid="group__data__structures_1ga31125aeace516926bf7f251f759b6126" kindref="member">FLT_OR_DBL</ref> exp_energy, void *data)</term></varlistentry>
<listitem><para><anchor id="callbacks_1_callbacks000008"/> <parblock><para>A callback function to store equilibrium probabilities for the unstructured domain feature  </para>
</parblock></para>
</listitem>
<varlistentry><term>Global <ref refid="group__domains__up_1ga2e9002a489309f2cf59379d8ca6d00f0" kindref="member">vrna_ud_exp_f</ref>  )(<ref refid="group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166" kindref="member">vrna_fold_compound_t</ref> *fc, int i, int j, unsigned int loop_type, void *data)</term></varlistentry>
<listitem><para><anchor id="callbacks_1_callbacks000005"/> <parblock><para>This function will be called to determine the additional energy contribution of a specific unstructured domain, e.g. the binding free energy of some ligand (Partition function variant, i.e. the Boltzmann factors instead of actual free energies).  </para>
</parblock></para>
</listitem>
<varlistentry><term>Global <ref refid="group__domains__up_1ga59dc10fdd4705c87aacaed15a8b1015d" kindref="member">vrna_ud_exp_production_f</ref>  )(<ref refid="group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166" kindref="member">vrna_fold_compound_t</ref> *fc, void *data)</term></varlistentry>
<listitem><para><anchor id="callbacks_1_callbacks000007"/> <parblock><para>The production rule for the unstructured domain grammar extension (Partition function variant)  </para>
</parblock></para>
</listitem>
<varlistentry><term>Global <ref refid="group__domains__up_1gaec7ac7d3800d3ddd42eced89b43038ea" kindref="member">vrna_ud_f</ref>  )(<ref refid="group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166" kindref="member">vrna_fold_compound_t</ref> *fc, int i, int j, unsigned int loop_type, void *data)</term></varlistentry>
<listitem><para><anchor id="callbacks_1_callbacks000004"/> <parblock><para>This function will be called to determine the additional energy contribution of a specific unstructured domain, e.g. the binding free energy of some ligand.  </para>
</parblock></para>
</listitem>
<varlistentry><term>Global <ref refid="group__domains__up_1ga584c32828e8803a32de7c52bdad5c6bd" kindref="member">vrna_ud_get_probs_f</ref>  )(<ref refid="group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166" kindref="member">vrna_fold_compound_t</ref> *fc, int i, int j, unsigned int loop_type, int motif, void *data)</term></varlistentry>
<listitem><para><anchor id="callbacks_1_callbacks000009"/> <parblock><para>A callback function to retrieve equilibrium probabilities for the unstructured domain feature  </para>
</parblock></para>
</listitem>
<varlistentry><term>Global <ref refid="group__domains__up_1ga6da4dff321fdfaf9742efcd558fa327f" kindref="member">vrna_ud_production_f</ref>  )(<ref refid="group__fold__compound_1ga1b0cef17fd40466cef5968eaeeff6166" kindref="member">vrna_fold_compound_t</ref> *fc, void *data)</term></varlistentry>
<listitem><para><anchor id="callbacks_1_callbacks000006"/> <parblock><para>The production rule for the unstructured domain grammar extension </para>
</parblock></para>
</listitem>
</variablelist>
</para>
    </detaileddescription>
    <location file="callbacks"/>
  </compounddef>
</doxygen>
