From 361f851371481bcd33c431ccb0caff9a563e5ae9 Mon Sep 17 00:00:00 2001 From: David Parsons <david.parsons@inria.fr> Date: Mon, 11 Dec 2023 17:02:10 +0100 Subject: [PATCH] set parent_length from without Dna_7::set_indiv(Dna* dna) --- src/aevol_modify.cpp | 4 ++++ src/libaevol/7/Dna_7.cpp | 2 -- src/libaevol/7/ExpManager_7.cpp | 2 ++ .../aevol_post_ancestor_network_knockout_7.cpp | 1 + src/post_treatments/aevol_post_ancestor_stats_7.cpp | 1 + src/post_treatments/aevol_post_create_csv_7.cpp | 1 + src/post_treatments/aevol_post_create_eps_7.cpp | 1 + 7 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/aevol_modify.cpp b/src/aevol_modify.cpp index f3f5c14b5..f12f18603 100644 --- a/src/aevol_modify.cpp +++ b/src/aevol_modify.cpp @@ -339,6 +339,8 @@ int main(int argc, char* argv[]) { indiv->annotated_chromosome_->dna_ = Dna_7::make_dna(old_world->grid(0, 0)->individual()->genetic_unit_seq_length(0)); indiv->annotated_chromosome_->dna_->set_indiv(old_world->grid(0, 0)->individual()->genetic_unit(0).dna()); + indiv->annotated_chromosome_->dna_->set_parent_length( + old_world->grid(0, 0)->individual()->genetic_unit(0).dna()->length()); indiv->annotated_chromosome_->dna_->set_indiv(indiv); indiv->parent_id = 0; @@ -733,6 +735,8 @@ int main(int argc, char* argv[]) { indiv->annotated_chromosome_->dna_ = Dna_7::make_dna(old_world->grid(x, y)->individual()->genetic_unit_seq_length(0)); indiv->annotated_chromosome_->dna_->set_indiv(old_world->grid(x,y)->individual()->genetic_unit(0).dna()); + indiv->annotated_chromosome_->dna_->set_parent_length( + old_world->grid(x,y)->individual()->genetic_unit(0).dna()->length()); indiv->annotated_chromosome_->dna_->set_indiv(indiv); indiv->parent_id = 0; diff --git a/src/libaevol/7/Dna_7.cpp b/src/libaevol/7/Dna_7.cpp index 1d221706f..e1f2a8698 100644 --- a/src/libaevol/7/Dna_7.cpp +++ b/src/libaevol/7/Dna_7.cpp @@ -89,8 +89,6 @@ void Dna_7::set_indiv(Dna* dna) { } memcpy(data_, dna->data(), (length_+1) * sizeof(char)); - - parent_length_ = dna->length(); } diff --git a/src/libaevol/7/ExpManager_7.cpp b/src/libaevol/7/ExpManager_7.cpp index 40c16aa56..e583a937c 100644 --- a/src/libaevol/7/ExpManager_7.cpp +++ b/src/libaevol/7/ExpManager_7.cpp @@ -107,6 +107,8 @@ void ExpManager_7::load_legacy(ExpManager* exp_m, const ExpSetup* exp_s, const W Dna_7::make_dna(world->grid(x, y)->individual()->genetic_unit_seq_length(0)); current_individuals[indiv_id]->annotated_chromosome_->dna_->set_chrsm(current_individuals[indiv_id]->annotated_chromosome_); current_individuals[indiv_id]->annotated_chromosome_->dna_->set_indiv(world->grid(x, y)->individual()->genetic_unit(0).dna()); + current_individuals[indiv_id]->annotated_chromosome_->dna_->set_parent_length( + world->grid(x, y)->individual()->genetic_unit(0).dna()->length()); current_individuals[indiv_id]->parent_id = indiv_id; previous_individuals[indiv_id] = current_individuals[indiv_id]; } diff --git a/src/post_treatments/aevol_post_ancestor_network_knockout_7.cpp b/src/post_treatments/aevol_post_ancestor_network_knockout_7.cpp index b9236fc1c..e3380fa6f 100644 --- a/src/post_treatments/aevol_post_ancestor_network_knockout_7.cpp +++ b/src/post_treatments/aevol_post_ancestor_network_knockout_7.cpp @@ -270,6 +270,7 @@ int main(int argc, char* argv[]) { indiv->annotated_chromosome_->dna_ = Dna_7::make_dna(grid_cell->individual()->genetic_unit_seq_length(0)); indiv->annotated_chromosome_->dna_->set_chrsm(indiv->annotated_chromosome_); indiv->annotated_chromosome_->dna_->set_indiv(grid_cell->individual()->genetic_unit(0).dna()); + indiv->annotated_chromosome_->dna_->set_parent_length(grid_cell->individual()->genetic_unit(0).dna()->length()); indiv->annotated_chromosome_->dna_->set_indiv(indiv); indiv->parent_id = 0; diff --git a/src/post_treatments/aevol_post_ancestor_stats_7.cpp b/src/post_treatments/aevol_post_ancestor_stats_7.cpp index 863bb573c..3cfe1851e 100644 --- a/src/post_treatments/aevol_post_ancestor_stats_7.cpp +++ b/src/post_treatments/aevol_post_ancestor_stats_7.cpp @@ -217,6 +217,7 @@ int main(int argc, char* argv[]) { indiv->annotated_chromosome_->dna_ = Dna_7::make_dna(grid_cell->individual()->genetic_unit_seq_length(0)); indiv->annotated_chromosome_->dna_->set_chrsm(indiv->annotated_chromosome_); indiv->annotated_chromosome_->dna_->set_indiv(grid_cell->individual()->genetic_unit(0).dna()); + indiv->annotated_chromosome_->dna_->set_parent_length(grid_cell->individual()->genetic_unit(0).dna()->length()); indiv->annotated_chromosome_->dna_->set_indiv(indiv); indiv->parent_id = 0; diff --git a/src/post_treatments/aevol_post_create_csv_7.cpp b/src/post_treatments/aevol_post_create_csv_7.cpp index ac50e3644..f35fc1da6 100644 --- a/src/post_treatments/aevol_post_create_csv_7.cpp +++ b/src/post_treatments/aevol_post_create_csv_7.cpp @@ -157,6 +157,7 @@ int main(int argc, char* argv[]) { indiv_7->annotated_chromosome_->dna_ = Dna_7::make_dna(indiv->genetic_unit_seq_length(0)); indiv_7->annotated_chromosome_->dna_->set_chrsm(indiv_7->annotated_chromosome_); indiv_7->annotated_chromosome_->dna_->set_indiv(indiv->genetic_unit(0).dna()); + indiv_7->annotated_chromosome_->dna_->set_parent_length(indiv->genetic_unit(0).dna()->length()); indiv_7->annotated_chromosome_->dna_->set_indiv(indiv_7); indiv_7->parent_id = 0; diff --git a/src/post_treatments/aevol_post_create_eps_7.cpp b/src/post_treatments/aevol_post_create_eps_7.cpp index 51a3ec254..483818eee 100644 --- a/src/post_treatments/aevol_post_create_eps_7.cpp +++ b/src/post_treatments/aevol_post_create_eps_7.cpp @@ -142,6 +142,7 @@ int main(int argc, char* argv[]) { indiv_7->annotated_chromosome_->dna_ = Dna_7::make_dna(indiv->genetic_unit_seq_length(0)); indiv_7->annotated_chromosome_->dna_->set_chrsm(indiv_7->annotated_chromosome_); indiv_7->annotated_chromosome_->dna_->set_indiv(indiv->genetic_unit(0).dna()); + indiv_7->annotated_chromosome_->dna_->set_parent_length(indiv->genetic_unit(0).dna()->length()); indiv_7->annotated_chromosome_->dna_->set_indiv(indiv_7); indiv_7->parent_id = 0; -- GitLab