Answers.Body: <p>I assume you are simulating a null distribution. Are you investigation recombination??</p>
  <p>My main advice is to use population genetic terminology rather than geomometry to describe your simulation (e.g. vertex is a migration event between allopatric populations). Migration is investigated between populations investigated via <span class="math-container">$F_{ST}$</span>. You appear to be assuming clonality, and population movement appear to follow a 'stepping stone model' (I might have misunderstand the question).</p>
  <p>Mutation rate ... I'll have a guess at <span class="math-container">$10^5$</span> per site per year. Migration rate depends on the bacterial species being modeled, eg. MRSA spread in a very similiar fashion to that described in your model (along a moterway), in contrast soil bacteria don't adhere to allopatry at all (when I looked at them).</p>
  <p>Fixing one parameter (population size) whilst investigation a second (migration) would be normal to assess the parameter space initially. Bacterial populations do undergo selective sweeps and using an appropriate growth model I would look at a standard population growth model (e.g. the one Bob May investigated in chaotic interactions within a differential equation). There are several population growth models and fixing migration whilst assessing the model would seem sensible. The parameter space in the combined model of migration, space and population size becomes complex.</p>
  <hr />
  <p>Okay I get your model now. Its fine, the thing I'd be cautious about is the population density of the bacterial host because this would skew migration across the nodes of your graph. A quick literature review will demonstrate the importance,  double paeroto log normal distribution and its cousin (the name escapes me .... ) are sort of key words that might flag up. Bacteria are not my active thing so I'm rusty.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-08-27T18:05:53.720Z
