Difference between revisions of "Team:Toulouse France/Model"

 
(34 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 +
{{Toulouse_France}}
 +
{{Toulouse_France/menu}}
 +
 
<html>
 
<html>
<head>
 
    <base target="_parent">
 
    <style>/* BASICS */
 
  
.CodeMirror {
 
  /* Set height, width, borders, and global font properties here */
 
  font-family: monospace;
 
  height: 300px;
 
  color: black;
 
}
 
  
/* PADDING */
 
  
.CodeMirror-lines {
+
  padding: 4px 0; /* Vertical padding around content */
+
<div class="page" style="background-image:url('https://static.igem.org/mediawiki/2016/b/b5/Toulouse_France_preyPredator.gif');">
}
+
.CodeMirror pre {
+
  padding: 0 4px; /* Horizontal padding of content */
+
}
+
  
.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
+
<!-- ################################################################################################ -->
  background-color: white; /* The little square between H and V scrollbars */
+
<!-- ################################################################################################ -->
}
+
<!-- ################################################################################################ -->
 +
 +
<div id="pageintro" class="hoc clear" style="padding:300px 0px;">
 +
<p class="sec_title" style="background-color:rgba(1,1,1,0.8);">Modeling</p>
 +
 +
</div>
 +
 +
 +
</div>
 +
<!-- ################################################################################################ -->
  
/* GUTTER */
 
  
.CodeMirror-gutters {
+
  border-right: 1px solid #ddd;
+
<div class="column full_size">
  background-color: #f7f7f7;
+
<div style="padding-top:30px; padding-left: 10%; padding-right: 10%;">
  white-space: nowrap;
+
<div class="hoc container clear" style="text-align:justify">
}
+
<p class="title1" id="select1" style="text-align:center;">Toward the cave<p>
.CodeMirror-linenumbers {}
+
<p class="texte" style="font-size:14px">
.CodeMirror-linenumber {
+
At the end of our summer work, our strain Paleolitis was not complete yet. Anyway, using such a GMO
  padding: 0 3px 0 5px;
+
  min-width: 20px;
+
  text-align: right;
+
  color: #999;
+
  white-space: nowrap;
+
}
+
  
