#!/usr/bin/env cwl-runner # # Prediction file challenge workflow # Inputs: # submissionId: Submission ID to run this workflow on # adminUploadSynId: Synapse ID of Folder accessible by admin user/team # submitterUploadSynId: Synapse ID of Folder accessible by submitter # workflowSynapseId: Synapse ID of File that links to workflow archive # synapseConfig: filepath to .synapseConfig file cwlVersion: v1.0 class: Workflow requirements: - class: StepInputExpressionRequirement inputs: - id: submissionId type: int - id: adminUploadSynId type: string - id: submitterUploadSynId type: string - id: workflowSynapseId type: string - id: synapseConfig type: File # No output; everything is uploaded to Synapse. outputs: [] steps: set_submitter_folder_permissions: run: https://raw.githubusercontent.com/Sage-Bionetworks/ChallengeWorkflowTemplates/v3.1/cwl/set_permissions.cwl in: - id: entityid source: "#submitterUploadSynId" - id: principalid valueFrom: "3427583" - id: permissions valueFrom: "download" - id: synapse_config source: "#synapseConfig" out: [] download_submission: run: https://raw.githubusercontent.com/Sage-Bionetworks/ChallengeWorkflowTemplates/v3.1/cwl/get_submission.cwl in: - id: submissionid source: "#submissionId" - id: synapse_config source: "#synapseConfig" out: - id: filepath - id: docker_repository - id: docker_digest - id: entity_id - id: entity_type - id: results download_goldstandard: run: https://raw.githubusercontent.com/Sage-Bionetworks-Workflows/cwl-tool-synapseclient/v1.4/cwl/synapse-get-tool.cwl in: - id: synapseid valueFrom: "syn26017031" - id: synapse_config source: "#synapseConfig" out: - id: filepath validate: run: steps/validate.cwl in: - id: input_file source: "#download_submission/filepath" - id: goldstandard source: "#download_goldstandard/filepath" - id: entity_type source: "#download_submission/entity_type" out: - id: results - id: status - id: invalid_reasons email_validation: run: https://raw.githubusercontent.com/Sage-Bionetworks/ChallengeWorkflowTemplates/v3.1/cwl/validate_email.cwl in: - id: submissionid source: "#submissionId" - id: synapse_config source: "#synapseConfig" - id: status source: "#validate/status" - id: invalid_reasons source: "#validate/invalid_reasons" # OPTIONAL: set `default` to `false` if email notification about valid submission is needed - id: errors_only default: true out: [finished] annotate_validation_with_output: run: https://raw.githubusercontent.com/Sage-Bionetworks/ChallengeWorkflowTemplates/v3.1/cwl/annotate_submission.cwl in: - id: submissionid source: "#submissionId" - id: annotation_values source: "#validate/results" - id: to_public default: true - id: force default: true - id: synapse_config source: "#synapseConfig" out: [finished] check_status: run: https://raw.githubusercontent.com/Sage-Bionetworks/ChallengeWorkflowTemplates/v3.1/cwl/check_status.cwl in: - id: status source: "#validate/status" - id: previous_annotation_finished source: "#annotate_validation_with_output/finished" - id: previous_email_finished source: "#email_validation/finished" out: [finished] score: run: steps/score.cwl in: - id: parent_id source: "#submitterUploadSynId" - id: synapse_config source: "#synapseConfig" - id: input_file source: "#download_submission/filepath" - id: goldstandard source: "#download_goldstandard/filepath" - id: check_validation_finished source: "#check_status/finished" out: - id: results - id: status email_score: run: steps/score_email.cwl in: - id: submissionid source: "#submissionId" - id: synapse_config source: "#synapseConfig" - id: results source: "#score/results" # OPTIONAL: add annotations to be withheld from participants to `[]` # - id: private_annotations # default: [] out: [finished] annotate_submission_with_output: run: https://raw.githubusercontent.com/Sage-Bionetworks/ChallengeWorkflowTemplates/v3.1/cwl/annotate_submission.cwl in: - id: submissionid source: "#submissionId" - id: annotation_values source: "#score/results" - id: to_public default: true - id: force default: true - id: synapse_config source: "#synapseConfig" - id: previous_annotation_finished source: "#annotate_validation_with_output/finished" out: [finished] check_final_status: run: https://raw.githubusercontent.com/Sage-Bionetworks/ChallengeWorkflowTemplates/v3.1/cwl/check_status.cwl in: - id: status source: "#score/status" - id: previous_annotation_finished source: "#annotate_submission_with_output/finished" - id: previous_email_finished source: "#email_score/finished" out: [finished]