ecoli.library.sim_data

class ecoli.library.sim_data.LoadSimData(sim_data_path='/home/runner/work/vivarium-ecoli/vivarium-ecoli/reconstruction/sim_data/kb/simData.cPickle', seed=0, jit=False, total_time=10, fixed_media=None, media_timeline=((0, 'minimal'),), condition='basal', operons=True, trna_charging=True, ppgpp_regulation=True, mar_regulon=False, process_configs=None, amp_lysis=False, mass_distribution=True, superhelical_density=False, recycle_stalled_elongation=False, mechanistic_replisome=False, trna_attenuation=True, variable_elongation_transcription=True, variable_elongation_translation=False, mechanistic_translation_supply=True, mechanistic_aa_transport=True, translation_supply=True, aa_supply_in_charging=True, adjust_timestep_for_charging=False, disable_ppgpp_elongation_inhibition=False, time_step_safety_fraction=1.3, update_time_step_freq=5, max_time_step=1, emit_unique=False, **kwargs)[source]

Bases: object

Loads simulation data generated by the ParCa (fitSimData_1(), runscript located at scripts/run_parca.py) and extracts parameters for each process. Typically instantiated by Ecoli with keyword arguments given by the config loaded by EcoliSim.

Parameters:
  • sim_data_path (str) – Path to simulation data pickle file

  • seed (int) – Used to deterministically seed all random number generators. Simulations with the same seed will yield the same output.

  • jit – Use Numba JIT compilation to speed up equilibrium and two component system diff eq. solve

  • total_time – Time to simulate (seconds)

  • media_timeline – Iterable of tuples where the first element of each tuple is the time to start using a certain media and the second element is a string corresponding to one of the media options in self.sim_data.external_state.saved_media

  • operons – Use operon transcription units

  • trna_charging – Use steady-state charging model (SteadyStateElongationModel) in PolypeptideElongation

  • ppgpp_regulation – Enable growth rate control using ppGpp in polypeptide elongation and transcript initiation

  • mar_regulon – Enable tetracycline-related transcriptional regulation of antibiotic resistance genes by the mar operon

  • process_configs – Mapping of process names to config dictionaries, currently only used to configure RnaInterference

  • amp_lysis – Enable ampicillin-induced lysis, adds ampicillin and hydrolyzed ampicillin to bulk molecule store

  • mass_distribution – If config['division_variable'] is set to ('listeners', 'mass', 'dry_mass') and config['division_threshold'] is set to 'mass_distribution', enabling this multiplies the division threshold by a Gaussian noise factor. If the simulation is configured to generate an initial state from pickled simulation data (see option 3 in initial_state()), enabling this adds Gaussian noise to the generated state

  • superhelical_density – Enables superhelical density calculations on ('unique', 'chromosomal_segment)' molecules in ChromosomeStructure

  • mechanistic_replisome – Ensures that there are adequate replisome subunits to initiate each round of chromosome replication in ChromosomeReplication

  • recycle_stalled_elongation – Free up RNAPs and nucleotides for stalled transcripts in TranscriptElongation

  • trna_attenuation – Implements attenuation in TranscriptInitiation and TranscriptElongation

  • variable_elongation_transcription – Allow different elongation rate for different transcripts (currently increases rates for rRNA, see make_elongation_rates()). Usually set this consistently for ParCa and simulation. TranscriptInitiation Usually set this consistently for ParCa and simulation.

  • variable_elongation_translation – Allow different polypeptides to have different translation rates (currently increases rates for ribosomal proteins, see make_elongation_rates()). Usually set this consistently for ParCa and simulation.

  • mechanistic_translation_supply – Calculate charged tRNA supply using starting amino acid concentration only based on mechanistic synthesis and supply in PolypeptideElongation when trna_charging is True

  • mechanistic_aa_transport – Constrain amino acid uptake based on external concentrations and exchange rates in Metabolism

  • translation_supply – Use TranslationSupplyElongationModel in PolypeptideElongation. Superseded by trna_charging

  • aa_supply_in_charging – Calculate charged tRNA supply from each sub time step while solving the charging steady state in PolypeptideElongation when trna_charging is True

  • disable_ppgpp_elongation_inhibition – Turn off ppGpp-mediated inhibition in PolypeptideElongation when trna_charging is True

_seedFromName(name)[source]
generate_initial_state()[source]

Calculate the initial conditions for a new cell without inherited state from a parent cell.

get_allocator_config(time_step=1, parallel=False, process_names=None)[source]
get_bulk_timeline_config(time_step=1, parallel=False)[source]
get_chromosome_replication_config(time_step=1, parallel=False)[source]
get_chromosome_structure_config(time_step=1, parallel=False)[source]
get_complexation_config(time_step=1, parallel=False)[source]
get_config_by_name(name, time_step=1, parallel=False)[source]
get_dna_supercoiling_listener_config(time_step=1, parallel=False)[source]
get_equilibrium_config(time_step=1, parallel=False)[source]
get_exchange_data_config(time_step=1, parallel=False)[source]
get_mass_config(time_step=1, parallel=False)[source]
get_mass_listener_config(time_step=1, parallel=False)[source]
get_media_update_config(time_step=1, parallel=False)[source]
get_metabolism_config(time_step=1, parallel=False)[source]
get_metabolism_redux_config(time_step=1, parallel=False)[source]
get_monomer_counts_indices(names)[source]

Given a list of monomer names without location tags, this returns the indices of those monomers in the monomer_counts listener array. The “id” column of reconstruction/ecoli/flat/proteins.tsv contains nearly all supported monomer names.

get_monomer_counts_listener_config(time_step=1, parallel=False)[source]
get_mrna_counts_indices(names)[source]

Given a list of mRNA names without location tags, this returns the indices of those mRNAs in the mRNA_counts listener array. The “id” column of reconstruction/ecoli/flat/rnas.tsv contains nearly all supported mRNA names.

get_polypeptide_elongation_config(time_step=1, parallel=False)[source]
get_polypeptide_initiation_config(time_step=1, parallel=False)[source]
get_protein_degradation_config(time_step=1, parallel=False)[source]
get_ribosome_data_listener_config(time_step=1, parallel=False)[source]
get_rna_counts_listener_config(time_step=1, parallel=False)[source]
get_rna_degradation_config(time_step=1, parallel=False)[source]
get_rna_indices(names)[source]

Given a list of RNA names without location tags, this returns the TU indices of those RNAs (for rna_init_events and rna_synth_prob). The “id” column of reconstruction/ecoli/flat/rnas.tsv contains nearly all supported RNA names.

get_rna_interference_config(time_step=1, parallel=False)[source]
get_rna_maturation_config(time_step=1, parallel=False)[source]
get_rna_synth_prob_listener_config(time_step=1, parallel=False)[source]
get_rnap_data_listener_config(time_step=1, parallel=False)[source]
get_tetracycline_ribosome_equilibrium_config(time_step=1, parallel=False)[source]
get_tf_config(time_step=1, parallel=False)[source]
get_tf_unbinding_config(time_step=1, parallel=False)[source]
get_transcript_elongation_config(time_step=1, parallel=False)[source]
get_transcript_initiation_config(time_step=1, parallel=False)[source]
get_two_component_system_config(time_step=1, parallel=False)[source]
get_unique_molecule_counts_config(time_step=1, parallel=False)[source]