Skip to content

Commit

Permalink
Add reconstruct_progression
Browse files Browse the repository at this point in the history
  • Loading branch information
soldatmat committed Apr 2, 2024
1 parent 93d8c30 commit 02a3d89
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 0 deletions.
6 changes: 6 additions & 0 deletions src/types/sequence_space.jl
Original file line number Diff line number Diff line change
Expand Up @@ -116,3 +116,9 @@ function push_variants!(ss::SequenceSpace, variants::AbstractVector{Variant})
update_variants!(ss, variants)
update_top_variant!(ss, variants)
end

function reconstruct_progression(ss::SequenceSpace{Vector{Variant}})
progression = [ss.variants[1].fitness]
map(variant -> append!(progression, variant.fitness > progression[end] ? variant.fitness : progression[end]), ss.variants[2:end])
return progression
end
10 changes: 10 additions & 0 deletions test/unit/types/sequence_space.jl
Original file line number Diff line number Diff line change
Expand Up @@ -211,4 +211,14 @@
@test ss.variants == Set([Variant(['A'], 0), Variant(['B'], 1), Variant(['C'], 1.5), Variant(['D'], -1)])
@test isequal(ss.top_variant, Variant(['C'], 1.5))
end

@testset "reconstruct_progression" begin
ss = SequenceSpace{Vector{Variant}}([Variant(['A'], 0.0)])
DESilico.push_variants!(ss, [Variant(['B'], 0.0)])
DESilico.push_variants!(ss, [Variant(['C'], 1.0)])
DESilico.push_variants!(ss, [Variant(['D'], 0.5)])
DESilico.push_variants!(ss, [Variant(['E'], 1.0)])
DESilico.push_variants!(ss, [Variant(['F'], 1.5)])
@test DESilico.reconstruct_progression(ss) == [0.0, 0.0, 1.0, 1.0, 1.0, 1.5]
end
end

0 comments on commit 02a3d89

Please sign in to comment.