View a markdown version of this page

HealthOmics 워크플로 정의 패키징 및 제공 - AWS HealthOmics

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

HealthOmics 워크플로 정의 패키징 및 제공

워크플로 또는 워크플로 버전을 생성할 때 요청과 함께 보내는 ZIP 아카이브, Amazon S3의 ZIP 아카이브 또는 Git 기반 리포지토리 등 정확히 하나의 소스에서 정의를 제공합니다. 둘 이상의 정의 소스가 포함된 요청은 실패합니다. 이 주제의 파라미터는 CreateWorkflow 및 CreateWorkflowVersion 작업 모두에 적용됩니다. 전체 절차는 프라이빗 워크플로 생성 및 단원을 참조하십시오워크플로 버전 생성.

참고

HealthOmics는 워크플로를 생성할 때 일부 워크플로 정의를 린트합니다. 린트가 있는 엔진, 조사 결과가 워크플로를 차단하는지 여부 및 읽는 방법은 섹션을 참조하세요HealthOmics의 워크플로 린터.

워크플로 정의 소스 선택

이 소스 사용 API 파라미터 최대 크기 AWS CLI 플래그
로컬 시스템의 ZIP 아카이브입니다. definitionZip 4.4MB --definition-zip fileb://my-definition.zip
Amazon S3 버킷의 ZIP 아카이브입니다. 버킷은 워크플로와 동일한 AWS 리전에 있어야 합니다. definitionUri 100MB --definition-uri s3://amzn-s3-demo-bucket1/my-definition.zip
a AWS CodeConnections 연결을 통해 지원되는 Git 기반 리포지토리입니다. definitionRepository 1GiB 리포지토리, 파일당 100MiB --definition-repository JSON 값이 있는

추가 고려 사항:

  • 이러한 크기 할당량은 늘릴 수 없습니다. 자세한 내용은 HealthOmics 워크플로 고정 크기 할당량 섹션을 참조하세요.

  • 계정이 정의를 보유한 Amazon S3 버킷을 소유하지 않은 경우 workflowBucketOwnerId ()에 버킷 소유자의 AWS 계정 ID를 입력합니다--workflow-bucket-owner-id.

  • definitionRepository를 사용하면 HealthOmics는 리포지토리에서 정의 파일을 읽고, main, parameterTemplatePath및 readmePath는 아카이브가 아닌 리포지토리 내의 경로입니다. definitionRepository 필드에 대한 자세한 내용은 단원을 참조하십시오Git 기반 리포지토리에서 워크플로 정의 사용. 연결 설정 및 지원되는 공급자에 대한 자세한 내용은 섹션을 참조하세요Git 기반 리포지토리와 HealthOmics 워크플로 통합.

ZIP 아카이브 레이아웃 및 기본 정의 파일

하위 워크플로, nextflow.config및 bin 스크립트와 같이 기본 정의가 가져오는 모든 파일을 포함합니다.

정의 파일은 확장자가 , .wdl .nf또는와 같이 지원되는 엔진과 일치하는 파일입니다.cwl. 를 생략하면 main HealthOmics는 아카이브의 루트에 가장 가까운 정의 파일에서 이를 선택합니다. 숨겨진 파일과 폴더를 무시하고 아카이브에서 더 깊이 있는 정의 파일을 무시합니다. 아카이브에 하나의 엔진 정의 파일이 있거나를 설정했기 때문에 자동 선택에는 단일 엔진도 필요합니다engine. 해당 가장 가까운 수준의 파일:

  • 정의 파일이 정확히 하나 있는 경우 HealthOmics는 이름이 무엇이든 해당 파일을 사용합니다.

  • 여러 개가 있는 경우 HealthOmics는 , main.wdl main.nf또는 라는 이름을 사용합니다main.cwl.

두 경우 HealthOmics가 아카이브를 확인할 수 없습니다. 요청 자체가 성공하고 워크플로 또는 워크플로 버전이에서 시작CREATING되지만 로 이동FAILED하고 상태 메시지가 이유를 제공합니다.

  • Zip file contains multiple workflow definition types - 아카이브에는 둘 이상의 엔진에 대한 정의 파일이 있으며를 설정하지 않았습니다engine. 이는를 설정했는지 여부에 관계없이 적용됩니다main. 를 설정engine하거나 다른 엔진의 파일을 제거합니다. HealthOmics는 두 사례가 모두 적용될 때이 이유를 먼저 보고합니다.

  • Zip file contains multiple top-level workflow definition files -를 생략했고main, 여러 정의 파일이 가장 가까운 수준에 있으며, 그 중 정확히 하나가 main.wdl, main.nf또는 라는 이름은 아닙니다main.cwl. main를 원하는 경로로 설정합니다.

기본 정의 파일을 직접 선택하려면 아카이브의 루트를 기준으로 main (--main)를 경로로 설정합니다. 경로는 최대 128자입니다.

예를 들어 기본 정의 파일이 인 아카이브의 경우workflow-definition/main-file.wdl:

--main workflow-definition/main-file.wdl

두 개 이상의 엔진 정의 파일을 포함하는 아카이브를 확인하거나 WDL lenient 엔진을 사용하려면 engine (--engine)를 설정하여 엔진 이름을 직접 지정합니다.

