This article describes how to decide which measurements should be used as MOON inputs, consistency checks, filters, or annotations when scoring a COSMOS prior knowledge network (PKN).
The central question is:
What biological quantity does this measurement represent, and does that match the type of causal interaction encoded by the PKN?
MOON scores signed mechanistic paths in a PKN. A feature should therefore not be mapped to a node only because the gene, protein, or metabolite identifier matches. The measured quantity must also match the biological state represented by the node and its edges.
This article focuses on MOON workflows. Classic COSMOS/CARNIVAL workflows remain available, but they have heavier solver and setup requirements and are best used when specifically needed.
When no method is specified, a MOON workflow is usually the practical default. Two common entry points are:
More advanced datasets require a more explicit mapping step. The rest of this article gives practical rules for that decision.
Different omics can enter the analysis in different roles:
| Role | Meaning | Example |
|---|---|---|
| Direct MOON input | The measurement directly represents the node state scored by MOON. | A mapped metabolite abundance used as a metabolite node state. |
| Footprint-derived activity | The measurement is transformed into an inferred activity. | RNA to TF activity; phosphosites to kinase activity. |
| Consistency check | The measurement tests whether an inferred edge is compatible with the data. | RNA target expression used to check TF-target sign consistency. |
| Functional-readout gate | The measurement asks whether an observed signal reaches a downstream functional layer. | Total protein support used to gate transcript-supported TF-target readouts. |
| Filter | The measurement controls whether a node or edge is considered available. | RNA expression used to remove unexpressed genes from the PKN. |
| Annotation | The measurement helps interpret a scored node but is not used as an activity constraint. | Total protein abundance shown next to a scored kinase. |
The important distinction is that these roles are not interchangeable. A total protein abundance value can be useful, but it does not automatically become a protein activity score. RNA can be essential for TF activity inference, but the RNA abundance of a kinase is not usually evidence for kinase activity.
RNA abundance is best matched to transcriptional regulation.
Preferred uses:
Avoid treating RNA abundance of a receptor, kinase, enzyme, or TF as direct protein activity unless the analysis explicitly justifies that assumption.
For TF-target consistency, keep the RNA vector separate from TF activity scores. TF activity is a derived upstream or downstream activity variable; target RNA is the observed transcript-level readout used to check whether TF-target edges have the expected sign.
Total proteomics measures protein abundance, not protein activity.
Preferred uses:
A useful pattern is protein-gated RNA for TF-target filtering:
This does not mean that total proteomics proves a TF-target edge. It only makes the retained edge more compatible with the chosen multi-omic assumptions.
Phosphoproteomics is usually better matched to signaling activity than total proteomics, but it still often needs a footprint step.
Preferred uses:
Avoid collapsing phosphoproteomics into total protein abundance semantics. A phosphosite measurement is a modification-specific signal and should be mapped accordingly.
Metabolite measurements can often be used more directly as downstream inputs because metabolite nodes in the COSMOS PKN represent metabolite states.
Preferred uses:
prepare_metab_inputs().DNA sequencing identifies candidate causal alterations. These are usually perturbations or annotations, not direct activity measurements.
Preferred uses:
For an early stop codon or other likely loss-of-function lesion in
node B:
A -> B edges as explanations for
the loss of B activity. The loss is genetically imposed,
not necessarily caused by upstream regulation.B -> C edges by default and
represent B as a forced negative activity. The inactive
state of B should propagate to downstream targets according
to the sign of B’s outgoing edges.B activity.Check allele status, loss of heterozygosity, clonal fraction, RNA expression, domain position, protein stability, and whether the mutation could be dominant-negative or gain-of-function before making a hard rule.
A designed perturbation is an intervention on a node, not an ordinary observed consequence of the network.
For a knockdown, knockout, or other imposed perturbation of node
B:
A -> B edges as explanations for
the state of B.B as an upstream input or candidate driver with a
forced sign when the perturbation is effective, for example
B = -1 for a functional knockdown or loss-of-function
perturbation.B -> C edges by default so the
forced state of B can propagate through the signed
PKN.The reasoning is causal: the perturbation fixes or constrains
B, so upstream regulators should not be used to explain the
state of B; the downstream side is kept because the
analysis asks what follows from that imposed state.
Important caveats:
Timepoint matching is a modeling choice. It asks whether measurements are treated as the same network state or as different stages of a causal trajectory.
Two common assumptions are:
There is no universal rule that a 24 h RNA profile should always be matched to 24 h phosphoproteomics, or always to an earlier phosphoproteomic timepoint. The right choice depends on the perturbation, pathway kinetics, sampling design, and question being asked.
Recommended workflow:
Limits to state explicitly:
Before running MOON, write down:
The final network should be interpreted as a coherent mechanistic hypothesis under these assumptions, not as experimental proof that every retained edge is active in the studied context.
The package-facing article is intentionally concise. Coding agents
and developers can find more operational detail in
agent-docs/moon-data-pkn-mapping-principles.md, including
implementation notes for TF-target filtering, protein-gated RNA, and
edge-pruning defaults.