Welcome to varvis-connector’s documentation!

Introduction

GitHub repository CI testing pipeline CI code quality pipeline Test coverage

The varvis-connector package provides a Python interface for the Varvis API. It includes both a command-line interface (CLI) and a Python package with a client implementation. The package handles authentication, session management, and provides methods to retrieve various types of genomic data including SNV annotations, CNV target results, and CNV segments. It supports environment-based configuration and includes comprehensive error handling.

Features

  • Python client for the Varvis API

  • Command-line interface for direct interaction with the API

  • Authentication and session management

  • Methods to retrieve various types of genomic data

  • Environment-based configuration

  • Comprehensive error handling

  • Support for Python 3.10 and above

Currently covered Varvis API endpoints

The following API endpoints are currently covered both by the CLI and the Python package:

Varvis API endpoint

Varvis docs title

CLI command varvis_connector ...

VarvisClient method

GET /api/person/{personLimsId}/id

Get Person Id

get-internal-person-id

VarvisClient.get_internal_person_id

GET /api/analysis/{analysisId}/annotations

Get Variant Annotations

get-snv-annotations

VarvisClient.get_snv_annotations

GET /api/results/{personLimsId}/cnv

Get Cnv Results

get-cnv-target-results

VarvisClient.get_cnv_target_results

GET /pending-cnv

Get Pending Cnvs

get-pending-cnv-segments

VarvisClient.get_pending_cnv_segments

GET /api/qualitycontrol/metrics/case/{personId}

Get Case Metrics

get-qc-case-metrics

VarvisClient.get_qc_case_metrics

GET /api/{personId}/coverage

Api Coverage Task Data

get-coverage-data

VarvisClient.get_coverage_data

GET /api/analyses

Find Analyses

get-analyses

VarvisClient.get_analyses

GET /person/{personLimsId}/analyses

Api Get Analyses Linked With Person

get-person-analyses

VarvisClient.get_person_analyses

GET /api/cases/{personId}/report

Get Case Report

get-case-report

VarvisClient.get_case_report

GET /api/person/{personLimsId}

Get Person Including Clinical Information

get-person

VarvisClient.get_person

PUT /api/person

Api Create Or Update Person

create-or-update-person

VarvisClient.create_or_update_person

GET /analysis-list/find-by-customer-provided-input-file-name

Find By Customer Provided Input File Name

find-analyses-by-filename

VarvisClient.find_analyses_by_filename

GET /virtual-panel/{id}

Get Virtual Panel Details

get-virtual-panel

VarvisClient.get_virtual_panel

POST /api/virtual-panel

Create Or Update Virtual Panel

create-virtual-panel / update-virtual-panel

VarvisClient.create_or_update_virtual_panel

GET /virtual-panels

Get Virtual Panel Summaries

get-virtual-panel-summaries

VarvisClient.get_virtual_panel_summaries

GET /virtual-panel-genes

Get All Genes

get-all-genes

VarvisClient.get_all_genes

GET /api/analysis/{analysisId}/get-file-download-links

Get File Download Links (and download the files)

get-file-download-links / download-files

VarvisClient.get_file_download_links / VarvisClient.download_files

In addition to that, it’s possible to send arbitrary authenticated requests to the API using the CLI request command or the VarvisClient.request method, which is especially useful for undocumented endpoints.

License

This project is licensed under the GNU General Public License v3.0 (GPLv3). See the LICENSE file for details.

Table of contents

Indices and tables