Metadata formatΒΆ

An example of metadata.yml file:

description: "Given a valid AGI locus, fetch coexpressed genes from the ATTED-II database"
name: atted_coexpressed_by_locus
type: query
version: 0.1

The file metadata.yml accepts the following fields:

The name of the adapter
The version of the adapter. Please, use semantic versioning.

Type of the adapter. One of:

  • query
  • generic
  • map_filter
  • passthrough
Free form text to describe the purpose of the adapter.
Url for the third party data source the adapter is accessing, if any. Depending on the type of the adapter, this may be for documentation purposes (query and generic), or it may be used directly by Adama to access the service on behalf of the user (map_filter and passthrough).
An additional list of ip’s or domains that the adapter may need to access.
The name (including the path relative to the root of the git repository) of the main module for this adapter. If omitted, Adama will search for a module named main.*.
An url that will receive a POST with the data of the new registered adapter once it is ready to receive requests.
A list of extra modules to add to the adapter at installation time. These modules should be installable via the standard package manager of the language used by the adapter (for example: pip for Python, gem for Ruby, etc.)
Whether to validate the parameters according to the provided documentation. By default this option is no. If enabled, the parameters of a request are validated before passing control to the user’s code in the adapter.
Documentation about the parameters accepted by this adapter (see documenting parameters).

This field is meaningful only for map_filter adapters. If the third party service returns an array of JSON objects to be processed by the adapter, then this field can be empty. Otherwise, if the array is nested inside a JSON object, this field is used to specify how to reach it.

For example, if the response of the third party service is the following JSON object:

  "status": "success",
       "data": [1, 2, 3, 4, 5],
       "name": "integers"

and the adapter is interested in the array of integers, then we set: