ecoli.composites.ecoli_configs

This folder is used to store frequently used JSON configuration files for EcoliSim.

ecoli.composites.ecoli_configs.ECOLI_DEFAULT_PROCESSES = {'RNA_counts_listener': <class 'ecoli.processes.listeners.RNA_counts.RNACounts'>, 'bulk-timeline': <class 'ecoli.processes.bulk_timeline.BulkTimelineProcess'>, 'dna_supercoiling_listener': <class 'ecoli.processes.listeners.dna_supercoiling.DnaSupercoiling'>, 'ecoli-chromosome-replication': <class 'ecoli.processes.chromosome_replication.ChromosomeReplication'>, 'ecoli-chromosome-structure': <class 'ecoli.processes.chromosome_structure.ChromosomeStructure'>, 'ecoli-complexation': <class 'ecoli.processes.complexation.Complexation'>, 'ecoli-equilibrium': <class 'ecoli.processes.equilibrium.Equilibrium'>, 'ecoli-mass-listener': <class 'ecoli.processes.listeners.mass_listener.MassListener'>, 'ecoli-metabolism': <class 'ecoli.processes.metabolism.Metabolism'>, 'ecoli-polypeptide-elongation': <class 'ecoli.processes.polypeptide_elongation.PolypeptideElongation'>, 'ecoli-polypeptide-initiation': <class 'ecoli.processes.polypeptide_initiation.PolypeptideInitiation'>, 'ecoli-protein-degradation': <class 'ecoli.processes.protein_degradation.ProteinDegradation'>, 'ecoli-rna-degradation': <class 'ecoli.processes.rna_degradation.RnaDegradation'>, 'ecoli-rna-maturation': <class 'ecoli.processes.rna_maturation.RnaMaturation'>, 'ecoli-tf-binding': <class 'ecoli.processes.tf_binding.TfBinding'>, 'ecoli-tf-unbinding': <class 'ecoli.processes.tf_unbinding.TfUnbinding'>, 'ecoli-transcript-elongation': <class 'ecoli.processes.transcript_elongation.TranscriptElongation'>, 'ecoli-transcript-initiation': <class 'ecoli.processes.transcript_initiation.TranscriptInitiation'>, 'ecoli-two-component-system': <class 'ecoli.processes.two_component_system.TwoComponentSystem'>, 'exchange_data': <class 'ecoli.processes.environment.exchange_data.ExchangeData'>, 'global_clock': <class 'ecoli.processes.global_clock.GlobalClock'>, 'media_update': <class 'ecoli.processes.environment.media_update.MediaUpdate'>, 'monomer_counts_listener': <class 'ecoli.processes.listeners.monomer_counts.MonomerCounts'>, 'post-division-mass-listener': <class 'ecoli.processes.listeners.mass_listener.PostDivisionMassListener'>, 'replication_data_listener': <class 'ecoli.processes.listeners.replication_data.ReplicationData'>, 'ribosome_data_listener': <class 'ecoli.processes.listeners.ribosome_data.RibosomeData'>, 'rna_synth_prob_listener': <class 'ecoli.processes.listeners.rna_synth_prob.RnaSynthProb'>, 'rnap_data_listener': <class 'ecoli.processes.listeners.rnap_data.RnapData'>, 'unique_molecule_counts': <class 'ecoli.processes.listeners.unique_molecule_counts.UniqueMoleculeCounts'>}

At runtime, the process classes corresponding to the process names listed under the processes key of the default configuration (default.json) are retrieved from the process registry (see ecoli/processes/__init__.py) and cached in this dictionary.

Note

If the default configuration includes non-empty swap_processes or exclude_processes fields, the specififed swaps/exclusions are performed during the construction of this dictionary.

