<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><title>Compute the Hourglass Score for the Reductive Hourglass Test — rhScore • myTAI</title><!-- favicons --><link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png"><link rel="icon" type="image/png" sizes="32x32" href="../favicon-32x32.png"><link rel="apple-touch-icon" type="image/png" sizes="180x180" href="../apple-touch-icon.png"><link rel="apple-touch-icon" type="image/png" sizes="120x120" href="../apple-touch-icon-120x120.png"><link rel="apple-touch-icon" type="image/png" sizes="76x76" href="../apple-touch-icon-76x76.png"><link rel="apple-touch-icon" type="image/png" sizes="60x60" href="../apple-touch-icon-60x60.png"><script src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><link href="../deps/bootstrap-5.3.1/bootstrap.min.css" rel="stylesheet"><script src="../deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><link href="../deps/font-awesome-6.4.2/css/all.min.css" rel="stylesheet"><link href="../deps/font-awesome-6.4.2/css/v4-shims.min.css" rel="stylesheet"><script src="../deps/headroom-0.11.0/headroom.min.js"></script><script src="../deps/headroom-0.11.0/jQuery.headroom.min.js"></script><script src="../deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><script src="../deps/clipboard.js-2.0.11/clipboard.min.js"></script><script src="../deps/search-1.0.0/autocomplete.jquery.min.js"></script><script src="../deps/search-1.0.0/fuse.min.js"></script><script src="../deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><script src="../pkgdown.js"></script><meta property="og:title" content="Compute the Hourglass Score for the Reductive Hourglass Test — rhScore"><meta name="description" content='This function reduces the destruction of an hourglass shaped pattern to a single score value.
Based on a given TAI or TDI pattern the given vector is being
        divided into three developmental modules: early, mid, and late. The corrisponding TAI or TDI
        values in each developmental module are accumulated using the scoringMethod argument ("max-min" or "mean-mean").
In more detail:
(1) for a given TAI or TDI vector tai_profile or tdi_profile, we classify each value of tai_profile or tdi_profile into its corresponding developmental module early, mid, or late.
(2) accumulate the tai_profile or tdi_profile values in each developmental module using the arithmetic mean (mean) in case scoringMethod = "mean-mean", or accumulate the tai_profile or tdi_profile values in each developmental module using max for the early and late module and min for the mid module in case scoringMethod = "max-min".
(3) then reduce the three values for each developmental module by computing the difference between: early - mid, and late - mid.
(4) the two difference values are referred to as a_early and a_late.
Each developmental module now has an accumulated representation value which is being reduced to one value using the
        method argument ("max", "min", or "mean").

Given the two accumulated values for each hourglass module: a_early and a_late,
        we reduce the two given values by:

"max": \(S = max{a_early,a_late}\)
"min": \(S = min{a_early,a_late}\)
"mean": \(S = mean{a_early,a_late}\)
All together this results in a global score S.
This global score S is being returned by this function rhScore.'><meta property="og:description" content='This function reduces the destruction of an hourglass shaped pattern to a single score value.
Based on a given TAI or TDI pattern the given vector is being
        divided into three developmental modules: early, mid, and late. The corrisponding TAI or TDI
        values in each developmental module are accumulated using the scoringMethod argument ("max-min" or "mean-mean").
In more detail:
(1) for a given TAI or TDI vector tai_profile or tdi_profile, we classify each value of tai_profile or tdi_profile into its corresponding developmental module early, mid, or late.
(2) accumulate the tai_profile or tdi_profile values in each developmental module using the arithmetic mean (mean) in case scoringMethod = "mean-mean", or accumulate the tai_profile or tdi_profile values in each developmental module using max for the early and late module and min for the mid module in case scoringMethod = "max-min".
(3) then reduce the three values for each developmental module by computing the difference between: early - mid, and late - mid.
(4) the two difference values are referred to as a_early and a_late.
Each developmental module now has an accumulated representation value which is being reduced to one value using the
        method argument ("max", "min", or "mean").

Given the two accumulated values for each hourglass module: a_early and a_late,
        we reduce the two given values by:

"max": \(S = max{a_early,a_late}\)
"min": \(S = min{a_early,a_late}\)
"mean": \(S = mean{a_early,a_late}\)
All together this results in a global score S.
This global score S is being returned by this function rhScore.'><meta property="og:image" content="https://drostlab.github.io/myTAI/logo.png"></head><body>
    <a href="#main" class="visually-hidden-focusable">Skip to contents</a>


    <nav class="navbar navbar-expand-lg fixed-top bg-light" data-bs-theme="light" aria-label="Site navigation"><div class="container">

    <a class="navbar-brand me-2" href="../index.html">myTAI</a>

    <small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">2.0.0</small>


    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>

    <div id="navbar" class="collapse navbar-collapse ms-3">
      <ul class="navbar-nav me-auto"><li class="active nav-item"><a class="nav-link" href="../reference/index.html">Reference</a></li>
