class BELParser::Language::Version1_0::Upgrades::ActivityTransformation

Public Instance Methods

add_molecular_activity(_activity_identifier) click to toggle source
# File lib/bel_parser/language/version1_0/upgrades/activity_transformation.rb, line 28
def add_molecular_activity(_activity_identifier)
  argument(
    term(
      function(
        identifier('molecularActivity')),
      argument(
        parameter(
          prefix(
            identifier('default')),
          value(
            identifier(_activity_identifier))))))
end
on_function(function_node) click to toggle source
# File lib/bel_parser/language/version1_0/upgrades/activity_transformation.rb, line 41
def on_function(function_node)
  function_node.updated([identifier('activity')])
end
on_term(term_node) click to toggle source
# File lib/bel_parser/language/version1_0/upgrades/activity_transformation.rb, line 14
def on_term(term_node)
  if ACTIVITIES.keys.include?(term_node.function.identifier.string_literal)
    term_node.updated([
                        # activity function
                        process(term_node.function),
                        # original arguments
                        term_node.arguments.map! {|arg| argument(process(arg.child))},
                        # additional molecularActivity argument
                        add_molecular_activity(ACTIVITIES[term_node.function.identifier.string_literal])
                    ].flatten)

  end
end