<?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="profiledist_8h" kind="file" language="C++">
    <compoundname>profiledist.h</compoundname>
    <includes refid="datastructures_2basic_8h" local="no">ViennaRNA/datastructures/basic.h</includes>
    <incdepgraph>
      <node id="19">
        <label>ViennaRNA/constraints/basic.h</label>
        <link refid="constraints_2basic_8h"/>
        <childnode refid="5" relation="include">
        </childnode>
      </node>
      <node id="18">
        <label>ViennaRNA/constraints/hard.h</label>
        <link refid="hard_8h"/>
        <childnode refid="5" relation="include">
        </childnode>
        <childnode refid="19" relation="include">
        </childnode>
        <childnode refid="10" relation="include">
        </childnode>
      </node>
      <node id="20">
        <label>ViennaRNA/constraints/soft.h</label>
        <link refid="soft_8h"/>
        <childnode refid="11" relation="include">
        </childnode>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="5" relation="include">
        </childnode>
        <childnode refid="19" relation="include">
        </childnode>
      </node>
      <node id="12">
        <label>ViennaRNA/datastructures/array.h</label>
        <link refid="array_8h"/>
        <childnode refid="13" relation="include">
        </childnode>
        <childnode refid="14" relation="include">
        </childnode>
      </node>
      <node id="2">
        <label>ViennaRNA/datastructures/basic.h</label>
        <link refid="datastructures_2basic_8h"/>
        <childnode refid="3" relation="include">
        </childnode>
        <childnode refid="5" relation="include">
        </childnode>
        <childnode refid="6" relation="include">
        </childnode>
        <childnode refid="7" relation="include">
        </childnode>
        <childnode refid="9" relation="include">
        </childnode>
        <childnode refid="18" relation="include">
        </childnode>
        <childnode refid="20" relation="include">
        </childnode>
        <childnode refid="22" relation="include">
        </childnode>
        <childnode refid="23" relation="include">
        </childnode>
        <childnode refid="24" relation="include">
        </childnode>
        <childnode refid="26" relation="include">
        </childnode>
        <childnode refid="27" relation="include">
        </childnode>
        <childnode refid="28" relation="include">
        </childnode>
        <childnode refid="29" relation="include">
        </childnode>
        <childnode refid="30" relation="include">
        </childnode>
      </node>
      <node id="9">
        <label>ViennaRNA/datastructures/dp_matrices.h</label>
        <link refid="datastructures_2dp__matrices_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="10" relation="include">
        </childnode>
        <childnode refid="5" relation="include">
        </childnode>
      </node>
      <node id="10">
        <label>ViennaRNA/datastructures/sparse_mx.h</label>
        <link refid="sparse__mx_8h_source"/>
        <childnode refid="11" relation="include">
        </childnode>
        <childnode refid="12" relation="include">
        </childnode>
      </node>
      <node id="5">
        <label>ViennaRNA/fold_compound.h</label>
        <link refid="fold__compound_8h"/>
        <childnode refid="6" relation="include">
        </childnode>
        <childnode refid="7" relation="include">
        </childnode>
        <childnode refid="8" relation="include">
        </childnode>
        <childnode refid="9" relation="include">
        </childnode>
        <childnode refid="18" relation="include">
        </childnode>
        <childnode refid="20" relation="include">
        </childnode>
        <childnode refid="21" relation="include">
        </childnode>
        <childnode refid="22" relation="include">
        </childnode>
        <childnode refid="23" relation="include">
        </childnode>
        <childnode refid="25" relation="include">
        </childnode>
      </node>
      <node id="21">
        <label>ViennaRNA/grammar/basic.h</label>
        <link refid="grammar_2basic_8h"/>
        <childnode refid="5" relation="include">
        </childnode>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="12" relation="include">
        </childnode>
      </node>
      <node id="6">
        <label>ViennaRNA/model.h</label>
        <link refid="model_8h"/>
      </node>
      <node id="7">
        <label>ViennaRNA/params/basic.h</label>
        <link refid="params_2basic_8h"/>
        <childnode refid="3" relation="include">
        </childnode>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="5" relation="include">
        </childnode>
        <childnode refid="6" relation="include">
        </childnode>
      </node>
      <node id="3">
        <label>ViennaRNA/params/constants.h</label>
        <link refid="constants_8h"/>
        <childnode refid="4" relation="include">
        </childnode>
      </node>
      <node id="1">
        <label>ViennaRNA/profiledist.h</label>
        <link refid="profiledist_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="8">
        <label>ViennaRNA/sequences/sequence.h</label>
        <link refid="sequences_2sequence_8h"/>
        <childnode refid="5" relation="include">
        </childnode>
      </node>
      <node id="22">
        <label>ViennaRNA/structured_domains.h</label>
        <link refid="structured__domains_8h"/>
      </node>
      <node id="27">
        <label>ViennaRNA/structures/dotbracket.h</label>
        <link refid="dotbracket_8h"/>
        <childnode refid="24" relation="include">
        </childnode>
      </node>
      <node id="30">
        <label>ViennaRNA/structures/helix.h</label>
        <link refid="helix_8h"/>
      </node>
      <node id="29">
        <label>ViennaRNA/structures/metrics.h</label>
        <link refid="metrics_8h"/>
      </node>
      <node id="26">
        <label>ViennaRNA/structures/pairtable.h</label>
        <link refid="pairtable_8h"/>
      </node>
      <node id="24">
        <label>ViennaRNA/structures/problist.h</label>
        <link refid="problist_8h"/>
      </node>
      <node id="28">
        <label>ViennaRNA/structures/utils.h</label>
        <link refid="structures_2utils_8h"/>
      </node>
      <node id="23">
        <label>ViennaRNA/unstructured_domains.h</label>
        <link refid="unstructured__domains_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="5" relation="include">
        </childnode>
        <childnode refid="24" relation="include">
        </childnode>
      </node>
      <node id="14">
        <label>ViennaRNA/utils/log.h</label>
        <link refid="log_8h"/>
        <childnode refid="15" relation="include">
        </childnode>
        <childnode refid="16" relation="include">
        </childnode>
        <childnode refid="17" relation="include">
        </childnode>
      </node>
      <node id="25">
        <label>ViennaRNA/zscore/basic.h</label>
        <link refid="zscore_2basic_8h_source"/>
      </node>
      <node id="4">
        <label>limits.h</label>
      </node>
      <node id="16">
        <label>stdarg.h</label>
      </node>
      <node id="13">
        <label>stddef.h</label>
      </node>
      <node id="15">
        <label>stdio.h</label>
      </node>
      <node id="11">
        <label>stdlib.h</label>
      </node>
      <node id="17">
        <label>time.h</label>
      </node>
    </incdepgraph>
    <sectiondef kind="define">
      <memberdef kind="define" id="profiledist_8h_1aab347a3c03fbe8e7319551b9fa0cce4a" prot="public" static="no">
        <name>DEPRECATED</name>
        <param><defname>func   </defname></param>
        <param><defname>msg</defname></param>
        <initializer>func</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="ViennaRNA/profiledist.h" line="13" column="11" bodyfile="ViennaRNA/profiledist.h" bodystart="13" bodyend="-1"/>
      </memberdef>
    </sectiondef>
    <sectiondef kind="func">
      <memberdef kind="function" id="profiledist_8h_1abe75e90e00a1e5dd8862944ed53dad5d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>float</type>
        <definition>float profile_edit_distance</definition>
        <argsstring>(const float *T1, const float *T2)</argsstring>
        <name>profile_edit_distance</name>
        <param>
          <type>const float *</type>
          <declname>T1</declname>
        </param>
        <param>
          <type>const float *</type>
          <declname>T2</declname>
        </param>
        <briefdescription>
