From 2510aae8e7ef29d14951990a9cd824b114e615d2 Mon Sep 17 00:00:00 2001 From: npetrill Date: Thu, 1 Aug 2024 13:14:52 -0400 Subject: [PATCH 1/3] pin all latest docker version --- .../arrays/multi_sample/MultiSampleArrays.wdl | 2 +- .../cram_to_unmapped_bams/CramToUnmappedBams.wdl | 2 +- pipelines/skylab/atac/atac.wdl | 4 ++-- projects/tasks/AdapterTasks.wdl | 2 +- tasks/broad/IlluminaGenotypingArrayTasks.wdl | 2 +- tasks/broad/InternalArraysTasks.wdl | 6 +++--- tasks/broad/InternalTasks.wdl | 2 +- tasks/skylab/CheckInputs.wdl | 2 +- .../src/main/resources/dummy/dummyWorkflow.wdl | 2 +- verification/VerifyExternalReprocessing.wdl | 2 +- verification/VerifyGermlineSingleSample.wdl | 2 +- verification/VerifyIlluminaGenotypingArray.wdl | 4 ++-- verification/VerifyJointGenotyping.wdl | 2 +- verification/VerifyMetrics.wdl | 2 +- verification/VerifyTasks.wdl | 14 +++++++------- .../VerifyUltimaGenomicsJointGenotyping.wdl | 2 +- .../VerifyUltimaGenomicsWholeGenomeGermline.wdl | 2 +- 17 files changed, 27 insertions(+), 27 deletions(-) diff --git a/pipelines/broad/arrays/multi_sample/MultiSampleArrays.wdl b/pipelines/broad/arrays/multi_sample/MultiSampleArrays.wdl index 1633c8cd31..6e5757c101 100644 --- a/pipelines/broad/arrays/multi_sample/MultiSampleArrays.wdl +++ b/pipelines/broad/arrays/multi_sample/MultiSampleArrays.wdl @@ -83,7 +83,7 @@ task SplitFoFnToListFoFn { >>> runtime { - docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4:latest" + docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4@sha256:025124e2f1cf4d29149958f17270596bffe13fc6acca6252977c572dd5ba01bf" memory: "1 GiB" } diff --git a/pipelines/broad/reprocessing/cram_to_unmapped_bams/CramToUnmappedBams.wdl b/pipelines/broad/reprocessing/cram_to_unmapped_bams/CramToUnmappedBams.wdl index d54d9a4cf7..bef7a7893b 100644 --- a/pipelines/broad/reprocessing/cram_to_unmapped_bams/CramToUnmappedBams.wdl +++ b/pipelines/broad/reprocessing/cram_to_unmapped_bams/CramToUnmappedBams.wdl @@ -222,7 +222,7 @@ task SplitUpOutputMapFile { >>> runtime { - docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4:latest" + docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4@sha256:025124e2f1cf4d29149958f17270596bffe13fc6acca6252977c572dd5ba01bf" disks: "local-disk " + disk_size + " HDD" memory: "~{memory_in_MiB} MiB" } diff --git a/pipelines/skylab/atac/atac.wdl b/pipelines/skylab/atac/atac.wdl index 8526d0cbc1..8b2fd36af7 100644 --- a/pipelines/skylab/atac/atac.wdl +++ b/pipelines/skylab/atac/atac.wdl @@ -173,12 +173,12 @@ task GetNumSplits { Int nthreads Int mem_size String cpu_platform - String docker_image = "ubuntu:latest" + String docker_image = "ubuntu@sha256:2e863c44b718727c860746568e1d54afd13b2fa71b160f5cd9058fc436217b30" String vm_size } parameter_meta { - docker_image: "the ubuntu docker image (default: ubuntu:latest)" + docker_image: "the ubuntu docker image (default: ubuntu@sha256:2e863c44b718727c860746568e1d54afd13b2fa71b160f5cd9058fc436217b30)" nthreads: "Number of threads per node (default: 128)" mem_size: "the size of memory used during alignment" vm_size: "the virtual machine used for the task" diff --git a/projects/tasks/AdapterTasks.wdl b/projects/tasks/AdapterTasks.wdl index 8f57dd2e80..d8916e38bd 100644 --- a/projects/tasks/AdapterTasks.wdl +++ b/projects/tasks/AdapterTasks.wdl @@ -452,7 +452,7 @@ task GetCloudFileCreationDate { input { String file_path - String docker = "gcr.io/google.com/cloudsdktool/cloud-sdk:latest" + String docker = "gcr.io/google.com/cloudsdktool/cloud-sdk:486.0.0" Int cpu = 1 Int memory_mb = 1000 Int disk_size_gb = 1 diff --git a/tasks/broad/IlluminaGenotypingArrayTasks.wdl b/tasks/broad/IlluminaGenotypingArrayTasks.wdl index 2598bed60b..4ca4074fce 100644 --- a/tasks/broad/IlluminaGenotypingArrayTasks.wdl +++ b/tasks/broad/IlluminaGenotypingArrayTasks.wdl @@ -14,7 +14,7 @@ task Md5Sum { >>> runtime { - docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4:latest" + docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4@sha256:025124e2f1cf4d29149958f17270596bffe13fc6acca6252977c572dd5ba01bf" disks: "local-disk 10 HDD" memory: "3.5 GiB" preemptible: 3 diff --git a/tasks/broad/InternalArraysTasks.wdl b/tasks/broad/InternalArraysTasks.wdl index 76d56fb23d..e9ec3afe15 100644 --- a/tasks/broad/InternalArraysTasks.wdl +++ b/tasks/broad/InternalArraysTasks.wdl @@ -335,7 +335,7 @@ task CreateChipWellBarcodeParamsFile { >>> runtime { - docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4:latest" + docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4@sha256:025124e2f1cf4d29149958f17270596bffe13fc6acca6252977c572dd5ba01bf" disks: "local-disk 10 HDD" memory: "2 GiB" preemptible: preemptible_tries @@ -445,7 +445,7 @@ task ResolveExtendedIlluminaManifestFile { >>> runtime { - docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4:latest" + docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4@sha256:025124e2f1cf4d29149958f17270596bffe13fc6acca6252977c572dd5ba01bf" disks: "local-disk 10 HDD" memory: "2 GiB" preemptible: preemptible_tries @@ -480,7 +480,7 @@ task ResolveMinorAlleleFrequencyFile { >>> runtime { - docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4:latest" + docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4@sha256:025124e2f1cf4d29149958f17270596bffe13fc6acca6252977c572dd5ba01bf" disks: "local-disk 10 HDD" memory: "2 GiB" preemptible: preemptible_tries diff --git a/tasks/broad/InternalTasks.wdl b/tasks/broad/InternalTasks.wdl index 75dc79adb5..b3bef735a6 100644 --- a/tasks/broad/InternalTasks.wdl +++ b/tasks/broad/InternalTasks.wdl @@ -17,7 +17,7 @@ task MakeSafeFilename { >>> runtime { - docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4:latest" + docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4@sha256:025124e2f1cf4d29149958f17270596bffe13fc6acca6252977c572dd5ba01bf" disks: "local-disk 10 HDD" memory: "1 GiB" preemptible: 3 diff --git a/tasks/skylab/CheckInputs.wdl b/tasks/skylab/CheckInputs.wdl index 57fbcaad1a..526586fedd 100644 --- a/tasks/skylab/CheckInputs.wdl +++ b/tasks/skylab/CheckInputs.wdl @@ -43,7 +43,7 @@ task checkInputArrays { } runtime { - docker: "bashell/alpine-bash:latest" + docker: "bashell/alpine-bash@sha256:965a718a07c700a5204c77e391961edee37477634ce2f9cf652a8e4c2db858ff" cpu: 1 memory: "1 GiB" disks: "local-disk ~{disk} HDD" diff --git a/tests/broad/scala_test/src/main/resources/dummy/dummyWorkflow.wdl b/tests/broad/scala_test/src/main/resources/dummy/dummyWorkflow.wdl index 38a9735689..aed9ae2a9e 100644 --- a/tests/broad/scala_test/src/main/resources/dummy/dummyWorkflow.wdl +++ b/tests/broad/scala_test/src/main/resources/dummy/dummyWorkflow.wdl @@ -33,6 +33,6 @@ task PrintMessageToStdout { } runtime { - docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4:latest" + docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4@sha256:025124e2f1cf4d29149958f17270596bffe13fc6acca6252977c572dd5ba01bf" } } \ No newline at end of file diff --git a/verification/VerifyExternalReprocessing.wdl b/verification/VerifyExternalReprocessing.wdl index 7e6a697d5d..a6b6005b5b 100644 --- a/verification/VerifyExternalReprocessing.wdl +++ b/verification/VerifyExternalReprocessing.wdl @@ -32,7 +32,7 @@ task AssertTrue { } runtime { - docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4:latest" + docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4@sha256:025124e2f1cf4d29149958f17270596bffe13fc6acca6252977c572dd5ba01bf" disks: "local-disk 10 HDD" memory: "3.5 GiB" preemptible: 3 diff --git a/verification/VerifyGermlineSingleSample.wdl b/verification/VerifyGermlineSingleSample.wdl index 314f3f51a3..9bea981c37 100755 --- a/verification/VerifyGermlineSingleSample.wdl +++ b/verification/VerifyGermlineSingleSample.wdl @@ -90,7 +90,7 @@ task CompareGvcfs { } runtime { - docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4:latest" + docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4@sha256:025124e2f1cf4d29149958f17270596bffe13fc6acca6252977c572dd5ba01bf" disks: "local-disk 300 HDD" memory: "${memory_mb} MiB" preemptible: 3 diff --git a/verification/VerifyIlluminaGenotypingArray.wdl b/verification/VerifyIlluminaGenotypingArray.wdl index a5422ee5cf..6b3bc77ef7 100644 --- a/verification/VerifyIlluminaGenotypingArray.wdl +++ b/verification/VerifyIlluminaGenotypingArray.wdl @@ -155,7 +155,7 @@ task CompareFiles { } runtime { - docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4:latest" + docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4@sha256:025124e2f1cf4d29149958f17270596bffe13fc6acca6252977c572dd5ba01bf" disks: "local-disk 10 HDD" memory: "2 GiB" preemptible: 3 @@ -175,7 +175,7 @@ task CompareMetricFilesAsText { } runtime { - docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4:latest" + docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4@sha256:025124e2f1cf4d29149958f17270596bffe13fc6acca6252977c572dd5ba01bf" disks: "local-disk 10 HDD" memory: "2 GiB" preemptible: 3 diff --git a/verification/VerifyJointGenotyping.wdl b/verification/VerifyJointGenotyping.wdl index 8f5c54458b..64311f55ea 100644 --- a/verification/VerifyJointGenotyping.wdl +++ b/verification/VerifyJointGenotyping.wdl @@ -93,7 +93,7 @@ task CompareFingerprints { } runtime { - docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4:latest" + docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4@sha256:025124e2f1cf4d29149958f17270596bffe13fc6acca6252977c572dd5ba01bf" disks: "local-disk 10 HDD" memory: "2 GiB" preemptible: 3 diff --git a/verification/VerifyMetrics.wdl b/verification/VerifyMetrics.wdl index 53a638259a..3baa400998 100644 --- a/verification/VerifyMetrics.wdl +++ b/verification/VerifyMetrics.wdl @@ -58,7 +58,7 @@ task CompareTwoNumbers { } runtime { - docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4:latest" + docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4@sha256:025124e2f1cf4d29149958f17270596bffe13fc6acca6252977c572dd5ba01bf" disks: "local-disk 10 HDD" memory: "3.5 GiB" preemptible: 3 diff --git a/verification/VerifyTasks.wdl b/verification/VerifyTasks.wdl index 547fac62ee..e6be841384 100644 --- a/verification/VerifyTasks.wdl +++ b/verification/VerifyTasks.wdl @@ -19,7 +19,7 @@ task CompareVcfs { } runtime { - docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4:latest" + docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4@sha256:025124e2f1cf4d29149958f17270596bffe13fc6acca6252977c572dd5ba01bf" disks: "local-disk 70 HDD" memory: "32 GiB" preemptible: 3 @@ -49,7 +49,7 @@ task CompareVcfsAllowingQualityDifferences { } runtime { - docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4:latest" + docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4@sha256:025124e2f1cf4d29149958f17270596bffe13fc6acca6252977c572dd5ba01bf" disks: "local-disk 50 HDD" memory: "3 GiB" preemptible: 3 @@ -182,7 +182,7 @@ task CompareTextFiles { } runtime { - docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4:latest" + docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4@sha256:025124e2f1cf4d29149958f17270596bffe13fc6acca6252977c572dd5ba01bf" disks: "local-disk 100 HDD" memory: "50 GiB" preemptible: 3 @@ -210,7 +210,7 @@ task CompareCrams { cmp -i "$test_offset:$truth_offset" ~{test_cram} ~{truth_cram} } runtime { - docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4:latest" + docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4@sha256:025124e2f1cf4d29149958f17270596bffe13fc6acca6252977c572dd5ba01bf" disks: "local-disk " + disk_size_gb + " HDD" memory: "2 GiB" preemptible: 3 @@ -230,7 +230,7 @@ task CompareCrais { cmp <(zcat ~{test_crai} | cut -f1,2,3,5,6) <(zcat ~{truth_crai} | cut -f1,2,3,5,6) } runtime { - docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4:latest" + docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4@sha256:025124e2f1cf4d29149958f17270596bffe13fc6acca6252977c572dd5ba01bf" disks: "local-disk 10 HDD" memory: "2 GiB" preemptible: 3 @@ -320,7 +320,7 @@ task CompareCompressedTextFiles { } runtime { - docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4:latest" + docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4@sha256:025124e2f1cf4d29149958f17270596bffe13fc6acca6252977c572dd5ba01bf" disks: "local-disk " + disk_size + " HDD" memory: "20 GiB" preemptible: 3 @@ -589,7 +589,7 @@ task CompareSnapTextFiles { >>> runtime { - docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4:latest" + docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4@sha256:025124e2f1cf4d29149958f17270596bffe13fc6acca6252977c572dd5ba01bf" disks: "local-disk 50 HDD" memory: "25 GiB" preemptible: 3 diff --git a/verification/VerifyUltimaGenomicsJointGenotyping.wdl b/verification/VerifyUltimaGenomicsJointGenotyping.wdl index 4d2c19a5cc..aa0c6ded02 100644 --- a/verification/VerifyUltimaGenomicsJointGenotyping.wdl +++ b/verification/VerifyUltimaGenomicsJointGenotyping.wdl @@ -79,7 +79,7 @@ task CompareFingerprints { } runtime { - docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4:latest" + docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4@sha256:025124e2f1cf4d29149958f17270596bffe13fc6acca6252977c572dd5ba01bf" disks: "local-disk 10 HDD" memory: "2 GiB" preemptible: 3 diff --git a/verification/VerifyUltimaGenomicsWholeGenomeGermline.wdl b/verification/VerifyUltimaGenomicsWholeGenomeGermline.wdl index c206f04926..bf7cfdfb85 100755 --- a/verification/VerifyUltimaGenomicsWholeGenomeGermline.wdl +++ b/verification/VerifyUltimaGenomicsWholeGenomeGermline.wdl @@ -135,7 +135,7 @@ task CompareGvcfs { } runtime { - docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4:latest" + docker: "gcr.io/gcp-runtimes/ubuntu_16_0_4@sha256:025124e2f1cf4d29149958f17270596bffe13fc6acca6252977c572dd5ba01bf" disks: "local-disk 70 HDD" memory: "2 GiB" preemptible: 3 From 24e27f4d6d9123d100b9a96d197ee3fa1c0665ae Mon Sep 17 00:00:00 2001 From: npetrill Date: Thu, 15 Aug 2024 08:49:43 -0400 Subject: [PATCH 2/3] add firecloud scripts --- scripts/firecloud_api/SubmitAndGetStatus.py | 90 +++++++++++++++++++++ scripts/firecloud_api/getoutputs.py | 53 ++++++++++++ 2 files changed, 143 insertions(+) create mode 100644 scripts/firecloud_api/SubmitAndGetStatus.py create mode 100644 scripts/firecloud_api/getoutputs.py diff --git a/scripts/firecloud_api/SubmitAndGetStatus.py b/scripts/firecloud_api/SubmitAndGetStatus.py new file mode 100644 index 0000000000..3276bf415d --- /dev/null +++ b/scripts/firecloud_api/SubmitAndGetStatus.py @@ -0,0 +1,90 @@ +import requests +import time +import argparse +import json + +def create_submission(token, workspace_namespace, workspace_name, submission_data): + # API endpoint + base_url = f'https://api.firecloud.org/api/workspaces/{workspace_namespace}/{workspace_name}/submissions' + + # Headers to make API requests + headers = { + 'accept': 'application/json', + 'Authorization': f'Bearer {token}', + 'Content-Type': 'application/json' + } + + # Create the submission + # send an HTTP POST request to the API endpoint + response = requests.post(base_url, headers=headers, json=submission_data) + # convert the response json into a dictionary + submission_response = response.json() + # extract the submission ID from the response dictionary + submission_id = submission_response.get("submissionId") + + if not submission_id: + print("Failed to create submission.") + else: + print(f"Submission created with ID: {submission_id}") + return submission_id + +def poll_submission_status(token, workspace_namespace, workspace_name, submission_id): + + # Status endpoint + status_url = f'https://api.firecloud.org/api/workspaces/{workspace_namespace}/{workspace_name}/submissions/{submission_id}' + + # Headers to make API requests + headers = { + 'accept': 'application/json', + 'Authorization': f'Bearer {token}' + } + + # polling the submission status + # create an emptu list to store the previous workflow status + previous_workflow_status = [] + + # loop until the submission is done + while True: + # send a get request and convert the response json into a dictionary + status_response = requests.get(status_url, headers=headers) + status_data = status_response.json() + + # get the submission status + submission_status = status_data.get("status") + # get the workflow status of each workflow in the submission + workflows_status = [workflow.get("status") for workflow in status_data.get("workflows", [])] + + # print the workflow status to stdout if it has changed + if workflows_status != previous_workflow_status: + print(f"Workflows Status: {workflows_status}") + previous_workflow_status = workflows_status + + # Check if the submission has completed + if submission_status == "Done" and "Failed" in workflows_status: + print("At least one workflow has failed.") + break + elif submission_status == "Done": + break + + # Wait for 10 seconds before polling again + time.sleep(10) + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description='Submit and monitor a job.') + parser.add_argument('--token', required=True, help='API access token') + parser.add_argument('--workspace-namespace', required=True, help='Workspace namespace') + parser.add_argument('--workspace-name', required=True, help='Workspace name') + parser.add_argument('--submission-data-file', required=True, help='Path to the JSON file containing submission data') + + args = parser.parse_args() + + # load submission data from JSON file + with open(args.submission_data_file, 'r') as file: + submission_data = json.load(file) + + # create submission and get submission ID + submission_id = create_submission(args.token, args.workspace_namespace, args.workspace_name, submission_data) + + if submission_id: + # Poll submission status + poll_submission_status(args.token, args.workspace_namespace, args.workspace_name, submission_id) diff --git a/scripts/firecloud_api/getoutputs.py b/scripts/firecloud_api/getoutputs.py new file mode 100644 index 0000000000..8970a888d8 --- /dev/null +++ b/scripts/firecloud_api/getoutputs.py @@ -0,0 +1,53 @@ +import requests +import argparse + +def get_workflow_outputs(token, namespace, workspace_name, submission_id, workflow_id, pipeline_name): + # API endpoint to get the workflow outputs + url = f"https://api.firecloud.org/api/workspaces/{namespace}/{workspace_name}/submissions/{submission_id}/workflows/{workflow_id}/outputs" + print(f"Requesting URL: {url}") + + # Headers including the authorization token + headers = { + 'accept': '*/*', + 'Authorization': f'Bearer {token}', + } + + # Make the GET request + response = requests.get(url, headers=headers) + + # Check if the request was successful + if response.status_code == 200: + json_response = response.json() # parse the JSON response + # extract the outputs section using the task name + outputs = json_response.get('tasks', {}).get(pipeline_name, {}).get('outputs', {}) + + # Turn the outputs dictionary into a list of values + output_values = list(outputs.values()) + + return outputs, output_values + else: + print(f"Failed to retrieve workflow outputs. Status code: {response.status_code}") + return None, None + +if __name__ == "__main__": + # Define the command-line arguments + parser = argparse.ArgumentParser(description='Fetch workflow outputs from the API.') + parser.add_argument('--token', required=True, help='Authentication token') + parser.add_argument('--namespace', required=True, help='Workspace namespace') + parser.add_argument('--workspace', required=True, help='Workspace name') + parser.add_argument('--submission_id', required=True, help='Submission ID') + parser.add_argument('--workflow_id', required=True, help='Workflow ID') + parser.add_argument('--pipeline_name', required=True, help='Name of the pipeline') + + # Parse the arguments + args = parser.parse_args() + + # Call the function with the parsed arguments + outputs, output_values = get_workflow_outputs(args.token, args.namespace, args.workspace, args.submission_id, args.workflow_id, args.pipeline_name) + + if outputs: + print("Outputs:") + print(outputs) + + print("\nOutput Values:") + print(output_values) \ No newline at end of file From aace8ab1b7346960eb2431b9ba65f173f546f982 Mon Sep 17 00:00:00 2001 From: npetrill Date: Thu, 15 Aug 2024 10:06:40 -0400 Subject: [PATCH 3/3] add testing scripts --- scripts/firecloud_api/{getoutputs.py => GetWorkflowOutputs.py} | 0 .../{SubmitAndGetStatus.py => SubmitWorkflowAndGetStatus.py} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename scripts/firecloud_api/{getoutputs.py => GetWorkflowOutputs.py} (100%) rename scripts/firecloud_api/{SubmitAndGetStatus.py => SubmitWorkflowAndGetStatus.py} (100%) diff --git a/scripts/firecloud_api/getoutputs.py b/scripts/firecloud_api/GetWorkflowOutputs.py similarity index 100% rename from scripts/firecloud_api/getoutputs.py rename to scripts/firecloud_api/GetWorkflowOutputs.py diff --git a/scripts/firecloud_api/SubmitAndGetStatus.py b/scripts/firecloud_api/SubmitWorkflowAndGetStatus.py similarity index 100% rename from scripts/firecloud_api/SubmitAndGetStatus.py rename to scripts/firecloud_api/SubmitWorkflowAndGetStatus.py