Answers.Text: Let me explain better:
  my graph G(V,E) has nodes (aka. vertex) and edges (aka. links). My dinamics is parametrized by two discrete time-variables, $t_1$ and $t_2$ . $\Delta t_1$ is the moran process typical time and $\Delta t_2$ marks each migration event.
  Clearly there's a relation beetwen $\Delta t_1$ and $\Delta t_2$ that I should implement. 
  Allopatric hypothesis is plausible only at $t=t_0$ when first migration has not occurred yet.
  Yes, population movements follows a 'stepping stone model'.
  Recombination is not taken into account yet (yes it's my basis null model)
Answers.UserDisplayName: omega
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-08-27T21:11:33.957Z
Answers.Text: Okay, i see. Your model seems fine. You're looking at bacterial movement between foci under investigation, e.g. hospitals that wort of thing, this is represented by nodes on your graph. I presume you have observed data and are generating a null distribution. The one thing I'd watch ... is there seasonality in the population dynamics of the species? The other thing important is population density of the bacterial host ... of the two I would say the latter is most important.
Answers.UserDisplayName: M__
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-08-26T19:13:04.240Z
Answers.LastActivityDate: 2020-08-27T21:14:38.377Z
Answers.LastEditDate: 2020-08-27T21:14:38.377Z
Answers.UserDisplayName: M__
Body: <p><strong>Disclaimer</strong>:</p>
  <p>I'm a physicist and I'm fairly new to Bioinformatics therefore somethings below may not make sense.</p>
  <hr />
  <p><strong>My purpose</strong>:</p>
  <p>I would like to simulate genetic evolution of bacterial populations, implementing interactions among different bacterial strains on a graph.</p>
  <p>My starting point is to generate a graph with a certain topology.</p>
  <p>Each vertex <span class="math-container">$V_i$</span> should contain a population of <span class="math-container">$N_i$</span> individuals for which I choose a certain allelic profile from an <a href="https://pubmlst.org/databases/" rel="nofollow noreferrer">MLST database</a>. Population numerosity and allelic profile is assigned by random choice.
  <span class="math-container">$$\\\\$$</span></p>
  <p>At starting time each vertex is populated with a &quot;pure&quot; strain of <span class="math-container">$N_i$</span> clones, identified with a randomly choosen <a href="https://pubmlst.org/bigsdb?db=pubmlst_blicheniformis_seqdef&amp;page=downloadProfiles&amp;scheme_id=14" rel="nofollow noreferrer">allelic profile</a>.</p>
  <p><strong>Dynamics assumptions</strong></p>
  <p>I will assume that:</p>
  <ul>
  <li><p>Topology does not change with time</p>
  </li>
  <li><p>Vertex dynamic flows as a <em>Moran process</em>:
  At time <span class="math-container">$t$</span> , one individual is chosen randomly to reproduce and one
  individual is chosen to die. The same individual can be chosen to reproduce and
  then die. Thus, an individual has either zero, one, or two descendants. Zero and
  two with equal probability <span class="math-container">$p_0 = p_2 = (N_i -1 )/N_i^2$</span> , and one with probability <span class="math-container">$p_1 = 1 − 2 p_2$</span>.</p>
  </li>
  <li><p>Migration from one Vertex to one another is possible for nearest neighborhood with some fixed probability depending on choosen topology. I will assume that when migration occurs <span class="math-container">$I$</span> new individuals enters into <span class="math-container">$V_i$</span> and <span class="math-container">$O$</span> individuals exits from <span class="math-container">$V_i$</span>, with <span class="math-container">$I$</span> and <span class="math-container">$O$</span> depending on origin vertex numerosity. Migrants carry allelic frequencies according to population they came from. When migration occurs a new population is established: allelic profile frequencies changes according to that.</p>
  </li>
  <li><p>Migration and <em>Moran process</em> evolution does not happen simultaneously; This allows me to guarantee that each population performs at least one evolution.</p>
  </li>
  </ul>
  <hr />
  <p><strong>Questions</strong>:</p>
  <p>(1) Is there something fundamental that I'm missing?</p>
  <p>(2) Moran model ensures that the population size remains constant (apart from migration effects obviously). Is this appropriate in order to simulate dynamic in stationary growing phase or should I introduce some demographic effects?</p>
  <p>(3) Which could be a proper &quot;timing&quot; for migration and evolution steps?</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-08-26T18:30:07.370Z
Comments.Text: Just a thought... A key concept in population genetics is *fitness* of an individual/clonal group under that environment. A change in environment results in a change in the fitness and as a consequence you have a bottleneck, where individuals die when their fitness is lower than a threshold. Specialists have high fitness in one environment, but low in others, while generalists are mediocre at all. So you could choose who dies based on some fitness-threshold effect where fitness is inversely tied to say doubling time, if that is a parameter that is allowed to evolve.
Comments.UserDisplayName: Matteo Ferla
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-08-26T19:25:07.730Z
Comments.Text: I forgot to mention that my naive implementation of vertex dynamics follow a neutral model because all individuals could be picked as a parent with uniform probability distribution (this should be like an *equal fitness*).
  So do you suggest that I should implement fitness variation as an effect of migration? (e.g. incoming bacteria have lower fitness due to new environment)
Comments.UserDisplayName: omega
Tags: <phylogenetics><phylogeny><networks><bacteria><allele-frequency>
Title: Populations genetics and dynamics of bacteria on a Graph
ThreadText: # Populations genetics and dynamics of bacteria on a Graph
  
  (Asked by: username_0 on 2020-08-26)
  
  **Disclaimer**:
  
  I'm a physicist and I'm fairly new to Bioinformatics therefore somethings below may not make sense.
  
  ---
  
  **My purpose**:
  
  I would like to simulate genetic evolution of bacterial populations, implementing interactions among different bacterial strains on a graph.
  
  My starting point is to generate a graph with a certain topology.
  
  Each vertex $V\_i$ should contain a population of $N\_i$ individuals for which I choose a certain allelic profile from an [MLST database](https://pubmlst.org/databases/). Population numerosity and allelic profile is assigned by random choice.
  $$\\\\$$
  
  At starting time each vertex is populated with a "pure" strain of $N\_i$ clones, identified with a randomly choosen [allelic profile](https://pubmlst.org/bigsdb?db=pubmlst_blicheniformis_seqdef&page=downloadProfiles&scheme_id=14).
  
  **Dynamics assumptions**
  
  I will assume that:
  
  * Topology does not change with time
  * Vertex dynamic flows as a *Moran process*:
    At time $t$ , one individual is chosen randomly to reproduce and one
    individual is chosen to die. The same individual can be chosen to reproduce and
    then die. Thus, an individual has either zero, one, or two descendants. Zero and
    two with equal probability $p\_0 = p\_2 = (N\_i -1 )/N\_i^2$ , and one with probability $p\_1 = 1 − 2 p\_2$.
  * Migration from one Vertex to one another is possible for nearest neighborhood with some fixed probability depending on choosen topology. I will assume that when migration occurs $I$ new individuals enters into $V\_i$ and $O$ individuals exits from $V\_i$, with $I$ and $O$ depending on origin vertex numerosity. Migrants carry allelic frequencies according to population they came from. When migration occurs a new population is established: allelic profile frequencies changes according to that.
  * Migration and *Moran process* evolution does not happen simultaneously; This allows me to guarantee that each population performs at least one evolution.
  
  ---
  
  **Questions**:
  
  (1) Is there something fundamental that I'm missing?
  
  (2) Moran model ensures that the population size remains constant (apart from migration effects obviously). Is this appropriate in order to simulate dynamic in stationary growing phase or should I introduce some demographic effects?
  
  (3) Which could be a proper "timing" for migration and evolution steps?
  
  **Tags:** phylogenetics, phylogeny, networks, bacteria, allele-frequency
  
  > **Comments:**
  > **username_1**: Just a thought... A key concept in population genetics is *fitness* of an individual/clonal group under that environment. A change in environment results in a change in the fitness and as a consequence you have a bottleneck, where individuals die when their fitness is lower than a threshold. Specialists have high fitness in one environment, but low in others, while generalists are mediocre at all. So you could choose who dies based on some fitness-threshold effect where fitness is inversely tied to say doubling time, if that is a parameter that is allowed to evolve.  
  > **username_0**: I forgot to mention that my naive implementation of vertex dynamics follow a neutral model because all individuals could be picked as a parent with uniform probability distribution (this should be like an *equal fitness*). So do you suggest that I should implement fitness variation as an effect of migration? (e.g. incoming bacteria have lower fitness due to new environment)  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2020-08-26. Score: 3 | Accepted answer
  
  I assume you are simulating a null distribution. Are you investigation recombination??
  
  My main advice is to use population genetic terminology rather than geomometry to describe your simulation (e.g. vertex is a migration event between allopatric populations). Migration is investigated between populations investigated via $F\_{ST}$. You appear to be assuming clonality, and population movement appear to follow a 'stepping stone model' (I might have misunderstand the question).
  
  Mutation rate ... I'll have a guess at $10^5$ per site per year. Migration rate depends on the bacterial species being modeled, eg. MRSA spread in a very similiar fashion to that described in your model (along a moterway), in contrast soil bacteria don't adhere to allopatry at all (when I looked at them).
  
  Fixing one parameter (population size) whilst investigation a second (migration) would be normal to assess the parameter space initially. Bacterial populations do undergo selective sweeps and using an appropriate growth model I would look at a standard population growth model (e.g. the one Bob May investigated in chaotic interactions within a differential equation). There are several population growth models and fixing migration whilst assessing the model would seem sensible. The parameter space in the combined model of migration, space and population size becomes complex.
  
  ---
  
  Okay I get your model now. Its fine, the thing I'd be cautious about is the population density of the bacterial host because this would skew migration across the nodes of your graph. A quick literature review will demonstrate the importance, double paeroto log normal distribution and its cousin (the name escapes me .... ) are sort of key words that might flag up. Bacteria are not my active thing so I'm rusty.
  
  > **Comments:**
  > **username_0**: Let me explain better: my graph G(V,E) has nodes (aka. vertex) and edges (aka. links). My dinamics is parametrized by two discrete time-variables, $t_1$ and $t_2$ . $\Delta t_1$ is the moran process typical time and $\Delta t_2$ marks each migration event. Clearly there's a relation beetwen $\Delta t_1$ and $\Delta t_2$ that I should implement.  Allopatric hypothesis is plausible only at $t=t_0$ when first migration has not occurred yet. Yes, population movements follows a 'stepping stone model'. Recombination is not taken into account yet (yes it's my basis null model)  
  > **username_2**: Okay, i see. Your model seems fine. You're looking at bacterial movement between foci under investigation, e.g. hospitals that wort of thing, this is represented by nodes on your graph. I presume you have observed data and are generating a null distribution. The one thing I'd watch ... is there seasonality in the population dynamics of the species? The other thing important is population density of the bacterial host ... of the two I would say the latter is most important.  
  
  ---
  
  