ecoli.composites.ecoli_configs.ECOLI_DEFAULT_TOPOLOGY = {'RNA_counts_listener': {'RNAs': ('unique', 'RNA'), 'global_time': ('global_time',), 'listeners': ('listeners',), 'timestep': ('timestep',)}, 'bulk-timeline': {'bulk': ('bulk',), 'global': ('timeline',), 'media_id': ('environment', 'media_id')}, 'dna_supercoiling_listener': {'chromosomal_segments': ('unique', 'chromosomal_segment'), 'global_time': ('global_time',), 'listeners': ('listeners',), 'timestep': ('timestep',)}, 'ecoli-chromosome-replication': {'active_replisomes': ('unique', 'active_replisome'), 'bulk': ('bulk',), 'chromosome_domains': ('unique', 'chromosome_domain'), 'environment': ('environment',), 'full_chromosomes': ('unique', 'full_chromosome'), 'listeners': ('listeners',), 'oriCs': ('unique', 'oriC'), 'timestep': ('timestep',)}, 'ecoli-chromosome-structure': {'DnaA_boxes': ('unique', 'DnaA_box'), 'RNAs': ('unique', 'RNA'), 'active_RNAPs': ('unique', 'active_RNAP'), 'active_replisomes': ('unique', 'active_replisome'), 'active_ribosome': ('unique', 'active_ribosome'), 'bulk': ('bulk',), 'chromosome_domains': ('unique', 'chromosome_domain'), 'full_chromosomes': ('unique', 'full_chromosome'), 'genes': ('unique', 'gene'), 'global_time': ('global_time',), 'listeners': ('listeners',), 'next_update_time': ('next_update_time', 'chromosome_structure'), 'oriCs': ('unique', 'oriC'), 'promoters': ('unique', 'promoter'), 'timestep': ('timestep',)}, 'ecoli-complexation': {'bulk': ('bulk',), 'listeners': ('listeners',), 'timestep': ('timestep',)}, 'ecoli-equilibrium': {'bulk': ('bulk',), 'listeners': ('listeners',), 'timestep': ('timestep',)}, 'ecoli-mass-listener': {'bulk': ('bulk',), 'global_time': ('global_time',), 'listeners': ('listeners',), 'timestep': ('timestep',), 'unique': ('unique',)}, 'ecoli-metabolism': {'boundary': ('boundary',), 'bulk': ('bulk',), 'bulk_total': ('bulk',), 'environment': {'_path': ('environment',), 'exchange': ('exchange',)}, 'global_time': ('global_time',), 'listeners': ('listeners',), 'next_update_time': ('next_update_time', 'metabolism'), 'polypeptide_elongation': ('process_state', 'polypeptide_elongation'), 'timestep': ('timestep',)}, 'ecoli-polypeptide-elongation': {'active_ribosome': ('unique', 'active_ribosome'), 'boundary': ('boundary',), 'bulk': ('bulk',), 'bulk_total': ('bulk',), 'environment': ('environment',), 'listeners': ('listeners',), 'polypeptide_elongation': ('process_state', 'polypeptide_elongation'), 'timestep': ('timestep',)}, 'ecoli-polypeptide-initiation': {'RNA': ('unique', 'RNA'), 'active_ribosome': ('unique', 'active_ribosome'), 'bulk': ('bulk',), 'environment': ('environment',), 'listeners': ('listeners',), 'timestep': ('timestep',)}, 'ecoli-protein-degradation': {'bulk': ('bulk',), 'timestep': ('timestep',)}, 'ecoli-rna-degradation': {'RNAs': ('unique', 'RNA'), 'active_ribosome': ('unique', 'active_ribosome'), 'bulk': ('bulk',), 'listeners': ('listeners',), 'timestep': ('timestep',)}, 'ecoli-rna-maturation': {'bulk': ('bulk',), 'bulk_total': ('bulk',), 'listeners': ('listeners',)}, 'ecoli-tf-binding': {'bulk': ('bulk',), 'bulk_total': ('bulk',), 'global_time': ('global_time',), 'listeners': ('listeners',), 'next_update_time': ('next_update_time', 'tf_binding'), 'promoters': ('unique', 'promoter'), 'timestep': ('timestep',)}, 'ecoli-tf-unbinding': {'bulk': ('bulk',), 'global_time': ('global_time',), 'next_update_time': ('next_update_time', 'tf_unbinding'), 'promoters': ('unique', 'promoter'), 'timestep': ('timestep',)}, 'ecoli-transcript-elongation': {'RNAs': ('unique', 'RNA'), 'active_RNAPs': ('unique', 'active_RNAP'), 'bulk': ('bulk',), 'bulk_total': ('bulk',), 'environment': ('environment',), 'listeners': ('listeners',), 'timestep': ('timestep',)}, 'ecoli-transcript-initiation': {'RNAs': ('unique', 'RNA'), 'active_RNAPs': ('unique', 'active_RNAP'), 'bulk': ('bulk',), 'environment': ('environment',), 'full_chromosomes': ('unique', 'full_chromosome'), 'listeners': ('listeners',), 'promoters': ('unique', 'promoter'), 'timestep': ('timestep',)}, 'ecoli-two-component-system': {'bulk': ('bulk',), 'listeners': ('listeners',), 'timestep': ('timestep',)}, 'exchange_data': {'boundary': ('boundary',), 'environment': ('environment',)}, 'global_clock': {'global_time': ('global_time',), 'next_update_time': ('next_update_time',)}, 'media_update': {'boundary': ('boundary',), 'environment': ('environment',)}, 'monomer_counts_listener': {'bulk': ('bulk',), 'global_time': ('global_time',), 'listeners': ('listeners',), 'timestep': ('timestep',), 'unique': ('unique',)}, 'post-division-mass-listener': {'bulk': ('bulk',), 'global_time': ('global_time',), 'listeners': ('listeners',), 'timestep': ('timestep',), 'unique': ('unique',)}, 'replication_data_listener': {'DnaA_boxes': ('unique', 'DnaA_box'), 'active_replisomes': ('unique', 'active_replisome'), 'global_time': ('global_time',), 'listeners': ('listeners',), 'oriCs': ('unique', 'oriC'), 'timestep': ('timestep',)}, 'ribosome_data_listener': {'RNAs': ('unique', 'RNA'), 'active_ribosomes': ('unique', 'active_ribosome'), 'global_time': ('global_time',), 'listeners': ('listeners',), 'next_update_time': ('next_update_time', 'ribosome_data_listener'), 'timestep': ('timestep',)}, 'rna_synth_prob_listener': {'genes': ('unique', 'gene'), 'global_time': ('global_time',), 'promoters': ('unique', 'promoter'), 'rna_synth_prob': ('listeners', 'rna_synth_prob'), 'timestep': ('timestep',)}, 'rnap_data_listener': {'RNAs': ('unique', 'RNA'), 'active_RNAPs': ('unique', 'active_RNAP'), 'active_ribosomes': ('unique', 'active_ribosome'), 'global_time': ('global_time',), 'listeners': ('listeners',), 'next_update_time': ('next_update_time', 'rnap_data_listener'), 'timestep': ('timestep',)}, 'unique_molecule_counts': {'global_time': ('global_time',), 'listeners': ('listeners',), 'timestep': ('timestep',), 'unique': ('unique',)}}

At runtime, the topologies for the processes in ECOLI_DEFAULT_PROCESSES are retrieved from the topology registry (most processes in ecoli/processes register their topology near the top of their source files).

Note

The topologies and overrides for swapped processes are handled as described in _retrieve_topology().