In [1]:
from bigraph_viz import plot_bigraph
In [2]:
hybrid_ecoli = {
'ML model': {
'_type': 'process',
'inputs': {
'training_data': ['experimental data'],
'model_checkpoint': ['model'],
'hyperparameters': ['parameters'],
'mechanistic predictions': ['mechanistic predictions']},
'outputs': {
'learned_parameters': ['parameters'],
'predictions': ['ML predictions']}},
'core mechanistic model': {
'_type': 'process',
'inputs': {
'model': ['model'],
'initial_conditions': ['initial state'],
'parameters': ['parameters']},
'outputs': {
'simulation_results': ['mechanistic predictions']}},
'data integration': {
'_type': 'process',
'inputs': {
'experimental_data': ['experimental data'],
'simulation_results': ['mechanistic predictions'],
'ML_predictions': ['ML predictions']},
'outputs': {
'processed_data': ['processed data']}}}
composite_ecoli = {
'ecoli hybrid simulation': {
'_type': 'composite',
**hybrid_ecoli,
'inputs': {
'experimental_data': ['experimental data'],
'model': ['model configuration file'],
'parameters': ['EcoCyc parameters']},
'outputs': {
'predictions': ['integrated predictions']},
'bridge': {
'inputs': {
'experimental_data': ['experimental data'],
'model': ['model'],
'parameters': ['parameters']},
'outputs': {
'predictions': ['processed data']}}}}
plot_settings4 = {
'dpi': '50',
# 'rankdir': 'LR',
'port_labels': False,
'remove_process_place_edges': True,
'node_label_size': '18pt',
'process_label_size': '18pt',
'label_margin': '0.1',
}
plot_bigraph(composite_ecoli,
**plot_settings4,
# filename='ml_ecoli'
)
Out[2]: