本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
直接上传到 HealthOmics 序列存储
我们建议您使用 HealthOmics 传输管理器将文件添加到序列存储中。有关使用传输管理器的更多信息,请参阅此GitHub存储库
直接上传读取集首先处于PROCESSING_UPLOAD
状态。这意味着文件段当前正在上传,您可以访问读取集元数据。上传分段并验证校验和后,读取集将变为ACTIVE
和行为与导入的读取集相同。
如果直接上传失败,则读取集状态将显示为UPLOAD_FAILED
。您可以将 Amazon S3 存储桶配置为上传失败的文件的备用位置。备用位置可用于 2023 年 5 月 15 日之后创建的序列存储。
使用直接上传到序列存储库 AWS CLI
首先,开始分段上传。您可以使用来执行此操作 AWS CLI,如以下示例所示。
使用 AWS CLI 命令直接上传
通过分隔数据来创建各个部分,如以下示例所示。
split -b 100MiB SRR233106_1.filt.fastq.gz source1_part_
-
将源文件分段后,创建分段读取集上传,如以下示例所示。将和其他参数替换
为您的序列存储 ID 和其他值。sequence store ID
aws omics create-multipart-read-set-upload \ --sequence-store-id
\ --namesequence store ID
\ --source-file-typeupload name
\ --subject-idFASTQ
\ --sample-idsubject ID
\ --description "FASTQ for HG00146"sample ID
\ --generated-from "1000 Genomes""description of upload"
"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" }
-
将您的阅读集添加到上传内容中。如果您的文件足够小,则只需执行一次此步骤即可。对于较大的文件,您可以对文件的每个部分执行此步骤。如果您使用之前使用的分段号上传新分段,则它会覆盖之前上传的分段。
在以下示例中,将
sequence store ID
、和其他参数替换为您的值。upload ID
aws omics upload-read-set-part \ --sequence-store-id
\ --upload-idsequence store ID
\ --part-sourceupload ID
\ --part-numberSOURCE1
\ --payload source1/source1_part_aa.fastq.gzpart number
响应是一个 ID,您可以使用它来验证上传的文件是否与您想要的文件匹配。
{ "checksum": "984979b9928ae8d8622286c4a9cd8e99d964a22d59ed0f5722e1733eb280e635" }
-
如有必要,请继续上传文件的各个部分。要验证您的读取集是否已上传,请使用 list-read-set-upload-par ts API 操作,如下所示。在以下示例中,将
、和sequence store ID
,替换为upload ID
您自己的输入。part source
aws omics list-read-set-upload-parts \ --sequence-store-id
\ --upload-idsequence store ID
\ --part-sourceupload ID
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" } ] }
-
要查看所有活跃的分段读取集上传,请使用 up list-multipart-read-setloads,如下所示。
替换为您自己的序列存储的 ID。sequence store ID
aws omics list-multipart-read-set-uploads --sequence-store-id
sequence store ID
此 API 仅返回正在进行的分段读取集上传。在提取的读取集之后
ACTIVE
,或者如果上传失败,则不会在对 uploads API 的响应中返回上list-multipart-read-set传。要查看活跃的读取集,请使用 list-read-setsAPI。list-multipart-read-set上传的响应示例如下所示。{ "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" } ] }
-
上传文件的所有部分后,使用 complete-multipart-read-set- upload 结束上传过程,如以下示例所示。用您自己的值替换
零件的sequence store ID
、和参数。upload ID
aws omics complete-multipart-read-set-upload \ --sequence-store-id
\ --upload-idsequence store ID
\ --partsupload ID
'[{"checksum":"gaCBQMe+rpCFZxLpoP6gydBoXaKKDA/Vobh5zBDb4W4=","partNumber":1,"partSource":"SOURCE1"}]'
complete-multipart-read-set-uploa d 的响应是您导入的读 IDs 取集的读取集。
{ "readSetId": "0000000001" }
-
要停止上传,请使用带有abort-multipart-read-set上传 ID 的- upload 来结束上传过程。
用您自己的参数值替换upload ID
和。sequence store ID
aws omics abort-multipart-read-set-upload \ --sequence-store-id
\ --upload-idsequence store ID
upload ID
-
上传完成后,使用从读取集中检索数据 get-read-set,如下所示。如果上传仍在处理中,则get-read-set返回有限的元数据,并且生成的索引文件不可用。
用您自己的输入替换和其他参数。sequence store ID
aws omics get-read-set --sequence-store-id
\ --idsequence store ID
\ --fileread set ID
\ --part-number 1SOURCE1
myfile.fastq.gz
-
要检查元数据,包括上传状态,请使用 get-read-set-metadataAPI 操作。
aws omics get-read-set-metadata --sequence-store-id
--idsequence store 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 存储桶策略以授予对 Amazon S3 备用位置的 HealthOmics 写入权限,如以下示例所示:
{ "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": "*" }