HealthOmics 시퀀스 스토어에 직접 업로드 - AWS HealthOmics

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

HealthOmics 시퀀스 스토어에 직접 업로드

HealthOmics Transfer Manager를 사용하여 시퀀스 스토어에 파일을 추가하는 것이 좋습니다. Transfer Manager 사용에 대한 자세한 내용은이 GitHub 리포지토리를 참조하세요. 직접 업로드 API 작업을 통해 읽기 세트를 시퀀스 스토어에 직접 업로드할 수도 있습니다.

직접 업로드 읽기 세트는 먼저 PROCESSING_UPLOAD 상태로 존재합니다. 즉, 파일 부분이 현재 업로드 중이며 읽기 세트 메타데이터에 액세스할 수 있습니다. 파트가 업로드되고 체크섬이 검증되면 읽기 세트는 가져온 읽기 세트ACTIVE와 동일하게 되고 동작합니다.

직접 업로드에 실패하면 읽기 세트 상태가 로 표시됩니다UPLOAD_FAILED. Amazon S3 버킷을 업로드에 실패한 파일의 대체 위치로 구성할 수 있습니다. 폴백 위치는 2023년 5월 15일 이후에 생성된 시퀀스 스토어에 사용할 수 있습니다.

를 사용하여 시퀀스 스토어에 직접 업로드 AWS CLI

시작하려면 멀티파트 업로드를 시작합니다. 다음 예제와 AWS CLI같이를 사용하여이 작업을 수행할 수 있습니다.