다음 레이아웃이 있는 로컬 시스템의 워크플로 폴더를 고려합니다.

my-workflow/ main.wdl tasks/align.wdl tasks/call-variants.wdl

main.wdl 및 폴더가 아카이브의 루트에 위치하도록 해당 tasks 폴더 내부에서 아카이브를 생성합니다. 다음 명령은 복제된 리포지토리의 폴더와 같은 숨겨진 파일 및 .git 폴더도 추가합니다. 이러한 값은 정의 크기에 포함되므로, 예를 들어 에서는 필요하지 않은 항목은 제외합니다. -x '.*' -x '*/.*'

cd my-workflow zip -r ../my-definition.zip . cd ..

main.wdl는 이제 아카이브의 루트에 있는 유일한 정의 파일이므로를 생략할 수 있습니다main.

main.wdl tasks/align.wdl tasks/call-variants.wdl

아카이브를 인라인으로 또는 Amazon S3를 통해 전송

definitionZip는 이진 파라미터입니다. 를 사용할 때 fileb:// 접두사와 함께 아카이브를 AWS CLI전달하면가 파일을 AWS CLI 읽고 인코딩합니다. AWS SDKs는 인코딩을 자동으로 수행합니다. HTTP를 통해 직접 API를 호출하는 경우 아카이브를 base64로 인코딩된 문자열로 전송합니다.

다음 예제의 파라미터 템플릿은 선택 사항입니다. 이를 생략하면 HealthOmics는 워크플로 정의에서 실행 파라미터를 도출합니다. 자세한 내용은 HealthOmics 워크플로용 파라미터 템플릿 파일 섹션을 참조하세요.

다음 AWS CLI 예제에서는 요청과 함께 ZIP 아카이브를 전송하여 워크플로를 생성합니다. 각 값을 기울임꼴로 바꿉니다.

aws omics create-workflow \ --name my-workflow-name \ --definition-zip fileb://my-definition.zip \ --parameter-template file://my-parameter-template.json

의 definitionZip 제한보다 큰 아카이브의 경우 워크플로와 동일한 리전의 Amazon S3 버킷에 워크플로 정의 소스 선택업로드하고 definitionUri 대신를 사용합니다. 각 값을 기울임꼴로 바꾸고 버킷을 자체 값으로 바꿉니다.

aws s3 cp my-definition.zip s3://amzn-s3-demo-bucket1/my-definition.zip aws omics create-workflow \ --name my-workflow-name \ --definition-uri s3://amzn-s3-demo-bucket1/my-definition.zip \ --parameter-template file://my-parameter-template.json

기본 실행 스토리지 설정

대부분의 워크플로에는 동적 실행 스토리지를 사용하는 것이 좋습니다. 다음 경우 중 하나에서 정적 실행 스토리지를 선택합니다.

  • 워크플로는 9.6TiB 이상의 데이터를 사용하며, 작업은 높은 지속 I/O의 이점을 누릴 수 있습니다.

  • 100개 이상의 분산 태스크가 공유 실행 스토리지에서 한 번에 읽습니다.

처리량 특성과 정적 실행 스토리지의 크기를 조정하는 방법을 포함하여 각 실행 스토리지 유형에 대한 자세한 내용은 HealthOmics 워크플로에서 스토리지 유형 실행 및 섹션을 참조하세요프라이빗 HealthOmics 워크플로에 대한 최적화 실행.

storageType (--storage-type) 및 storageCapacity (--storage-capacity) 파라미터는 워크플로를 사용하는 실행의 기본값을 설정합니다. 에 설명된 대로 런타임에 둘 다 재정의할 수 있습니다HealthOmics에서 실행 시작. 다음과 같이 페어링합니다.

  • storageType / DYNAMIC - HealthOmics는 파일 시스템 사용률에 따라 실행 스토리지를 확장 및 축소합니다. 를 설정하지 마십시오storageCapacity. 이렇게 하면 요청이 실패합니다.는 CreateWorkflow You cannot set the storage capacity for workflows that use DYNAMIC run storage type를 보고하고는를 CreateWorkflowVersion 보고합니다You cannot set the storage capacity for workflow version that use DYNAMIC run storage type.

  • storageType의 STATIC - HealthOmics는 고정된 양의 실행 스토리지를 할당하므로 GiBstorageCapacity로 도 설정합니다. 워크플로도 실행도 용량을 지정하지 않으면 실행은 1,200GiB를 사용합니다. 최대값은 계정당 한도입니다. HealthOmics는 정적 실행 스토리지를 1,200GiB 또는 2,400GiB의 배수로만 프로비저닝하고 다른 모든 값을 지원되는 다음 크기로 반올림합니다. 예를 들어 HealthOmics는 1,200GiB 미만의 용량에 대해 1,200GiB를 프로비저닝합니다.

다음 예제에서는 기본 실행 스토리지를 1,200GiB의 정적 스토리지로 설정합니다.

aws omics create-workflow \ --name my-workflow-name \ --definition-zip fileb://my-definition.zip \ --storage-type STATIC \ --storage-capacity 1200