GeneForge Language (GFL) Specification v0.1¶
GFL is a declarative YAML-based language for defining biological workflows.
Root Object¶
The root of any GFL file must be a plan
object.
The plan
Object¶
goal
(string, required): A high-level description of the scientific objective.steps
(list, required): A list of one or more step objects to be executed.
Additional Top-Level Blocks¶
GFL also supports several optional top-level blocks that enhance its symbolic reasoning capabilities:
Rules Block¶
rules
(list, optional): A list of conditional rules that define biological relationships.- Each rule must contain:
id
(string): A unique identifierif
(object): Conditions for the rulethen
(object): Consequences of the rule
Hypothesis Block¶
hypothesis
(object, optional): A scientific hypothesis to be tested.- Must contain:
id
(string): A unique identifierdescription
(string): Human-readable descriptionif
(list): List of conditionsthen
(list): List of expected outcomes
Timeline Block¶
timeline
(object, optional): Temporal orchestration of experiments.- Must contain:
events
(list): List of temporal events- Each event must have:
at
(string): Time specificationactions
(list): Actions to perform
Biological Entities¶
pathways
(object, optional): Metabolic and signaling pathwayscomplexes
(object, optional): Protein complexes
Entity and Hypothesis References¶
Entity References¶
Entities defined in pathways
and complexes
blocks can be referenced in experiment parameters using the syntax:
- pathway(entity_name)
- complex(entity_name)
Hypothesis References¶
Experiment and analysis blocks can reference hypotheses using the validates_hypothesis
field.