- Apr 08, 2024
-
-
LUISELLI Juliette authored
-
LUISELLI Juliette authored
-
- Oct 13, 2020
-
-
TURPIN Laurent authored
-
- Sep 08, 2020
-
-
Théotime Grohens authored
This commit re-adds some modifications from the aevol_6 branch that had not been kept by the large merge between the aevol_6 and aevol_7 branches.
-
- Jun 26, 2020
-
-
Théotime Grohens authored
This commit removes the handwritten destructor of the DnaReplicationReport class, since it the same thing as the default destructor would.
-
- Feb 12, 2020
-
-
FOLEY Marco authored
-
- Jun 14, 2019
-
-
ROUZAUD-CORNABAS Jonathan authored
-
- Oct 30, 2015
-
-
Vincent Liard authored
-
- Oct 29, 2015
-
-
Vincent Liard authored
Magic command for reference: find ! -path '*test*' ! -path './libaevol/SFMT-src-1.4/*' \( -name '*.cpp' -o -name '*.h' \) -print0 | xargs -0 sed -i -r 's/\bget_(\w+)\b/\1/g'
-
Vincent Liard authored
-
- Oct 27, 2015
-
-
Vincent Liard authored
Functions with empty argument list should be declared f() rather than f(void).
-
Vincent Liard authored
Took aevol_run.cpp's header as reference header and set it for all Aevol source files.
-
Vincent Liard authored
* Find member variables that could clash : grep -rEo --no-filename '\w+' --include '*.cpp' --include '*.h' | sort -u | grep '^_' > _litigious_tokens.txt : grep -rEo --no-filename '\w+' --include '*.cpp' --include '*.h' | sort -u | grep '_$' > litigious_tokens_.txt : grep -Fx -f <(sed -e 's/_$//' litigious_tokens_.txt) <(sed -e 's/^_//' _litigious_tokens.txt) : cat clashes.txt : | xargs -n 1 -I% sh -c "echo --- % --- ; grep -rlE --include '*.cpp' --include '*.h' '\W_%' : | xargs grep -l '%_\W'" From the resulting list, files of interest, trimmed: ExpManager.h | t_end GeneticUnit.cpp | dna rna_list False positives removed (needed no action) Dna.cpp | indiv ExpManager_X11.cpp | win GeneticUnit.cpp | non_coding_computed GeneticUnit.cpp | transcribed Individual.cpp | modularity OutputManager.cpp | tree PhenotypicTargetHandler.cpp | var_sigma var_tau Protein.cpp | gen_unit height mean width ReplicationReport.cpp | indiv Rna.cpp | gen_unit StatRecord.cpp Stats.cpp | exp_m * Manual fixes [x] ExpManager.h | t_end [x] GeneticUnit.cpp | dna rna_list (almost false positive, would have caused no harm) * Automatic fix all other symbols : find ! -path '*test*' ! -path './libaevol/SFMT-src-1.4/*' \( -name '*.cpp' -o -name '*.h' \) -print0 : | xargs -0 sed -i -r -e 's/([^a-zA-Z0-9_])_([a-zA-Z0-9][a-zA-Z0-9_]+)/\1\2_/g' * Minor afterhand fixes fix OPENMP_ and changed_ with similar `find | xargs sed`s * Check there are no more _members : grep -rEo --no-filename '[^a-zA-Z0-9_]_[a-zA-Z0-9][a-zA-Z0-9_]+' --include '*.cpp' --include '*.h' --exclude-dir tests : | sed -e 's/^.//' | sort -u
-
- Aug 11, 2015
-
-
ROUZAUD-CORNABAS Jonathan authored
-
- Aug 06, 2015
-
-
ROUZAUD-CORNABAS Jonathan authored
-
- Jul 06, 2015
-
-
David Parsons authored
Instead of a single class with switches everywhere, mutations are now handled through a proper polymorphism. Here is the class hierarchy: Mutation <-- LocalMutation <-- PointMutation <-- SmallInsertion <-- SmallDeletion <-- Rearrangement <-- Duplication <-- Deletion <-- Translocation <-- Inversion <-- HT <-- InsertionHT <-- ReplacementHT
-
- Jun 22, 2015
-
-
David Parsons authored
It used to be done from ReplicationReport, bad !
-
- Jun 19, 2015
-
-
David Parsons authored
The responsability of the creation of the tree was shared between different entities (the tree of course, but also the individuals and their dna). This made it really difficult to deal with. The solution presented here isn't optimal (yet ?). In particular, trees had to be temporarily disabled for experiments with plasmids. The tree now handles itself more independently. It is filled with naive ReplicationReports which will have to be : - initialized at the beginning of a replication - filled in at the end of a replication - finalized at the end of a generation In the future, it would be nice to implement that as an Observer pattern to decouple the involved classes
-
- Jun 17, 2015
-
-
David Parsons authored
-
David Parsons authored
-
David Parsons authored
-
- Feb 20, 2015
-
-
Vincent Liard authored
-
Vincent Liard authored
And fix #includes and libaevol/Makefile.am.
-
Vincent Liard authored
Renamed ae_dna_replic_report to DnaReplicReport. Renamed member variables with no prefix _ and with a trailing _. Variable names should not start with and underscore as these names are reserved to the compiler implementation. (C++03 standard: §17.4.3.1.2/1). But class member variables can END with a trailing underscore.
-
Vincent Liard authored
-
Vincent Liard authored
-
Vincent Liard authored
-
- Feb 19, 2015
-
-
Vincent Liard authored
In the process, got to add constness to functions in many other files. Could have dropped constness from declarations, but since I was at it... Has to be tested thoroughly, still...
-
- Feb 12, 2015
-
-
Vincent Liard authored
-
- Dec 08, 2014
-
-
Vincent Liard authored
The name convention ae_* for aevol-related classes and functions comes from C language lacking namespaces. It was meant to prevent name clashes. Since C++ provides namespaces, this commit wraps everything inside an "aevol" namespace. This means that there is no need anylonger to name classes according to ae_*. But any new class needs to be within the aevol namespace if it is part of aevol or to start with a "using" clause if it relies on aevol.
-
- Nov 19, 2013
-
-
Bérénice Batut authored
- They are managed in ae_dna and ae_mutation and no more in ae_selection - They are saved in ae_dna_replic_report with the transferred sequence (to simplify the post-treatments)
-
- Oct 22, 2013
-
-
David Parsons authored
Updated all the file headers
-
- Feb 15, 2013
-
-
David Parsons authored
ae_list and ae_list_node are now template classes. This should not influence execution time as template instanciation occurs as comilation time. Changes for developers: * It is no longer possible to declare a plain ae_list variable, you must declare an ae_list<whatever_you_want> variable. Things are clearer this way since one knows what type of object the list will contain. * It is no longer necessary to cast an object to the correct type: example: before: ae_list_node* rna_node; // ... ((ae_rna*) rna_node->get_obj())->rna_method() now: ae_list_node<ae_rna*>* rna_node; // ... rna_node->get_obj()->rna_method() I'm pretty sure Dule will like that ;)
-
- Jun 07, 2012
-
-
David Parsons authored
Modified compilation chain: --with-regul changed to --with-raevol --without-xlib changed to the (standard) without-x lib-aevol was changed to libaevol for a more intuitive use with -laevol. Libraries generated with different compilation options are no longer differentiated by postfixes (save for the RAEVOL option) => if --with-raevol is used, the generated lib will be called libraevol (whether X and/or DEBUG are used or not). if --without-raevol (default), the generated lib will be called libaevol. make clean is called automatically at the end of ./configure to avoid compatibility issues.
-
- Apr 28, 2011
-
-
David Parsons authored
Ported feature TRANSFER Log overview (see previous logs for more details) ------------------------------------------------------------------------ NEW * Added 2 parameters TRANSFER_INS_RATE and TRANSFER_REPL_RATE to set the rate of insertion (resp. replacement) transfer. Default: 0.0 => No transfer. Both rates are per replication rates and trigger a transfer attempt (the actual occurrence of a transfer event will depend on whether an alignment is found). There can be at most one transfer of each type per replication. * Every possible ae_mutation now has a _length * Added method ae_dna::copy_into_new_GU( int32_t pos_1, int32_t pos_2 ) const * Added method inline void ae_genetic_unit::copy_promoters_included_in( int32_t pos_1, int32_t pos_2, ae_list** new_promoter_lists ) * An ae_vis_a_vis now contains its score * Added a header for R in the output file of fixed_mutations * Added a new post-treatment "mutagenesis" * Added checking options (NO_CHECK / LIGHT_CHECK / FULL_CHECK) to the "fixed_mutations" post-treatment * Added a log file for transfer. Keyword TRANSFER, file name log_transfer.out * Added a test case for transfer. * New file ae_enums.h MODIFIED * Moved the replication procedure to ae_population. * Deported the genome size barrier checks one level up ( e.g. from do_deletion( pos_1, pos_2 ) to do_deletion() and do_rearrangements_with_align() ). * Method void ae_genetic_unit::copy_lagging_promoters_starting_between( int32_t pos_1, int32_t pos_2, ae_list* new_promoter_list ) no longer has the ( pos_1 > pos_2 ) prerequisite * Renamed class utils to ae_utils BUGFIX * Replaying a translocation when alignments are on could cause an error * The -c (or --fullcheck) option in lineage was not declared hence didn't work... * ae_individual::reevaluate( ae_environment* envir ) didn't reset the (new) attributes _transcribed, _translated and _folded yielding a flat fitness. * In post-treatments that deleted ae_common::sim, ae_dna::undergo_this_mutation( ae_mutation * mut ) could check whether it had to write in the BARRIER log. It hence tried to access a member of ae_common::sim that was NULL. * LOADS and BARRIER logs now work correctly * There were some inconsistencies with Whole Genome Events (i.e. Whole Genome Duplications) ------------------------------------------------------------------------
-
- Dec 13, 2010
-
-
David Parsons authored
* Organized the repository to manage branches. * ************************************************ Everything you already know has been moved to "trunk" Added a "branches" directory with 2 subdirectories "releases" and "features" * "releases" will be used for branches related to a given release, e.g. when a change to post-treatments are needed for the analysis of data generated using that release. For example: I am analysing data that I generated using versions 2.1.2 of the code. I hence created the branch "releases/aevol-2.1.2" so that I can code my post-treatments in a properly versionned way. These development may (depending on the level of specificity) be added to the trunk eventually (using svn merge) * "features" is meant to be used when developing a new feature that takes time developing. This will enable us to use svn feature more thouroughly, e.g. commit more often (even "unstable" versions) in a personal branch of the svn. If you don't want to use branches or if you just want to be able to update regularly, you need not change your habits, just add "/trunk" when you check out => "svn checkout svn+ssh://username@svn.gforge.liris.cnrs.fr/svnroot/aevol/trunk" Questions/remarks are welcome! David
-