<li class="nav-item dropdown">
  <button class="nav-link dropdown-toggle" type="button" id="dropdown-articles" data-bs-toggle="dropdown" aria-expanded="false" aria-haspopup="true">Articles</button>
  <ul class="dropdown-menu" aria-labelledby="dropdown-articles"><li><a class="dropdown-item" href="../articles/Advanced.html">Advanced Phylotranscriptomics Analyses</a></li>
    <li><a class="dropdown-item" href="../articles/Enrichment.html">Enrichment Analyses</a></li>
    <li><a class="dropdown-item" href="../articles/Expression.html">Gene Expression Analysis with `myTAI`</a></li>
    <li><a class="dropdown-item" href="../articles/Intermediate.html">Intermediate Phylotranscriptomics Analyses</a></li>
    <li><a class="dropdown-item" href="../articles/Introduction.html">Introduction to the myTAI package</a></li>
    <li><a class="dropdown-item" href="../articles/Phylostratigraphy.html">Discussing Genomic Phylostratigraphy</a></li>
  </ul></li>
<li class="nav-item"><a class="nav-link" href="../news/index.html">Changelog</a></li>
      </ul><ul class="navbar-nav"><li class="nav-item"><form class="form-inline" role="search">
 <input class="form-control" type="search" name="search-input" id="search-input" autocomplete="off" aria-label="Search site" placeholder="Search for" data-search-index="../search.json"></form></li>
<li class="nav-item"><a class="external-link nav-link" href="https://github.com/drostlab/myTAI/" aria-label="GitHub"><span class="fa fab fa-github fa-lg"></span></a></li>
      </ul></div>


  </div>
</nav><div class="container template-reference-topic">
<div class="row">
  <main id="main" class="col-md-9"><div class="page-header">
      <img src="../logo.png" class="logo" alt=""><h1>Compute the Hourglass Score for the Reductive Hourglass Test</h1>
      <small class="dont-index">Source: <a href="https://github.com/drostlab/myTAI/blob/HEAD/R/rhScore.R" class="external-link"><code>R/rhScore.R</code></a></small>
      <div class="d-none name"><code>rhScore.Rd</code></div>
    </div>

    <div class="ref-description section level2">
    <p>This function reduces the destruction of an hourglass shaped pattern to a single score value.</p>
<p>Based on a given <code><a href="TAI.html">TAI</a></code> or <code><a href="TDI.html">TDI</a></code> pattern the given vector is being
        divided into three developmental modules: early, mid, and late. The corrisponding <code><a href="TAI.html">TAI</a></code> or <code><a href="TDI.html">TDI</a></code>
        values in each developmental module are accumulated using the <em>scoringMethod</em> argument ("max-min" or "mean-mean").</p>
<p>In more detail:</p>
<p>(1) for a given <code><a href="TAI.html">TAI</a></code> or <code><a href="TDI.html">TDI</a></code> vector <em>tai_profile</em> or <em>tdi_profile</em>, we classify each value of <em>tai_profile</em> or <em>tdi_profile</em> into its corresponding developmental module early, mid, or late.</p>
<p>(2) accumulate the <em>tai_profile</em> or <em>tdi_profile</em> values in each developmental module using the arithmetic mean (<code><a href="https://rdrr.io/r/base/mean.html" class="external-link">mean</a></code>) in case scoringMethod = "mean-mean", or accumulate the <em>tai_profile</em> or <em>tdi_profile</em> values in each developmental module using <code><a href="https://rdrr.io/r/base/Extremes.html" class="external-link">max</a></code> for the early and late module and <code><a href="https://rdrr.io/r/base/Extremes.html" class="external-link">min</a></code> for the mid module in case scoringMethod = "max-min".</p>
<p>(3) then reduce the three values for each developmental module by computing the difference between: early - mid, and late - mid.</p>
<p>(4) the two difference values are referred to as a_early and a_late.</p>
<p>Each developmental module now has an accumulated representation value which is being reduced to one value using the
        <em>method</em> argument ("max", "min", or "mean").</p>

<p>Given the two accumulated values for each hourglass module: a_early and a_late,
        we reduce the two given values by:</p>
