Skip to end of metadata
Go to start of metadata


Improve identification and fixing of coding issues in BEL documents

  • Some issues currently trigger semantic warnings, but warning output could be improved
  • Some issues should (but don't currently) trigger errors or warnings during compilation
  • Some issues reflect bad practice - see BEL Best Practices


Semantic warnings 

  • Value not found in referenced namespace
  • Value not valid for function
    • E.g., non-coding RNA as protein
  • Translocation – incorrect number of arguments
  • pmod – incorrect arguments
  • sub – incorrect arguments
  • use of activity function without inner abundance term
    • E.g., kin(HGNC:AKT1)
  • Nested statements with non-causal relationships

Should trigger warnings, but don't currently

  • CompositeAbundances as target terms
  • CompositeAbundances in non-causal statements
  • hasComponent(s) statements where source is not a complexAbundance
  • Orthology statements where source and target are same species
  • Orthology statements where source and target have different abundance functions

Should trigger errors, but don't currently

  • Use of product(), reactant(), pmod(), sub(), trunc(), or fus() as outer function

Bad Practices (that could be automatically detected)

  • Inappropriate activity functions
    • E.g., phos(p(HGNC:JUN))
    • E.g., cat(p(HGNC:TNF))
  • Generic activity functions where a more specific function is likely more appropriate
    • E.g., cat(p(HGNC:ADAM10))
    • E.g., act(p(HGNC:MAPK3))
  • Extremely long evidence lines
  • Use of degradation() as a source term
  • Abundance function a(), for gene/RNA/protein or complex namespace values
  • self-referential statements with indirect causal relationship
    • E.g., p(HGNC:AKT1, pmod(P, S, 473)) -> kin(p(HGNC:AKT1))


  • No labels