View a markdown version of this page

Accesso ai set di HealthOmics lettura con gli URI di Amazon S3 - AWS HealthOmics

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Accesso ai set di HealthOmics lettura con gli URI di Amazon S3

Puoi utilizzare i percorsi URI di Amazon S3 per accedere ai set di lettura del tuo archivio di sequenze attive.

Con il percorso URI di Amazon S3, puoi utilizzare le operazioni di Amazon S3 per elencare, condividere e scaricare i tuoi set di lettura. L'accesso tramite le API S3 accelera la collaborazione e l'integrazione degli strumenti, dato che molti strumenti del settore sono già stati creati per leggere da S3. Inoltre, puoi condividere l'accesso alle API S3 con altri account e fornire l'accesso in lettura ai dati in più regioni.

HealthOmics non supporta l'accesso URI di Amazon S3 ai set di lettura archiviati. Quando attivi un set di lettura, viene ripristinato ogni volta sullo stesso percorso URI.

Con i dati caricati negli HealthOmics store, poiché l'URI di Amazon S3 è basato sui punti di accesso Amazon S3, puoi integrarli direttamente con strumenti standard del settore che leggono gli URI di Amazon S3, come i seguenti:

  • Applicazioni di analisi visiva come Integrative Genomics Viewer (IGV) o UCSC Genome Browser.

  • Flussi di lavoro comuni con estensioni Amazon S3 come CWL, WDL e Nextflow.

  • Qualsiasi strumento in grado di autenticare e leggere gli URI Amazon S3 dei punti di accesso o gli URI Amazon S3 prefirmati.

  • Utilità Amazon S3 come Mountpoint o. CloudFront

Amazon S3 Mountpoint consente di utilizzare un bucket Amazon S3 come file system locale. Per saperne di più su Mountpoint e per installarlo per l'uso, consulta Mountpoint per Amazon S3.

Amazon CloudFront è un servizio di rete di distribuzione di contenuti (CDN) creato per alte prestazioni, sicurezza e comodità per gli sviluppatori. Per saperne di più sull'uso di Amazon CloudFront, consulta la CloudFront documentazione di Amazon. Per configurare un archivio CloudFront di sequenze, contatta il AWS HealthOmics team.

L'account root del proprietario dei dati è abilitato per le azioni S3:GetObject e S3:List Bucket nel prefisso dell'archivio delle sequenze. S3:GetObjectTagging Per consentire a un utente dell'account di accedere ai dati, è necessario creare una policy IAM e allegarla all'utente o al ruolo. Per un esempio di policy, consulta Autorizzazioni per l'accesso ai dati tramite Amazon S3 URIs.

Puoi utilizzare le seguenti operazioni API di Amazon S3 sui set di lettura attivi per elencare e recuperare i tuoi dati. Puoi accedere ai set di lettura archiviati tramite gli URI di Amazon S3 dopo che sono stati attivati.

  • GetObject— Recupera un oggetto da Amazon S3.

  • HeadObject— L'operazione HEAD recupera i metadati da un oggetto senza restituire l'oggetto stesso. Questa operazione è utile se si desiderano solo i metadati di un oggetto.

  • ListObjects e ListObject v2 — Restituisce alcuni o tutti (fino a 1.000) gli oggetti in un bucket.

  • CopyObject— Crea una copia di un oggetto già archiviato in Amazon S3. HealthOmicssupporta la copia su un punto di accesso Amazon S3, ma non la scrittura su un punto di accesso.

HealthOmics gli archivi di sequenze mantengono l'identità semantica dei file tramite ETags. Durante il ciclo di vita di un file, l'eTag di Amazon S3, che si basa sull'identità bit per bit, può cambiare, tuttavia l'ETag rimane lo stesso. HealthOmics Per ulteriori informazioni, consulta HealthOmics ETag e provenienza dei dati.

Struttura dell'URI di Amazon S3 nello storage HealthOmics

Tutti i file con URI Amazon S3 hanno omics:subjectId un tag di risorsa. omics:sampleId Puoi utilizzare questi tag per condividere l'accesso utilizzando le politiche IAM attraverso uno schema come. "s3:ExistingObjectTag/omics:subjectId": "pattern desired"

La struttura dei file è la seguente:

.../account_id/sequenceStore/seq_store_id/readSet/read_set_id/files.

Per i file importati in archivi di sequenze da Amazon S3, l'archivio di sequenze tenta di mantenere il nome sorgente originale. Quando i nomi sono in conflitto, il sistema aggiunge le informazioni sul set di lettura per garantire che i nomi dei file siano univoci. Ad esempio, per i set di lettura fastq, se entrambi i nomi di file sono uguali, per rendere i nomi univoci, sourceX viene inserito prima di .fastq.gz o .fq.gz. Per un caricamento diretto, i nomi dei file seguono i seguenti schemi:

  • Per FASTQ— read_set_name _ .fastq.gz sourcex

  • uBAM/BAMPer read_set_name /CRAM —. file extensioncon estensioni di .bam o. .cram Un esempio è NA193948.bam.

