HealthOmics ETags和資料來源 - AWS HealthOmics

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

HealthOmics ETags和資料來源

HealthOmics ETag (實體標籤) 是序列存放區中擷取內容的雜湊。這可簡化資料擷取和處理,同時維持擷取資料檔案的內容完整性。ETag 會反映物件語意內容的變更,而非其中繼資料。指定的讀取集類型和演算法決定如何計算 ETag。ETag 計算不會改變實際的檔案或基因體資料。當讀取集的檔案類型結構描述允許時,序列存放區會更新連結至資料來源的欄位。

檔案具有位元身分和語意身分。位元身分表示檔案的位元相同,語意身分表示檔案的內容相同。語意身分在擷取檔案的內容完整性時,對中繼資料變更和壓縮變更具有彈性。

HealthOmics 序列存放區中的讀取集會在整個物件的生命週期進行壓縮/解壓縮週期和資料來源追蹤。在此處理期間,擷取檔案的位元身分可能會變更,並預期每次啟動檔案時都會變更;不過,會維護檔案的語意身分。語意身分會擷取為 HealthOmics 實體標籤,或在序列存放區擷取期間計算的 ETag,並以讀取集中繼資料的形式提供。

當讀取集的檔案類型結構描述允許時,序列存放區更新欄位會連結至資料來源。對於 uBAM、BAM 和 CRAM 檔案,新的 @COComment標籤會新增至 標頭。註解包含序列存放區 ID 和擷取時間戳記。

Amazon S3 ETags

使用 Amazon S3 URI 存取檔案時,Amazon S3 API 操作也可能傳回 Amazon S3 ETag 和檢查總和值。Amazon S3 ETag 和檢查總和值與 HealthOmics ETags 不同,因為它們代表檔案的位元身分。若要進一步了解描述性中繼資料和物件,請參閱 Amazon S3 物件 API 文件。Amazon S3 ETag 值可能會隨著讀取集的每個啟用週期而變更,您可以使用它們來驗證檔案的讀取。不過,請勿快取用於檔案生命週期內檔案身分驗證的 Amazon S3 ETag 值,因為這些值無法保持一致。相反地,HealthOmics ETag 在整個讀取集的生命週期中保持一致。

HealthOmics 如何計算 ETags

ETag 是從擷取檔案內容的雜湊產生。ETag 演算法系列預設為 MD5up,但可以在序列存放區建立期間以不同方式設定。計算 ETag 時,演算法和計算的雜湊會新增至讀取集。檔案類型支援的 MD5 演算法如下所示。

  • FASTQ_MD5up – 計算未壓縮、完整 FASTQ 讀取集來源的 MD5 雜湊。

  • BAM_MD5up – 計算未壓縮 BAM 或 uBAM 讀取集來源的對齊區段的 MD5 雜湊,如 SAM 所示,如果有連結的參考可用的話。

  • CRAM_MD5up – 根據連結的參考,計算未壓縮 CRAM 讀取集來源之對齊區段的 MD5 雜湊,如 SAM 中所表示。

注意

已知 MD5 雜湊容易遭受碰撞。因此,如果兩個不同的檔案為了利用已知的碰撞而製造,則可能具有相同的 ETag。

SHA256 系列支援下列演算法。演算法的計算方式如下:

  • FASTQ_SHA256up – 計算未壓縮、完整 FASTQ 讀取集來源的 SHA-256 雜湊。

  • BAM_SHA256up – 計算未壓縮 BAM 或 uBAM 讀取集來源的對齊區段的 SHA-256 雜湊,如 SAM 所示,如果可用,則根據連結的參考。

  • CRAM_SHA256up – 根據連結的參考,計算未壓縮 CRAM 讀取集來源之對齊區段的 SHA-256 雜湊,如 SAM 所示。

SHA512 系列支援下列演算法。演算法的計算方式如下:

  • FASTQ_SHA512up – 計算未壓縮、完整 FASTQ 讀取集來源的 SHA-512 雜湊。

  • BAM_SHA512up – 計算未壓縮 BAM 或 uBAM 讀取集來源的對齊區段的 SHA-512 雜湊,如 SAM 所示,如果可用,則根據連結的參考。

  • CRAM_SHA512up – 根據連結的參考,計算未壓縮 CRAM 讀取集來源之對齊區段的 SHA-512 雜湊,如 SAM 所示。