<para>Align the 2 probability profiles T1, T2<linebreak/>
. </para>
        </briefdescription>
        <detaileddescription>
<para>This is like a Needleman-Wunsch alignment, we should really use affine gap-costs ala Gotoh </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="ViennaRNA/profiledist.h" line="28" column="7" declfile="ViennaRNA/profiledist.h" declline="28" declcolumn="7"/>
      </memberdef>
      <memberdef kind="function" id="profiledist_8h_1a512ae37eed5828cc1cd3fcb9ce2326a2" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>float *</type>
        <definition>float * Make_bp_profile_bppm</definition>
        <argsstring>(FLT_OR_DBL *bppm, int length)</argsstring>
        <name>Make_bp_profile_bppm</name>
        <param>
          <type><ref refid="group__data__structures_1ga31125aeace516926bf7f251f759b6126" kindref="member">FLT_OR_DBL</ref> *</type>
          <declname>bppm</declname>
        </param>
        <param>
          <type>int</type>
          <declname>length</declname>
        </param>
        <briefdescription>
<para>condense pair probability matrix into a vector containing probabilities for unpaired, upstream paired and downstream paired. </para>
        </briefdescription>
        <detaileddescription>
<para>This resulting probability profile is used as input for profile_edit_distance</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>bppm</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to the base pair probability matrix </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>length</parametername>
</parameternamelist>
<parameterdescription>
<para>The length of the sequence </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The bp profile </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="ViennaRNA/profiledist.h" line="42" column="7" declfile="ViennaRNA/profiledist.h" declline="42" declcolumn="7"/>
      </memberdef>
      <memberdef kind="function" id="profiledist_8h_1a8e0b4fe3698b3502945116ecc0ba6160" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void print_bppm</definition>
        <argsstring>(const float *T)</argsstring>
        <name>print_bppm</name>
        <param>
          <type>const float *</type>
          <declname>T</declname>
        </param>
        <briefdescription>
