chemodiversity/vortrag/chemodiversity.html

575 lines
29 KiB
HTML
Raw Normal View History

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>
Chemodiversity: A short overview of this project
</title>
<link rel="stylesheet" href="/reveal.js/css/reveal.css">
<!-- My solarized Theme (derived from reveal's solarized.css) -->
<link rel="stylesheet" href="/css/solarized_plus.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? '/reveal.js/css/print/pdf.css' : '/reveal.js/css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
<!-- MathJax config -->
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
jax: ["input/TeX","output/HTML-CSS"],
TeX: {
Macros: {
R: "{\\mathrm{{I}\\kern-.15em{R}}}",
laplace: "{\\Delta}",
grad: "{\\nabla}",
T: "^{\\mathsf{T}}",
abs: ['\\left\\lvert #1 \\right\\rvert', 1],
norm: ['\\left\\Vert #1 \\right\\Vert', 1],
iprod: ['\\left\\langle #1 \\right\\rangle', 1],
vec: ['\\mathbf{#1}', 1],
mat: ['\\mathbf{#1}', 1],
set: ['\\mathcal{#1}', 1],
func: ['\\mathrm{#1}', 1],
trans: ['{#1}\\mkern-1mu^{\\mathsf{T}}', 1],
matrix: ['\\begin{bmatrix} #1 \\end{bmatrix}', 1],
vector: ['\\begin{pmatrix} #1 \\end{pmatrix}', 1],
of: ['\\mkern{-2mu}\\left( #1 \\right\)', 1]
}
},
"HTML-CSS": {
styles: {
".reveal section .MathJax_Display": { margin: "0.5em 0em" }
},
scale: 95
}
});
</script>
</head>
<body>
<!-- here come the slides -->
<div class="reveal">
<div class="slides">
<!-- Title slide -->
<section class="white-on-blue">
<div class="title"> Chemodiversity </div>
<div class="subtitle"> A short overview of this project </div>
<div class="author"> Stefan Dresselhaus </div>
<div class="affiliation"> Theoretic Biology Group<br> Bielefeld University </div>
</section>
<!-- Table of Contents -->
<!-- all the slides from markdown document: DO NOT INDENT THE body LINE!!! -->
<section class="slide level1">
<section id="what-is-chemodiversity" class="level2">
<h2>What is chemodiversity?</h2>
<ul>
<li class="fragment">It was observed, that many plants seem to produce many compounds with no obvious purpose</li>
<li class="fragment">Using resources to produce such compounds (instead of i.e. growing) should yield a fitness-disadvantage</li>
<li class="fragment">one expects evolution to eliminate such behavior</li>
</ul>
</section>
<section id="question-why-is-this-behavior-observed" class="level2">
<h2>Question: Why is this behavior observed?</h2>
<ul>
<li class="fragment">Are these compounds necessary for some unresearched reason?
<ul>
<li class="fragment">unknown environmental effects?</li>
<li class="fragment">unknown intermediate products for necessary defenses?</li>
<li class="fragment">speculative diversity because they could be useful after genetic mutations?</li>
</ul></li>
</ul>
</section>
<section id="screening-hypothesis" class="level2">
<h2>Screening Hypothesis</h2>
<ul>
<li class="fragment">First suggested by Jones &amp; Firn (<a href="https://doi.org/10.1098/rstb.1991.0077">1991</a>)</li>
<li class="fragment">new (random) compounds are rarely biologically active</li>
<li class="fragment">plants have a higher chance finding an active compound if they diversify</li>
<li class="fragment">many (inactive) compounds are sustained for a while because they may be precursors to biologically active substances</li>
</ul>
<div class="fragment">
<p>There are indications for and against this hypothesis by <a href="https://nph.onlinelibrary.wiley.com/doi/full/10.1111/nph.12526#nph12526-bib-0093">various groups</a>.</p>
</div>
</section>
</section>
<section id="setting-up-a-simulation" class="slide level1">
<h1>Setting up a simulation</h1>
<blockquote>
<p>If you wish to make apple pie from scratch, you must first create the universe<br />
- Carl Sagan</p>
</blockquote>
</section>
<section class="slide level1">
<section id="defining-chemistry" class="level2">
<h2>Defining Chemistry</h2>
<ul>
<li class="fragment">First of all we define the chemistry of our environment, so we know all possible interactions and can manipulate them at will.</li>
<li class="fragment">We differentiate between <strong><code class="sourceCode haskell"><span class="dt">Substrate</span></code></strong> and <strong><code class="sourceCode haskell"><span class="dt">Products</span></code></strong>:
<ul>
<li class="fragment"><strong><code class="sourceCode haskell"><span class="dt">Substrate</span></code></strong> can just be used (i.e. real substrates if the whole metabolism should be simulated, <strong><code class="sourceCode haskell"><span class="dt">PPM</span></code></strong><sup>[1]</sup> in our simplified case)</li>
<li class="fragment"><strong><code class="sourceCode haskell"><span class="dt">Products</span></code></strong> are nodes in our chemistry environment.</li>
</ul></li>
<li class="fragment"><p>In Code:</p>
<pre class="sourceCode haskell" id="cb1"><code class="sourceCode haskell"><div class="sourceLine" id="cb1-1" data-line-number="1"><span class="kw">data</span> <span class="dt">Compound</span> <span class="fu">=</span> <span class="dt">Substrate</span> <span class="dt">Nutrient</span></div>
<div class="sourceLine" id="cb1-2" data-line-number="2"> <span class="fu">|</span> <span class="dt">Produced</span> <span class="dt">Component</span></div>
<div class="sourceLine" id="cb1-3" data-line-number="3"> <span class="fu">|</span> <span class="dt">GenericCompound</span> <span class="dt">Int</span></div></code></pre>
<div class="footer">
<p><sup>[1]</sup>: plants primary metabolism</p>
</div></li>
</ul>
</section>
<section id="usage-in-the-current-model" class="level2">
<h2>Usage in the current Model</h2>
<ul>
<li class="fragment">The Model used for evaluation just has one <code class="sourceCode haskell"><span class="dt">Substrate</span></code>:<br />
<code class="sourceCode haskell"><span class="dt">PPM</span></code> with a fixed Amount to account for effects of sucking primary-metabolism-products out of the primary metabolic cycle</li>
<li class="fragment">This is used to simulate i.e. worse growth, fertility and other things affecting the fitness of a plant.</li>
<li class="fragment">We are not using named Compounds, but restrict to generic <code class="sourceCode haskell"><span class="dt">Compound</span> <span class="dv">1</span></code>, <code class="sourceCode haskell"><span class="dt">Compound</span> <span class="dv">2</span></code></li>
<li class="fragment">Not done, but worth exploring:
<ul>
<li class="fragment">Take a “real-world” snapshot of Nutrients and Compounds and recreate them</li>
<li class="fragment">See if the simulation follows the real world</li>
</ul></li>
</ul>
</section>
<section id="defining-a-metabolism" class="level2">
<h2>Defining a Metabolism</h2>
<ul>
<li class="fragment">We define <strong><code class="sourceCode haskell"><span class="dt">Enzyme</span></code>s</strong> as
<ul>
<li class="fragment">having a recipe for a chemical reaction</li>
<li class="fragment">are reversible</li>
<li class="fragment">may have dependencies on catalysts to be present</li>
<li class="fragment">may have higher dominance over other enzymes with the same reaction</li>
</ul></li>
<li class="fragment">Input can be <code class="sourceCode haskell"><span class="dt">Substrate</span></code> and/or <code class="sourceCode haskell"><span class="dt">Products</span></code></li>
<li class="fragment">Outputs can only be <code class="sourceCode haskell"><span class="dt">Products</span></code></li>
<li class="fragment"><span class="math inline">\(\Rightarrow\)</span> This makes them to Edges in a graph combining the chemical compounds</li>
</ul>
</section>
<section id="usage-in-the-current-model-1" class="level2">
<h2>Usage in the current Model</h2>
<ul>
<li class="fragment"><code class="sourceCode haskell"><span class="dt">Enzyme</span></code>s all
<ul>
<li class="fragment">only map <code class="sourceCode haskell"><span class="dv">1</span></code> input to <code class="sourceCode haskell"><span class="dv">1</span></code> Output with a production rate of <code class="sourceCode haskell"><span class="dv">1</span></code> per <code class="sourceCode haskell"><span class="dt">Enzyme</span></code><br />
(i.e. <code class="sourceCode haskell"><span class="fu">-</span><span class="dv">1</span> <span class="dt">Compound</span> <span class="dv">2</span> <span class="ot">-&gt;</span> <span class="fu">+</span><span class="dv">1</span> <span class="dt">Compound</span> <span class="dv">5</span></code>)</li>
<li class="fragment">are equally dominant</li>
<li class="fragment">need no catalysts</li>
</ul></li>
</ul>
</section>
<section id="defining-predators" class="level2">
<h2>Defining Predators</h2>
<ul>
<li class="fragment"><strong><code class="sourceCode haskell"><span class="dt">Predator</span></code>s</strong> consist of
<ul>
<li class="fragment">a list of <code class="sourceCode haskell"><span class="dt">Compound</span></code>s that can kill them</li>
<li class="fragment">a fitness impact (<span class="math inline">\([0..1]\)</span>) as the probability of killing the plant</li>
<li class="fragment">an expected number of attacks per generation</li>
<li class="fragment">a probability (<span class="math inline">\([0..1]\)</span>) of appearing in a single generation</li>
</ul></li>
<li class="fragment"><code class="sourceCode haskell"><span class="dt">Predator</span></code> need not necessary be biologically motivated
<ul>
<li class="fragment">i.e. rare, nearly devastating attacks (floods, droughts, …) with realistic probabilities</li>
</ul></li>
</ul>
</section>
<section id="example-environment" class="level2">
<h2>Example Environment</h2>
<div class="columns">
<div class="column" style="width:37%;">
<ul>
<li class="fragment">The complete environment now consists of
<ul>
<li class="fragment"><code class="sourceCode haskell"><span class="dt">Compound</span></code>s:<br />
<img data-src="img/compound_example.png" style="vertical-align:middle" /></li>
<li class="fragment"><code class="sourceCode haskell"><span class="dt">Enzyme</span></code>s:<br />
<img data-src="img/enzyme_example.png" style="vertical-align:middle" /></li>
<li class="fragment"><code class="sourceCode haskell"><span class="dt">Predator</span></code>s:<br />
<img data-src="img/predator_example.png" style="vertical-align:middle" /></li>
</ul></li>
</ul>
</div><div class="column fragment" style="width:63%;">
<figure>
<img data-src="img/environment.tree.png" alt="Our default test-environment" style="width:75.0%" /><figcaption>Our default test-environment</figcaption>
</figure>
<p>Additional rules:</p>
<ul>
<li class="fragment">Every “subtree” from the marked <code class="sourceCode haskell"><span class="dt">PPM</span></code> is treated as a separate species (fungi, animals, …)<br />
<span class="math inline">\(\Rightarrow\)</span> Every predator can only be affected by toxins in the same part of the tree</li>
<li class="fragment">Trees can be automatically generated in a decent manner to search for environmens where specific effects may arise</li>
</ul>
</div>
</div>
<aside class="notes">
<p>CTRL+Click for zoom!</p>
<ul>
<li>All starts at PPM (Plant Primary Metabolism)</li>
<li>Red = Toxic</li>
<li>Blue = Predators</li>
</ul>
</aside>
</section>
</section>
<section class="slide level1">
<section id="plants" class="level2">
<h2>Plants</h2>
<p>A <strong><code class="sourceCode haskell"><span class="dt">Plant</span></code></strong> consists of</p>
<ul>
<li class="fragment">a <strong><code class="sourceCode haskell"><span class="dt">Genome</span></code></strong>, a simple list of genes
<ul>
<li class="fragment">Triple of <code class="sourceCode haskell">(<span class="dt">Enzyme</span>, <span class="dt">Quantity</span>, <span class="dt">Activation</span>)</code></li>
<li class="fragment">without order or locality (i.e. interference of neighboring genes)</li>
<li class="fragment"><code class="sourceCode haskell"><span class="dt">Quantity</span></code> is just an optimization (=Int) to group identical <code class="sourceCode haskell"><span class="dt">Activation</span></code>s</li>
<li class="fragment"><code class="sourceCode haskell"><span class="dt">Activation</span></code> is a float <span class="math inline">\(\in [0..1]\)</span> to regulate the activity of the <code class="sourceCode haskell"><span class="dt">Enzyme</span></code> genetically</li>
</ul></li>
<li class="fragment">an <code class="sourceCode haskell">absorbNutrients</code>-Function to simulate various effects when absorbing nutrients out of the environment, depending on the environment (i.e. <em>can</em> use informations about chemistry, predators, etc.)
<ul>
<li class="fragment">Not used in our simulation, as we only have <code class="sourceCode haskell"><span class="dt">PPM</span></code> as “nutrient” and we take everything given to us.</li>
</ul></li>
</ul>
</section>
<section id="metabolism-simulation" class="level2">
<h2>Metabolism simulation</h2>
<p>Creation of compounds from the given resources is an iterative process:</p>
<ul>
<li class="fragment">First of all we create a conversion Matrix <span class="math inline">\(\Delta_c\)</span> with corresponding startvector <span class="math inline">\(s_0\)</span>.</li>
<li class="fragment"><p>We now iterate <span class="math inline">\(s_i = (\mathbb{1} + \Delta_c) \cdot s_{i-1}\)</span> for a fixed number of times (currently: <span class="math inline">\(100\)</span>) to simulate the metabolism<sup>[2]</sup>.</p>
<div class="footer">
<p><sup>[2]</sup>: Thats a lie, we calculate <span class="math inline">\((\mathbb{1} + \Delta_c)^{100}\)</span> efficiently via <code>lapack</code>-internals</p>
</div></li>
<li class="fragment">Entries in the matrix come from the <code class="sourceCode haskell"><span class="dt">Genome</span></code>: an <code class="sourceCode haskell"><span class="dt">Enzyme</span></code> which converts <span class="math inline">\(i\)</span> to <span class="math inline">\(j\)</span> with quantity <span class="math inline">\(q\)</span> and activity <span class="math inline">\(a\)</span> yield <span class="math display">\[\begin{eqnarray*}
\Delta_c[i,j] &amp;\mathrel{+}=&amp; q\cdot a,\\
\Delta_c[j,i] &amp;\mathrel{+}=&amp; q\cdot a, \\
\Delta_c[i,i] &amp;\mathrel{-}=&amp; q\cdot a, \\
\Delta_c[j,j] &amp;\mathrel{-}=&amp; q\cdot a
\end{eqnarray*}.\]</span>
<ul>
<li class="fragment">This makes the Enzyme-reaction invertible as both ways get treated equally.</li>
</ul></li>
</ul>
</section>
<section id="metabolism-example" class="level2">
<h2>Metabolism-example</h2>
<ul>
<li class="fragment"><p>Given a simple Metabolism with <span class="math inline">\(1\)</span> nutrient (first row/column) and <span class="math inline">\(2\)</span> Enzymes in sequence, we have given <span class="math inline">\(\Delta_c\)</span> wtih corresponding startvector <span class="math inline">\(s_0\)</span>: <span class="math display">\[\Delta_c = 0.01 \cdot \begin{pmatrix}
-1 &amp; 1 &amp; 0 \\
1 &amp; -2 &amp; 1 \\
0 &amp; 1 &amp; -1 \\
\end{pmatrix}, s_0 = \begin{pmatrix}\text{PPM:} &amp; 3 \\ \text{Compound1:} &amp; 0 \\ \text{Compound2:} &amp; 0\end{pmatrix}.\]</span></p></li>
<li class="fragment"><p>In the simulation this yields us <span class="math display">\[s_{100} \approx \begin{pmatrix}\text{PPM:} &amp; 1 \\ \text{Compound1:} &amp; 1 \\ \text{Compound2:} &amp; 1\end{pmatrix},\]</span> which is the expected outcome for an equilibrium.</p></li>
</ul>
</section>
<section id="assumptions-for-metabolism-simulation" class="level2">
<h2>Assumptions for metabolism simulation</h2>
<ul>
<li class="fragment">All Enzymes are there from the beginning</li>
<li class="fragment">All Enzyme-reactions are reversible without loss</li>
<li class="fragment">static conversion-matrix for fast calculations (unsuited, if i.e. enzymes depend on catalysts)</li>
<li class="fragment">One genetic enzyme corresponds to (infinitely) many real (proportional weaker) enzymes in the plant, which get controlled via the “activation” parameter</li>
</ul>
</section>
<section id="fitness" class="level2">
<h2>Fitness</h2>
<ul>
<li class="fragment">We handle fitness as <span class="math inline">\(\text{survival-probability} \in [0..1]\)</span> and model each detrimental effect as probability which get multiplied together.</li>
<li class="fragment">To calculate the fitness of an individual we take three distinct effects into consideration:
<ul>
<li class="fragment">Static costs of enzymes
<ul>
<li class="fragment">Creating enzymes weakens the primary cycle and thus possibly beneficial traits (growth, attraction of beneficial organisms, …) <span class="math display">\[F_s := \text{static_cost_factor} \cdot \sum_i q_i \cdot a_i \quad | \quad (e_i,q_i, a_i) \in \text{Genome}\]</span></li>
<li class="fragment">limits the amount of dormant enzymes</li>
</ul></li>
<li class="fragment">Cost of active enzymes
<ul>
<li class="fragment">Cost of using up nutrients <span class="math display">\[F_e := \text{active_cost_factor} \cdot \frac{\text{Nutrients used}}{\text{Nutrients available}}\]</span></li>
</ul></li>
<li class="fragment">Deterrence of attackers <span class="math inline">\(F_d\)</span> (next slide)</li>
</ul></li>
</ul>
</section>
<section id="attacker" class="level2">
<h2>Attacker</h2>
<ul>
<li class="fragment">Predators are modeled after <a href="http://doi.org/10.1098/rspb.2007.0456">Svennungsen et al. (2007)</a></li>
<li class="fragment">Each predator has an expected number of attacks <span class="math inline">\(P_a\)</span>, that are poisson-distributed with impact <span class="math inline">\(P_i\)</span>.</li>
<li class="fragment">Plants can defend themselves via
<ul>
<li class="fragment">toxins that the predator is affected by with impact-probability <span class="math inline">\(D_t(P_i)\)</span></li>
<li class="fragment">herd-immunity via effects like automimicry: <span class="math inline">\(D_{pop} = \mathbb{E}[D_t(P_i)]\)</span></li>
</ul></li>
<li class="fragment"><p>All this yields the formula:</p>
<p><span class="math display">\[F_d := 1 - e^{- (D_{pop} \cdot P_a) (1-D_t(P_i))}\]</span></p></li>
<li class="fragment">The attacker-model is only valid for many reasonable assumptions
<ul>
<li class="fragment">equilibrium population dynamics</li>
<li class="fragment">equal dense population</li>
<li class="fragment">which individual to attack is independently chosen</li>
<li class="fragment">etc. (Details in the paper linked above)</li>
</ul></li>
</ul>
</section>
<section id="haploid-mating" class="level2">
<h2>Haploid mating</h2>
<ul>
<li class="fragment">We hold the population-size fixed at <span class="math inline">\(100\)</span></li>
<li class="fragment">Each plant has a reproduction-probability of <span class="math display">\[p(\textrm{reproduction}) = \frac{\textrm{plant-fitness}}{\textrm{total fitness in population}}\]</span> yielding a fitness-weighted distribution from that <span class="math inline">\(100\)</span> new offspring are drawn</li>
<li class="fragment"><p>in inheritance each gene of the parent goes through different steps (with given default-values)<sup>[3]</sup></p>
<div class="footer">
<p><sup>[3]</sup>: in case of quantity <span class="math inline">\(q &gt; 1\)</span> the process is repeated <span class="math inline">\(q\)</span> times independently.</p>
</div>
<ul>
<li class="fragment"><strong>mutation</strong>: with <span class="math inline">\(p_{mut} = 0.01\)</span> another random enzyme is produced, but activation kept</li>
<li class="fragment"><strong>duplication</strong>: with <span class="math inline">\(p_{dup} = 0.05\)</span> the gene gets duplicated (quantity <span class="math inline">\(+1\)</span>)</li>
<li class="fragment"><strong>deletion</strong>: with <span class="math inline">\(p_{del} = p_{dup}\)</span> the gene get deleted (or quantity <span class="math inline">\(-1\)</span>)</li>
<li class="fragment"><strong>addition</strong>: with <span class="math inline">\(p_{add} = 0.005\)</span> an additional gene producing a random enzyme with activation <span class="math inline">\(0.5\)</span> gets added as mutation from genes we do not track (i.e. primary cycle)</li>
<li class="fragment"><strong>activation-noise</strong>: activation is changed by <span class="math inline">\(c_{noise} = \pm 0.01\)</span> drawn from a uniform distribution, clamped to <span class="math inline">\([0..1]\)</span></li>
</ul></li>
</ul>
<aside class="notes">
<ul>
<li>Default values <strong>not</strong> motivated in any way!</li>
<li>finding out how these values influence is core!</li>
</ul>
</aside>
</section>
</section>
<section class="slide level1">
<section id="simulations" class="level2">
<h2>Simulations</h2>
<ul>
<li class="fragment">Overall question: What parameters are necessary for chemodiversity?
<ul>
<li class="fragment">How can we see chemodiversity?</li>
<li class="fragment">We define an Enzyme <span class="math inline">\(E\)</span> as divers, if the average of this Enzyme in the population stays below <span class="math inline">\(0.5\)</span>, so <span class="math inline">\(E_i \in E_{div} \text{iff.} \mathbb{E}[E_i] &lt; 0.5\)</span></li>
<li class="fragment">We can then count the number of diverse Enzymes per plant <span class="math inline">\(E_{d,p_i} = |\left\lbrace E_i | E_i \in E_{div}, E_{i,p_i} &gt; 0.5, \right\rbrace|\)</span></li>
</ul></li>
<li class="fragment">To get an insight into how this behaves we observe several other parameters every generation:
<ul>
<li class="fragment">Fitness <span class="math inline">\(\in [0..1]\)</span></li>
<li class="fragment">Number of different compounds created</li>
<li class="fragment">Amount of compounds created</li>
<li class="fragment">Number of Plants theoretically resistant to predator <span class="math inline">\(i\)</span> (i.e. <strong>can</strong> produce a toxin to defend themselves, albeit not to <span class="math inline">\(100\%\)</span>.</li>
</ul></li>
</ul>
</section>
<section id="simulations-cont." class="level2">
<h2>Simulations (cont.)</h2>
<ul>
<li class="fragment">General setup of the simulation:
<ul>
<li class="fragment">All using the example-environment shown before
<ul>
2018-06-27 11:02:02 +00:00
<li class="fragment"><span class="math inline">\(27\)</span> different compounds, <span class="math inline">\(1\)</span> Nutrient (simulating the primary metabolism)</li>
<li class="fragment"><span class="math inline">\(7\)</span> of <span class="math inline">\(27\)</span> compounds are toxic</li>
<li class="fragment">at least <span class="math inline">\(3\)</span> compounds are needed for total immunity</li>
<li class="fragment"><span class="math inline">\(4\)</span> predators set to <code class="sourceCode haskell"><span class="dt">AlwaysAttack</span></code></li>
</ul></li>
2018-06-27 11:02:02 +00:00
<li class="fragment">Duration of <span class="math inline">\(2000\)</span> generations</li>
<li class="fragment"><span class="math inline">\(\text{static_enzyme_cost} = 0.02\)</span></li>
<li class="fragment"><span class="math inline">\(\text{nutrient_impact} = 0.1\)</span></li>
</ul></li>
<li class="fragment">Different setups tested:
<ul>
2018-06-27 11:02:02 +00:00
<li class="fragment">Behavior of predators (<code class="sourceCode haskell"><span class="dt">AlwaysAttack</span></code>, <code class="sourceCode haskell"><span class="dt">AttackRandom</span></code>, <code class="sourceCode haskell"><span class="dt">AttackInterval</span> <span class="dv">10</span></code>, <code class="sourceCode haskell"><span class="dt">AttackInterval</span> <span class="dv">100</span></code>)</li>
<li class="fragment">varying <span class="math inline">\(\text{static_enzyme_cost}\)</span> from <span class="math inline">\(0.0\)</span> to <span class="math inline">\(0.20\)</span> in steps of <span class="math inline">\(0.02\)</span>
<ul>
<li class="fragment">effectively limits the amount of maximal enzymes to <span class="math inline">\(\frac{1}{\text{static_enzyme_cost}}\)</span></li>
</ul></li>
<li class="fragment">varying <span class="math inline">\(\text{nutrient_impact}\)</span> from <span class="math inline">\(0.0\)</span> to <span class="math inline">\(1.0\)</span> in steps of <span class="math inline">\(0.1\)</span>
<ul>
<li class="fragment">makes toxins less/more costly to produce</li>
</ul></li>
</ul></li>
</ul>
</section>
</section>
<section id="results" class="slide level1">
<h1>Results</h1>
<blockquote>
<p>It doesnt matter how beautiful your theory is, it doesnt matter how smart you are. If it doesnt agree with experiment, its wrong.<br />
- Richard P. Feynman</p>
</blockquote>
</section>
<section class="slide level1">
<section id="effect-of-predator-behavior-onto-chemodiversity" class="level2">
<h2>Effect of Predator-Behavior onto chemodiversity</h2>
<figure>
<img data-src="img/attackRate_E_d_mu_vs_C_mu.png" alt="Graph" /><figcaption>Graph</figcaption>
</figure>
</section>
<section id="effect-of-static-enzyme-cost" class="level2">
<h2>Effect of static enzyme cost</h2>
<figure>
<img data-src="img/staticCost_Fitness_vs_num_compounds.png" alt="Graph" /><figcaption>Graph</figcaption>
</figure>
</section>
<section id="effect-of-static-enzyme-cost-cont." class="level2">
<h2>Effect of static enzyme cost (cont.)</h2>
<figure>
<img data-src="img/staticCost_Fitness_vs_e_d_mu.png" alt="Graph" /><figcaption>Graph</figcaption>
</figure>
</section>
<section id="effect-of-static-enzyme-cost-cont.-1" class="level2">
<h2>Effect of static enzyme cost (cont.)</h2>
<figure>
<img data-src="img/staticCost_e_d_mu_vs_num_compounds.png" alt="Graph" /><figcaption>Graph</figcaption>
</figure>
</section>
<section id="effect-of-nutrient-impact" class="level2">
<h2>Effect of nutrient-impact</h2>
<figure>
<img data-src="img/nutrientCost_Fitness_vs_num_compounds.png" alt="Graph" /><figcaption>Graph</figcaption>
</figure>
</section>
<section id="effect-of-nutrient-impact-cont." class="level2">
<h2>Effect of nutrient-impact (cont.)</h2>
<figure>
<img data-src="img/nutrientCost_Fitness_vs_e_d_mu.png" alt="Graph" /><figcaption>Graph</figcaption>
</figure>
</section>
<section id="effect-of-nutrient-impact-cont.-1" class="level2">
<h2>Effect of nutrient-impact (cont.)</h2>
<figure>
<img data-src="img/nutrientCost_e_d_mu_vs_num_compounds.png" alt="Graph" /><figcaption>Graph</figcaption>
</figure>
</section>
</section>
</div>
</div>
<script src="/reveal.js/lib/js/head.min.js"></script>
<script src="/reveal.js/js/reveal.js"></script>
<script>
// More info https://github.com/hakimel/reveal.js#configuration
Reveal.initialize({
// reveal settings
controls: false,
progress: false,
slideNumber: true,
history: true,
center: false,
transition: 'none',
viewDistance: 2, // otherwise videos start early
width: 1280,
height: 1024,
minScale: 0.2,
maxScale: 5, // if this threshold is reached, the chalkboard drawing will be wrongly positioned. hence large threshold!
pdfMaxPagesPerSlide: 1, // slides are cropped on one page for PDF export
// use local mathjax installation
math: { mathjax: '/MathJax/MathJax.js', config: 'TeX-AMS_HTML-full' },
// setup reveal-menu
menu: {
side: 'right',
numbers: false,
titleSelector: 'h1, h2',
hideMissingTitles: false,
markers: false,
custom: false,
themes: false,
transitions: false,
openButton: false,
openSlideNumber: true,
keyboard: true
},
// setup charts
chart: {
defaults: {
global: {
"defaultFontFamily": "Lato",
"defaultFontColor": "black",
"defaultFontSize": 20,
title: {
"fontFamily": "Lato",
"fontSize": 30,
},
legend: {
"position": "bottom"
}
},
},
line: {
backgroundColor: [ "rgba(42,157,223,.1)", "rgba(245,159,0,.1)", "rgba(182,200,40,.1)" ],
borderColor: [ "rgba(42,157,223,1)", "rgba(245,159,0,1)", "rgba(182,200,40,1)" ],
},
bar: {
backgroundColor: [ "rgba(42,157,223,.8)", "rgba(245,159,0,.8)", "rgba(182,200,40,.8)" ],
borderColor: [ "rgba(42,157,223,1)", "rgba(245,159,0,1)", "rgba(182,200,40,1)" ]
},
pie: {
backgroundColor: [ ["rgba(0,0,0,.8)" , "rgba(220,20,20,.8)", "rgba(20,220,20,.8)", "rgba(220,220,20,.8)", "rgba(20,20,220,.8)"] ]},
radar: {
borderColor: [ "rgba(20,220,220,.8)" , "rgba(220,120,120,.8)", "rgba(20,120,220,.8)" ]
}
},
// keyboard shortcuts
keyboard: {
40: function() { Reveal.next(); }, // up: next slide
38: function() { Reveal.prev(); }, // down: prev slide
},
// load plugins
dependencies: [
{ src: '/reveal.js/plugin/math/math.js' },
{ src: '/reveal.js/plugin/notes/notes.js', async: true },
{ src: '/reveal.js-menu/menu.js' },
{ src: '/reveal.js-plugins/chart/Chart.min.js' },
{ src: '/reveal.js-plugins/chart/csv2chart.js' },
{ src: '/js/zoom.js', async: true },
]
});
</script>
</body>
</html>