External Exome Reprocessing workload⚓︎
Inputs⚓︎
An ExternalExomeReprocessing
workload requires the specification of exactly
one the following inputs for each workflow:
input_bam
, ORinput_cram
Where input_bam
and input_cram
are GS URLs of the file to reprocess. Note
that the input_bam
and input_cram
inputs should only be used with CRAM and
BAM files, respectively. All other WDL inputs are optional - see the output
below for all options.
Usage⚓︎
External Exome Reprocessing workload supports the following API endpoints:
Verb | Endpoint | Description |
---|---|---|
GET | /api/v1/workload |
List all workloads, optionally filtering by uuid or project |
GET | /api/v1/workload/{uuid}/workflows |
List all workflows for a specified workload uuid |
POST | /api/v1/create |
Create a new workload |
POST | /api/v1/start |
Start a workload |
POST | /api/v1/stop |
Stop a running workload |
POST | /api/v1/exec |
Create and start (execute) a workload |
Permissions in production
External Exome Reprocessing in gotc-prod
uses a set of execution projects, please refer to
this page
when you have questions about permissions.
Create Workload: POST /api/v1/create
⚓︎
Create a new workload. Ensure that workflow-launcher
and cromwell
's service
accounts have at least read access to the input files.
curl -X POST 'https://gotc-prod-wfl.gotc-prod.broadinstitute.org/api/v1/create' \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H 'Content-Type: application/json' \
-d '{
"executor": "https://cromwell-gotc-auth.gotc-prod.broadinstitute.org",
"output": "gs://broad-gotc-dev-wfl-ptc-test-outputs/xx-test-output/",
"pipeline": "ExternalExomeReprocessing",
"project": "Example Project",
"items": [{
"inputs": {
"input_cram" : "gs://broad-gotc-dev-wfl-ptc-test-inputs/single_sample/plumbing/truth/develop/20k/NA12878_PLUMBING.cram"
}
}]
}'
{
"creator" : "user@domain",
"pipeline" : "ExternalExomeReprocessing",
"executor" : "https://cromwell-gotc-auth.gotc-prod.broadinstitute.org",
"release" : "ExternalExomeReprocessing_vX.Y.Z",
"created" : "YYYY-MM-DDTHH:MM:SSZ",
"output" : "gs://broad-gotc-dev-wfl-ptc-test-outputs/xx-test-output/",
"commit" : "commit-ish",
"project" : "Example Project",
"uuid" : "1337254e-f7d8-438d-a2b3-a74b199fee3c",
"wdl" : "pipelines/broad/reprocessing/external/exome/ExternalExomeReprocessing.wdl",
"version" : "X.Y.Z"
}
Note that the ExternalExomeReprocessing pipeline supports specifying cromwell
"workflowOptions" via the options
map. See the
reference page for more information.
Start Workload: POST /api/v1/start
⚓︎
Starts a Cromwell workflow for each item in the workload. If an output already exists in the output bucket for a particular input cram, WFL will not re-submit that workflow.
curl -X POST 'https://gotc-prod-wfl.gotc-prod.broadinstitute.org/api/v1/start' \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H 'Content-Type: application/json' \
-d '{"uuid": "1337254e-f7d8-438d-a2b3-a74b199fee3c"}'
{
"creator" : "user@domain",
"pipeline" : "ExternalExomeReprocessing",
"executor" : "https://cromwell-gotc-auth.gotc-prod.broadinstitute.org",
"release" : "ExternalExomeReprocessing_vX.Y.Z",
"created" : "YYYY-MM-DDTHH:MM:SSZ",
"started" : "YYYY-MM-DDTHH:MM:SSZ",
"output" : "gs://broad-gotc-dev-wfl-ptc-test-outputs/xx-test-output/",
"commit" : "commit-ish",
"project" : "Example Project",
"uuid" : "1337254e-f7d8-438d-a2b3-a74b199fee3c",
"wdl" : "pipelines/broad/reprocessing/external/exome/ExternalExomeReprocessing.wdl",
"version" : "X.Y.Z"
}
Stop Workload: POST /api/v1/stop
⚓︎
Included for compatibility with continuous workloads.
curl -X POST 'https://gotc-prod-wfl.gotc-prod.broadinstitute.org/api/v1/stop' \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H 'Content-Type: application/json' \
-d '{ "uuid": "1337254e-f7d8-438d-a2b3-a74b199fee3c" }'
{
"creator" : "user@domain",
"pipeline" : "ExternalExomeReprocessing",
"executor" : "https://cromwell-gotc-auth.gotc-prod.broadinstitute.org",
"release" : "ExternalExomeReprocessing_vX.Y.Z",
"created" : "YYYY-MM-ddTHH:mm:ssZ",
"started" : "YYYY-MM-ddTHH:mm:ssZ",
"stopped" : "YYYY-MM-ddTHH:mm:ssZ",
"output" : "gs://broad-gotc-dev-wfl-ptc-test-outputs/xx-test-output/",
"commit" : "commit-ish",
"project" : "Example Project",
"uuid" : "1337254e-f7d8-438d-a2b3-a74b199fee3c",
"wdl" : "pipelines/broad/reprocessing/external/exome/ExternalExomeReprocessing.wdl",
"version" : "X.Y.Z"
}
Exec Workload: POST /api/v1/exec
⚓︎
Creates and then starts a Cromwell workflow for each item in the workload.
curl -X POST 'https://dev-wfl.gotc-dev.broadinstitute.org/api/v1/exec' \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H 'Content-Type: application/json' \
-d '{
"executor": "https://cromwell-gotc-auth.gotc-prod.broadinstitute.org",
"output": "gs://broad-gotc-dev-wfl-ptc-test-outputs/xx-test-output/",
"pipeline": "ExternalExomeReprocessing",
"project": "Example Project",
"items": [{
"inputs" : {
"input_cram" : "gs://broad-gotc-dev-wfl-ptc-test-inputs/single_sample/plumbing/truth/develop/20k/NA12878_PLUMBING.cram",
}
}]
}'
{
"creator" : "user@domain",
"pipeline" : "ExternalExomeReprocessing",
"executor" : "https://cromwell-gotc-auth.gotc-prod.broadinstitute.org",
"release" : "ExternalExomeReprocessing_vX.Y.Z",
"created" : "YYYY-MM-DDTHH:MM:SSZ",
"started" : "YYYY-MM-DDTHH:MM:SSZ",
"output" : "gs://broad-gotc-dev-wfl-ptc-test-outputs/xx-test-output/",
"commit" : "commit-ish",
"project" : "Example Project",
"uuid" : "1337254e-f7d8-438d-a2b3-a74b199fee3c",
"wdl" : "pipelines/broad/reprocessing/external/exome/ExternalExomeReprocessing.wdl",
"version" : "X.Y.Z"
}
Query Workload: GET /api/v1/workload?uuid=<uuid>
⚓︎
Queries the WFL database for workloads. Specify the uuid to query for a specific workload.
curl -X GET 'https://gotc-prod-wfl.gotc-prod.broadinstitute.org/api/v1/workload?uuid=1337254e-f7d8-438d-a2b3-a74b199fee3c' \
-H "Authorization: Bearer $(gcloud auth print-access-token)"
[{
"creator" : "user@domain",
"pipeline" : "ExternalExomeReprocessing",
"executor" : "https://cromwell-gotc-auth.gotc-prod.broadinstitute.org",
"release" : "ExternalExomeReprocessing_vX.Y.Z",
"created" : "YYYY-MM-DDTHH:MM:SSZ",
"started" : "YYYY-MM-DDTHH:MM:SSZ",
"output" : "gs://broad-gotc-dev-wfl-ptc-test-outputs/xx-test-output/",
"commit" : "commit-ish",
"project" : "Example Project",
"uuid" : "1337254e-f7d8-438d-a2b3-a74b199fee3c",
"wdl" : "pipelines/broad/reprocessing/external/exome/ExternalExomeReprocessing.wdl",
"version" : "X.Y.Z"
}]
Query Workload with project: GET /api/v1/workload?project=<project>
⚓︎
Queries the WFL database for workloads. Specify the project name to query for a list of specific workload(s).
curl -X GET 'https://gotc-prod-wfl.gotc-prod.broadinstitute.org/api/v1/workload?project=PO-1234' \
-H "Authorization: Bearer $(gcloud auth print-access-token)"
[{
"creator" : "user@domain",
"pipeline" : "ExternalExomeReprocessing",
"executor" : "https://cromwell-gotc-auth.gotc-prod.broadinstitute.org",
"release" : "ExternalExomeReprocessing_vX.Y.Z",
"created" : "YYYY-MM-DDTHH:MM:SSZ",
"started" : "YYYY-MM-DDTHH:MM:SSZ",
"output" : "gs://broad-gotc-dev-wfl-ptc-test-outputs/xx-test-output/",
"commit" : "commit-ish",
"project" : "Example Project",
"uuid" : "1337254e-f7d8-438d-a2b3-a74b199fee3c",
"wdl" : "pipelines/broad/reprocessing/external/exome/ExternalExomeReprocessing.wdl",
"version" : "X.Y.Z"
}]
Note
project
and uuid
are optional query parameters to the /api/v1/workload
endpoint,
hitting this endpoint without them will return all workloads. However, they cannot be specified
together.
List Workflows in a Workload: GET /api/v1/workload/{uuid}/workflows
⚓︎
Returns the workflows created and managed by the workload with uuid
.
curl -X GET 'https://gotc-prod-wfl.gotc-prod.broadinstitute.org/api/v1/workload/1337254e-f7d8-438d-a2b3-a74b199fee3c/workflows' \
-H "Authorization: Bearer $(gcloud auth print-access-token)"
[{
"status" : "Submitted",
"updated" : "YYYY-MM-DDTHH:MM:SSZ",
"uuid" : "bb0d93e3-1a6a-4816-82d9-713fa58fb235",
"inputs" : {
"input_cram" : "gs://broad-gotc-dev-wfl-ptc-test-inputs/single_sample/plumbing/truth/develop/20k/NA12878_PLUMBING.cram",
"destination_cloud_path" : "gs://broad-gotc-dev-wfl-ptc-test-outputs/xx-test-output/8600be1a-48df-4a51-bdba-0044e0af8d33/single_sample/plumbing/truth/develop/20k",
"sample_name" : "NA12878_PLUMBING",
"base_file_name" : "NA12878_PLUMBING.cram",
"final_gvcf_base_name" : "NA12878_PLUMBING.cram"
}
}]
"workflows" lists out each workflow managed by this workload, including their status. It is also possible to use the Job Manager to check workflow progress and easily see information about any workflow failures.
A1 External Exome Workload-Request JSON Spec⚓︎
{
"pipeline": "string",
"executor": "string",
"output": "string",
"project": "string",
"common": {
"options": {}, // see workflow-options
"inputs": {
"unmapped_bam_suffix": "string",
"cram_ref_fasta": "string",
"cram_ref_fasta_index": "string",
"bait_set_name": "string",
"bait_interval_list": "string",
"target_interval_list": "string",
"references": {
"calling_interval_list": "string",
"contamination_sites_bed": "string",
"contamination_sites_mu": "string",
"contamination_sites_ud": "string",
"dbsnp_vcf": "string",
"dbsnp_vcf_index": "string",
"evaluation_interval_list": "string",
"haplotype_database_file": "string",
"known_indels_sites_vcfs": ["string"],
"known_indels_sites_indices": ["string"],
"reference_fasta": {
"ref_pac": "string",
"ref_bwt": "string",
"ref_dict": "string",
"ref_ann": "string",
"ref_fasta_index": "string",
"ref_alt": "string",
"ref_fasta": "string",
"ref_sa": "string",
"ref_amb": "string"
}
},
"scatter_settings": {
"haplotype_scatter_count": "integer",
"break_bands_at_multiples_of": "integer"
},
"papi_settings": {
"agg_preemptible_tries": "integer",
"preemptible_tries": "integer"
},
"fingerprint_genotypes_file": "string",
"fingerprint_genotypes_index": "string"
}
},
"items": [{
"options": {}, // see workflow-options
"inputs": {
// required - specify either "input_bam" or "input_cram"
"input_bam": "string",
"input_cram": "string",
// optional inputs
"sample_name": "string",
"final_gvcf_base_name": "string",
"unmapped_bam_suffix": "string",
"cram_ref_fasta": "string",
"cram_ref_fasta_index": "string",
"bait_set_name": "string",
"bait_interval_list": "string",
"target_interval_list": "string",
"references": {
"calling_interval_list": "string",
"contamination_sites_bed": "string",
"contamination_sites_mu": "string",
"contamination_sites_ud": "string",
"dbsnp_vcf": "string",
"dbsnp_vcf_index": "string",
"evaluation_interval_list": "string",
"haplotype_database_file": "string",
"known_indels_sites_vcfs": ["string"],
"known_indels_sites_indices": ["string"],
"reference_fasta": {
"ref_pac": "string",
"ref_bwt": "string",
"ref_dict": "string",
"ref_ann": "string",
"ref_fasta_index": "string",
"ref_alt": "string",
"ref_fasta": "string",
"ref_sa": "string",
"ref_amb": "string"
}
},
"scatter_settings": {
"haplotype_scatter_count": "integer",
"break_bands_at_multiples_of": "integer"
},
"papi_settings": {
"agg_preemptible_tries": "integer",
"preemptible_tries": "integer"
},
"fingerprint_genotypes_file": "string",
"fingerprint_genotypes_index": "string",
"destination_cloud_path": "string"
}
}]
}