Mentions légales du service

Skip to content
Snippets Groups Projects
  1. Apr 08, 2024
  2. Oct 13, 2020
  3. Sep 08, 2020
  4. Jun 26, 2020
  5. Feb 12, 2020
  6. Jun 14, 2019
  7. Oct 30, 2015
  8. Oct 29, 2015
  9. Oct 27, 2015
    • Vincent Liard's avatar
      remove (void)s · 90e4e148
      Vincent Liard authored
      Functions with empty argument list should be declared f() rather than f(void).
      90e4e148
    • Vincent Liard's avatar
      uniformize headers · c4cac25a
      Vincent Liard authored
      Took aevol_run.cpp's header as reference header and set it for all Aevol source files.
      c4cac25a
    • Vincent Liard's avatar
      fix _member_variables to member_variables_ [epic] · 286881e3
      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
      286881e3
  10. Aug 11, 2015
  11. Aug 06, 2015
  12. Jul 06, 2015
    • David Parsons's avatar
      aevol-2 Create mutation class hierarchy · 6615dbb4
      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
      6615dbb4
  13. Jun 22, 2015
  14. Jun 19, 2015
    • David Parsons's avatar
      Refactor tree management · b85cae02
      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
      b85cae02
  15. Jun 17, 2015
  16. Feb 20, 2015
  17. Feb 19, 2015
    • Vincent Liard's avatar
      convert ae_dna_replic_report to STL · 8f359b01
      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...
      8f359b01
  18. Feb 12, 2015
  19. Dec 08, 2014
    • Vincent Liard's avatar
      wrap ae_* in namespace aevol · c7e0790b
      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.
      c7e0790b
  20. Nov 19, 2013
  21. Oct 22, 2013
  22. Feb 15, 2013
    • David Parsons's avatar
      ===================== aevol-4 ===================== · f60503b1
      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 ;)
      
      f60503b1
  23. Jun 07, 2012
    • David Parsons's avatar
      ========== In release branch 4.0.0.0 ========== · fe726883
      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.
      
      fe726883
  24. Apr 28, 2011
    • David Parsons's avatar
      ========== In TRUNK ========== · 2e7500a1
      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)
      ------------------------------------------------------------------------
      
      
      2e7500a1
  25. Dec 13, 2010
    • David Parsons's avatar
      ************************************************ · 60e1f9fb
      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
      
      
      60e1f9fb
Loading