Difference: ToolsMarkerDivergence (2 vs. 3)

Revision 32008-09-19 - JeffreyBarrick

 
META TOPICPARENT name="ToolList"

Marker Divergence Experiments

This workflow implements a method for extracting effective beneficial mutation rates (μ) and selection coefficients (s) from marker divergence experiments [1]. This is a way of parameterizing the evolvability of a bacterial strain.

Requirements and Installation

The Perl scripts require the module Math::Random::MT::Auto and its prerequisites for random number generation. They can be installed from CPAN. The Math::Random::MT::Auto module has a code component that must be compiled. If you have root access on a system you can probably install these from the command line as follows:

 >sudo perl -MCPAN -e shell
 >Password: ********
 >install Math::Random::MT::Auto
Changed:
<
<
  _answer yes to any prompts about installing prerequisites_
>
>
  answer yes to any prompts about installing prerequisites
 
Added:
>
>
MATLAB is required for calculating establishment probabilities.

R is required for fitting marker divergence curves. It should be present in your $PATH, so that Perl scripts can invoke it.

 

1. Fit α and τ Empirical Parameters from Experimental Data

The basic command is:

Changed:
<
<
 >sudo perl -MCPAN -e shell
>
>
 >marker_divergence_fit.pl -i input.tab > output.fit
Deleted:
<
<
 >Password: ********
 >install Math::Random::MT::Auto
  _answer yes to any prompts about installing prerequisites_
 

Input File Data Format

Changed:
<
<
The input file is a tab-delimited.
>
>
The input file is tab-delimited. The header row begins with "transfer", and the other columns are labels indicating the name of an experimental time series of marker ratio measurements. Each following row begins with the number of the transfer followed by the marker ratio measurements for that series at that time point. Marker ratios may be given in a variety of formats. Pass the -m option followed by ratio, log_ratio, log10_ratio to this script depending on the format of you data values. The default mode is ratio.
 
Changed:
<
<
You should pass the -m option followed by ratio, log_ratio, log10_ratio to this script depending on the format of you data values.
>
>
Portion of an example marker ratio input file:
Added:
>
>
transfer exp-1  exp-2  exp-3
0        0.5087 0.5068 0.4990
3        0.5000 0.4844 0.5174
6        0.4853 0.5393 0.5115
9        0.4802 0.4862 0.4522
12       0.4884 0.4431 0.5170
15       0.5277 0.5196 0.5266
18       0.4983 0.4638 0.4607
21       0.5221 0.5361 0.5000
 

Baseline Correction

Changed:
<
<
If some of your experimental curves do not start at a 1:1 ratio of the neutral marker states, you will also want to pass the -b option followed by the number of initial points (not transfers) . The script corrects for the initial marker imbalance by fitting τ and α to a modified equation that accounts for the fact that for a population diverging toward marker state A where A was initially present in less than 50% of the population, the marker ratio will be shifted sooner than in a population where it was initially present in 50% or more of the population.
>
>
If some of your experimental curves do not start at a 1:1 ratio of the neutral marker states, you will also want to pass the -b option followed by the number of initial points (not transfers) . The script corrects for the initial marker imbalance by fitting τ and α to a modified equation that accounts for the fact that for a population diverging toward marker state A, where A was initially present in less than 50% of the population, the marker ratio will be shifted sooner than in a population where it was initially present in 50% or more of the population.
 
Added:
>
>
Example:
 
Changed:
<
<
 >sudo perl -MCPAN -e shell
>
>
 >marker_divergence_fit.pl -m log_ratio -i input.tab > output.fit
Deleted:
<
<
 >Password: ********
 >install Math::Random::MT::Auto
  _answer yes to any prompts about installing prerequisites_
 
Deleted:
<
<
 Corrects for the baseline by taking the average of the first 5 points.

2. Generate a Table of establishment probabilities with MATLAB.

Changed:
<
<

3. Generate α and τ Values from a Population Genetics Simulation

>
>
The population genetics model assumes that each new beneficial mutation that is generated has a certain probability of establishing (not going extinct) during the serial transfer regime of the experiment. A table of these probabilities must be calculated with the MATLAB script.
 
Changed:
<
<

3.1 Generate Simulated Data for a μ and s Combination

>
>
First, add the directory containing the two ".m" files that come with the distribution to the MATLAB path.
 
Added:
>
>
In MATLAB:
 >>establishment_probability_table(6.64, 5E6, 0.001, 1, 'pr_establishment_T=6.64_No=5E6.tab')

3. Generate α and τ Values from the Population Genetics Simulation

3.1 Generate Simulated Marker Divergence Data for a μ and s Combination

 

3.2 Fit α and τ Empirical Parameters from Experimental Data

3.3 Helper Script: Automating this Step

4 Determine the Effective Parameters where Simulations and Experimental Data Produce the Same Distributions of Empirical Parameters

References

  1. Hegreness, M., Shoresh, N., Hartl, D., and Kishony, R. (2006) An equivalence principle for the incorporation of favorable mutations in asexual populations. Science 311, 1615-1617.
  2. Wahl, L.M., and Gerrish, P.J. (2001) The probability that beneficial mutations are lost in populations with periodic bottlenecks. Evolution 55, 2606-2610.

Acknowledgments

Changed:
<
<
Many thanks to Noam Shoresh for extensive discussions that made it possible for me to reproduce his methods and providing his raw data to check the results from these tools.
>
>
Many thanks to Noam Shoresh for extensive discussions that made it possible for me to reproduce his methods and for providing his raw data to check the results from these tools.
 
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright ©2025 Barrick Lab contributing authors. Ideas, requests, problems? Send feedback