Per i set di lettura che sono BAM o CRAM, i file di indice vengono generati automaticamente durante il processo di inserimento. Per i file di indice generati, viene applicata l'estensione di indice corretta alla fine del nome del file. Ha lo schema <name of the Source the index is on>.<file index extension>. Le estensioni dell'indice sono .bai o.crai.

Utilizzo di Hosted o Local IGV per accedere ai set di lettura

IGV è un browser genomico utilizzato per analizzare i file BAM e CRAM. Richiede sia il file che l'indice perché visualizza solo una parte del genoma alla volta. L'IGV può essere scaricato e utilizzato localmente e sono disponibili guide per creare un IGV ospitato da AWS. La versione web pubblica non è supportata perché richiede CORS.

L'IGV locale si basa sulla AWS configurazione locale per accedere ai file. Assicurati che al ruolo utilizzato in quella configurazione sia associata una policy che abiliti le GetObject autorizzazioni KMS:Decrypt e s3: all'URI s3 dei set di lettura a cui si accede. Dopodiché, in IGV, puoi usare «File > load from URL» e incollare l'URI per l'origine e l'indice. In alternativa, gli URL prefirmati possono essere generati e utilizzati nello stesso modo, il che bypasserà la configurazione AWS. Tieni presente che CORS non è supportato con l'accesso URI di Amazon S3, quindi le richieste basate su CORS non sono supportate.

L'esempio AWS Hosted IGV si basa su AWS Cognito per creare le configurazioni e le autorizzazioni corrette all'interno dell'ambiente. Assicurati che venga creata una policy che abiliti le GetObject autorizzazioni KMS:Decrypt e s3: all'URI Amazon S3 dei set di lettura a cui si accede e aggiungi questa policy al ruolo assegnato al pool di utenti Cognito. Dopodiché, in IGV, puoi usare «File > load from URL» e inserire l'URI per l'origine e l'indice. In alternativa, gli URL prefirmati possono essere generati e utilizzati nello stesso modo, ignorando la configurazione AWS.

Tieni presente che l'archivio delle sequenze non verrà visualizzato nella scheda «Amazon» perché mostra solo i bucket di tua proprietà nella regione in cui è configurato il AWS profilo.

Usare Samtools o HTSLib in HealthOmics

HTSLib è la libreria principale condivisa da diversi strumenti come Samtools, RSAMtools e altri. PySam Usa HTSLib versione 1.20 o successiva per ottenere un supporto senza interruzioni per gli Access Point Amazon S3. Per le versioni precedenti della libreria HTSLib, puoi utilizzare le seguenti soluzioni alternative:

  • Imposta la variabile di ambiente per l'host HTS Amazon S3 con:. export HTS_S3_HOST="s3.region.amazonaws.com"

  • Genera un URL prefirmato per i file che desideri utilizzare. Se si utilizza un BAM o un CRAM, assicurati che venga generato un URL prefirmato sia per il file che per l'indice. Dopodiché, entrambi i file possono essere utilizzati con le librerie.

  • Usa Mountpoint per montare l'archivio di sequenze o il prefisso del set di lettura nello stesso ambiente in cui stai usando le librerie HTSLib. Da qui, è possibile accedere ai file utilizzando i percorsi dei file locali.

Utilizzando Mountpoint HealthOmics

Mountpoint for Amazon S3 è un client di file semplice e ad alto rendimento per montare un bucket Amazon S3 come file system locale. Con Mountpoint for Amazon S3, le tue applicazioni possono accedere agli oggetti archiviati in Amazon S3 tramite operazioni sui file, ad esempio l'apertura e la lettura. Mountpoint for Amazon S3 traduce automaticamente queste operazioni in chiamate API a oggetti di Amazon S3, dando alle applicazioni l'accesso allo storage elastico e al throughput di Amazon S3 tramite un'interfaccia di file.

Mountpoint può essere installato utilizzando le istruzioni di installazione di Mountpoint. https://github.com/awslabs/mountpoint-s3/blob/main/doc/INSTALL.md Mountpoint utilizza il profilo AWS locale dell'installazione e funziona a livello di prefisso Amazon S3. Assicurati che il profilo utilizzato abbia una policy che abiliti le autorizzazioni s3:GetObject, s3: ListBucket e KMS:Decrypt per il prefisso URI Amazon S3 dei set di lettura o dell'archivio di sequenze a cui si accede. Successivamente, il bucket può essere montato utilizzando il seguente percorso:

mount-s3 access point arn local path to mount --prefix prefix to sequence store or read set --region region

Usando con CloudFront HealthOmics

Amazon CloudFront è un servizio di rete per la distribuzione di contenuti (CDN) progettato per alte prestazioni, sicurezza e comodità per gli sviluppatori. I clienti che desiderano utilizzarlo CloudFront devono collaborare con il team di assistenza per attivare la CloudFront distribuzione. Collabora con il team del tuo account per coinvolgere il team HealthOmics di assistenza.