<para>print string representation of probability profile </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="ViennaRNA/profiledist.h" line="49" column="7" declfile="ViennaRNA/profiledist.h" declline="49" declcolumn="7"/>
      </memberdef>
      <memberdef kind="function" id="profiledist_8h_1a9b0b84a5a45761bf42d7c835dcdb3b85" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void free_profile</definition>
        <argsstring>(float *T)</argsstring>
        <name>free_profile</name>
        <param>
          <type>float *</type>
          <declname>T</declname>
        </param>
        <briefdescription>
<para>free space allocated in Make_bp_profile </para>
        </briefdescription>
        <detaileddescription>
<para>Backward compatibility only. You can just use plain free() </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="ViennaRNA/profiledist.h" line="57" column="7" declfile="ViennaRNA/profiledist.h" declline="57" declcolumn="7"/>
      </memberdef>
      <memberdef kind="function" id="profiledist_8h_1a15fe01e1e2df9a7b1d53c8ed192b2f15" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>float *</type>
        <definition>float * Make_bp_profile</definition>
        <argsstring>(int length)</argsstring>
        <name>Make_bp_profile</name>
        <param>
          <type>int</type>
          <declname>length</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para><simplesect kind="note"><para>This function is NOT threadsafe</para>
</simplesect>
<simplesect kind="see"><para><ref refid="profiledist_8h_1a512ae37eed5828cc1cd3fcb9ce2326a2" kindref="member">Make_bp_profile_bppm()</ref></para>
</simplesect>
<xrefsect id="deprecated_1_deprecated000112"><xreftitle>Deprecated</xreftitle><xrefdescription><para>This function is deprecated and will be removed soon! See <ref refid="profiledist_8h_1a512ae37eed5828cc1cd3fcb9ce2326a2" kindref="member">Make_bp_profile_bppm()</ref> for a replacement</para>
</xrefdescription></xrefsect></para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="ViennaRNA/profiledist.h" line="69" column="8" declfile="ViennaRNA/profiledist.h" declline="69" declcolumn="8"/>
      </memberdef>
    </sectiondef>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <programlisting>