AWS CLI 명령을 사용하여 직접 업로드하려면
  1. 다음 예제와 같이 데이터를 분리하여 부분을 생성합니다.

    split -b 100MiB SRR233106_1.filt.fastq.gz source1_part_
  2. 소스 파일이 여러 부분으로 구성된 후 다음 예제와 같이 멀티파트 읽기 세트 업로드를 생성합니다. sequence store ID 및 기타 파라미터를 시퀀스 스토어 ID 및 기타 값으로 바꿉니다.

    aws omics create-multipart-read-set-upload \ --sequence-store-id sequence store ID \ --name upload name \ --source-file-type FASTQ \ --subject-id subject ID \ --sample-id sample ID \ --description "FASTQ for HG00146" "description of upload" \ --generated-from "1000 Genomes""source of imported files"

    응답에서 uploadID 및 기타 메타데이터를 가져옵니다. 업로드 프로세스의 다음 단계에 uploadID를 사용합니다.

    { "sequenceStoreId": "1504776472", "uploadId": "7640892890", "sourceFileType": "FASTQ", "subjectId": "mySubject", "sampleId": "mySample", "generatedFrom": "1000 Genomes", "name": "HG00146", "description": "FASTQ for HG00146", "creationTime": "2023-11-20T23:40:47.437522+00:00" }
  3. 업로드에 읽기 세트를 추가합니다. 파일이 충분히 작으면이 단계를 한 번만 수행하면 됩니다. 더 큰 파일의 경우 파일의 각 부분에 대해이 단계를 수행합니다. 이전에 사용한 파트 번호를 사용하여 새 파트를 업로드하면 이전에 업로드한 파트를 덮어씁니다.

    다음 예제에서는 , sequence store ID upload ID및 기타 파라미터를 값으로 바꿉니다.

    aws omics upload-read-set-part \ --sequence-store-id sequence store ID \ --upload-id upload ID \ --part-source SOURCE1 \ --part-number part number \ --payload source1/source1_part_aa.fastq.gz

    응답은 업로드된 파일이 의도한 파일과 일치하는지 확인하는 데 사용할 수 있는 ID입니다.

    { "checksum": "984979b9928ae8d8622286c4a9cd8e99d964a22d59ed0f5722e1733eb280e635" }
  4. 필요한 경우 파일의 부분을 계속 업로드합니다. 읽기 세트가 업로드되었는지 확인하려면 다음과 같이 list-read-set-upload-parts API 작업을 사용합니다. 다음 예제에서는 , upload IDsequence store ID 를 자체 입력part source으로 바꿉니다.

    aws omics list-read-set-upload-parts \ --sequence-store-id sequence store ID \ --upload-id upload ID \ --part-source SOURCE1

    응답은 가장 최근에 업데이트된 시점의 읽기 세트 수, 크기 및 타임스탬프를 반환합니다.

    { "parts": [ { "partNumber": 1, "partSize": 104857600, "partSource": "SOURCE1", "checksum": "MVMQk+vB9C3Ge8ADHkbKq752n3BCUzyl41qEkqlOD5M=", "creationTime": "2023-11-20T23:58:03.500823+00:00", "lastUpdatedTime": "2023-11-20T23:58:03.500831+00:00" }, { "partNumber": 2, "partSize": 104857600, "partSource": "SOURCE1", "checksum": "keZzVzJNChAqgOdZMvOmjBwrOPM0enPj1UAfs0nvRto=", "creationTime": "2023-11-21T00:02:03.813013+00:00", "lastUpdatedTime": "2023-11-21T00:02:03.813025+00:00" }, { "partNumber": 3, "partSize": 100339539, "partSource": "SOURCE1", "checksum": "TBkNfMsaeDpXzEf3ldlbi0ipFDPaohKHyZ+LF1J4CHk=", "creationTime": "2023-11-21T00:09:11.705198+00:00", "lastUpdatedTime": "2023-11-21T00:09:11.705208+00:00" } ] }
  5. 모든 활성 멀티파트 읽기 세트 업로드를 보려면 다음과 같이 list-multipart-read-set-uploads를 사용합니다. 를 자체 시퀀스 스토어의 IDsequence store ID로 바꿉니다.

    aws omics list-multipart-read-set-uploads --sequence-store-id sequence store ID

    이 API는 진행 중인 멀티파트 읽기 세트 업로드만 반환합니다. 수집된 읽기 세트가 이거나 업로드에 실패한 ACTIVE경우 list-multipart-read-set-uploads API에 대한 응답으로 업로드가 반환되지 않습니다. 활성 읽기 세트를 보려면 list-read-sets API를 사용합니다. list-multipart-read-set-uploads에 대한 예제 응답은 다음과 같습니다.

    { "uploads": [ { "sequenceStoreId": "1234567890", "uploadId": "8749584421", "sourceFileType": "FASTQ", "subjectId": "mySubject", "sampleId": "mySample", "generatedFrom": "1000 Genomes", "name": "HG00146", "description": "FASTQ for HG00146", "creationTime": "2023-11-29T19:22:51.349298+00:00" }, { "sequenceStoreId": "1234567890", "uploadId": "5290538638", "sourceFileType": "BAM", "subjectId": "mySubject", "sampleId": "mySample", "generatedFrom": "1000 Genomes", "referenceArn": "arn:aws:omics:us-west-2:123456789012:referenceStore/8168613728/reference/2190697383", "name": "HG00146", "description": "BAM for HG00146", "creationTime": "2023-11-29T19:23:33.116516+00:00" }, { "sequenceStoreId": "1234567890", "uploadId": "4174220862", "sourceFileType": "BAM", "subjectId": "mySubject", "sampleId": "mySample", "generatedFrom": "1000 Genomes", "referenceArn": "arn:aws:omics:us-west-2:123456789012:referenceStore/8168613728/reference/2190697383", "name": "HG00147", "description": "BAM for HG00147", "creationTime": "2023-11-29T19:23:47.007866+00:00" } ] }
  6. 파일의 모든 부분을 업로드한 후 다음 예제와 같이 complete-multipart-read-set-upload를 사용하여 업로드 프로세스를 완료합니다. 파트의 sequence store IDupload ID, 및 파라미터를 고유한 값으로 바꿉니다.

    aws omics complete-multipart-read-set-upload \ --sequence-store-id sequence store ID \ --upload-id upload ID \ --parts '[{"checksum":"gaCBQMe+rpCFZxLpoP6gydBoXaKKDA/Vobh5zBDb4W4=","partNumber":1,"partSource":"SOURCE1"}]'

    complete-multipart-read-set-upload에 대한 응답은 가져온 읽기 세트의 읽기 세트 IDs입니다.

    { "readSetId": "0000000001" }
  7. 업로드를 중지하려면 업로드 ID와 함께 abort-multipart-read-set-upload를 사용하여 업로드 프로세스를 종료합니다. sequence store IDupload ID를 고유한 파라미터 값으로 바꿉니다.

    aws omics abort-multipart-read-set-upload \ --sequence-store-id sequence store ID \ --upload-id upload ID
  8. 업로드가 완료되면 다음과 같이 get-read-set를 사용하여 읽기 세트에서 데이터를 검색합니다. 업로드가 아직 처리 중인 경우 get-read-set는 제한된 메타데이터를 반환하고 생성된 인덱스 파일은 사용할 수 없습니다. sequence store ID 및 기타 파라미터를 자체 입력으로 바꿉니다.

    aws omics get-read-set --sequence-store-id sequence store ID \ --id read set ID \ --file SOURCE1 \ --part-number 1 myfile.fastq.gz
  9. 업로드 상태를 포함한 메타데이터를 확인하려면 get-read-set-metadata API 작업을 사용합니다.

    aws omics get-read-set-metadata --sequence-store-id sequence store ID --id read set ID

    응답에는 파일 유형, 참조 ARN, 파일 수, 시퀀스 길이와 같은 메타데이터 세부 정보가 포함됩니다. 여기에는 상태도 포함됩니다. 가능한 상태는 PROCESSING_UPLOAD, ACTIVE및 입니다UPLOAD_FAILED.

    { "id": "0000000001", "arn": "arn:aws:omics:us-west-2:555555555555:sequenceStore/0123456789/readSet/0000000001", "sequenceStoreId": "0123456789", "subjectId": "mySubject", "sampleId": "mySample", "status": "PROCESSING_UPLOAD", "name": "HG00146", "description": "FASTQ for HG00146", "fileType": "FASTQ", "creationTime": "2022-07-13T23:25:20Z", "files": { "source1": { "totalParts": 5, "partSize": 123456789012, "contentLength": 6836725, }, "source2": { "totalParts": 5, "partSize": 123456789056, "contentLength": 6836726 } }, 'creationType": "UPLOAD" }

대체 위치 구성

시퀀스 스토어를 생성하거나 업데이트할 때 Amazon S3 버킷을 업로드에 실패한 파일의 대체 위치로 구성할 수 있습니다. 이러한 읽기 세트의 파일 부분은 대체 위치로 전송됩니다. 폴백 위치는 2023년 5월 15일 이후에 생성된 시퀀스 스토어에 사용할 수 있습니다.

다음 예제와 같이 Amazon S3 버킷 정책을 생성하여 HealthOmics에 Amazon S3 폴백 위치에 대한 쓰기 액세스 권한을 부여합니다.

{ "Effect": "Allow", "Principal": { "Service": "omics.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" }

폴백 또는 액세스 로그용 Amazon S3 버킷이 고객 관리형 키를 사용하는 경우 키 정책에 다음 권한을 추가합니다.

{ "Sid": "Allow use of key", "Effect": "Allow", "Principal": { "Service": "omics.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*" ], "Resource": "*" }