Command-Line Interface (CLI)

MedCo provides a client command-line interface (CLI) to interact with the medco-connector APIs.

Prerequisites

To use the CLI, you must first follow one of the deployment guides. However, the version of the CLI documented here is the one shipped with the Local Development Deployment.

How to use it

To show the CLI manual, run:

cd medco-deployment/compose-profiles/dev-local-3nodes/
docker-compose -f docker-compose.tools.yml run medco-cli-client --user [USERNAME] --password [PASSWORD] --help

NAME:
   medco-cli-client - Command-line query tool for MedCo.

USAGE:
   medco-cli-client [global options] command [command options] [arguments...]

VERSION:
   1.0.0

COMMANDS:
   query, q                                Query the MedCo network
   genomic-annotations-get-values, gval    Get genomic annotations values
   genomic-annotations-get-variants, gvar  Get genomic annotations variants
   help, h                                 Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --user value, -u value      OIDC user login
   --password value, -p value  OIDC password login
   --token value, -t value     OIDC token
   --disableTLSCheck           Disable check of TLS certificates
   --help, -h                  show help
   --version, -v               print the version

For a start, you can use the credentials of the default user: username:test password:test

You will also need to specify the URL of the medco connector node you want to interact with by properly setting the MEDCO_CONNECTOR_URL variable in compose-profiles/docker-compose-definitions.yml

query

You can use this command to query the MedCo network.

This is the syntax of an example query using the pre-loaded default testa data.

You will get something like that:

Not that, in the queries, the OR operator has the highest priority, so 1 AND 2 OR 3 AND 2 is factorised as (1) AND (2 OR 3) AND (2).

genomic-annotations-get-values

You can use this command to get the values of the genomic annotations that MedCo nodes make available for queries.

To do some tests, you may want to load some data first.

Then, for example, if you want to know which genomic annotations of type "protein_change" containing the string "g32" are available, you can run:

You will get:

The matching is case-insensitive and it is not possible to use wildcards. At the moment only three types of genomic annotations are available: variant_name, protein_change and hugo_gene_symbol.

genomic-annotations-get-variants

You can use this command to get the variant ID of a certain genomic annotation.

To do some tests, you may want to load some data first.

Then, for example, if you want to know the variant ID of the genomic annotation "HTR5A" of type "hugo_gene_symbol" with zygosity "heterozygous" or "homozygous", you can run:

You will get:

The matching is case-insensitive and it is not possible to use wildcards. If you request the ID of an annotation which is not available (e.g, in the previous, example, "HTR5") you will get an error message. At the moment only three types of genomic annotations are available: variant_name, protein_change and hugo_gene_symbol.

Last updated

Was this helpful?