Accueil Ma page Projets Échantillons de code Postes ouverts du projet Aevol
Résumé Activité Forums Outil de suivi Listes Tâches Documents Sondages Annonces Code source Fichiers

Remarques sur les révisions

Nom de version : aevol-4.4

Notes de version
New in 4.4:

* aevol_create now gives a name to the created strain. It can be defined using
  the STRAIN_NAME keyword in the param file. If this keyword is not present, a
  default one will be generated.

* New option -o or --out in aevol_create
  Allows one to create the experiment in any location.

* aevol_propagate can now reset the PRNGs (random generators) with the new
  general option -S (affecting all random processes) or the new more specific
  options -m, -s, -t, -e and -n (each affects a single random process, see man
  page).

* The environmental target can be defined by a list of custom points using the
  ENV_ADD_POINT keyword in the parameter file. This is an alternative to the
  usual way, where it is defined as a sum of gaussians. Note, however, that
  environmental variation is possible only for the "gaussian" way.

* The aevol_misc_fixed_mutations program now outputs the number of genes
  affected by each mutation. More precisely, three new columns are produced:
    - the number of coding RNAs possibly disrupted by a switch, a small indel
      or a rearrangement breakpoint,
    - the number of coding RNAs entirely included in a rearranged segment,
    - in the case of a transfer by replacement, the number of genes that were
      entirely included in the replaced segment.
  This program does not work yet if plasmids are allowed.

* The programs aevol_misc_lineage, aevol_misc_ancstats,
  aevol_misc_fixed_mutations, aevol_misc_gene_families now work when the
  environment was changed at some point by aevol_modify.

* The fitness proportionate selection scheme now works with spatial structure

* In aevol_modify, it is now possible to replace a population by clones of the
  best individual. To do so, add the line CLONE_BEST_NO_TREE or
  CLONE_BEST_AND_CHANGE_TREE in the parameter file you supply to aevol_modify.
  Use CLONE_BEST_AND_CHANGE_TREE if your simulation campaign uses the
  genealogical trees, that is to say if you set RECORD_TREE to true. Otherwise,
  use CLONE_BEST_NO_TREE.

* Manual pages were added for aevol_misc_lineage, aevol_misc_ancstats,
  aevol_misc_fixed_mutations, aevol_misc_gene_families, aevol_misc_create_eps,
  aevol_misc_view_generation.

* New option (-c and -p) in aevol_create. Allows one to load a chromosome (and
  possibly plasmid) from a text file. If -p is used, ALLOW_PLASMIDS must be set
  to true and -c must also be used. If -c is used and ALLOW_PLASMIDS is set to
  true, -p must also be used.

* Add a script (src/misc/movies.py) to produce a movie from an aevol simulation
  with dumps activated.
  run ./src/misc/movies.py -h for help.
  Needs ffmpeg in path.

* The aevol_misc_gene_families program issues the detailed history of each gene
  family on the lineage of a given individual (providing its lineage file).
  A gene family is defined here as a set of coding sequences that arised by
  duplications of a single original gene. The original gene, called the root of
  the family, can either be one of the genes in the initial ancestor, or a new
  gene created from scratch (for example by a local mutation that transformed a
  non-coding RNA into a coding RNA). The history of gene duplications, gene
  losses and gene mutations in each gene family is represented by a binary tree.
  The program starts by loading the initial genome at the beginning of the
  lineage and by tagging each gene in this initial genome. Each of these initial
  genes is marked as the root of a gene family. Then, each mutation recorded in
  the lineage file is replayed and the fate of all tagged genes is followed and
  recorded in their respective families. When a gene is duplicated, the
  corresponding node in one of the gene trees becomes an internal node, and two
  children nodes are added to it, representing the two gene copies. When a gene
  sequence is modified, the mutation is recorded in its corresponding node in
  one of the gene trees. When a gene is lost, the corresponding node in one of
  the gene trees is labelled as lost. When a new gene appears from scratch, i.e.
  not by gene duplication, it becomes the root of a new gene tree. Environmental
  variations are also replayed exactly as they occured during the main run.
  When all mutations have been replayed, several output files are written in a
  directory called gene_trees. Two general text files are produced. The file
  called gene_tree_statistics.txt contains general data on each gene family,
  like its creation date, its extinction date, or how many nodes it contained.
  The file called nodeattr_tabular.txt contains information about each node of
  each gene tree, like when it was duplicated or lost or how many mutations
  occurred on its branch. In addition, for each gene tree, two text files are
  generated: a file called genetree******-topology.tre contains the topology of
  the gene tree in the Newick format, and a file called
  genetree******-nodeattr.txt that contains the detailed list of events that
  happened to each node in the tree file, before it was either duplicated or
  lost.

  Usage: ae_misc_gene_families [-c | -n] [-t tolerance] -f lineage_file


Changes in 4.4:

* In the input file containing the parameters for aevol_create, the
  SELECTION_SCHEME and SELECTION_PRESSURE keywords have been merged. Only the
  SELECTION_SCHEME keyword is allowed, it sets both the selection scheme itself
  and the selection pressure (if any).

  e.g.
    SELECTION_SCHEME        fitness
    SELECTION_PRESSURE      750
  becomes
    SELECTION_SCHEME        fitness   750

* The default value of duplication_rate, deletion_rate, translocation_rate and
  inversion_rate is now 1e-5 (instead of 5e-5 before).

* The name of binaries no longer depend on configure-time options.
  e.g. aevol_run is no longer called aevol_run_X11 when x output is enabled.
  WARNING: If you build several times with different options enabled, you will
  need to make clean after reconfiguring.

* Changed the way the min/max total genome size and the min/max genetic unit
  size are handled. If you do not use plasmids (ALLOW_PLASMIDS not set, or equal
  to false), replace INITIAL_GENOME_LENGTH by CHROMOSOME_INITIAL_LENGTH in
  param.in, and everything will work as it did before. If you do use plasmids,
  you can now define values for the PLASMID_INITIAL_LENGTH, the
  PLASMID_MINIMAL_LENGTH, the PLASMID_MAXIMAL_LENGTH, the
  CHROMOSOME_MINIMAL_LENGTH and the CHROMOSOME_MAXIMAL_LENGTH. In all cases,
  MIN_GENOME_LENGTH and MAX_GENOME_LENGTH now control the total genome size
  (i.e., chromosome + plasmids) instead of just controlling the chomosome size.

* In aevol_misc_create_eps and aevol_misc_robustness, option -e or --end is now
  -g or --gener for consistency reasons.

* In aevol_modify, the transfer rates are now stored in the mutation parameters
  of each individual, they are not global parameters anymore.

* Removed the historical dependencies to libXi and libXmu, and modified the
  way compilation flags are handled according to GNU best practices.

* Updated post-treatment template and added it to the compiled sources (so that
  one can make a new post-treatment with no need for autotools).


Bugs fixed in 4.4:

* Ctrl-Q was not quitting anymore, it does now. Similarly, switching display
  on/off wasn't working any more, this is now fixed.

* Specific "chromosome" and "plasmids" stat files were issued regardless of
  whether plasmids were allowed or not. Now they are issued only when plasmids
  are allowed.

* When recording stats for each genetic unit, total metabolic fitness and
  metabolic error were reported instead of "by-genetic-unit" metabolic fitness
  and metabolic error. This is now corrected.

* Translocations between different genetic units were not reported in logs when
  tree recording was disabled. This is now fixed.

* In aevol_create, init_method always set to at least ONE_GOOD_GENE | CLONE,
  regardless of what was written in the parameter file. This is now fixed.

* In aevol_misc_lineage, there was a segmentation fault when the population was
  spatially structured. This is now corrected.

* In aevol_misc_create_eps, there was a systematic segmentation fault since
  version 4.0. This is now fixed. This program also produces better scaled
  figures for the triangles.

* In aevol_misc_fixed_mutations, the fitness impact of some mutations was wrong
  if there was some environmental variation. This is now corrected.

* In aevol_modify, correction of a segmentation fault on change of population
  size.

* In aevol_propagate, the input directory option (-i) is now working. This
  program does not write stats anymore, as it should...

* The method ae_list::get_object() returned a type T* instead of T&. The bugged
version of this method was never used, hence the behavior of the simulations is
unaffected.