@@ -761,32 +761,48 @@ end
761
761
remake_ReactionSystem_internal(rs::ReactionSystem;
762
762
default_reaction_metadata::Vector{Pair{Symbol, T}} = Vector{Pair{Symbol, Any}}()) where {T}
763
763
764
- Takes a reaction systems and reameks it, returning a modified reaction system . Modifications depend
765
- on which arguments are provided.
764
+ Takes a `ReactionSystem` and remakes it, returning a modified `ReactionSystem` . Modifications depend
765
+ on which additional arguments are provided. The input `ReactionSystem` is not mutated .
766
766
767
767
Arguments:
768
- - `rs::ReactionSystem`: The `ReactionSystem` which you wish to make a remade version of .
768
+ - `rs::ReactionSystem`: The `ReactionSystem` which you wish to remake .
769
769
- `default_reaction_metadata::Vector{Pair{Symbol, T}}`: A vector with default `Reaction` metadata values.
770
- Each metadata in each `Reaction` of the updated `ReactionSystem` will have teh value desiganted in
770
+ Each metadata in each `Reaction` of the updated `ReactionSystem` will have the value desiganted in
771
771
`default_reaction_metadata` (however, `Reaction`s that already have that metadata designated will not
772
772
have their value updated).
773
773
"""
774
- # function remake_ReactionSystem_internal(rs::ReactionSystem; default_reaction_metadata::Vector{Pair{Symbol, T}} = Vector{Pair{Symbol, Any}}()) where {T}
775
- function remake_ReactionSystem_internal (rs; default_reaction_metadata = default_reaction_metadata)
776
- # Updates the metadata for all reactions ( reactions are ignored).
774
+ function remake_ReactionSystem_internal (rs:: ReactionSystem ; default_reaction_metadata = [])
775
+ # Updates the metadata for all reactions (equation are ignored).
776
+ updated_equations = [ set_default_metadata (rx, default_reaction_metadata) for rx in reactions (rs)]
777
777
updated_reactions = [set_default_metadata (rx, default_reaction_metadata) for rx in reactions (rs)]
778
- rs = @set rs. rxs = updated_reactions
778
+ @set! rs. eqs = updated_equations
779
+ @set! rs. rxs = updated_reactions
779
780
return rs
780
781
end
781
782
782
783
# For a `Reaction`, adds missing default metadata values. Equations are passed back unmodified.
783
- function set_default_metadata (rx, default_metadata)
784
+ function set_default_metadata (rx:: Reaction , default_metadata)
784
785
missing_metadata = filter (md -> ! in (md[1 ], entry[1 ] for entry in rx. metadata), default_metadata)
785
786
updated_metadata = vcat (rx. metadata, missing_metadata)
786
787
updated_metadata = convert (Vector{Pair{Symbol, Any}}, updated_metadata)
787
788
return @set rx. metadata = updated_metadata
788
789
end
790
+ set_default_metadata (eq:: Equation , default_metadata) = eq
789
791
792
+ """
793
+ remake_noise_scaling(rs::ReactionSystem, noise_scaling)
794
+
795
+ Creates an updated `ReactionSystem`. This is the old `ReactionSystem`, but each `Reaction` that does
796
+ not have a `Noise_scaling` metadata have its noise_scaling metadata updated. The input `ReactionSystem`
797
+ is not mutated.
798
+
799
+ Arguments:
800
+ - `rs::ReactionSystem`: The `ReactionSystem` which you wish to remake.
801
+ - `noise_scaling`: The updated noise scaling terms
802
+ """
803
+ function remake_noise_scaling (rs:: ReactionSystem , noise_scaling)
804
+ return remake_ReactionSystem_internal (rs, default_reaction_metadata = [:noise_scaling => noise_scaling])
805
+ end
790
806
791
807
792
808
"""
0 commit comments