<codeline lineno="1"><highlight class="preprocessor">#ifndef<sp/>VIENNA_RNA_PACKAGE_PROFILEDIST_H</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>VIENNA_RNA_PACKAGE_PROFILEDIST_H</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3"><highlight class="normal"></highlight></codeline>
<codeline lineno="4"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>VRNA_WARN_DEPRECATED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5"><highlight class="normal"></highlight><highlight class="preprocessor">#<sp/>if<sp/>defined(__clang__)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6"><highlight class="normal"></highlight><highlight class="preprocessor">#<sp/><sp/>define<sp/>DEPRECATED(func,<sp/>msg)<sp/>func<sp/>__attribute__<sp/>((deprecated(&quot;&quot;,<sp/>msg)))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="7"><highlight class="normal"></highlight><highlight class="preprocessor">#<sp/>elif<sp/>defined(__GNUC__)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="8"><highlight class="normal"></highlight><highlight class="preprocessor">#<sp/><sp/>define<sp/>DEPRECATED(func,<sp/>msg)<sp/>func<sp/>__attribute__<sp/>((deprecated(msg)))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="9"><highlight class="normal"></highlight><highlight class="preprocessor">#<sp/>else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="10"><highlight class="normal"></highlight><highlight class="preprocessor">#<sp/><sp/>define<sp/>DEPRECATED(func,<sp/>msg)<sp/>func</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="11"><highlight class="normal"></highlight><highlight class="preprocessor">#<sp/>endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="12"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="13"><highlight class="normal"></highlight><highlight class="preprocessor">#<sp/>define<sp/>DEPRECATED(func,<sp/>msg)<sp/>func</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="14"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="15"><highlight class="normal"></highlight></codeline>
<codeline lineno="16"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;<ref refid="datastructures_2basic_8h" kindref="compound">ViennaRNA/datastructures/basic.h</ref>&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="17"><highlight class="normal"></highlight></codeline>
<codeline lineno="19"><highlight class="normal"></highlight></codeline>
<codeline lineno="20"><highlight class="normal"></highlight><highlight class="preprocessor">#ifndef<sp/>VRNA_DISABLE_BACKWARD_COMPATIBILITY</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="21"><highlight class="normal"></highlight></codeline>
<codeline lineno="28" refid="profiledist_8h_1abe75e90e00a1e5dd8862944ed53dad5d" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="profiledist_8h_1abe75e90e00a1e5dd8862944ed53dad5d" kindref="member">profile_edit_distance</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>*T1,</highlight></codeline>
<codeline lineno="29"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>*T2);</highlight></codeline>
<codeline lineno="30"><highlight class="normal"></highlight></codeline>
<codeline lineno="31"><highlight class="normal"></highlight></codeline>
<codeline lineno="42" refid="profiledist_8h_1a512ae37eed5828cc1cd3fcb9ce2326a2" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>*<ref refid="profiledist_8h_1a512ae37eed5828cc1cd3fcb9ce2326a2" kindref="member">Make_bp_profile_bppm</ref>(<ref refid="group__data__structures_1ga31125aeace516926bf7f251f759b6126" kindref="member">FLT_OR_DBL</ref><sp/><sp/>*bppm,</highlight></codeline>
<codeline lineno="43"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>length);</highlight></codeline>
<codeline lineno="44"><highlight class="normal"></highlight></codeline>
<codeline lineno="45"><highlight class="normal"></highlight></codeline>
<codeline lineno="49" refid="profiledist_8h_1a8e0b4fe3698b3502945116ecc0ba6160" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><sp/><ref refid="profiledist_8h_1a8e0b4fe3698b3502945116ecc0ba6160" kindref="member">print_bppm</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>*T);</highlight></codeline>
<codeline lineno="50"><highlight class="normal"></highlight></codeline>
<codeline lineno="51"><highlight class="normal"></highlight></codeline>
<codeline lineno="57" refid="profiledist_8h_1a9b0b84a5a45761bf42d7c835dcdb3b85" refkind="member"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><sp/><ref refid="profiledist_8h_1a9b0b84a5a45761bf42d7c835dcdb3b85" kindref="member">free_profile</ref>(</highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>*T);</highlight></codeline>
<codeline lineno="58"><highlight class="normal"></highlight></codeline>
<codeline lineno="59"><highlight class="normal"></highlight></codeline>
<codeline lineno="68"><highlight class="normal">DEPRECATED(</highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>*<ref refid="profiledist_8h_1a15fe01e1e2df9a7b1d53c8ed192b2f15" kindref="member">Make_bp_profile</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>length),</highlight></codeline>
<codeline lineno="69" refid="profiledist_8h_1a15fe01e1e2df9a7b1d53c8ed192b2f15" refkind="member"><highlight class="normal"></highlight><highlight class="stringliteral">&quot;Use<sp/>Make_bp_profile_bppm()<sp/>instead&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="70"><highlight class="normal"></highlight></codeline>
<codeline lineno="71"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="72"><highlight class="normal"></highlight></codeline>
<codeline lineno="73"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
    </programlisting>
    <location file="ViennaRNA/profiledist.h"/>
  </compounddef>
</doxygen>
