Usage¶
🚀 Quick start¶
▶️ Full pipeline (calculate scores + explore)¶
python -m siflex.main config.json
📊 Calculate scores only¶
python -m siflex.main config.json --explore=none
🌐 Explore network only (skip calculation)¶
python -m siflex.main config.json --no-calculate --explore=network
🧬 Explore pathways only¶
python -m siflex.main config.json --no-calculate --explore=pathways
🔄 Run both explorers simultaneously¶
python -m siflex.main config.json --no-calculate --explore=all
Network explorer:
http://localhost:8050Pathway explorer:
http://localhost:8051
⌨️ CLI options¶
python -m siflex.main <config_path> [OPTIONS]
Required:
config_path Path to configuration JSON file
Options:
--no-calculate Skip score calculation (use existing results)
--explore=<mode> Exploration mode: network, pathways, all, or none
(default: all)
🖱️ Network explorer¶
The network explorer provides three independent visualisation panels for comparing signalling networks across different conditions:
Tissue Selection: Choose from 26+ cancer tissue types
Cell Line Filtering: Filter by specific cell lines within tissues
Condition Comparison: Compare drug responses across experimental conditions
Pathway Highlighting: Overlay KEGG pathway membership with pie chart visualisations
Interactive Network: Pan, zoom, and hover over nodes to see synergy scores
🧬 Pathway explorer¶
The pathway explorer offers two side-by-side panels for comparing pathway impacts:
Drug Combination Selection: Choose two drugs to analyse
Aggregation Methods: mean, median for node score aggregation
Pathway Ranking: Automatically sort by impact score
Flip Analysis: Identify pathways with opposite responses (synergistic effects)
Interactive Plots: Hover to see detailed pathway information
🐍 Python API¶
from siflex.main import run_siflex, build_config
# Load configuration
config = build_config("config.json")
# Run with custom options
run_siflex(
config,
config_path="config.json",
calculate=True,
explore="all",
run_server=True,
)
🧩 Using individual components¶
from siflex.apps import prepare_network_data, run_network_dash
# Prepare network data
nodes, edges, node_pathway_index, PATHWAY_CATALOG, NODE_TO_PATHS, \
TISSUE_OPTIONS, CELL_LINES_BY_TISSUE, conditions, COND_LABELS, \
node_scores_agg = prepare_network_data(config_path="config.json")
# Run dashboard on custom port
run_network_dash(
nodes, edges, node_pathway_index, PATHWAY_CATALOG, NODE_TO_PATHS,
TISSUE_OPTIONS, CELL_LINES_BY_TISSUE, conditions, COND_LABELS,
node_scores_agg,
run_server=True,
port=8080,
)