View a markdown version of this page

HealthOmics 电子标签和数据来源 - AWS HealthOmics

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

HealthOmics 电子标签和数据来源

HealthOmics ETag(实体标签)是序列存储中摄取内容的哈希值。这简化了数据检索和处理,同时保持了摄取的数据文件的内容完整性。ETag 反映的是对象语义内容的变化,而不是其元数据。指定的读取集类型和算法决定 ETag 的计算方式。ETag 计算不会改变实际文件或基因组数据。当读取集的文件类型架构允许时,序列存储会更新与数据来源相关的字段。

文件具有按位标识和语义标识。按位标识意味着文件的各个位是相同的,而语义标识意味着文件的内容是相同的。语义标识可以捕获文件的内容完整性,因此可以抵御元数据更改和压缩更改。

HealthOmics 序列存储中的读取集在对象的整个生命 compression/decompression 周期中经历周期和数据来源跟踪。在此处理过程中,载入文件的按位标识可能会发生变化,并且预计每次激活文件时都会发生变化;但是,文件的语义标识会保持不变。语义标识被捕获为 HealthOmics 实体标签或 ETag,该标签是在序列存储提取期间计算的,可用作读取集元数据。

当读取集的文件类型架构允许时,序列存储更新字段将与数据来源相关联。对于 uBam、BAM 和 CRAM 文件,标题中会添加一个新的@COComment标签。注释包含序列存储 ID 和摄取时间戳。

亚马逊 S3 eTag

使用 Amazon S3 URI 访问文件时,Amazon S3 API 操作还可能返回 Amazon S3 ETag 和校验和值。Amazon S3 ETag 和校验和值与 HealthOmics ETag 不同,因为它们代表文件的按位标识。要了解有关描述性元数据和对象的更多信息,请参阅 Amazon S3 对象 API 文档。Amazon S3 etag 值可能会随着读取集的每个激活周期而变化,您可以使用它们来验证文件的读取。但是,不要缓存 Amazon S3 ETag 值以在文件生命周期中用于文件身份验证,因为它们不会保持一致。相比之下, HealthOmics ETag 在读取集的整个生命周期中保持一致。

如何 HealthOmics 计算 eTag

ETag 由提取的文件内容的哈希值生成。默认情况下,ETag 算法系列设置为 md5up,但在创建序列存储时可以对其进行不同的配置。计算 ETag 时,会将算法和计算出的哈希值添加到读取集中。支持的文件类型的 MD5 算法如下。

  • Fastq_md5up — 计算未压缩、完整 FASTQ 读取集源的 MD5 哈希值。

  • bam_md5up — 根据链接的引用(如果有)计算 SAM 中表示的未压缩 BAM 或 uBam 读取集源的对齐部分的 MD5 哈希值。

  • cram_md5up — 根据链接的引用,计算 SAM 中表示的未压缩 CRAM 读取集源的对齐部分的 MD5 哈希值。

注意

众所周知,MD5 哈希很容易发生冲突。因此,如果两个不同的文件是为了利用已知冲突而制造的,则它们可能具有相同的 ETag。

SHA256 系列支持以下算法。算法的计算方法如下:

  • Fastq_sha256up — 计算未压缩、完整 FASTQ 读取集源的 SHA-256 哈希值。

  • bam_sha256up — 根据链接的引用(如果有)计算 SAM 中表示的未压缩 BAM 或 uBam 读取集源的对齐部分的 SHA-256 哈希值。

  • cram_sha256up — 根据链接的引 SHA-256 用,计算 SAM 中表示的未压缩 CRAM 读取集源的对齐部分的哈希值。

SHA512 系列支持以下算法。算法的计算方法如下:

  • Fastq_sha512UP — 计算未压缩、完整 FASTQ 读取集源的 SHA-512 哈希值。

  • bam_sha512up — 根据链接的引用(如果有)计算 SAM 中表示的未压缩 BAM 或 uBAM 读取集源的对齐部分的 SHA-512 哈希值。

  • cram_sha512UP — 根据链接的 SHA-512 引用,计算 SAM 中表示的未压缩 CRAM 读取集源的对齐部分的哈希值。