.CodeMirror-guttermarker { color: black; }
+
in the cave environment is a very risky challenge and we decided to anticipate and conceptualize
.CodeMirror-guttermarker-subtle { color: #999; }
+
  
/* CURSOR */
+
how it could be used in the safest way.
 +
<br><br>
 +
</p>
 +
 +
 +
<p class="title1" id="select1" style="text-align:center;">Context</p>
 +
<p class="texte" style="font-size:14px">
 +
Even if Paleolitis had been finalized, there is no way we could have used it in the cave without long and accurate testing phases. The step before Lascaux should be its validation in a laboratory cave (figure 1). There are experts in such approaches and we decided to focus on the step between the completion of our strain and this laboratory validation.
 +
<br>
 +
<!-- ######  FIGURE  ##### -->
 +
<center><img src="https://static.igem.org/mediawiki/2016/e/e1/Toulouse_France_Roux_resultsmodelo1.jpeg" style="width:60%; margin:20px 20px;">
 +
<b style="font-size:12px;">
 +
<br>
 +
Figure 1: description of our strategy to anticipate the use of Paleolitis in the Lascaux cave.
 +
</b></center>
 +
<br>
 +
</p>
 +
<br>
 +
 +
<p class="title1" id="select1" style="text-align:center;">An iterative strategy</p>
 +
<p class="texte">
 +
We conceived this step as an iterative strategy (figure 1). To predict how the strain will behave in the cave environment, we decided to use a modeling strategy and <b>created a prey-predator model</b>. Such an approach provides accurate prediction only with accurate data. It means using the strain to treat mould patches as it would be done in the cave. We felt that we should use all the solutions available for the confinement and we designed a device to physically contain our strain during the treatment. With this device, we could perform tests on stones to mimic the cave situation. Data from these tests will be used to implement our model with real data to obtain better predictions that will be tested again, and hence the iterative approach. Once satisfactory predictions are obtained, the next step toward the laboratory cave would be initiated.
 +
<br><br>
 +
</p>
 +
 +
 +
<p class="title1" id="select1" style="text-align:center;">Modeling</p>
 +
<p class="texte">
 +
We designed a prey-predator model to predict how Paleolitis and the fungi will behave. Indeed, these are living entities, with a capacity to multiply but also with a death rate. This means that how the system evolves (i.e, toward fungal or bacterial domination) depends on the growth and death rates of the strains, but also on their initial numbers. The cave is very poor in growth substrates and the production of toxin should also make the bacteria unstable. We therefore assumed that the Paleolitis strain should not maintain in this environment. Therefore the simulation should help us know how much bacteria should be used to treat the mould patches, when the job is finished, and when the bacteria should have disappeared.
 +
<br><br>The model was conceived using <a href="https://ccl.northwestern.edu/netlogo/">Netlogo.</a>
 +
<br><br>It was designed has a simple interface (figure 2) and is totally open to the iGEM community and beyond (Link coming soon).
  
.CodeMirror-cursor {
+
   border-left: 1px solid black;
+
<!-- ######  FIGURE   ##### -->
  border-right: none;
+
<center><img src="https://static.igem.org/mediawiki/2016/6/61/Toulouse_France_Roux_resultsmodelo2.jpeg" style="width:50%; margin:20px 20px;">
   width: 0;
+
<b style="font-size:12px;">
}
+
<br>Figure 2: image of the prey-predator model interface.
/* Shown when moving in bi-directional text */
+
</b></center>
.CodeMirror div.CodeMirror-secondarycursor {
+
<br><br>
   border-left: 1px solid silver;
+
}
+
<!-- ######  FIGURE   ##### -->
.cm-fat-cursor .CodeMirror-cursor {
+
<center><img src="https://static.igem.org/mediawiki/2016/b/b5/Toulouse_France_preyPredator.gif" style="width:50%;">
  width: auto;
+
<br>
  border: 0;
+
<b style="font-size:12px;">
  background: #7e7;
+
<br>Figure 3: simulation from the model.
}
+
</b></center>
.cm-fat-cursor div.CodeMirror-cursors {
+
</p>
   z-index: 1;
+
<br>
}
+
<br>
 +
 +
 +
 +
<p class="title1" id="select1" style="text-align:center;">Confinement Device</p>
 +
<p class="texte">
 +
The confinement device (figure 4) was designed has a transparent glass bell (5) mounted on a soft sucking pad (6) to stick to the cave wall. This sucking pad can be depressurized (4) to allow tight and airproof contact to the stone. Bacterial suspension at the concentration indicated by the model is placed in the chamber (1). The device is placed on top of the mould patch and bacterial suspension is sprayed on the confined surface (figure 5) using the sprinkler inside the bell (3). Optionally, an UV ramp could be mounted inside the chamber, either to reveal the bacteria if they express a fluorescent marker, or to ensure killing of the recA- <i>Bacillus</i> strain (this background allows reducing the risk of recombination – see the design part-, and is therefore very sensitive to UV).
 +
 +
<!-- ######  FIGURE   ##### -->
 +
<center><img src="https://static.igem.org/mediawiki/2016/5/55/Toulouse_France_Roux_resultsmodelo4.jpeg" style="width:30%; margin:20px 20px;">
 +
 +
<b style="font-size:12px;">
 +
<br>Figure 4: technical diagram of the device.
 +
</b></center>
 +
<br><br>
 +
 +
 +
<!-- ######  FIGURE  ##### -->
 +
<center>
 +
<video width="70%" height="auto" controls>
 +
  <source src="https://static.igem.org/mediawiki/2016/a/a4/Toulouse_France_Roux_resultsmodelo5.mp4" type="video/mp4">
 +
Your browser does not support the video tag.
 +
</video>
 +
<br>
 +
<b style="font-size:12px;">
 +
<br>Figure 5: simulation of the device utilization.
 +
</b></center>
 +
</p>
 +
<br><br>
 +
 +
 +
 +
<p class="title1" id="select1" style="text-align:center;">Test on stones</p>
 +
<p class="texte">
 +
The device will have to be used during test on stone in laboratory condition. As a very preliminary work, limestone rocks were sterilized by autoclaving them and used to perform a serie of tests. We deposited on the stones several mixes including ochre, substrates, <i>Bacillus subtilis</i> expressing the antifungal AF_A operon, and fungi (figure 6). However, it appears that fungal growth in such conditions is very slow and it was difficult to obtain sound results in the few days left to perform the tests. Anyway, such a test could be easily adapted to try out the model predictions and the device functionality. Sampling during and after the predicted time could be done and qRT-PCR performed to measure how the fungal and bacterial populations evolved. These numbers will be implemented in the model to refine its prediction and hence optimize the approach until the results are satisfying enough to start test in laboratory caves.
 +
 +
<!-- ######  FIGURE   ##### -->
 +
<center><img src="https://static.igem.org/mediawiki/2016/a/ab/Toulouse_France_Roux_resultsmodelo6.png" style="width:30%; margin:20px 20px;">
 +
<b style="font-size:12px;">
 +
<br>Figure 6: example of test on stones.
 +
</b></center>
 +
</p>
  
.cm-animate-fat-cursor {
+
  width: auto;
+
<br><br>
  border: 0;
+
<p class="title1" id="select1" style="text-align:center;">Perspectives: the laboratory cave and other applications</p>
  -webkit-animation: blink 1.06s steps(1) infinite;
+
<p class="texte">
  -moz-animation: blink 1.06s steps(1) infinite;
+
The described iterative approach will help to settle the best conditions to apply our project in the Lascaux cave. The cave has a very unstable ecosystem and microbiologists working on Lascaux treat it with extreme caution and care. They also do not act on the cave until they know the exact consequences of the treatments they plan on applying. They therefore use laboratory caves where various treatments are performed and fully analysed before deciding to use them directly on the cave. Moreover, the study of the laboratory caves enables the microbiologists to better understand which characteristics lead to certain ecosystems that were identified in the caves. This could help build a referential on the microorganisms that develop underground. These caves are all located in France, and have similarities with the Lascaux cave in terms of bacterial and fungal populations. However, each cave is unique and the microbiologists that work on the cave decided to develop a network of laboratory caves. Each one of them could help respond to a particular issue of the Lascaux cave and all of them combined would tackle all the aspect of the Lascaux cave’s situation.
  animation: blink 1.06s steps(1) infinite;
+
<br><br>The concept of our project could be used for other applications as well. For example, in hospitals, fungi cause a lot of sanitary issues. The fungus settles on the pipes and may cause infections to patients that require extreme care and sterile healing conditions. A Paleotilis-like solution would be a great way to get rid of the microorganisms that threaten the health of the convalescents.
  background-color: #7e7;
+
</p>
}
+
</div>
@-moz-keyframes blink {
+
</div>
  0% {}
+
</div>
  50% { background-color: transparent; }
+
  100% {}
+
}
+
@-webkit-keyframes blink {
+
  0% {}
+
  50% { background-color: transparent; }
+
  100% {}
+
}
+
@keyframes blink {
+
  0% {}
+
  50% { background-color: transparent; }
+
  100% {}
+
}
+
  
/* Can style cursor different in overwrite (non-insert) mode */
+
<div class="column full_size">
.CodeMirror-overwrite .CodeMirror-cursor {}
+
  
.cm-tab { display: inline-block; text-decoration: inherit; }
+
<center>
 +
<a class="button-home" href="https://2016.igem.org/Team:Toulouse_France/Experiments" style="border: 1px solid #282828;-webkit-border-radius: 5px;-moz-border-radius: 5px;border-radius: 5px;
 +
padding: 15px 15px; color: black; text-decoration: none; font-size: 18px; background: none; display: block; width: 250px; background-color:#F4A460">BACK: Our results</a>
  
.CodeMirror-ruler {
+
</center>
  border-left: 1px solid #ccc;
+
  position: absolute;
+
}
+
  
/* DEFAULT THEME */
+
</div>
  
.cm-s-default .cm-header {color: blue;}
+
</html>
.cm-s-default .cm-quote {color: #090;}
+
.cm-negative {color: #d44;}
+
.cm-positive {color: #292;}
+
.cm-header, .cm-strong {font-weight: bold;}
+
.cm-em {font-style: italic;}
+
.cm-link {text-decoration: underline;}
+
.cm-strikethrough {text-decoration: line-through;}
+
  
.cm-s-default .cm-keyword {color: #708;}
 
.cm-s-default .cm-atom {color: #219;}
 
.cm-s-default .cm-number {color: #164;}
 
.cm-s-default .cm-def {color: #00f;}
 
.cm-s-default .cm-variable,
 
.cm-s-default .cm-punctuation,
 
.cm-s-default .cm-property,
 
.cm-s-default .cm-operator {}
 
.cm-s-default .cm-variable-2 {color: #05a;}
 
.cm-s-default .cm-variable-3 {color: #085;}
 
.cm-s-default .cm-comment {color: #a50;}
 
.cm-s-default .cm-string {color: #a11;}
 
.cm-s-default .cm-string-2 {color: #f50;}
 
.cm-s-default .cm-meta {color: #555;}
 
.cm-s-default .cm-qualifier {color: #555;}
 
.cm-s-default .cm-builtin {color: #30a;}
 
.cm-s-default .cm-bracket {color: #997;}
 
.cm-s-default .cm-tag {color: #170;}
 
.cm-s-default .cm-attribute {color: #00c;}
 
.cm-s-default .cm-hr {color: #999;}
 
.cm-s-default .cm-link {color: #00c;}
 
  
.cm-s-default .cm-error {color: #f00;}
 
.cm-invalidchar {color: #f00;}
 
 
.CodeMirror-composing { border-bottom: 2px solid; }
 
 
/* Default styles for common addons */
 
 
div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;}
 
div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
 
.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }
 
.CodeMirror-activeline-background {background: #e8f2ff;}
 
 
/* STOP */
 
 
/* The rest of this file contains styles related to the mechanics of
 
  the editor. You probably shouldn't touch them. */
 
 
.CodeMirror {
 
  position: relative;
 
  overflow: hidden;
 
  background: white;
 
}
 
 
.CodeMirror-scroll {
 
  overflow: scroll !important; /* Things will break if this is overridden */
 
  /* 30px is the magic margin used to hide the element's real scrollbars */
 
  /* See overflow: hidden in .CodeMirror */
 
  margin-bottom: -30px; margin-right: -30px;
 
  padding-bottom: 30px;
 
  height: 100%;
 
  outline: none; /* Prevent dragging from highlighting the element */
 
  position: relative;
 
}
 
.CodeMirror-sizer {
 
  position: relative;
 
  border-right: 30px solid transparent;
 
}
 
 
/* The fake, visible scrollbars. Used to force redraw during scrolling
 
  before actuall scrolling happens, thus preventing shaking and
 
  flickering artifacts. */
 
.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
 
  position: absolute;
 
  z-index: 6;
 
  display: none;
 
}
 
.CodeMirror-vscrollbar {
 
  right: 0; top: 0;
 
  overflow-x: hidden;
 
  overflow-y: scroll;
 
}
 
.CodeMirror-hscrollbar {
 
  bottom: 0; left: 0;
 
  overflow-y: hidden;
 
  overflow-x: scroll;
 
}
 
.CodeMirror-scrollbar-filler {
 
  right: 0; bottom: 0;
 
}
 
.CodeMirror-gutter-filler {
 
  left: 0; bottom: 0;
 
}
 
 
.CodeMirror-gutters {
 
  position: absolute; left: 0; top: 0;
 
  z-index: 3;
 
}
 
.CodeMirror-gutter {
 
  white-space: normal;
 
  height: 100%;
 
  display: inline-block;
 
  margin-bottom: -30px;
 
  /* Hack to make IE7 behave */
 
  *zoom:1;
 
  *display:inline;
 
}
 
.CodeMirror-gutter-wrapper {
 
  position: absolute;
 
  z-index: 4;
 
  background: none !important;
 
  border: none !important;
 
}
 
.CodeMirror-gutter-background {
 
  position: absolute;
 
  top: 0; bottom: 0;
 
  z-index: 4;
 
}
 
.CodeMirror-gutter-elt {
 
  position: absolute;
 
  cursor: default;
 
  z-index: 4;
 
}
 
.CodeMirror-gutter-wrapper {
 
  -webkit-user-select: none;
 
  -moz-user-select: none;
 
  user-select: none;
 
}
 
 
.CodeMirror-lines {
 
  cursor: text;
 
  min-height: 1px; /* prevents collapsing before first draw */
 
}
 
.CodeMirror pre {
 
  /* Reset some styles that the rest of the page might have set */
 
  -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;
 
  border-width: 0;
 
  background: transparent;
 
  font-family: inherit;
 
  font-size: inherit;
 
  margin: 0;
 
  white-space: pre;
 
  word-wrap: normal;
 
  line-height: inherit;
 
  color: inherit;
 
  z-index: 2;
 
  position: relative;
 
  overflow: visible;
 
  -webkit-tap-highlight-color: transparent;
 
}
 
.CodeMirror-wrap pre {
 
  word-wrap: break-word;
 
  white-space: pre-wrap;
 
  word-break: normal;
 
}
 
 
.CodeMirror-linebackground {
 
  position: absolute;
 
  left: 0; right: 0; top: 0; bottom: 0;
 
  z-index: 0;
 
}
 
 
.CodeMirror-linewidget {
 
  position: relative;
 
  z-index: 2;
 
  overflow: auto;
 
}
 
 
.CodeMirror-widget {}
 
 
.CodeMirror-code {
 
  outline: none;
 
}
 
 
/* Force content-box sizing for the elements where we expect it */
 
.CodeMirror-scroll,
 
.CodeMirror-sizer,
 
.CodeMirror-gutter,
 
.CodeMirror-gutters,
 
.CodeMirror-linenumber {
 
  -moz-box-sizing: content-box;
 
  box-sizing: content-box;
 
}
 
 
.CodeMirror-measure {
 
  position: absolute;
 
  width: 100%;
 
  height: 0;
 
  overflow: hidden;
 
  visibility: hidden;
 
}
 
 
.CodeMirror-cursor { position: absolute; }
 
.CodeMirror-measure pre { position: static; }
 
 
div.CodeMirror-cursors {
 
  visibility: hidden;
 
  position: relative;
 
  z-index: 3;
 
}
 
div.CodeMirror-dragcursors {
 
  visibility: visible;
 
}
 
 
.CodeMirror-focused div.CodeMirror-cursors {
 
  visibility: visible;
 
}
 
 
.CodeMirror-selected { background: #d9d9d9; }
 
.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }
 
.CodeMirror-crosshair { cursor: crosshair; }
 
.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }
 
.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }
 
 
.cm-searching {
 
  background: #ffa;
 
  background: rgba(255, 255, 0, .4);
 
}
 
 
/* IE7 hack to prevent it from returning funny offsetTops on the spans */
 
.CodeMirror span { *vertical-align: text-bottom; }
 
 
/* Used to force a border model for a node */
 
.cm-force-border { padding-right: .1px; }
 
 
@media print {
 
  /* Hide the cursor when printing */
 
  .CodeMirror div.CodeMirror-cursors {
 
    visibility: hidden;
 
  }
 
}
 
 
/* See issue #2901 */
 
.cm-tab-wrap-hack:after { content: ''; }
 
 
/* Help users use markselection to safely style text background */
 
span.CodeMirror-selectedtext { background: none; }
 
</style>
 
    <style>.CodeMirror-dialog {
 
  position: absolute;
 
  left: 0; right: 0;
 
  background: inherit;
 
  z-index: 15;
 
  padding: .1em .8em;
 
  overflow: hidden;
 
  color: inherit;
 
}
 
 
.CodeMirror-dialog-top {
 
  border-bottom: 1px solid #eee;
 
  top: 0;
 
}
 
 
.CodeMirror-dialog-bottom {
 
  border-top: 1px solid #eee;
 
  bottom: 0;
 
}
 
 
.CodeMirror-dialog input {
 
  border: none;
 
  outline: none;
 
  background: transparent;
 
  width: 20em;
 
  color: inherit;
 
  font-family: monospace;
 
}
 
 
.CodeMirror-dialog button {
 
  font-size: 70%;
 
}
 
</style>
 
    <style>/*
 
* General-purpose widget styles, applied regardless of what the widget "theme" is
 
*/
 
 
.netlogo-model {
 
    display: -webkit-flex;
 
    display: -ms-flexbox;
 
    display: flex;
 
    padding: 20px;
 
    -webkit-flex-flow: column;
 
        -ms-flex-flow: column;
 
            flex-flow: column;
 
    font-size: 12px;
 
    font-family: "Lucida Grande", sans-serif;
 
    outline: none;
 
}
 
 
.netlogo-header {
 
    display: -webkit-flex;
 
    display: -ms-flexbox;
 
    display: flex;
 
    -webkit-flex-flow: row;
 
        -ms-flex-flow: row;
 
            flex-flow: row;
 
    -webkit-align-items: center;
 
        -ms-flex-align: center;
 
            align-items: center;
 
    -webkit-justify-content: space-between;
 
        -ms-flex-pack: justify;
 
            justify-content: space-between;
 
}
 
 
.netlogo-widget {
 
    -moz-box-sizing: border-box;
 
        box-sizing: border-box;
 
    background-color: #CCC;
 
    border-radius: 4px;
 
    overflow: hidden;
 
}
 
 
.netlogo-command,.netlogo-input {
 
    -webkit-user-select: none;
 
      -moz-user-select: none;
 
        -ms-user-select: none;
 
            user-select: none;
 
}
 
 
.netlogo-command:hover,.netlogo-input:hover {
 
    cursor:    pointer;
 
    box-shadow: 0 0 6px 3px rgba(15, 15, 15, .40);
 
}
 
 
.netlogo-command.netlogo-disabled:hover {
 
    cursor:    default;
 
    box-shadow: none;
 
}
 
 
.netlogo-tab-area {
 
  margin-top: 25px;
 
}
 
 
.netlogo-tab {
 
  display: block;
 
  background-color: #BCBCE5;
 
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyIDEiPjxwb2x5Z29uIHBvaW50cz0iMCwwIDIsMCAxLDEiIGZpbGw9InJnYig4Myw4Myw4MykiLz4gPC9zdmc+");
 
  background-position: 97% 50%;
 
  background-repeat: no-repeat;
 
  background-size: 20px 20px;
 
  border-width: 2px;
 
  border-bottom-width: 0;
 
  border-style: solid;
 
  padding: 7px;
 
  text-align: center;
 
  cursor: pointer;
 
}
 
 
.netlogo-tab.netlogo-active {
 
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyIDEiPjxwb2x5Z29uIHBvaW50cz0iMCwxIDIsMSAxLDAiIGZpbGw9InJnYig4Myw4Myw4MykiLz4gPC9zdmc+");
 
}
 
 
.netlogo-tab:first-child {
 
  border-radius: 10px 10px 0px 0px;
 
}
 
 
.netlogo-tab:last-child, .netlogo-tab-content:last-child {
 
  border-radius: 0px 0px 10px 10px;
 
  border-bottom-width: 2px;
 
}
 
 
.netlogo-tab:hover  {
 
  background-color: #D3D3EE;
 
}
 
 
.netlogo-tab.netlogo-active:hover  {
 
  background-color: #9E99FD;
 
}
 
 
.netlogo-tab input[type=checkbox] {
 
  display: none;
 
}
 
 
.netlogo-tab-text {
 
  font-size: 20px;
 
  font-weight: bold;
 
  text-align: center;
 
}
 
 
.netlogo-tab-content {
 
  margin-top: 0;
 
  border: 0 solid #242479;
 
  border-left-width: 2px;
 
  border-right-width: 2px;
 
}
 
 
.unselectable {
 
  -webkit-user-select: none;
 
    -moz-user-select: none;
 
      -ms-user-select: none;
 
          user-select: none;
 
}
 
 
.growing {
 
  -webkit-animation-name: grow;
 
          animation-name: grow;
 
  -webkit-animation-duration: 0.4s;
 
          animation-duration: 0.4s;
 
  -webkit-animation-timing-function: ease-out;
 
          animation-timing-function: ease-out;
 
}
 
 
.shrinking {
 
  -webkit-animation-name: grow;
 
          animation-name: grow;
 
  -webkit-animation-direction: reverse;
 
          animation-direction: reverse;
 
  -webkit-animation-duration: 0.4s;
 
          animation-duration: 0.4s;
 
  -webkit-animation-timing-function: ease-in;
 
          animation-timing-function: ease-in;
 
}
 
 
@-webkit-keyframes grow {
 
  0% {
 
    max-height: 0;
 
  }
 
  100% {
 
    max-height: 100%;
 
  }
 
}
 
 
@keyframes grow {
 
  0% {
 
    max-height: 0;
 
  }
 
  100% {
 
    max-height: 100%;
 
  }
 
}
 
 
.netlogo-model-text {
 
    background-color: white;
 
}
 
 
.netlogo-model-masthead {
 
  -webkit-flex-grow: 1;
 
      -ms-flex-positive: 1;
 
          flex-grow: 1;
 
  margin: 0 10px 0 0;
 
  width: 350px;
 
}
 
 
.netlogo-model-masthead > form {
 
  margin: 0 auto;
 
}
 
 
.netlogo-model-title {
 
  margin: 0 0 0 28px;
 
  overflow: hidden;
 
  text-overflow: ellipsis;
 
  white-space: nowrap;
 
  text-align: center;
 
}
 
 
.netlogo-title-edit-button {
 
  height: 20px;
 
  margin: auto 8px;
 
  outline: none;
 
  width: 20px;
 
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3wsLEikTUDcbYQAAAgdJREFUeNrl2kFWwjAQxvFv+ryXR7Ess+JxAvEGspolcBRvpCeom9SHQttkktSZKTulOO/3Ny2lhWDowcx7AMf44zGEcCr9m2QIfwbQ//n1JYSwcx9gAl8lAhnHF0cgB/iiCOQEL45AjvCiCGQQP+LONSKQNXwI4RK37WtEIIv4m9cURyCr+FoROiMHvOepJ2KYuf9yH2foWwE13+elK4GM4JtFIEP4JhE6hfgdgKt0n849JpA2/M37/AXAS+uVQBrxN69pHeFAWvErRfjsNOPjPt2XHBPmziEAfJFmfOlKSJlPFvCSCKnzyQo+J8K4a6TMJ0v4jAhInU/W8IUR7uaTRbwwwsP5ZBWfGWFyfmcZHx+DFF+8Av4bX2M+bRkvDuAFLwrgCZ8dwBs+K4BHfHIAr/ikAJ7xiwG842cDbAE/GWAr+IcBtoS/+zCUMPzgCf9rBSQMv8YrtG7wPwG2igeAjpmPWL5ROXjEj8eA14Ttlm4+WL2YknVFqGoEDfjcANUiaMFLAhRH0IRfCnCtHUEbfjZAhbuy6vGLu0CtCFrxSceA0gia8ckHQWkEZn7XjM96F8iNEL+asteMB4CnnI1DCD0zA9P34sbnPzD/5SQVeNF5QMpKsIKXngilRDCBFwcQRlCHBwBi5mGFOSrxRSvAA36NAKrxrQOox7cMYALfKsCbFTwAfAOBGSYcOI5wnAAAAABJRU5ErkJggg==');
 
  background-size: contain;
 
}
 
 
.netlogo-title-edit-button:hover {
 
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAClElEQVR4Xt2b21HDMBBFN53RCVABkwqADqACSCmUQgd0ALNMxIhgad+rNf7JB3KuzrG0krFzgH0ddwDwcO4yfj5bu3+wfkHi+S8AcHOR9woAt5Y+7EXAFnzjNknYg4AZvFlCdQEceJOEygIk8GoJVQVo4FUSKgqg4FvVx3ajg10YqwngwCMcHrgkmiVUEiCBb1feLKGKAA28i4QKAih4BKXmtHokrBbAgedWd5WElQIk8GESVgnQwIdIWCGAgsd1/goArg3rPHs6ZAvgwLd1Hj/DJWQKkMD3wz1SwjFLgAY+Q8JHhgALvIeEWf57tAAPeIsEMj9SABl+3uFJ/qUnKYys/CgBrHAJedeWI6HdLY4icKn9Xm0iBETCc6fDzO0PfISADHiLhF/w3gIy4TUS/sB7ClgBL5GwCe8lYCU8MpjyrUXQFK5cBfrTzPkWAeZwowCXfK0Al3CDALd8jQC3cKUA13ypANdwhQD3fIkA93ChgJB8roCQcIGAsHyOgLBwpoDQfEpAaDhDQHj+TEB4OCEgJX8kICV8IiAtf0tAWvhAQGr+pQAq/AgAT4y5q21C5Q/v6rSBvQAq/LTxnp42d+s8Kt8dvr8dpsL/JXwTgK+c3hOXkno+bxkJlPyQK986jFPgk9n7CAlL4dsI4ArA9p4SlsNrBHhJKAGvFWCVUAaeEoCV3/JousxSN6txsyKIf+M8huK+r1/qynNWgbZJ8pBQEp6aAv0u0SKhLLxEQCt80pqA9w34O5/REbrJ4exvqBpw+R2SkUC9qbUcXjoCmgyOhDfiTe4S8FoBnOkwG31l4C0CtBJKwVsFSCWUg6cEcIoot01J+CwBZeEzBJSGjxZQHj5SwC7gowQ8dj9x5xbJZe2+AKW59eDoUQsxAAAAAElFTkSuQmCC');
 
}
 
 
.hidden {
 
  visibility: hidden;
 
}
 
 
.netlogo-title-input {
 
  font-size: 1.5em;
 
  font-weight: bold;
 
  letter-spacing: normal;
 
  margin: 0 5%;
 
  text-align: center;
 
  width: 350px;
 
}
 
 
.netlogo-code-container {
 
    display: -webkit-flex;
 
    display: -ms-flexbox;
 
    display: flex;
 
    -webkit-flex-flow: column;
 
        -ms-flex-flow: column;
 
            flex-flow: column;
 
    background-color: white;
 
    margin-top: 0;
 
}
 
 
.netlogo-ugly-button {
 
  text-align: center;
 
  background-color: rgb(240, 240, 240);
 
  border-color: rgb(238, 238, 238);
 
}
 
 
.netlogo-code {
 
  border-top: 1px solid black;
 
  font-family: monospace;
 
}
 
 
.netlogo-recompilation-button {
 
  width: 30%;
 
  margin: 12px auto;
 
  font-size: 16px;
 
  font-weight: bold;
 
  cursor: pointer;
 
}
 
 
.netlogo-code .CodeMirror {
 
    height: 500px;
 
}
 
 
.netlogo-info-editor {
 
  border: 1px solid black;
 
}
 
 
.netlogo-info-editor .CodeMirror {
 
    height: 500px;
 
}
 
 
.netlogo-toggle-edit-mode {
 
  display: block;
 
  margin: 0;
 
  margin-bottom: 10px;
 
}
 
 
.netlogo-info {
 
  -webkit-flex: 1;
 
      -ms-flex: 1;
 
          flex: 1;
 
  margin-top: 0;
 
  padding-top: 10px;
 
  padding: 15px;
 
}
 
 
.netlogo-command-center {
 
  -webkit-flex: 1;
 
      -ms-flex: 1;
 
          flex: 1;
 
  display: -webkit-flex;
 
  display: -ms-flexbox;
 
  display: flex;
 
  -webkit-flex-direction: column;
 
      -ms-flex-direction: column;
 
          flex-direction: column;
 
  height: 175px;
 
  padding: 6px 8px;
 
}
 
 
.netlogo-command-center-editor {
 
  height: 1.25em;
 
  -webkit-flex-grow: 1;
 
      -ms-flex-positive: 1;
 
          flex-grow: 1;
 
}
 
 
.netlogo-command-center-editor .CodeMirror {
 
  border: 1px solid #eee;
 
  height: auto;
 
}
 
 
.netlogo-output-widget {
 
  display: -webkit-flex;
 
  display: -ms-flexbox;
 
  display: flex;
 
  padding: 5px;
 
}
 
 
.netlogo-output-area {
 
  -webkit-flex-grow: 1;
 
      -ms-flex-positive: 1;
 
          flex-grow: 1;
 
  -webkit-flex-direction: column;
 
      -ms-flex-direction: column;
 
          flex-direction: column;
 
  background-color: white;
 
  margin: 0px;
 
  overflow: auto;
 
}
 
 
.netlogo-command-center-input {
 
  display: -webkit-flex;
 
  display: -ms-flexbox;
 
  display: flex;
 
      -ms-flex-negative: 0;
 
      -webkit-flex-shrink: 0;
 
              flex-shrink: 0;
 
}
 
 
.netlogo-speed-slider {
 
  background-color: transparent;
 
  border: none;
 
  display: -webkit-flex;
 
  display: -ms-flexbox;
 
  display: flex;
 
  -webkit-flex-direction: column;
 
      -ms-flex-direction: column;
 
          flex-direction: column;
 
  margin: 15px auto 0 auto;
 
  width: 75%;
 
}
 
 
.netlogo-widget input[type=range]::-ms-tooltip {
 
  display: none;
 
}
 
 
.netlogo-speed-slider input {
 
  border: none;
 
  width: 100%;
 
}
 
 
.netlogo-model input[type=range] {
 
    cursor: pointer;
 
    cursor: -webkit-grab;
 
    cursor: -moz-grab;
 
    cursor: grab;
 
}
 
 
.netlogo-model input[type=range]:active {
 
    cursor: pointer;
 
    cursor: -webkit-grabbing;
 
    cursor: -moz-grabbing;
 
    cursor: grabbing;
 
}
 
 
.netlogo-tick-counter {
 
    background-color: #F4F4F4;
 
    font-size: 13px;
 
    margin: 3px;
 
    border: none;
 
    height: 15px;
 
}
 
 
.netlogo-button {
 
    border: inherit;
 
    display: -webkit-flex;
 
    display: -ms-flexbox;
 
    display: flex;
 
    -webkit-justify-content: space-around;
 
        -ms-flex-pack: distribute;
 
            justify-content: space-around;
 
    -webkit-align-items: center;
 
        -ms-flex-align: center;
 
            align-items: center;
 
    padding: 0px;
 
}
 
 
.netlogo-disabled {
 
  color: grey;
 
}
 
 
.netlogo-button.clear-button {
 
    padding: 5px;
 
}
 
 
.netlogo-button .netlogo-label {
 
    /* For some reason, Safari doesn't like justify-content in buttons,
 
      we have to resort to putting a span in the button that can then be
 
      centered.
 
      BCH 11/14/2014 */
 
    margin: auto;
 
}
 
 
.netlogo-action-key {
 
  position: absolute;
 
  top: 0px;
 
  right: 0px;
 
  margin: 0px 2px;
 
  color: grey;
 
}
 
 
.netlogo-action-key.netlogo-focus {
 
  color: black;
 
}
 
 
.netlogo-button:active, .netlogo-forever-button.netlogo-active {
 
    background-color: gray;
 
    color: white;
 
}
 
 
.netlogo-text-box {
 
    background-color: white;
 
    border: none;
 
    margin: 0;
 
    white-space: pre-wrap;
 
    font-family: "Lucida Grande", sans-serif;
 
}
 
 
.netlogo-switcher {
 
    display: -webkit-flex;
 
    display: -ms-flexbox;
 
    display: flex;
 
    -webkit-align-items: center;
 
        -ms-flex-align: center;
 
            align-items: center;
 
}
 
 
.netlogo-slider {
 
    padding-left: 3px;
 
    padding-right: 3px;
 
}
 
 
.netlogo-slider:hover {
 
    cursor: default;
 
}
 
 
.netlogo-slider input[type=range] {
 
    padding: 0px;
 
    width: 100%;
 
    margin: 0px;
 
    height: 22px;
 
    margin-bottom: -4px;
 
    margin-top: -3px;
 
    background-color: transparent;
 
}
 
 
.netlogo-label {
 
  text-overflow: ellipsis;
 
  overflow: hidden;
 
  white-space: nowrap;
 
  margin: 5px auto 0 auto;
 
}
 
 
.netlogo-slider-label {
 
    display: -webkit-flex;
 
    display: -ms-flexbox;
 
    display: flex;
 
    -webkit-justify-content: space-between;
 
        -ms-flex-pack: justify;
 
            justify-content: space-between;
 
}
 
 
.netlogo-slider-label .netlogo-label {
 
    min-width: 0;
 
    -webkit-flex: 1 1 auto;
 
        -ms-flex: 1 1 auto;
 
            flex: 1 1 auto;
 
}
 
 
.netlogo-slider-label .netlogo-slider-value {
 
    -webkit-flex: 0 0 auto;
 
        -ms-flex: 0 0 auto;
 
            flex: 0 0 auto;
 
}
 
 
.netlogo-slider-label input[type=number] {
 
    margin: 0px;
 
    border: 1px;
 
    padding: 0px;
 
}
 
 
 
.netlogo-monitor {
 
    padding: 2px 4px;
 
    display: -webkit-flex;
 
    display: -ms-flexbox;
 
    display: flex;
 
    -webkit-flex-flow: column;
 
        -ms-flex-flow: column;
 
            flex-flow: column;
 
    -webkit-justify-content: space-around;
 
        -ms-flex-pack: distribute;
 
            justify-content: space-around;
 
}
 
 
.netlogo-monitor > .netlogo-value {
 
    background-color: white;
 
    padding: 2px 2px;
 
}
 
 
.netlogo-value {
 
    overflow: hidden;
 
}
 
 
.netlogo-input-box {
 
    padding: 2px 4px;
 
    display: -webkit-flex;
 
    display: -ms-flexbox;
 
    display: flex;
 
    -webkit-flex-flow: column;
 
        -ms-flex-flow: column;
 
            flex-flow: column;
 
    -webkit-justify-content: space-around;
 
        -ms-flex-pack: distribute;
 
            justify-content: space-around;
 
}
 
 
.netlogo-chooser {
 
    padding: 2px 4px;
 
    display: -webkit-flex;
 
    display: -ms-flexbox;
 
    display: flex;
 
    -webkit-flex-flow: column;
 
        -ms-flex-flow: column;
 
            flex-flow: column;
 
    -webkit-justify-content: space-around;
 
        -ms-flex-pack: distribute;
 
            justify-content: space-around;
 
}
 
 
.netlogo-plot {
 
    -moz-box-sizing: content-box;
 
        box-sizing: content-box; /* otherwise border gets cut off -- BCH 11/9/2014 */
 
    border: 1px solid black;
 
}
 
 
.netlogo-forever-button > input {
 
    display: none;
 
}
 
 
.netlogo-subheader {
 
  -webkit-align-items: center;
 
      -ms-flex-align: center;
 
          align-items: center;
 
  display: -webkit-flex;
 
  display: -ms-flexbox;
 
  display: flex;
 
  -webkit-flex-flow: column;
 
      -ms-flex-flow: column;
 
          flex-flow: column;
 
  -webkit-flex-grow: 0;
 
      -ms-flex-positive: 0;
 
          flex-grow: 0;
 
  white-space: nowrap;
 
}
 
 
.netlogo-export-wrapper {
 
  -webkit-align-items: center;
 
      -ms-flex-align: center;
 
          align-items: center;
 
  display: -webkit-flex;
 
  display: -ms-flexbox;
 
  display: flex;
 
  -webkit-flex-grow: 0;
 
      -ms-flex-positive: 0;
 
          flex-grow: 0;
 
  white-space: nowrap;
 
}
 
 
.netlogo-widget-error {
 
  color: red;
 
}
 
 
.netlogo-widget-error:hover {
 
  cursor: pointer;
 
}
 
/*# sourceMappingURL=widgets.css.map */</style>
 
    <style>.netlogo-command {
 
  background-color: #BACFF3;
 
}
 
.netlogo-command.netlogo-active, .netlogo-command:active {
 
  background-color: #1F6A99;
 
  color: #BACFF3;
 
}
 
.netlogo-button.netlogo-disabled:active, .netlogo-forever-button.netlogo-disabled.netlogo-active {
 
  background-color: #BCBCE5;
 
  color: #888888;
 
}
 
.netlogo-input {
 
  background-color: #8FE585;
 
}
 
.netlogo-output {
 
  background-color: #FFFF9A;
 
  border: 1px solid #E7E741;
 
}
 
 
.netlogo-tab {
 
  background-color: #BCBCE5;
 
  border-color: #242479;
 
  font-size: 16px;
 
}
 
 
.netlogo-tab.netlogo-active {
 
  background-color: #7C76fD;
 
}
 
 
.netlogo-tab:active {
 
  background-color: #7C76fD;
 
}
 
 
.netlogo-view-container {
 
  background-color: #F4F4F4;
 
  border: 1px solid #CCCCCC;
 
}
 
/*# sourceMappingURL=netlogoweb.css.map */</style>
 
    <style>.cm-s-netlogo-default .cm-operator {
 
    color: #000000;
 
}
 
.cm-s-netlogo-default .cm-reporter {
 
    color: #660096;
 
}
 
.cm-s-netlogo-default .cm-command {
 
    color: #0000AA;
 
}
 
.cm-s-netlogo-default .cm-keyword {
 
    color: #007F69;
 
}
 
.cm-s-netlogo-default .cm-comment {
 
    color: #5A5A5A;
 
}
 
.cm-s-netlogo-default .cm-string,
 
.cm-s-netlogo-default .cm-number,
 
.cm-s-netlogo-default .cm-constant {
 
    color: #963700;
 
}
 
/*# sourceMappingURL=netlogo-syntax.css.map */</style>
 
    <style>/*
 
* Styles for that sweet loading spinner with turtles
 
*/
 
 
#loading-overlay {
 
  display: -webkit-flex;
 
  display: -ms-flexbox;
 
  display: flex;
 
  -webkit-align-items: center;
 
      -ms-flex-align: center;
 
          align-items: center;
 
  -webkit-justify-content: center;
 
      -ms-flex-pack: center;
 
          justify-content: center;
 
}
 
 
.spinner-img {
 
  height: auto;
 
  width: 10px;
 
  z-index: 11;
 
  position: absolute;
 
}
 
 
#spinner {
 
  height: 50px;
 
  width:  50px;
 
  -webkit-transform-origin: 60% 60%;
 
          transform-origin: 60% 60%;
 
  -webkit-animation-name: spin;
 
          animation-name: spin;
 
  -webkit-animation-duration: 1.75s;
 
          animation-duration: 1.75s;
 
  -webkit-animation-iteration-count: infinite;
 
          animation-iteration-count: infinite;
 
  -webkit-animation-direction: normal;
 
          animation-direction: normal;
 
  -webkit-animation-timing-function: linear;
 
          animation-timing-function: linear;
 
  -webkit-animation-fill-mode: forwards;
 
          animation-fill-mode: forwards;
 
  -webkit-animation-delay: 0s;
 
          animation-delay: 0s;
 
  -webkit-animation-play-state: running;
 
          animation-play-state: running;
 
  z-index: 11;
 
}
 
 
.turtle1 {
 
  top: 29%;
 
  left: 29%;
 
}
 
 
.turtle2 {
 
  top: 20%;
 
  left: 50%;
 
}
 
 
.turtle3 {
 
  top: 29%;
 
  left: 71%;
 
}
 
 
.turtle4 {
 
  top:  50%;
 
  left: 80%;
 
}
 
 
.turtle5 {
 
  top:  71%;
 
  left: 71%;
 
}
 
 
.turtle6 {
 
  top:  80%;
 
  left: 50%;
 
}
 
 
.turtle7 {
 
  top:  71%;
 
  left: 29%;
 
}
 
 
.turtle8 {
 
  top: 50%;
 
  left: 20%;
 
}
 
 
@-webkit-keyframes spin {
 
  from {
 
      -webkit-transform: rotate(0deg);
 
              transform: rotate(0deg);
 
  }
 
  to {
 
      -webkit-transform: rotate(360deg);
 
              transform: rotate(360deg);
 
  }
 
}
 
 
@keyframes spin {
 
  from {
 
      -webkit-transform: rotate(0deg);
 
              transform: rotate(0deg);
 
  }
 
  to {
 
      -webkit-transform: rotate(360deg);
 
              transform: rotate(360deg);
 
  }
 
}
 
/*# sourceMappingURL=spinner.css.map */</style>
 
    <style>/*
 
* styles to use with the "error alert" component
 
*/
 
 
.dark-overlay {
 
  background-color:rgba(0, 0, 0, 0.7);
 
  width:100%;
 
  height:100%;
 
  z-index:10;
 
  top:0;
 
  left:0;
 
  position: fixed;
 
}
 
 
#alert-overlay {
 
  display: -webkit-flex;
 
  display: -ms-flexbox;
 
  display: flex;
 
  -webkit-flex-direction: row;
 
      -ms-flex-direction: row;
 
          flex-direction: row;
 
  -webkit-justify-content: center;
 
      -ms-flex-pack: center;
 
          justify-content: center;
 
  -webkit-align-items: center;
 
      -ms-flex-align: center;
 
          align-items: center;
 
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
 
}
 
 
#alert-dialog {
 
  background-color: whitesmoke;
 
  opacity: 1;
 
  z-index: 15;
 
  border-radius: 10px;
 
  border: 2px black solid;
 
  display:-webkit-flex;
 
  display:-ms-flexbox;
 
  display:flex;
 
  -webkit-flex-direction: column;
 
      -ms-flex-direction: column;
 
          flex-direction: column;
 
  -webkit-align-items: center;
 
      -ms-flex-align: center;
 
          align-items: center;
 
}
 
 
#alert-title {
 
  margin-bottom: 5px;
 
}
 
 
.alert-text {
 
  padding: 10px;
 
  font-size: 16px;
 
}
 
 
.standalone-text {
 
  color: #555555;
 
  display: none;
 
  text-align: center;
 
  max-width: 600px;
 
}
 
 
#alert-dismiss-container {
 
  border-top: 1px solid lightgray;
 
  width: 100%;
 
  text-align: center;
 
  padding: 10px 0;
 
}
 
 
.alert-button {
 
  font-size: 14px;
 
  height: 25px;
 
  min-width: 50%;
 
  border-radius: 3px;
 
  border: 1px solid lightgray;
 
  background-color: #e6e6e6;
 
}
 
/*# sourceMappingURL=alert.css.map */</style>
 
  </head>
 
</html>
 
  
{{Bact_fung1}}
+
{{Toulouse_France/Sponsors}}
{{Bact_fung2}}
+
{{Toulouse_France/Footer}}
{{Bact_fung3}}
+
{{Bact_fung4}}
+
{{Bact_fung5}}
+
{{Bact_fung6}}
+
{{Bact_fung7}}
+

Latest revision as of 03:19, 20 October 2016

iGEM Toulouse 2016

Modeling

Toward the cave

At the end of our summer work, our strain Paleolitis was not complete yet. Anyway, using such a GMO in the cave environment is a very risky challenge and we decided to anticipate and conceptualize how it could be used in the safest way.

Context

Even if Paleolitis had been finalized, there is no way we could have used it in the cave without long and accurate testing phases. The step before Lascaux should be its validation in a laboratory cave (figure 1). There are experts in such approaches and we decided to focus on the step between the completion of our strain and this laboratory validation.


Figure 1: description of our strategy to anticipate the use of Paleolitis in the Lascaux cave.


An iterative strategy

We conceived this step as an iterative strategy (figure 1). To predict how the strain will behave in the cave environment, we decided to use a modeling strategy and created a prey-predator model. Such an approach provides accurate prediction only with accurate data. It means using the strain to treat mould patches as it would be done in the cave. We felt that we should use all the solutions available for the confinement and we designed a device to physically contain our strain during the treatment. With this device, we could perform tests on stones to mimic the cave situation. Data from these tests will be used to implement our model with real data to obtain better predictions that will be tested again, and hence the iterative approach. Once satisfactory predictions are obtained, the next step toward the laboratory cave would be initiated.

Modeling

We designed a prey-predator model to predict how Paleolitis and the fungi will behave. Indeed, these are living entities, with a capacity to multiply but also with a death rate. This means that how the system evolves (i.e, toward fungal or bacterial domination) depends on the growth and death rates of the strains, but also on their initial numbers. The cave is very poor in growth substrates and the production of toxin should also make the bacteria unstable. We therefore assumed that the Paleolitis strain should not maintain in this environment. Therefore the simulation should help us know how much bacteria should be used to treat the mould patches, when the job is finished, and when the bacteria should have disappeared.

The model was conceived using Netlogo.

It was designed has a simple interface (figure 2) and is totally open to the iGEM community and beyond (Link coming soon).


Figure 2: image of the prey-predator model interface.




Figure 3: simulation from the model.



Confinement Device

The confinement device (figure 4) was designed has a transparent glass bell (5) mounted on a soft sucking pad (6) to stick to the cave wall. This sucking pad can be depressurized (4) to allow tight and airproof contact to the stone. Bacterial suspension at the concentration indicated by the model is placed in the chamber (1). The device is placed on top of the mould patch and bacterial suspension is sprayed on the confined surface (figure 5) using the sprinkler inside the bell (3). Optionally, an UV ramp could be mounted inside the chamber, either to reveal the bacteria if they express a fluorescent marker, or to ensure killing of the recA- Bacillus strain (this background allows reducing the risk of recombination – see the design part-, and is therefore very sensitive to UV).


Figure 4: technical diagram of the device.




Figure 5: simulation of the device utilization.



Test on stones

The device will have to be used during test on stone in laboratory condition. As a very preliminary work, limestone rocks were sterilized by autoclaving them and used to perform a serie of tests. We deposited on the stones several mixes including ochre, substrates, Bacillus subtilis expressing the antifungal AF_A operon, and fungi (figure 6). However, it appears that fungal growth in such conditions is very slow and it was difficult to obtain sound results in the few days left to perform the tests. Anyway, such a test could be easily adapted to try out the model predictions and the device functionality. Sampling during and after the predicted time could be done and qRT-PCR performed to measure how the fungal and bacterial populations evolved. These numbers will be implemented in the model to refine its prediction and hence optimize the approach until the results are satisfying enough to start test in laboratory caves.


Figure 6: example of test on stones.



Perspectives: the laboratory cave and other applications

The described iterative approach will help to settle the best conditions to apply our project in the Lascaux cave. The cave has a very unstable ecosystem and microbiologists working on Lascaux treat it with extreme caution and care. They also do not act on the cave until they know the exact consequences of the treatments they plan on applying. They therefore use laboratory caves where various treatments are performed and fully analysed before deciding to use them directly on the cave. Moreover, the study of the laboratory caves enables the microbiologists to better understand which characteristics lead to certain ecosystems that were identified in the caves. This could help build a referential on the microorganisms that develop underground. These caves are all located in France, and have similarities with the Lascaux cave in terms of bacterial and fungal populations. However, each cave is unique and the microbiologists that work on the cave decided to develop a network of laboratory caves. Each one of them could help respond to a particular issue of the Lascaux cave and all of them combined would tackle all the aspect of the Lascaux cave’s situation.

The concept of our project could be used for other applications as well. For example, in hospitals, fungi cause a lot of sanitary issues. The fungus settles on the pipes and may cause infections to patients that require extreme care and sterile healing conditions. A Paleotilis-like solution would be a great way to get rid of the microorganisms that threaten the health of the convalescents.




Contacts