Notebooks and clients for GA4GH Federated Analysis Systems Project
[TOC]
- Settings file
- The examples directory contains a template settings file with a number of parameters for the FASP scripts. Place a copy of this file in your file system and set the environment variable FASP_SETTINGS to point to it. Edit the settings as appropriate.
- Python 3
- See the code for the modules required
- A folder in your home directory called .keys containing keys for various services. Not all keys required for all scripts.
- bdc_credentials.json - api_key file obtained from BioDataCatalyst
- crdc_credentials.json - api_key file obtained from Cancer Research Data Commons
- anvil_credentials.json - api_key file obtained from Anvil
- sevenbridges_keys.json - keys for cgc and or cavatica
- The following modules are used by different scripts. All scripts are unlikely to be relevant to all users these modules are not installed with the fasp package. Please install those needed for the scripts you will run.
- BigQuery python libraries - for scripts that use BigQuery
- pyega3 - EGA client libraries for download. See also EGA documentation for client API.
Wrapper to call GA4GH Data Connect Servers and return results of a queries.
Perform searches via BigQuery
Superclass for DRS Clients
This is a python wrapper for the two DRS functions. It also handles Gen3 authentication using Fence. This is necessary until RAS/Passport support is in place.
There are two clients for specific Gen3 DRS servers
- crdcDRSClient - client for Cancer Research Data Commons DRS server
- bdcDRSClient - client for BioDataCatalyst DRS server
A DRS client for Seven Bridges DRS services. Handles SB specific authentication. Two specific classes are provided.
- sbcgcDRSClient - client for Seven Bridges Cancer Genomics Cloud DRS server
- cavaticaDRSClient - client for Cavatica DRS Server
A DRS-like wrapper around the SRA Data Locator. Uses standard dbGaP/SRA authentication (.ngc file)
Wrapper to make a WES call. Currently does an MD5 checksum and the plenary GWAS workflow. The plan is to use samtools and eventually a GWAS workflow.
Client to call Seven Bridges WES Servers. The specific features addressed include authentication, setting a project to work within and the use of apps stored in the Seven Bridges environment. For testing and demo purposes this client encapsulates running samtools.
Client to call Elixir WES Servers. The specific features addressed include authentication, setting a project to work within and the use of apps stored in the Seven Bridges environment. For testing and demo purposes this client encapsulates running samtools.
Superclass for WES clients. Has generic capability to run WES requiring full configuration of the request body and possibly knowledge of the specific WES server being called.
These provide a WES like binding to proprietary APIs so that capabilities can be explored where no WES implentation so far exists.
Wrapper to prepare a job to run samtools as a GCP Life Sciences pipeline.
Requires: Google Life Sciences API installed and configured for your GCP account
Submits a samtools stats task via Seven Bridges API. By preference should now use the SB WES Client
Requires: Seven Bridges API Python client installed and configured for your GCP account
checksum.wdl - a simple workflow for testing WES submission - calculates a checksum
More to be added
testSearchPagination.py - demonstrates how Discovery Seach query results are returned over several pages
examples - examples of using individual APIs used in the main examples