chemodiversity/vortrag/chemodiversity.html
2018-06-27 13:02:02 +02:00

575 lines
29 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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>
<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>
<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>
<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>