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]:
bigraph ('experimental data',) experimental data ('ecoli hybrid simulation',) ecoli hybrid simulation ('experimental data',)->('ecoli hybrid simulation',) ('model configuration file',) model configuration file ('model configuration file',)->('ecoli hybrid simulation',) ('EcoCyc parameters',) EcoCyc parameters ('EcoCyc parameters',)->('ecoli hybrid simulation',) ('integrated predictions',) integrated predictions ('integrated predictions',)->('ecoli hybrid simulation',) ('ecoli hybrid simulation', 'parameters') parameters ('ecoli hybrid simulation', 'parameters')->('ecoli hybrid simulation',) ('ecoli hybrid simulation', 'ML model') ML model ('ecoli hybrid simulation', 'parameters')->('ecoli hybrid simulation', 'ML model') ('ecoli hybrid simulation', 'parameters')->('ecoli hybrid simulation', 'ML model') ('ecoli hybrid simulation', 'core mechanistic model') core mechanistic model ('ecoli hybrid simulation', 'parameters')->('ecoli hybrid simulation', 'core mechanistic model') ('ecoli hybrid simulation', 'mechanistic predictions') mechanistic predictions ('ecoli hybrid simulation', 'mechanistic predictions')->('ecoli hybrid simulation', 'ML model') ('ecoli hybrid simulation', 'mechanistic predictions')->('ecoli hybrid simulation', 'core mechanistic model') ('ecoli hybrid simulation', 'data integration') data integration ('ecoli hybrid simulation', 'mechanistic predictions')->('ecoli hybrid simulation', 'data integration') ('ecoli hybrid simulation', 'experimental data') experimental data ('ecoli hybrid simulation', 'experimental data')->('ecoli hybrid simulation',) ('ecoli hybrid simulation', 'experimental data')->('ecoli hybrid simulation', 'ML model') ('ecoli hybrid simulation', 'experimental data')->('ecoli hybrid simulation', 'data integration') ('ecoli hybrid simulation', 'model') model ('ecoli hybrid simulation', 'model')->('ecoli hybrid simulation',) ('ecoli hybrid simulation', 'model')->('ecoli hybrid simulation', 'ML model') ('ecoli hybrid simulation', 'model')->('ecoli hybrid simulation', 'core mechanistic model') ('ecoli hybrid simulation', 'ML predictions') ML predictions ('ecoli hybrid simulation', 'ML predictions')->('ecoli hybrid simulation', 'ML model') ('ecoli hybrid simulation', 'ML predictions')->('ecoli hybrid simulation', 'data integration') ('ecoli hybrid simulation', 'initial state') initial state ('ecoli hybrid simulation', 'initial state')->('ecoli hybrid simulation', 'core mechanistic model') ('ecoli hybrid simulation', 'processed data') processed data ('ecoli hybrid simulation', 'processed data')->('ecoli hybrid simulation',) ('ecoli hybrid simulation', 'processed data')->('ecoli hybrid simulation', 'data integration') ('ecoli hybrid simulation',)->('ecoli hybrid simulation', 'parameters') ('ecoli hybrid simulation',)->('ecoli hybrid simulation', 'mechanistic predictions') ('ecoli hybrid simulation',)->('ecoli hybrid simulation', 'experimental data') ('ecoli hybrid simulation',)->('ecoli hybrid simulation', 'model') ('ecoli hybrid simulation',)->('ecoli hybrid simulation', 'ML predictions') ('ecoli hybrid simulation',)->('ecoli hybrid simulation', 'initial state') ('ecoli hybrid simulation',)->('ecoli hybrid simulation', 'processed data')