ecoli.processes.chemotaxis.flagella_motor

Flagella Motor Processes

FlagellaMotor process generates thrust and torque based on number of flagella and their individual motor states.

References

CheY phosphorylation model from:

Kollmann, M., Lovdok, L., Bartholome, K., Timmer, J., & Sourjik, V. (2005). Design principles of a bacterial signalling network. Nature.

Veto model of motor activity from:

Mears, P. J., Koirala, S., Rao, C. V., Golding, I., & Chemla, Y. R. (2014). Escherichia coli swimming is robust against variations in flagellar number. Elife.

Rotational state of an individual flagellum from:

Sneddon, M. W., Pontius, W., & Emonet, T. (2012). Stochastic coordination of multiple actuators reduces latency and improves chemotactic response in bacteria.

class ecoli.processes.chemotaxis.flagella_motor.FlagellaMotor(parameters=None)[source]

Bases: Process

Flagellar motor activity

Ports:
  • internal_counts

  • flagella

  • internal

  • boundary

  • membrane

defaults: Dict[str, Any]
{   'K_D': 3.06,
    'adapt_precision': 8,
    'ccw_to_cw_leak': 0.2,
    'flagellum_thrust': 0.31066746727980593,
    'g_0': 40,
    'g_1': 40,
    'gamma_y': 0.1,
    'initial_state': {   'boundary': {'thrust': 0, 'torque': 0},
                         'internal': {   'CheA': 1.0,
                                         'CheY': 2.59,
                                         'CheY_P': 2.59,
                                         'CheZ': 1.0,
                                         'chemoreceptor_activity': 0.3333333333333333,
                                         'motile_state': 1},
                         'membrane': {'PMF': -140}},
    'k_s': 0.45,
    'k_y': 100.0,
    'k_z': 30.0,
    'n_flagella': 4,
    'omega': 1.3,
    'run_scaling': -0.007142857142857143,
    'seed': 0,
    'time_step': 0.01,
    'tumble_jitter': 60.0,
    'tumble_scaling': -0.0035714285714285713}
expected_flagella = 4
expected_pmf = -140
expected_thrust = 0.5
name = 'flagella_motor'
next_update(timestep, states)[source]
ports_schema()[source]
run(n_flagella, PMF)[source]

thrust scales with log(n_flagella) because only the thickness of the bundle is affected

tumble(n_flagella, PMF)[source]

thrust scales with log(n_flagella) because only the thickness of the bundle is affected

update_flagellum(motor_state, CheY_P, timestep)[source]

calculate the rotational state of a individual flagellum

Note

TODO – normal, semi, curly states from Sneddon

ecoli.processes.chemotaxis.flagella_motor.get_chemoreceptor_activity_timeline(total_time=2, time_step=0.01, rate=1.0, initial_value=0.3333333333333333)[source]
ecoli.processes.chemotaxis.flagella_motor.main()[source]
ecoli.processes.chemotaxis.flagella_motor.plot_activity(data, settings=None, out_dir='out', filename='motor_control')[source]
ecoli.processes.chemotaxis.flagella_motor.plot_motor_PMF(output, out_dir='out', figname='motor_PMF')[source]
ecoli.processes.chemotaxis.flagella_motor.plot_signal_transduction(timeseries, plot_config, out_dir='out', filename='signal_transduction')[source]