Skip to content

Latest commit

 

History

History
88 lines (57 loc) · 3.8 KB

File metadata and controls

88 lines (57 loc) · 3.8 KB

Signaling Network ODE Workflow

This Julia Script contains the final and comprehensive Version of the signaling network workflow for optimization, simulation, and analysis of a phosphorylation-signaling ODE network based on measured protein fold change data and inferred dependency parameters.

The workflow can be run by performing the steps described in sections Setup and Run below or by executing Main_Net.jl in the IDE. Depending on the selected settings in Main_Net.jl, the script can perform parameter optimization, independent simulation, dependent simulation, knockdown scans, and MCA-based elasticity analysis.

For further explanations of the functionality of the Script and the Network Model, please consider reading my Master Thesis entitled "Data-driven Dynamic Simulation of Signaling Networks in Triple Negative Breast Cancer Cells" (Author: Luis Firl).

IMPORTANT: The results will be saved in the folder OUTPUT, which will be created in the same directory where the script is executed in.

For future usage of the Network Workflow, it is important to note that the Input CSV Files need to be formatted exactly like the current input files in the INPUT folder, because the Script and especially the data parsing and model construction logic are tailored to reading the columns and cell contents exactly in the way they are defined in the current input tables.

Repository structure

  • Main_Net.jl: main entry point for optimization, independent simulation, dependent simulation, knockdown scans, and MCA analysis

  • ODE_Net.jl: model construction, ODE system, exports, HTML generation, and SVG generation

  • Optimizer.jl: optimization and high-level simulation helpers

  • INPUT/alpha.csv: alpha weights

  • INPUT/beta.csv: beta weights

  • INPUT/network_dependencies.csv: network structure and regulators

  • INPUT/parameters_generated.csv: initial/generated parameter table

  • INPUT/fc_data.csv: measured fold-change data

  • OUTPUT/: generated result tables, plots, and simulation outputs

  • Project.toml / Manifest.toml: Julia environment

Requirements

  • Julia 1.12.x
  • Internet access is helpful on first setup for Pkg.instantiate() to install required packages

Setup

Open a terminal in the NETWORK folder and run:

julia --project=. -e "import Pkg; Pkg.instantiate()"

This installs all packages from the local project environment.

Run

The standard entry point is Main_Net.jl. It reads the configured inputs, applies the selected workflow mode, and writes the resulting outputs.

Before running, make sure the required input files are present in INPUT/ and that the selected run mode in Main_Net.jl matches the files you have available.

For example:

  • RUN_DEPENDENT_SIM_ONLY = true expects an existing OUTPUT/parameters_optimized.csv
  • full optimization mode expects the standard input CSV files in INPUT/

Run from the NETWORK folder with:

julia --project=. Main_Net.jl

Important run settings

The workflow behavior is controlled directly in Main_Net.jl, especially:

  • RUN_DEPENDENT_SIM_ONLY
  • RUN_INDEPENDENT_SIM_FROM_OPTIMIZED_PARAMS
  • RUN_KNOCKDOWN_SCAN
  • RUN_MCA_ELASTICITIES

Before running, check that the chosen mode matches the files you have available.

Notes for reuse

  • All paths are resolved relative to the script directory via @__DIR__, so the workflow can be moved to another machine without changing hard-coded paths.
  • Input file names are fixed in Main_Net.jl and are expected inside INPUT/.
  • Generated result files in OUTPUT/ are ignored by Git via .gitignore.
  • Main_Net.jl starts automatically when run directly or from the VS Code run button. To suppress autorun during manual includes, set SIGNALINGNETWORK_DISABLE_AUTORUN=1.

License

This repository is licensed under the MIT License. See LICENSE.