<ul><li><p><em>"max"</em>: \(S = max{a_early,a_late}\)</p></li>
<li><p><em>"min"</em>: \(S = min{a_early,a_late}\)</p></li>
<li><p><em>"mean"</em>: \(S = mean{a_early,a_late}\)</p></li>
</ul><p>All together this results in a global score <em>S</em>.
This global score <em>S</em> is being returned by this function <code>rhScore</code>.</p>
    </div>

    <div class="section level2">
    <h2 id="ref-usage">Usage<a class="anchor" aria-label="anchor" href="#ref-usage"></a></h2>
    <div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">rhScore</span><span class="op">(</span></span>
<span>  <span class="va">age_vals</span>,</span>
<span>  <span class="va">early</span>,</span>
<span>  <span class="va">mid</span>,</span>
<span>  <span class="va">late</span>,</span>
<span>  <span class="va">method</span>,</span>
<span>  <span class="va">scoringMethod</span>,</span>
<span>  profile.warn <span class="op">=</span> <span class="cn">FALSE</span></span>
<span><span class="op">)</span></span></code></pre></div>
    </div>

    <div class="section level2">
    <h2 id="arguments">Arguments<a class="anchor" aria-label="anchor" href="#arguments"></a></h2>


<dl><dt id="arg-age-vals">age_vals<a class="anchor" aria-label="anchor" href="#arg-age-vals"></a></dt>
<dd><p>a numeric vector containing <code><a href="TAI.html">TAI</a></code> or <code><a href="TDI.html">TDI</a></code> values for each developmental stage s.</p></dd>


<dt id="arg-early">early<a class="anchor" aria-label="anchor" href="#arg-early"></a></dt>
<dd><p>a numeric vector including the numeric stage values that correspond to the early phase of development.</p></dd>


<dt id="arg-mid">mid<a class="anchor" aria-label="anchor" href="#arg-mid"></a></dt>
<dd><p>a numeric vector including the numeric stage values that correspond to the middle phase of development.</p></dd>


<dt id="arg-late">late<a class="anchor" aria-label="anchor" href="#arg-late"></a></dt>
<dd><p>a numeric vector including the numeric stage values that correspond to the late phase of development.</p></dd>


<dt id="arg-method">method<a class="anchor" aria-label="anchor" href="#arg-method"></a></dt>
<dd><p>to determine the two value reduction value, resulting in the global score S: "max", or "min", or "mean".</p></dd>


<dt id="arg-scoringmethod">scoringMethod<a class="anchor" aria-label="anchor" href="#arg-scoringmethod"></a></dt>
<dd><p>method to determine the module accumulation value: "max-min" or "mean-mean".</p></dd>


<dt id="arg-profile-warn">profile.warn<a class="anchor" aria-label="anchor" href="#arg-profile-warn"></a></dt>
<dd><p>a bolean value indicating whether a warning is printed when the high-low-high pattern isn't followed.</p></dd>

</dl></div>
    <div class="section level2">
    <h2 id="value">Value<a class="anchor" aria-label="anchor" href="#value"></a></h2>
    <p>a numeric value representing the hourglass destruction score.</p>
    </div>
    <div class="section level2">
    <h2 id="details">Details<a class="anchor" aria-label="anchor" href="#details"></a></h2>
    <p>The gpScore is a heuristic score enabling to  construct a test statistic to determine
the significance of a present (phylotranscriptomic) hourglass pattern.</p>
    </div>
    <div class="section level2">
    <h2 id="references">References<a class="anchor" aria-label="anchor" href="#references"></a></h2>
    <p>Drost HG et al. (2015) Mol Biol Evol. 32 (5): 1221-1231 doi:10.1093/molbev/msv012</p>
    </div>
    <div class="section level2">
    <h2 id="see-also">See also<a class="anchor" aria-label="anchor" href="#see-also"></a></h2>
    <div class="dont-index"><p><code><a href="ReductiveHourglassTest.html">ReductiveHourglassTest</a></code>, <code><a href="TAI.html">TAI</a></code>, <code><a href="TDI.html">TDI</a></code></p></div>
    </div>
    <div class="section level2">
    <h2 id="author">Author<a class="anchor" aria-label="anchor" href="#author"></a></h2>
    <p>Hajk-Georg Drost</p>
    </div>

    <div class="section level2">
    <h2 id="ref-examples">Examples<a class="anchor" aria-label="anchor" href="#ref-examples"></a></h2>
    <div class="sourceCode"><pre class="sourceCode r"><code><span class="r-in"><span></span></span>
<span class="r-in"><span> <span class="co"># read standard phylotranscriptomics data</span></span></span>
<span class="r-in"><span> <span class="fu"><a href="https://rdrr.io/r/utils/data.html" class="external-link">data</a></span><span class="op">(</span><span class="va">PhyloExpressionSetExample</span><span class="op">)</span></span></span>
<span class="r-in"><span> <span class="fu"><a href="https://rdrr.io/r/utils/data.html" class="external-link">data</a></span><span class="op">(</span><span class="va">DivergenceExpressionSetExample</span><span class="op">)</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span> <span class="co"># example PhyloExpressionSet:</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span> <span class="co"># compute the TAI profile</span></span></span>
<span class="r-in"><span> <span class="va">TAIs</span> <span class="op">&lt;-</span> <span class="fu"><a href="TAI.html">TAI</a></span><span class="op">(</span><span class="va">PhyloExpressionSetExample</span><span class="op">)</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span> <span class="co"># compute the global hourglass destruction score </span></span></span>
<span class="r-in"><span> <span class="co"># for the TAIs profile using reduction method: mean(mean-mean)</span></span></span>
<span class="r-in"><span> <span class="va">rh_score</span> <span class="op">&lt;-</span> <span class="fu">rhScore</span><span class="op">(</span>age_vals <span class="op">=</span> <span class="va">TAIs</span>,early <span class="op">=</span> <span class="fl">1</span><span class="op">:</span><span class="fl">2</span>,mid <span class="op">=</span> <span class="fl">3</span><span class="op">:</span><span class="fl">5</span>,late <span class="op">=</span> <span class="fl">6</span><span class="op">:</span><span class="fl">7</span>,</span></span>
<span class="r-in"><span>                     method <span class="op">=</span> <span class="st">"mean"</span>,scoringMethod <span class="op">=</span> <span class="st">"mean-mean"</span><span class="op">)</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span> <span class="co"># example DivergenceExpressionSet:</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span> <span class="co"># compute the TDI profile</span></span></span>
<span class="r-in"><span> <span class="va">TDIs</span> <span class="op">&lt;-</span> <span class="fu"><a href="TDI.html">TDI</a></span><span class="op">(</span><span class="va">DivergenceExpressionSetExample</span><span class="op">)</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span> <span class="co"># compute the global hourglass destruction score for the TDIs profile </span></span></span>
<span class="r-in"><span> <span class="co"># using reduction method: mean(mean-mean)</span></span></span>
<span class="r-in"><span> <span class="va">rh_score</span> <span class="op">&lt;-</span> <span class="fu">rhScore</span><span class="op">(</span>age_vals <span class="op">=</span> <span class="va">TDIs</span>,early <span class="op">=</span> <span class="fl">1</span><span class="op">:</span><span class="fl">2</span>,mid <span class="op">=</span> <span class="fl">3</span><span class="op">:</span><span class="fl">5</span>,late <span class="op">=</span> <span class="fl">6</span><span class="op">:</span><span class="fl">7</span>,</span></span>
<span class="r-in"><span>                     method <span class="op">=</span> <span class="st">"mean"</span>,scoringMethod <span class="op">=</span> <span class="st">"mean-mean"</span><span class="op">)</span></span></span>
<span class="r-in"><span>                     </span></span>
<span class="r-in"><span> <span class="co"># get warning if the expected pattern isn't followed</span></span></span>
<span class="r-in"><span> <span class="va">rh_score</span> <span class="op">&lt;-</span> <span class="fu">rhScore</span><span class="op">(</span>age_vals <span class="op">=</span> <span class="va">TAIs</span>,early <span class="op">=</span> <span class="fl">1</span><span class="op">:</span><span class="fl">2</span>,mid <span class="op">=</span> <span class="fl">3</span><span class="op">:</span><span class="fl">5</span>,late <span class="op">=</span> <span class="fl">6</span><span class="op">:</span><span class="fl">7</span>,</span></span>
<span class="r-in"><span>                     method <span class="op">=</span> <span class="st">"mean"</span>,scoringMethod <span class="op">=</span> <span class="st">"mean-mean"</span>,profile.warn<span class="op">=</span><span class="cn">TRUE</span><span class="op">)</span> </span></span>
</code></pre></div>
    </div>
  </main><aside class="col-md-3"><nav id="toc" aria-label="Table of contents"><h2>On this page</h2>
    </nav></aside></div>


    <footer><div class="pkgdown-footer-left">
  <p>Developed by Hajk-Georg Drost, Jaruwatana Sodai Lotharukpong, Nikola Kalábová, Kristian K Ullrich.</p>
</div>

<div class="pkgdown-footer-right">
  <p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.1.0.</p>
</div>

    </footer></div>





  </body></html>

