Module: BEL::Language

Defined in:
lib/bel/language.rb

Defined Under Namespace

Classes: E, F, Function, NullE, Parameter, Signature, Statement, Term

Constant Summary collapse

FUNCTIONS =
{
  a: {
    short_form: :a,
    long_form: :abundance,
    description: 'Denotes the abundance of an entity',
    return_type: :a,
    signatures: [
      Signature.new(:a, E.new(:A))
    ]
  },
  bp: {
    short_form: :bp,
    long_form: :biologicalProcess,
    description: 'Denotes a process or population of events',
    return_type: :bp,
    signatures: [
      Signature.new(:bp, E.new(:B))
    ]
  },
  cat: {
    short_form: :cat,
    long_form: :catalyticActivity,
    description: 'Denotes the frequency or abundance of events where a member acts as an enzymatic catalyst of biochecmial reactions',
    return_type: :a,
    signatures: [
      Signature.new(:cat, F.new(:complex)),
      Signature.new(:cat, F.new(:p))
    ]
  },
  sec: {
    short_form: :sec,
    long_form: :cellSecretion,
    description: 'Denotes the frequency or abundance of events in which members of an abundance move from cells to regions outside of the cells',
    return_type: :a,
    signatures: [
      Signature.new(:sec, F.new(:a))
    ]
  },
  surf: {
    short_form: :surf,
    long_form: :cellSurfaceExpression,
    description: 'Denotes the frequency or abundance of events in which members of an abundance move to the surface of cells',
    return_type: :a,
    signatures: [
      Signature.new(:surf, F.new(:a))
    ]
  },
  chap: {
    short_form: :chap,
    long_form: :chaperoneActivity,
    description: 'Denotes the frequency or abundance of events in which a member binds to some substrate and acts as a chaperone for the substrate',
    return_type: :a,
    signatures: [
      Signature.new(:chap, F.new(:complex)),
      Signature.new(:chap, F.new(:p))
    ]
  },
  complex: {
    short_form: :complex,
    long_form: :complexAbundance,
    description: 'Denotes the abundance of a molecular complex',
    return_type: :complex,
    signatures: [
      Signature.new(:complex, E.new(:A)),
      Signature.new(:complex, F.new(:a, true))
    ]
  },
  deg: {
    short_form: :deg,
    long_form: :degradation,
    description: 'Denotes the frequency or abundance of events in which a member is degraded in some way such that it is no longer a member',
    return_type: :a,
    signatures: [
      Signature.new(:deg, F.new(:a))
    ]
  },
  fus: {
    short_form: :fus,
    long_form: :fusion,
    description: 'Specifies the abundance of a protein translated from the fusion of a gene',
    return_type: :fus,
    signatures: [
      Signature.new(:fus, E.new(:G)),
      Signature.new(:fus, E.new(:G), E.new(:*), E.new(:*)),
      Signature.new(:fus, E.new(:P)),
      Signature.new(:fus, E.new(:P), E.new(:*), E.new(:*)),
      Signature.new(:fus, E.new(:R)),
      Signature.new(:fus, E.new(:R), E.new(:*), E.new(:*))
    ]
  },
  g: {
    short_form: :g,
    long_form: :geneAbundance,
    description: 'Denotes the abundance of a gene',
    return_type: :g,
    signatures: [
      Signature.new(:g, E.new(:G)),
      Signature.new(:g, E.new(:G), F.new(:fus))
    ]
  },
  gtp: {
    short_form: :gtp,
    long_form: :gtpBoundActivity,
    description: 'Denotes the frequency or abundance of events in which a member of a G-protein abundance is GTP-bound',
    return_type: :a,
    signatures: [
      Signature.new(:gtp, F.new(:complex)),
      Signature.new(:gtp, F.new(:p))
    ]
  },
  kin: {
    short_form: :kin,
    long_form: :kinaseActivity,
    description: 'Denotes the frequency or abundance of events in which a member acts as a kinase, performing enzymatic phosphorylation of a substrate',
    return_type: :a,
    signatures: [
      Signature.new(:kin, F.new(:complex)),
      Signature.new(:kin, F.new(:p))
    ]
  },
  list: {
    short_form: :list,
    long_form: :list,
    description: 'Groups a list of terms together',
    return_type: :list,
    signatures: [
      Signature.new(:list, E.new(:A, true)),
      Signature.new(:list, F.new(:a, true))
    ]
  },
  m: {
    short_form: :m,
    long_form: :microRNAAbundance,
    description: 'Denotes the abundance of a processed, functional microRNA',
    return_type: :m,
    signatures: [
      Signature.new(:m, E.new(:M))
    ]
  },
  act: {
    short_form: :act,
    long_form: :molecularActivity,
    description: 'Denotes the frequency or abundance of events in which a member acts as a causal agent at the molecular scale',
    return_type: :a,
    signatures: [
      Signature.new(:act, F.new(:a))
    ]
  },
  path: {
    short_form: :path,
    long_form: :pathology,
    description: 'Denotes a disease or pathology process',
    return_type: :path,
    signatures: [
      Signature.new(:path, E.new(:O))
    ]
  },
  pep: {
    short_form: :pep,
    long_form: :peptidaseActivity,
    description: 'Denotes the frequency or abundance of events in which a member acts to cleave a protein',
    return_type: :a,
    signatures: [
      Signature.new(:pep, F.new(:complex)),
      Signature.new(:pep, F.new(:p))
    ]
  },
  phos: {
    short_form: :phos,
    long_form: :phosphataseActivity,
    description: 'Denotes the frequency or abundance of events in which a member acts as a phosphatase',
    return_type: :a,
    signatures: [
      Signature.new(:phos, F.new(:complex)),
      Signature.new(:phos, F.new(:p))
    ]
  },
  products: {
    short_form: :products,
    long_form: :products,
    description: 'Denotes the products of a reaction',
    return_type: :products,
    signatures: [
      Signature.new(:products, F.new(:a))
    ]
  },
  p: {
    short_form: :p,
    long_form: :proteinAbundance,
    description: 'Denotes the abundance of a protein',
    return_type: :p,
    signatures: [
      Signature.new(:p, E.new(:P)),
      Signature.new(:p, E.new(:P), F.new(:pmod)),
      Signature.new(:p, E.new(:P), F.new(:sub)),
      Signature.new(:p, E.new(:P), F.new(:fus)),
      Signature.new(:p, E.new(:P), F.new(:trunc))
    ]
  },
  pmod: {
    short_form: :pmod,
    long_form: :proteinModification,
    description: 'Denotes a covalently modified protein abundance',
    return_type: :pmod,
    signatures: [
      Signature.new(:pmod, E.new(:*)),
      Signature.new(:pmod, E.new(:*), E.new(:*)),
      Signature.new(:pmod, E.new(:*), E.new(:*), E.new(:*))
    ]
  },
  reactants: {
    short_form: :reactants,
    long_form: :reactants,
    description: 'Denotes the reactants of a reaction',
    return_type: :reactants,
    signatures: [
      Signature.new(:reactants, F.new(:a))
    ]
  },
  rxn: {
    short_form: :rxn,
    long_form: :reaction,
    description: 'Denotes the frequency or abundance of events in a reaction',
    return_type: :a,
    signatures: [
      Signature.new(:rxn, F.new(:reactants), F.new(:products))
    ]
  },
  ribo: {
    short_form: :ribo,
    long_form: :ribosylationActivity,
    description: 'Denotes the frequency or abundance of events in which a member acts to perform post-translational modification of proteins',
    return_type: :a,
    signatures: [
      Signature.new(:ribo, F.new(:complex)),
      Signature.new(:ribo, F.new(:p))
    ]
  },
  r: {
    short_form: :r,
    long_form: :rnaAbundance,
    description: 'Denotes the abundance of a gene',
    return_type: :g,
    signatures: [
      Signature.new(:r, E.new(:R)),
      Signature.new(:r, E.new(:R), F.new(:fus))
    ]
  },
  sub: {
    short_form: :sub,
    long_form: :substitution,
    description: 'Indicates the abundance of proteins with amino acid substitution sequence',
    return_type: :sub,
    signatures: [
      Signature.new(:sub, E.new(:*), E.new(:*), E.new(:*))
    ]
  },
  tscript: {
    short_form: :tscript,
    long_form: :transcriptionalActivity,
    description: 'Denotes the frequency or abundance of events in which a member directly acts to control transcription of genes',
    return_type: :a,
    signatures: [
      Signature.new(:tscript, F.new(:complex)),
      Signature.new(:tscript, F.new(:p))
    ]
  },
  tloc: {
    short_form: :tloc,
    long_form: :translocation,
    description: 'Denotes the frequency or abundance of events in which members move between locations',
    return_type: :a,
    signatures: [
      Signature.new(:tloc, F.new(:a), E.new(:A), E.new(:A))
    ]
  },
  tport: {
    short_form: :tport,
    long_form: :transportActivity,
    description: 'Denotes the frequency or abundance of events in which a member directs acts to enable the directed movement of substances into, out of, within, or between cells',
    return_type: :a,
    signatures: [
      Signature.new(:tport, F.new(:complex)),
      Signature.new(:tport, F.new(:p))
    ]
  },
  trunc: {
    short_form: :trunc,
    long_form: :truncation,
    description: 'Indicates an abundance of proteins with truncation sequence variants',
    return_type: :trunc,
    signatures: [
      Signature.new(:trunc, E.new(:*))
    ]
  }
}
PARAMETER_ENCODING =
{
  B: [:B],
  O: [:O, :B],
  R: [:R, :A],
  M: [:M, :R, :A],
  P: [:P, :A],
  G: [:G, :A],
  A: [:A],
  C: [:C, :A]
}
FUNCTION_TYPES =
{
  a: [:a],
  bp: [:bp],
  complex: [:complex, :a],
  g: [:g, :a],
  m: [:m, :r, :a],
  path: [:path, :bp],
  p: [:p, :a],
  r: [:r, :a]
}
RELATIONSHIPS =
[
  :actsIn,
  :analogous,
  :association,
  :biomarkerFor,
  :causesNoChange,
  :decreases,
  :directlyDecreases,
  :directlyIncreases,
  :hasComponent, :hasComponents,
  :hasMember, :hasMembers,
  :hasModification,
  :hasProduct,
  :hasVariant,
  :includes,
  :increases,
  :isA,
  :negativeCorrelation,
  :orthologous,
  :positiveCorrelation,
  :prognosticBiomarkerFor,
  :rateLimitingStepOf,
  :reactantIn,
  :subProcessOf,
  :transcribedTo,
  :translatedTo,
  :translocates
]