Skip to main content

Benchling_Event

Node​

Node Description​

Copies data from Benchling to Ganymede

Listens for Benchling events, which are shared for processing by the user-defined execute function. The user-defined function returns a table which is uploaded to the Ganymede data lake.

A subscription in the corresponding Benchling account is required for sending events to Ganymede's AWS account. See Benchling docs and Benchling events reference

Node Attributes​

  • input_filter_path
    • Input JSONPath used for applying filtering logic
  • input_trigger_flow_name
    • Input Ganymede flow to trigger from captured event

Notes​

Usage requires configuration of a Benchling application in the relevant Benchling tenant.

Prior to usage, the secrets below must be configured in your Ganymede environment. More information on acquiring these credentials can be found here.

  • benchling_url: URL for Benchling tenant; has form https://<tenant>.benchling.com
  • benchling_app_client_id: Client ID for Benchling application
  • benchling_client_secret: Client Secret for Benchling application

Secrets can be configured by clicking on your username in the upper-right hand of the Ganymede application, then selecting Environment Settings and navigating to the Secrets tab. If you need assistance, please don't hesitate to reach out to Ganymede.

Example​

The Event Node configuration below would be executed each time the entity ts_abc1234 was seen, perform processing as defined in the execute function, and trigger the HT_Screening Flow with parameters specified in the execute function.

  • input_filter_path: detail.entity.schema.id=='ts_abc1234'
  • input_trigger_flow_name: HT_Screening

User-Defined Python​

Calls Benchling to get data for flow to trigger

Parameters​

  • object_id : str
    • ID used in Benchling API (e.g. - entity schema ID or notebook entry ID)
  • event_type : str
    • Type of Benchling event (e.g. - v2.entity.registered)
  • benchling_context : BenchlingContext
    • Benchling context variable, which stores Benchling connection information
  • ganymede_context : GanymedeContext
    • Ganymede context variable, which stores flow run metadata

Returns​

FlowInputs | NodeReturn if FlowInputs object is returned; flow inputs for kicking off subsequent Flow if NodeReturn object is returned; NodeReturn object for storing data

Benchling Documentation​

Documentation for the Benchling API can be found here.

Reference for Benchling events can be found here.

benchling_context is an object of class BenchlingContext, consisting of

  • conn: Benchling connection
  • run_tag: Benchling ID associated with run tag
  • display_tag: Displayed value of Benchling run tag