label-propagation-network-algorithm
License: restricted — no clear open-source license detected for the underlying tool; verify licensing before commercial use or redistribution.
Summary
Label propagation iteratively distributes seed labels (e.g., from metabolomic enrichment scores) across a gene/protein interaction network to compute ranked gene scores that reflect both network proximity to seeds and propagation confidence. This skill is used to prioritize disease genes by leveraging both omics-derived signals and network topology.
When to use
Apply this skill when you have a ranked list of seed genes or metabolites (e.g., from metabolomic enrichment analysis with MSEA scores, or exome-derived candidate genes) and you want to propagate their signals across a gene–protein interaction network (e.g., STRING database) to generate genome-wide prioritized gene rankings that incorporate network structure. Use it specifically when seed labels are sparse but high-confidence, and you want to infer related genes through network-guided diffusion rather than independent scoring.
When NOT to use
- Input network is disconnected or extremely sparse (fewer edges than nodes); propagation will not reach most genes.
- Seed labels are already genome-wide predictions (not sparse, high-confidence signals); label propagation is redundant.
- You have no prior network or all genes are equally likely; propagation cannot differentiate based on topology.
Inputs
- Gene/protein interaction network (e.g., STRING database: node IDs, gene names, edge list)
- Seed label file: per-gene label derived from metabolomic enrichment scores or candidate genes (binary or continuous)
- Node ID to gene name mapping file (if network uses internal node IDs)
Outputs
- Ranked gene list with propagated scores (score per candidate gene post-propagation)
- Original seed scores per gene (for comparison and validation)
- Network propagation statistics (e.g., iteration convergence, propagation hops)
How to apply
Initialize network nodes with binary or continuous seed labels derived from metabolomic enrichment (e.g., genes meeting significance threshold) or candidate gene lists. Execute iterative label-propagation, where at each step each node's label is updated as a weighted average of its neighbors' labels, balancing seed information (via a regularization parameter) with network diffusion. Continue iterations until convergence (or a fixed number of steps, typically 1000+ iterations for large networks). Compute final ranked gene scores reflecting both the propagation confidence and network proximity to the original seeds. Output a ranked list with propagated scores and optionally network statistics (e.g., distance to nearest seed, number of propagation hops).
Related tools
- metPropagate (Primary implementation: integrates metabolomic enrichment (MSEA output) with label propagation on STRING network to prioritize metabolic disease genes) — github.com/emmagraham/metPropagate
- Label propagation (adapted from Yuto Yamaguchi) (Core label-propagation algorithm component; implements iterative label diffusion on network) — github.com/yamaguchiyuto/label_propagation
- STRING database (Source of gene/protein interaction network (v11 functional interactions used in metPropagate))
- XCMS / CAMERA (Upstream metabolomic preprocessing to generate intensity matrices and peak tables fed into MSEA)
Examples
bash label_propagation/run_label_prop_cluster.sh
Evaluation signals
- Propagated scores form a continuous, ranked distribution across all nodes (not binary); zero propagation indicates algorithm failure or disconnected network component.
- Top-ranked genes include original seed genes or their direct network neighbors; seeds should retain high or near-maximal scores post-propagation.
- Network propagation converges within a reasonable number of iterations (typically <1000 for well-connected networks); divergence or oscillation indicates parameter miscalibration.
- Propagated scores correlate with metabolomic signal strength: genes with high enrichment scores in MSEA input should have higher final scores than genes with weak or no enrichment signal.
- Output contains expected columns ('Score.ID', 'Original.Score.ID', candidate gene identifiers) with no NaN or negative scores (depending on algorithm variant).
Limitations
- Label propagation requires a connected or well-connected network; genes in disconnected components or at network periphery receive minimal signal.
- Performance depends heavily on network quality and completeness; sparse or biased networks (e.g., well-studied proteins over-represented) can propagate biased signals.
- Propagation is unsupervised; no independent validation that propagated scores correspond to true disease causality or functional relevance—metabolomic enrichment signal itself must be validated.
- Requires manual tuning of regularization/convergence parameters; README notes use of .pbs batch scripts, implying iterative runs may be needed.
- For large networks (entire STRING db, >20k genes), computational time and memory can be substantial; no explicit scaling or parallelization documented in README.
Evidence
- [other] metPropagate implements network-guided propagation of metabolomic information to prioritize metabolic disease genes by propagating seed labels derived from metabolomic data over a gene/protein interaction network.: "metPropagate implements network-guided propagation of metabolomic information to prioritize metabolic disease genes by propagating seed labels derived from metabolomic data over a gene/protein"
- [readme] This section contains code for the label propagation component of metPropagate. It was adapted from Yuto Yamaguchi (https://github.com/yamaguchiyuto/label_propagation).: "This section contains code for the label propagation component of metPropagate. It was adapted from Yuto Yamaguchi (https://github.com/yamaguchiyuto/label_propagation)."
- [other] Initialize label-propagation algorithm with seed labels on network nodes. Execute iterative label-propagation to distribute seed information across connected network nodes. Compute final ranked gene scores reflecting propagation confidence and network proximity to seeds.: "Initialize label-propagation algorithm with seed labels on network nodes. Execute iterative label-propagation to distribute seed information across connected network nodes. Compute final ranked gene"
- [readme] Results of label propagation will populate in integration/results/. File contains final propagated scores for each candidate gene as 'Score.ID' and the original scores for each gene as 'Original.Score.ID'.: "Results of label propagation will populate in integration/results/. File contains final propagated scores for each candidate gene as 'Score.ID' and the original scores for each gene as"
- [readme] graph_files contains input STRING network files (manually placed) - STRING_graph_file_v11_gene_list_functional_entire_db: STRING database downloaded from stringdb.org: "graph_files contains input STRING network files (manually placed) - STRING_graph_file_v11_gene_list_functional_entire_db: STRING database downloaded from stringdb.org"
1---2name: label-propagation-network-algorithm3description: Use when you have a ranked list of seed genes or metabolites (e.g., from metabolomic enrichment analysis with MSEA scores, or exome-derived candidate genes) and you want to propagate their signals across a gene–protein interaction network (e.4license: CC-BY-4.05---67# label-propagation-network-algorithm89> **License: restricted** — no clear open-source license detected for the underlying tool; verify licensing before commercial use or redistribution. <!-- asb-license-banner -->10## Summary1112Label propagation iteratively distributes seed labels (e.g., from metabolomic enrichment scores) across a gene/protein interaction network to compute ranked gene scores that reflect both network proximity to seeds and propagation confidence. This skill is used to prioritize disease genes by leveraging both omics-derived signals and network topology.1314## When to use1516Apply this skill when you have a ranked list of seed genes or metabolites (e.g., from metabolomic enrichment analysis with MSEA scores, or exome-derived candidate genes) and you want to propagate their signals across a gene–protein interaction network (e.g., STRING database) to generate genome-wide prioritized gene rankings that incorporate network structure. Use it specifically when seed labels are sparse but high-confidence, and you want to infer related genes through network-guided diffusion rather than independent scoring.1718## When NOT to use1920- Input network is disconnected or extremely sparse (fewer edges than nodes); propagation will not reach most genes.21- Seed labels are already genome-wide predictions (not sparse, high-confidence signals); label propagation is redundant.22- You have no prior network or all genes are equally likely; propagation cannot differentiate based on topology.2324## Inputs2526- Gene/protein interaction network (e.g., STRING database: node IDs, gene names, edge list)27- Seed label file: per-gene label derived from metabolomic enrichment scores or candidate genes (binary or continuous)28- Node ID to gene name mapping file (if network uses internal node IDs)2930## Outputs3132- Ranked gene list with propagated scores (score per candidate gene post-propagation)33- Original seed scores per gene (for comparison and validation)34- Network propagation statistics (e.g., iteration convergence, propagation hops)3536## How to apply3738Initialize network nodes with binary or continuous seed labels derived from metabolomic enrichment (e.g., genes meeting significance threshold) or candidate gene lists. Execute iterative label-propagation, where at each step each node's label is updated as a weighted average of its neighbors' labels, balancing seed information (via a regularization parameter) with network diffusion. Continue iterations until convergence (or a fixed number of steps, typically 1000+ iterations for large networks). Compute final ranked gene scores reflecting both the propagation confidence and network proximity to the original seeds. Output a ranked list with propagated scores and optionally network statistics (e.g., distance to nearest seed, number of propagation hops).3940## Related tools4142- **metPropagate** (Primary implementation: integrates metabolomic enrichment (MSEA output) with label propagation on STRING network to prioritize metabolic disease genes) — github.com/emmagraham/metPropagate43- **Label propagation (adapted from Yuto Yamaguchi)** (Core label-propagation algorithm component; implements iterative label diffusion on network) — github.com/yamaguchiyuto/label_propagation44- **STRING database** (Source of gene/protein interaction network (v11 functional interactions used in metPropagate))45- **XCMS / CAMERA** (Upstream metabolomic preprocessing to generate intensity matrices and peak tables fed into MSEA)4647## Examples4849```50bash label_propagation/run_label_prop_cluster.sh51```5253## Evaluation signals5455- Propagated scores form a continuous, ranked distribution across all nodes (not binary); zero propagation indicates algorithm failure or disconnected network component.56- Top-ranked genes include original seed genes or their direct network neighbors; seeds should retain high or near-maximal scores post-propagation.57- Network propagation converges within a reasonable number of iterations (typically <1000 for well-connected networks); divergence or oscillation indicates parameter miscalibration.58- Propagated scores correlate with metabolomic signal strength: genes with high enrichment scores in MSEA input should have higher final scores than genes with weak or no enrichment signal.59- Output contains expected columns ('Score.ID', 'Original.Score.ID', candidate gene identifiers) with no NaN or negative scores (depending on algorithm variant).6061## Limitations6263- Label propagation requires a connected or well-connected network; genes in disconnected components or at network periphery receive minimal signal.64- Performance depends heavily on network quality and completeness; sparse or biased networks (e.g., well-studied proteins over-represented) can propagate biased signals.65- Propagation is unsupervised; no independent validation that propagated scores correspond to true disease causality or functional relevance—metabolomic enrichment signal itself must be validated.66- Requires manual tuning of regularization/convergence parameters; README notes use of .pbs batch scripts, implying iterative runs may be needed.67- For large networks (entire STRING db, >20k genes), computational time and memory can be substantial; no explicit scaling or parallelization documented in README.6869## Evidence7071- [other] metPropagate implements network-guided propagation of metabolomic information to prioritize metabolic disease genes by propagating seed labels derived from metabolomic data over a gene/protein interaction network.: "metPropagate implements network-guided propagation of metabolomic information to prioritize metabolic disease genes by propagating seed labels derived from metabolomic data over a gene/protein"72- [readme] This section contains code for the label propagation component of metPropagate. It was adapted from Yuto Yamaguchi (https://github.com/yamaguchiyuto/label_propagation).: "This section contains code for the label propagation component of metPropagate. It was adapted from Yuto Yamaguchi (https://github.com/yamaguchiyuto/label_propagation)."73- [other] Initialize label-propagation algorithm with seed labels on network nodes. Execute iterative label-propagation to distribute seed information across connected network nodes. Compute final ranked gene scores reflecting propagation confidence and network proximity to seeds.: "Initialize label-propagation algorithm with seed labels on network nodes. Execute iterative label-propagation to distribute seed information across connected network nodes. Compute final ranked gene"74- [readme] Results of label propagation will populate in integration/results/. File contains final propagated scores for each candidate gene as 'Score.ID' and the original scores for each gene as 'Original.Score.ID'.: "Results of label propagation will populate in integration/results/. File contains final propagated scores for each candidate gene as 'Score.ID' and the original scores for each gene as"75- [readme] graph_files contains input STRING network files (manually placed) - STRING_graph_file_v11_gene_list_functional_entire_db: STRING database downloaded from stringdb.org: "graph_files contains input STRING network files (manually placed) - STRING_graph_file_v11_gene_list_functional_entire_db: STRING database downloaded from stringdb.org"