本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Amazon S3 URIs 存取 HealthOmics 讀取集
您可以使用 Amazon S3 URI 路徑來存取作用中的序列存放區讀取集。
透過 Amazon S3 URI 路徑,您可以使用 Amazon S3 操作來列出、共用和下載您的讀取集。透過 S3 APIs存取 可加速協作和工具整合,因為許多產業工具已建置為可從 S3 讀取。此外,您可以與其他 帳戶共用對 S3 APIs存取權,並提供資料的跨區域讀取存取權。
HealthOmics 不支援 Amazon S3 URI 存取封存的讀取集。當您啟用讀取集時,每次都會還原至相同的 URI 路徑。
將資料載入 HealthOmics 存放區時,由於 Amazon S3 URI 是以 Amazon S3 存取點為基礎,因此您可以直接與讀取 Amazon S3 URIs 的業界標準工具整合,如下所示:
-
視覺化分析應用程式,例如 Integrative Genomics Viewer (IGV) 或 UCSC Genome 瀏覽器。
-
具有 Amazon S3 延伸模組的常見工作流程,例如 CWL、WDL 和 Nextflow。
-
任何可以驗證和讀取存取點 Amazon S3 URIs 或讀取預先簽章 Amazon S3 URIs 的工具。
-
Amazon S3 公用程式,例如掛載點或 CloudFront。
Amazon S3 掛載點可讓您使用 Amazon S3 儲存貯體做為本機檔案系統。若要進一步了解掛載點並安裝以供使用,請參閱適用於 Amazon S3 的掛載點
Amazon CloudFront 是一種內容交付網路 (CDN) 服務,專為高效能、安全性和開發人員便利性而打造。若要進一步了解如何使用 Amazon CloudFront,請參閱 Amazon CloudFront 文件。若要使用序列存放區設定 CloudFront,請聯絡 AWS HealthOmics 團隊。
序列存放區字首上的動作 S3:GetObject、S3:GetObjectTagging 和 S3:List 儲存貯體已啟用資料擁有者根帳戶。若要讓帳戶中的使用者存取資料,您可以建立 IAM 政策,並將其連接到使用者或角色。如需政策範例,請參閱 使用 Amazon S3 URIs 存取資料的許可。
您可以在作用中讀取集上使用下列 Amazon S3 API 操作來列出和擷取您的資料。啟用封存的讀取集後,您可以透過 Amazon S3 URIs 存取它們。
-
GetObject - 從 Amazon S3 擷取物件。
-
HeadObject – HEAD 操作會從物件擷取中繼資料,而不會傳回物件本身。如果您只想要物件的中繼資料,此操作很有用。
-
ListObjects 和 ListObject v2 — 傳回儲存貯體中部分或全部 (最多 1,000 個) 的物件。
-
CopyObject — 建立已存放在 Amazon S3 中的物件複本。HealthOmics 支援複製到 Amazon S3 存取點,但不支援寫入存取點。
HealthOmics 序列存放區會透過 ETags 維護檔案的語意身分。在檔案的整個生命週期中,以位元身分為基礎的 Amazon S3 ETag 可能會變更,不過,HealthOmics ETag 會保持不變。如需詳細資訊,請參閱 HealthOmics ETags和資料來源。
主題
HealthOmics 儲存體中的 Amazon S3 URI 結構
具有 Amazon S3 URIs 的所有檔案都有 omics:sampleId
omics:subjectId
和資源標籤。您可以使用這些標籤,透過 等模式使用 IAM 政策來共用存取權"s3:ExistingObjectTag/omics:subjectId": "pattern desired"
。
檔案結構如下:
.../
account_id
/sequenceStore/seq_store_id
/readSet/read_set_id
/files
.
對於從 Amazon S3 匯入序列存放區的檔案,序列存放區會嘗試維護原始來源名稱。當名稱發生衝突時,系統會附加讀取集資訊,以確保檔案名稱是唯一的。例如,對於 fastq 讀取集,如果兩個檔案名稱相同,為了使名稱唯一,sourceX
會在 .fastq.gz 或 .fq.gz 之前插入。對於直接上傳,檔案名稱會遵循下列模式:
-
對於 FASTQ —
read_set_name
_sourcex
.fastq.gz -
對於 uBAM/BAM/CRAM—
read_set_name
.file 副檔
名,副檔名為.bam
或.cram
。例如,NA193948.bam
。
對於 BAM 或 CRAM 的讀取集,索引檔案會在擷取過程中自動產生。對於產生的索引檔案,檔案名稱結尾會套用適當的索引副檔名。它具有模式 <索引所在的來源名稱>.<檔案索引延伸>。
索引延伸為 .bai
或 .crai
。
使用託管或本機 IGV 存取讀取集
IGV 是一種用於分析 BAM 和 CRAM 檔案的基因體瀏覽器。它同時需要 檔案和 索引,因為它一次只會顯示一部分的基因體。IGV 可在本機下載和使用,並有建立 AWS 託管 IGV 的指南。不支援公有 Web 版本,因為它需要 CORS。
本機 IGV 依賴本機 AWS 組態來存取檔案。確定該組態中使用的角色已連接政策,以啟用對所存取讀取集的 s3 URI 的 kms:Decrypt 和 s3:GetObject 許可。之後,在 IGV 中,您可以使用「從 URL 檔案 > 載入」並在 URI 中貼上來源和索引。或者,可以用相同的方式產生和使用預先簽章URLs,這會略過 AWS 組態。請注意,Amazon S3 URI 存取不支援 CORS,因此不支援依賴 CORS 的請求。
AWS 託管 IGV 範例依賴 AWS Cognito 在環境中建立正確的組態和許可。確保已建立政策以啟用 Amazon S3 URI 的 Amazon S3 URI:Decrypt 和 s3:GetObject 許可,並將此政策新增至指派給 Cognito 使用者集區的角色。之後,在 IGV 中,您可以使用「從 URL 檔案 > 載入」,然後在 URI 中輸入來源和索引。或者,可以用相同的方式產生和使用預先簽章URLs,這會略過 AWS 組態。
請注意,序列存放區不會出現在「Amazon」索引標籤下,因為 只會顯示您在設定 AWS 設定檔的區域中擁有的儲存貯體。
在 HealthOmics 中使用 Samtools 或 HTSlib
HTSlib 是由多種工具共用的核心程式庫,例如 Samtools、rSamtools、PySam 等。使用 HTSlib 1.20 版或更新版本,取得 Amazon S3 存取點的無縫支援。對於較舊版本的 HTSlib 程式庫,您可以使用下列解決方法:
-
使用 設定 HTS Amazon S3 主機的環境變數:
export HTS_S3_HOST="s3.
。region
.amazonaws.com" -
為您要使用的檔案產生預先簽章的 URL。如果使用 BAM 或 CRAM,請確保為檔案和索引產生預先簽章的 URL。之後,這兩個檔案都可以與程式庫搭配使用。
-
使用掛載點,在您使用 HTSlib 程式庫的相同環境中掛載序列存放區或讀取集字首。從這裡,可以使用本機檔案路徑存取檔案。
使用掛載點 HealthOmics
Amazon S3 掛載點是簡單的高輸送量檔案用戶端,可將 Amazon S3 儲存貯體掛載為本機檔案系統
您可以使用掛載點安裝指示來安裝掛載點
mount-s3
access point arn
--prefix
local path to mount
--region
prefix to sequence store or read set
region
搭配 HealthOmics 使用 CloudFront
Amazon CloudFront 是一種內容交付網路 (CDN) 服務,專為高效能、安全性和開發人員便利性而打造。想要使用 CloudFront 的客戶必須與 Service 團隊合作,以開啟 CloudFront 分佈。與您的客戶團隊合作,讓 HealthOmics 服務團隊參與。