This repository contains WDL workflows and a Python module to continuously run workflows on new RNA long read samples and sync BAM files between Terra and Gumbo.
-
Install uv.
-
Create a new virtualenv and install the project dependencies:
uv venv uv sync
-
Copy
env.distinto a new file.envand fill it out:WOMTOOL_JARis the path to the .jar file downloaded from https://github.com/broadinstitute/cromwell/releasesFIRECLOUD_OWNERSis a list of Terra users (email addresses or group names) that should be considered owners of workflow method configs
Your GCP DEFAULT_APPLICATION_CREDENTIALS must already be configured in order to run commands.
Configure your editor or IDE to automatically format your code with Ruff and check static types with Pyright by running uv run pyright.
Whenever possible, function/method arguments and return values should be validated with Pydantic or Pandera (if a data frame).
This repo uses ariadne-codegen to generate the gumbo_gql_client module. It uses the folder of GraphQL queries (./gql) and the current GraphQL schema for a particular Gumbo environment to generate all of the Python classes, Pydantic models, and query/mutation methods for interacting with the Gumbo GraphQL Service. To regenerate the module using the current production schema:
HASURA_ADMIN_SECRET=... uv run ariadne-codegen --config ariadne-prod.tomlSome Python files in ./scratch are available to seed existing data (i.e. legacy uBAM files).