

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# HealthOmics Speicher
<a name="sequence-stores"></a>

Verwenden Sie HealthOmics Speicher, um Genomdaten effizient und kostengünstig zu speichern, abzurufen, zu organisieren und gemeinsam zu nutzen. HealthOmics Storage versteht die Beziehungen zwischen verschiedenen Datenobjekten, sodass Sie definieren können, welche Lesesätze aus denselben Quelldaten stammen. Auf diese Weise erhalten Sie Informationen zur Herkunft der Daten. 

Daten, die im `ACTIVE` Status gespeichert sind, können sofort abgerufen werden. Daten, auf die seit 30 Tagen oder länger nicht zugegriffen wurde, werden im `ARCHIVE` Status gespeichert. Um auf archivierte Daten zuzugreifen, können Sie sie über die API-Funktionen oder die Konsole reaktivieren. 

HealthOmics Sequenzspeicher dienen dazu, die Inhaltsintegrität von Dateien zu wahren. Die bitweise Äquivalenz von importierten Datendateien und exportierten Dateien wird jedoch aufgrund der Komprimierung beim aktiven und beim Archiv-Tiering nicht beibehalten.

 HealthOmics Generiert während der Aufnahme ein Entitäts-Tag oder *HealthOmics ETag*, um die Überprüfung der Inhaltsintegrität Ihrer Datendateien zu ermöglichen. Teile der Sequenzierung werden auf der Quellebene eines ETag Lesesatzes identifiziert und erfasst. Die ETag Berechnung ändert nichts an der tatsächlichen Datei oder den Genomdaten. Nachdem ein Lesesatz erstellt wurde, ETag sollte er sich während des gesamten Lebenszyklus der Lesesatzquelle nicht ändern. Das bedeutet, dass der erneute Import derselben Datei dazu führt, dass derselbe ETag Wert berechnet wird. 

**Topics**
+ [HealthOmics ETags und Herkunft der Daten](etags-and-provenance.md)
+ [Ein HealthOmics Referenzgeschäft erstellen](create-reference-store.md)
+ [Einen HealthOmics Sequenzspeicher erstellen](create-sequence-store.md)
+ [HealthOmics Referenz- und Sequenzspeicher löschen](deleting-reference-and-sequence-stores.md)
+ [Lesesätze in einen HealthOmics Sequenzspeicher importieren](import-sequence-store.md)
+ [Direkter Upload in einen HealthOmics Sequenzspeicher](synchronous-uploads.md)
+ [Exportieren von HealthOmics Lesesätzen in einen Amazon S3 S3-Bucket](read-set-exports.md)
+ [Zugreifen auf HealthOmics Lesesätze mit Amazon S3 URIs](s3-access.md)
+ [Aktivierung von Readsets in HealthOmics](activating-read-sets.md)

# HealthOmics ETags und Herkunft der Daten
<a name="etags-and-provenance"></a>

Ein HealthOmics ETag (Entity-Tag) ist ein Hash des aufgenommenen Inhalts in einem Sequenzspeicher. Dies vereinfacht das Abrufen und Verarbeiten von Daten und gewährleistet gleichzeitig die Inhaltsintegrität der aufgenommenen Datendateien. Dies ETag spiegelt Änderungen am semantischen Inhalt des Objekts wider, nicht an seinen Metadaten. Der angegebene Lesesatztyp und der Algorithmus bestimmen, wie der berechnet ETag wird. Die ETag Berechnung ändert nichts an der tatsächlichen Datei oder den Genomdaten. Wenn das Dateitypschema des Lesesatzes dies zulässt, aktualisiert der Sequenzspeicher Felder, die mit der Herkunft der Daten verknüpft sind. 

Dateien haben eine bitweise Identität und eine semantische Identität. Die bitweise Identität bedeutet, dass die Bits einer Datei identisch sind, und eine semantische Identität bedeutet, dass der Inhalt einer Datei identisch ist. Semantische Identität ist widerstandsfähig gegenüber Änderungen an Metadaten und Komprimierung, da sie die Inhaltsintegrität der Datei erfasst. 

Lesesätze in HealthOmics Sequenzspeichern durchlaufen compression/decompression Zyklen und die Herkunft der Daten wird während des gesamten Lebenszyklus eines Objekts nachverfolgt. Während dieser Verarbeitung kann sich die bitweise Identität einer aufgenommenen Datei ändern, und es wird erwartet, dass sie sich bei jeder Aktivierung einer Datei ändert. Die semantische Identität der Datei bleibt jedoch erhalten. Die semantische Identität wird als HealthOmics Entitäts-Tag erfasst, oder ETag sie wird während der Aufnahme des Sequenzspeichers berechnet und ist als Readset-Metadaten verfügbar.

Wenn das Dateitypschema des Lesesatzes dies zulässt, werden die Felder für die Aktualisierung des Sequenzspeichers mit der Herkunft der Daten verknüpft. Bei UBam-, BAM- und CRAM-Dateien wird der Kopfzeile ein neues `@CO` OR-Tag hinzugefügt. `Comment` Der Kommentar enthält die Sequenzspeicher-ID und den Zeitstempel der Aufnahme. 

## Amazon S3 ETags
<a name="s3-etags"></a>

Beim Zugriff auf eine Datei über den Amazon S3-URI können Amazon S3 S3-API-Operationen auch Amazon S3 ETag - und Prüfsummenwerte zurückgeben. Die Amazon S3 ETag - und Prüfsummenwerte unterscheiden sich von den HealthOmics ETags , weil sie die bitweise Identität der Datei darstellen. Weitere Informationen zu beschreibenden Metadaten und Objekten finden Sie in der Amazon S3 [Object API-Dokumentation](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Object.html). Amazon S3 ETag S3-Werte können sich mit jedem Aktivierungszyklus eines Lesesets ändern, und Sie können sie verwenden, um das Lesen einer Datei zu validieren. Speichern Sie Amazon S3 ETag S3-Werte jedoch nicht im Cache, um sie während des Lebenszyklus der Datei für die Überprüfung der Dateiidentität zu verwenden, da sie nicht konsistent bleiben. Im Gegensatz dazu HealthOmics ETag bleiben sie während des gesamten Lebenszyklus des Lesesets konsistent. 

## Wie HealthOmics berechnet ETags
<a name="how-etags-calculated"></a>

Das ETag wird aus einem Hash des aufgenommenen Dateiinhalts generiert. Die ETag Algorithmusfamilie ist MD5up standardmäßig auf eingestellt, kann aber bei der Erstellung des Sequenzspeichers anders konfiguriert werden. Wenn der berechnet ETag wird, werden der Algorithmus und die berechneten Hashes dem Lesesatz hinzugefügt. Die unterstützten MD5 Algorithmen für Dateitypen lauten wie folgt.
+ *FASTQ\$1 MD5up* — Berechnet den MD5 Hash einer unkomprimierten, vollständigen FASTQ-Leseset-Quelle.
+ *BAM\$1 MD5up* — Berechnet den MD5 Hash des Alignment-Abschnitts einer unkomprimierten BAM- oder UBAM-Readeset-Quelle, wie sie im SAM dargestellt wird, auf der Grundlage der verlinkten Referenz, sofern eine verfügbar ist.
+ *CRAM\$1 MD5up* — Berechnet den MD5 Hash des Alignment-Abschnitts der unkomprimierten CRAM-Lesesatz-Quelle, wie er im SAM dargestellt wird, auf der Grundlage der verknüpften Referenz.

**Anmerkung**  
MD5 Hashing ist bekanntermaßen anfällig für Kollisionen. Aus diesem Grund könnten zwei verschiedene Dateien dasselbe haben, ETag wenn sie so hergestellt wurden, dass sie die bekannte Kollision ausnutzen.

Die folgenden Algorithmen werden für die SHA256 Familie unterstützt. Die Algorithmen werden wie folgt berechnet:
+ *FASTQ\$1 SHA256up* — Berechnet den SHA-256-Hash einer unkomprimierten, vollständigen FASTQ-Leset-Quelle. 
+ *BAM\$1 SHA256up* — Berechnet den SHA-256-Hash des Alignment-Abschnitts einer unkomprimierten BAM- oder UBAM-Readeset-Quelle, wie sie im SAM dargestellt wird, auf der Grundlage der verlinkten Referenz, sofern eine verfügbar ist. 
+ *CRAM\$1 SHA256up* — Berechnet den SHA-256-Hash des Alignment-Abschnitts einer unkomprimierten CRAM-Lesesatz-Quelle, wie er im SAM dargestellt wird, auf der Grundlage der verknüpften Referenz. 

Die folgenden Algorithmen werden für die Familie unterstützt. SHA512 Die Algorithmen werden wie folgt berechnet:
+ *FASTQ\$1 SHA512up* — Berechnet den SHA-512-Hash einer unkomprimierten, vollständigen FASTQ-Leset-Quelle. 
+ *BAM\$1 SHA512up* — Berechnet den SHA-512-Hash des Alignment-Abschnitts einer unkomprimierten BAM- oder UBAM-Readeset-Quelle, wie sie im SAM dargestellt wird, auf der Grundlage der verlinkten Referenz, sofern eine verfügbar ist. 

   
+ *CRAM\$1 SHA512up * — Berechnet den SHA-512-Hash des Alignment-Abschnitts einer unkomprimierten CRAM-Lesesatz-Quelle, wie er im SAM dargestellt wird, auf der Grundlage der verknüpften Referenz. 

# Ein HealthOmics Referenzgeschäft erstellen
<a name="create-reference-store"></a>

Ein Referenzspeicher in HealthOmics ist ein Datenspeicher für die Speicherung von Referenzgenomen. Sie können in jeder AWS-Konto Region einen einzigen Referenzspeicher haben. Sie können mit der Konsole oder der CLI einen Referenzspeicher erstellen.

**Topics**
+ [Einen Referenzspeicher mithilfe der Konsole erstellen](#console-create-reference-store)
+ [Erstellen eines Referenzspeichers mit der CLI](#api-create-reference-store)

## Einen Referenzspeicher mithilfe der Konsole erstellen
<a name="console-create-reference-store"></a>

**So erstellen Sie einen Referenzspeicher**

1. Öffnen Sie die [HealthOmics -Konsole](https://console.aws.amazon.com/omics/).

1.  Öffnen Sie bei Bedarf den linken Navigationsbereich (•). Wählen Sie **Referenzspeicher**.

1. Wählen Sie aus den **Speicheroptionen für Genomics-Daten die Option Referenzgenome** aus.

1. Sie können entweder ein zuvor importiertes Referenzgenom auswählen oder ein neues importieren. Wenn Sie kein Referenzgenom importiert haben, wählen Sie oben rechts **Referenzgenom importieren** aus.

1. Wählen **Sie auf der Auftragsseite Referenzgenom-Import** **erstellen entweder die Option Schnellerstellung** oder **Manuelles Erstellen** aus, um einen Referenzspeicher zu erstellen, und geben Sie dann die folgenden Informationen ein.
   + **Referenzgenomname** — Ein eindeutiger Name für diesen Speicher. 
   + **Beschreibung** (optional) — Eine Beschreibung dieses Referenzspeichers.
   + **IAM-Rolle** — Wählen Sie eine Rolle mit Zugriff auf Ihr Referenzgenom aus. 
   + **Referenz von Amazon S3** — Wählen Sie Ihre Referenzsequenzdatei in einem Amazon S3 S3-Bucket aus.
   + **Tags** (optional) — Stellen Sie bis zu 50 Tags für diesen Referenzspeicher bereit.

## Erstellen eines Referenzspeichers mit der CLI
<a name="api-create-reference-store"></a>

Das folgende Beispiel zeigt Ihnen, wie Sie mit dem einen Referenzspeicher erstellen AWS CLI. Sie können ein Referenzgeschäft pro AWS Region einrichten. 

Referenzspeicher unterstützen das Speichern von FASTA-Dateien mit den Erweiterungen`.fasta`,,`.fa`,`.fas`,`.fsa`,`.faa`,`.fna`,`.ffn`,,`.frn`, `.mpfa``.seq`,`.txt`. Die `bgzip` Version dieser Erweiterungen wird ebenfalls unterstützt. 

Ersetzen Sie es im folgenden Beispiel `reference store name` durch den Namen, den Sie für Ihr Referenzgeschäft gewählt haben.

```
aws omics create-reference-store --name "reference store name"  
```

Sie erhalten eine JSON-Antwort mit der ID und dem Namen des Referenzspeichers, dem ARN und dem Zeitstempel, zu dem Ihr Referenzspeicher erstellt wurde.

```
{
    "id": "3242349265",
    "arn": "arn:aws:omics:us-west-2:555555555555:referenceStore/3242349265",
    "name": "MyReferenceStore",
    "creationTime": "2022-07-01T20:58:42.878Z"
}
```

Sie können die Referenzspeicher-ID in zusätzlichen AWS CLI Befehlen verwenden. Sie können die Liste der mit Ihrem Konto IDs verknüpften Referenzspeicher mithilfe des **list-reference-stores**Befehls abrufen, wie im folgenden Beispiel gezeigt.

```
aws omics list-reference-stores 
```

Als Antwort erhalten Sie den Namen Ihres neu erstellten Referenzgeschäfts.

```
{
    "referenceStores": [
        {
              "id": "3242349265",
              "arn": "arn:aws:omics:us-west-2:555555555555:referenceStore/3242349265",
              "name": "MyReferenceStore",
             "creationTime": "2022-07-01T20:58:42.878Z"
         }
     ]
}
```

Nachdem Sie einen Referenzspeicher erstellt haben, können Sie Importaufträge erstellen, um genomische Referenzdateien in diesen Speicher zu laden. Dazu müssen Sie eine IAM-Rolle für den Zugriff auf die Daten verwenden oder eine IAM-Rolle erstellen. Es folgt eine Beispielrichtlinie . 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetBucketLocation"
                
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket1",
                "arn:aws:s3:::amzn-s3-demo-bucket1/*"
            ]
        }
    ]
}
```

------

Sie müssen außerdem über eine Vertrauensrichtlinie verfügen, die dem folgenden Beispiel ähnelt.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": [
                   "omics.amazonaws.com"
                ]
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

Sie können jetzt ein Referenzgenom importieren. In diesem Beispiel wird das Genome Reference Consortium Human Build 38 (hg38) verwendet, das frei zugänglich ist und im [Registry of Open Data unter AWS](https://registry.opendata.aws/) verfügbar ist. Der Bucket, der diese Daten hostet, befindet sich in US East (Ohio). Um Buckets in anderen AWS Regionen zu verwenden, können Sie die Daten in einen Amazon S3 S3-Bucket kopieren, der in Ihrer Region gehostet wird. Verwenden Sie den folgenden AWS CLI Befehl, um das Genom in Ihren Amazon S3 S3-Bucket zu kopieren. 

```
aws s3 cp s3://broad-references/hg38/v0/Homo_sapiens_assembly38.fasta s3://amzn-s3-demo-bucket 
```

Anschließend können Sie mit Ihrem Importjob beginnen. Ersetzen Sie `reference store ID``role ARN`, und `source file path` durch Ihre eigene Eingabe.

```
aws omics start-reference-import-job --reference-store-id reference store ID --role-arn role ARN --sources source file path
```

Nachdem die Daten importiert wurden, erhalten Sie die folgende Antwort in JSON.

```
{
        "id": "7252016478",
        "referenceStoreId": "3242349265",
        "roleArn": "arn:aws:iam::111122223333:role/OmicsReferenceImport",
        "status": "CREATED",
        "creationTime": "2022-07-01T21:15:13.727Z"
}
```

Sie können den Status eines Jobs mit dem folgenden Befehl überwachen. Ersetzen Sie im folgenden Beispiel `reference store ID` und `job ID` durch Ihre Referenzspeicher-ID und die Job-ID, über die Sie mehr erfahren möchten.

```
aws omics get-reference-import-job --reference-store-id reference store ID --id job ID  
```

Als Antwort erhalten Sie eine Antwort mit den Details zu diesem Referenzspeicher und seinem Status.

```
{
    "id": "7252016478",
    "referenceStoreId": "3242349265",
    "roleArn": "arn:aws:iam::555555555555:role/OmicsReferenceImport",
    "status": "RUNNING",
    "creationTime": "2022-07-01T21:15:13.727Z",
    "sources": [
        {
            "sourceFile": "s3://amzn-s3-demo-bucket/Homo_sapiens_assembly38.fasta",
            "status": "IN_PROGRESS",
            "name": "MyReference"
        }
    ]
}
```

Sie können die importierte Referenz auch finden, indem Sie Ihre Referenzen auflisten und sie anhand des Referenznamens filtern. `reference store ID`Ersetzen Sie es durch Ihre Referenzshop-ID und fügen Sie einen optionalen Filter hinzu, um die Liste einzugrenzen.

```
aws omics list-references --reference-store-id reference store ID --filter name=MyReference  
```

Als Antwort erhalten Sie die folgenden Informationen.

```
{
    "references": [
        {
            "id": "1234567890",
            "arn": "arn:aws:omics:us-west-2:555555555555:referenceStore/1234567890/reference/1234567890",
            "referenceStoreId": "12345678",
            "md5": "7ff134953dcca8c8997453bbb80b6b5e",
            "status": "ACTIVE",
            "name": "MyReference",
            "creationTime": "2022-07-02T00:15:19.787Z",
            "updateTime": "2022-07-02T00:15:19.787Z"
        }
    ]
}
```

Verwenden Sie den **get-reference-metadata**API-Vorgang, um mehr über die Referenzmetadaten zu erfahren. Ersetzen Sie es im folgenden Beispiel `reference store ID` durch Ihre Referenzspeicher-ID und `reference ID` durch die Referenz-ID, über die Sie mehr erfahren möchten.

```
aws omics get-reference-metadata --reference-store-id reference store ID --id reference ID   
```

Als Antwort erhalten Sie die folgenden Informationen.

```
{
    "id": "1234567890",
    "arn": "arn:aws:omics:us-west-2:555555555555:referenceStore/referencestoreID/reference/referenceID",
    "referenceStoreId": "1234567890",
    "md5": "7ff134953dcca8c8997453bbb80b6b5e",
    "status": "ACTIVE",
    "name": "MyReference",
    "creationTime": "2022-07-02T00:15:19.787Z",
    "updateTime": "2022-07-02T00:15:19.787Z",
    "files": {
        "source": {
            "totalParts": 31,
            "partSize": 104857600,
            "contentLength": 3249912778
        },
        "index": {
            "totalParts": 1,
            "partSize": 104857600,
            "contentLength": 160928
        }
    }
}
```

Sie können Teile der Referenzdatei auch mithilfe von **get-reference** herunterladen. Im folgenden Beispiel `reference store ID` ersetzen Sie es durch Ihre Referenzspeicher-ID und `reference ID` durch die Referenz-ID, von der Sie herunterladen möchten.

```
aws omics get-reference --reference-store-id reference store ID --id reference ID --part-number 1 outfile.fa   
```

# Einen HealthOmics Sequenzspeicher erstellen
<a name="create-sequence-store"></a>



HealthOmics Sequenzspeicher unterstützen das Speichern von Genomdateien in den unausgerichteten Formaten `FASTQ` (nur Gzip) und. `uBAM` Es unterstützt auch die ausgerichteten Formate von und. `BAM` `CRAM` 

Importierte Dateien werden als Lesesätze gespeichert. Sie können Tags zu Lesesätzen hinzufügen und den Zugriff auf Lesesätze mithilfe von IAM-Richtlinien steuern. Aligned Read-Sets erfordern ein Referenzgenom, um genomische Sequenzen aufeinander abzustimmen. Für nicht ausgerichtete Read-Sets ist dies jedoch optional.

Um Lesesätze zu speichern, erstellen Sie zunächst einen Sequenzspeicher. Wenn Sie einen Sequenzspeicher erstellen, können Sie einen optionalen Amazon S3 S3-Bucket als Ausweichort und den Ort angeben, an dem S3-Zugriffsprotokolle gespeichert werden. Der Fallback-Speicherort wird zum Speichern von Dateien verwendet, für die während eines direkten Uploads kein Lesesatz erstellt werden kann. Ausweichspeicherorte sind für Sequenzspeicher verfügbar, die nach dem 15. Mai 2023 erstellt wurden. Sie geben den Fallback-Speicherort an, wenn Sie den Sequenzspeicher erstellen. 

Sie können bis zu fünf Read-Set-Tag-Schlüssel angeben. Wenn Sie einen Lesesatz mit einem Tag-Schlüssel erstellen oder aktualisieren, der einem dieser Schlüssel entspricht, werden die Read-Set-Tags an das entsprechende Amazon S3 S3-Objekt weitergegeben. System-Tags, die von erstellt wurden, HealthOmics werden standardmäßig weitergegeben. 

**Topics**
+ [Einen Sequenzspeicher mithilfe der Konsole erstellen](#console-create-sequence-store)
+ [Erstellen eines Sequenzspeichers mit der CLI](#api-create-sequence-store)
+ [Aktualisierung eines Sequenzspeichers](#update-sequence-store)
+ [Read-Set-Tags für einen Sequenzspeicher werden aktualisiert](#sequence-store-manage-tags)
+ [Genomdateien importieren](#import-genomic-files)

## Einen Sequenzspeicher mithilfe der Konsole erstellen
<a name="console-create-sequence-store"></a>

**Um einen Sequenzspeicher zu erstellen**

1. Öffnen Sie die [HealthOmics -Konsole](https://console.aws.amazon.com/omics/).

1.  Öffnen Sie bei Bedarf den linken Navigationsbereich (←). Wählen Sie **Sequence Stores**.

1. Geben Sie auf der Seite **Sequenzspeicher erstellen** die folgenden Informationen ein
   + **Name des Sequenzspeichers** — Ein eindeutiger Name für diesen Speicher. 
   + **Beschreibung** (optional) — Eine Beschreibung dieses Sequenzspeichers.

1. Geben Sie für **Fallback-Standort in S3** einen Amazon S3 S3-Standort an. HealthOmics verwendet den Ausweichspeicherort zum Speichern von Dateien, für die beim direkten Upload kein Lesesatz erstellt werden kann. Sie müssen dem HealthOmics Service Schreibzugriff auf den Amazon S3 S3-Fallback-Standort gewähren. Eine Beispielrichtlinie finden Sie unter [Konfigurieren Sie einen Fallback-Standort](synchronous-uploads.md#synchronous-uploads-fallback).

   Ausweichstandorte sind für Sequenzspeicher, die vor dem 16. Mai 2023 erstellt wurden, nicht verfügbar. 

1. (Optional) Für **Read-Set-Tag-Schlüssel für die S3-Weitergabe** können Sie bis zu fünf Read-Set-Schlüssel eingeben, um sie von einem Read-Set an die zugrunde liegenden S3-Objekte weiterzugeben. Durch die Weitergabe von Tags aus einem Lesesatz an das S3-Objekt können Sie and/or Endbenutzern S3-Zugriffsberechtigungen auf der Grundlage von Tags gewähren, um die weitergegebenen Tags über den Amazon S3 getObjectTagging S3-API-Vorgang zu sehen. 

   1. Geben Sie einen Schlüsselwert in das Textfeld ein. Die Konsole erstellt ein neues Textfeld, um den nächsten Schlüssel hinzuzufügen.

   1. (Optional) Wählen Sie **Entfernen**, um alle Schlüssel zu entfernen.

1. Wählen Sie unter **Datenverschlüsselung** aus, ob die Datenverschlüsselung Eigentum und Verwaltung durch einen vom Kunden verwalteten CMK sein soll AWS oder ob ein vom Kunden verwaltetes CMK verwendet werden soll. 

1. (Optional) Wählen Sie unter **S3-Datenzugriff** aus, ob Sie eine neue Rolle und Richtlinie für den Zugriff auf den Sequenzspeicher über Amazon S3 erstellen möchten.

1. (Optional) Wählen Sie für die **S3-Zugriffsprotokollierung** aus, `Enabled` ob Amazon S3 Zugriffsprotokolldatensätze sammeln soll.

   Geben Sie für **den Speicherort für die Zugriffsprotokollierung in S3** einen Amazon S3 S3-Speicherort an, an dem die Protokolle gespeichert werden sollen. Dieses Feld ist nur sichtbar, wenn Sie die S3-Zugriffsprotokollierung aktiviert haben.

1. **Tags** (optional) — Stellen Sie bis zu 50 Tags für diesen Sequenzspeicher bereit. Diese Tags unterscheiden sich von den Read-Set-Tags, die während der import/tag Aktualisierung des Lesesatzes gesetzt werden

Nachdem Sie den Shop erstellt haben, ist er bereit für[Genomdateien importieren](#import-genomic-files).

## Erstellen eines Sequenzspeichers mit der CLI
<a name="api-create-sequence-store"></a>

Ersetzen Sie es im folgenden Beispiel `sequence store name` durch den Namen, den Sie für Ihren Sequenzspeicher gewählt haben.

```
aws omics create-sequence-store --name sequence store name --fallback-location "s3://amzn-s3-demo-bucket"  
```

Sie erhalten die folgende Antwort in JSON, die die ID-Nummer für Ihren neu erstellten Sequenzspeicher enthält.

```
{
    "id": "3936421177",
    "arn": "arn:aws:omics:us-west-2:111122223333:sequenceStore/3936421177",
    "name": "sequence_store_example_name",
    "creationTime": "2022-07-13T20:09:26.038Z"
    "fallbackLocation" : "s3://amzn-s3-demo-bucket"
}
```

Sie können auch alle mit Ihrem Konto verknüpften Sequenzspeicher mithilfe des **list-sequence-stores**Befehls anzeigen, wie im Folgenden gezeigt.

```
aws omics list-sequence-stores
```

Sie erhalten die folgende Antwort.

```
{
    "sequenceStores": [
        {
            "arn": "arn:aws:omics:us-west-2:111122223333:sequenceStore/3936421177",
            "id": "3936421177",
            "name": "MySequenceStore",
            "creationTime": "2022-07-13T20:09:26.038Z",
            "updatedTime": "2024-09-13T04:11:31.242Z",
            "fallbackLocation" : "s3://amzn-s3-demo-bucket",
            "status": "Active"
        }
    ]
}
```

Sie können **get-sequence-store**damit mehr über einen Sequenzspeicher erfahren, indem Sie dessen ID verwenden, wie im folgenden Beispiel gezeigt:

```
aws omics get-sequence-store --id sequence store ID                             
```

Sie erhalten die folgende Antwort:

```
{
  "arn": "arn:aws:omics:us-west-2:123456789012:sequenceStore/sequencestoreID",
  "creationTime": "2024-01-12T04:45:29.857Z",
  "updatedTime": "2024-09-13T04:11:31.242Z",
  "description": null,
  "fallbackLocation": null,
  "id": "2015356892",
  "name": "MySequenceStore",
  "s3Access": {
      "s3AccessPointArn": "arn:aws:s3:us-west-2:123456789012:accesspoint/592761533288-2015356892",
      "s3Uri": "s3://592761533288-2015356892-ajdpi90jdas90a79fh9a8ja98jdfa9jf98-s3alias/592761533288/sequenceStore/2015356892/",
      "accessLogLocation": "s3://IAD-seq-store-log/2015356892/"
  },
  "sseConfig": {
      "keyArn": "arn:aws:kms:us-west-2:123456789012:key/eb2b30f5-635d-4b6d-b0f9-d3889fe0e648",
      "type": "KMS"
  },
  "status": "Active",
  "statusMessage": null,
  "setTagsToSync": ["withdrawn","protocol"],
}
```

Nach der Erstellung können auch mehrere Speicherparameter aktualisiert werden. Dies kann über die Konsole oder die `updateSequenceStore` API-Operation erfolgen.

## Aktualisierung eines Sequenzspeichers
<a name="update-sequence-store"></a>

Gehen Sie folgendermaßen vor, um einen Sequenzspeicher zu aktualisieren:

1. Öffnen Sie die [HealthOmics -Konsole](https://console.aws.amazon.com/omics/).

1.  Öffnen Sie bei Bedarf den linken Navigationsbereich (•). Wählen Sie **Sequence Stores**.

1. Wählen Sie den Sequenzspeicher aus, der aktualisiert werden soll.

1. Wählen Sie im Bereich „**Details**“ die Option **„Bearbeiten“**.

1. Auf der Seite **„Details bearbeiten**“ können Sie die folgenden Felder aktualisieren:
   + **Name des Sequenzspeichers** — Ein eindeutiger Name für diesen Shop. 
   + **Beschreibung** — Eine Beschreibung dieses Sequenzspeichers.
   + **Fallback-Standort in S3**, geben Sie einen Amazon S3 S3-Standort an. HealthOmics verwendet den Ausweichspeicherort zum Speichern von Dateien, für die beim direkten Upload kein Lesesatz erstellt werden kann. 
   + **Read-Set-Tag-Schlüssel für die S3-Weitergabe** Sie können bis zu fünf Read-Set-Schlüssel für die Weitergabe an Amazon S3 eingeben.
   + (Optional) Wählen Sie für die **S3-Zugriffsprotokollierung** aus, `Enabled` ob Amazon S3 Zugriffsprotokolldatensätze sammeln soll.

     Geben Sie für **den Speicherort für die Zugriffsprotokollierung in S3** einen Amazon S3 S3-Speicherort an, an dem die Protokolle gespeichert werden sollen. Dieses Feld ist nur sichtbar, wenn Sie die S3-Zugriffsprotokollierung aktiviert haben.
   + **Tags** (optional) — Stellen Sie bis zu 50 Tags für diesen Sequenzspeicher bereit.

## Read-Set-Tags für einen Sequenzspeicher werden aktualisiert
<a name="sequence-store-manage-tags"></a>

Gehen Sie wie folgt vor, um Read-Set-Tags oder andere Felder für einen Sequenzspeicher zu aktualisieren:

1. Öffnen Sie die [HealthOmics -Konsole](https://console.aws.amazon.com/omics/).

1.  Öffnen Sie bei Bedarf den linken Navigationsbereich (←). Wählen Sie **Sequence Stores**.

1. Wählen Sie den Sequenzspeicher aus, den Sie aktualisieren möchten.

1. Wählen Sie die Registerkarte **Details**.

1. Wählen Sie **Bearbeiten** aus.

1. Fügen Sie nach Bedarf neue Lesesatz-Tags hinzu oder löschen Sie vorhandene Tags.

1. Aktualisieren Sie nach Bedarf den Namen, die Beschreibung, den Ausweichort oder den S3-Datenzugriff.

1. Wählen Sie **Änderungen speichern ** aus.

## Genomdateien importieren
<a name="import-genomic-files"></a>

Gehen Sie folgendermaßen vor, um genomische Dateien in einen Sequenzspeicher zu importieren:

**Um eine Genomikdatei zu importieren**

1. Öffnen Sie die [HealthOmics -Konsole](https://console.aws.amazon.com/omics/).

1.  Öffnen Sie bei Bedarf den linken Navigationsbereich (•). Wählen Sie „**Sequenzspeicher** auswählen“.

1. Wählen Sie auf der Seite **Sequenzspeicher** den Sequenzspeicher aus, in den Sie Ihre Dateien importieren möchten.

1. Wählen Sie auf der Seite mit den einzelnen Sequenzspeichern die Option **Genomische Dateien importieren** aus.

1. Geben Sie auf der Seite **Importdetails angeben** die folgenden Informationen ein
   + **IAM-Rolle** — Die IAM-Rolle, die auf die genomischen Dateien in Amazon S3 zugreifen kann.
   + **Referenzgenom** — Das Referenzgenom für diese Genomdaten.

1. **Geben Sie auf der Seite Importmanifest** angeben die folgende **Informations-Manifestdatei** an. Die Manifestdatei ist eine JSON- oder YAML-Datei, die wichtige Informationen Ihrer Genomdaten beschreibt. Hinweise zur Manifestdatei finden Sie unter. [Lesesätze in einen HealthOmics Sequenzspeicher importieren](import-sequence-store.md)

1. Klicken Sie auf **Importjob erstellen**.

# HealthOmics Referenz- und Sequenzspeicher löschen
<a name="deleting-reference-and-sequence-stores"></a>

Sowohl Referenz- als auch Sequenzspeicher können gelöscht werden. Sequenzspeicher können nur gelöscht werden, wenn sie keine Lesesätze enthalten, und Referenzspeicher können nur gelöscht werden, wenn sie keine Verweise enthalten. Durch das Löschen einer Sequenz oder eines Referenzspeichers werden auch alle mit diesem Speicher verknüpften Tags gelöscht.

Das folgende Beispiel zeigt, wie Sie einen Referenzspeicher mithilfe von löschen. AWS CLI Wenn die Aktion erfolgreich ist, erhalten Sie keine Antwort. Ersetzen Sie es im folgenden Beispiel `reference store ID` durch Ihre Referenz-Store-ID.

```
aws omics delete-reference-store --id reference store ID              
```

Das folgende Beispiel zeigt Ihnen, wie Sie einen Sequenzspeicher löschen. Sie erhalten keine Antwort, wenn die Aktion erfolgreich ist. Im folgenden Beispiel ersetzen Sie es `sequence store ID` durch Ihre Sequenzspeicher-ID.

```
aws omics delete-sequence-store --id sequence store ID            
```

Sie können auch eine Referenz in einem Referenzspeicher löschen, wie im folgenden Beispiel gezeigt. Verweise können nur gelöscht werden, wenn sie nicht in einem Lesesatz, Variantenspeicher oder Annotationsspeicher verwendet werden. Ersetzen Sie im folgenden Beispiel durch `reference store ID` Ihre Referenzspeicher-ID und `reference ID` ersetzen Sie sie durch die ID der Referenz, die Sie löschen möchten.

```
aws omics delete-reference  --id reference ID --reference-store-id reference store ID          
```

# Lesesätze in einen HealthOmics Sequenzspeicher importieren
<a name="import-sequence-store"></a>

Nachdem Sie Ihren Sequenzspeicher erstellt haben, erstellen Sie Importaufträge, um Lesesätze in den Datenspeicher hochzuladen. Sie können Ihre Dateien aus einem Amazon S3 S3-Bucket hochladen oder Sie können sie direkt hochladen, indem Sie die synchronen API-Operationen verwenden. Ihr Amazon S3 S3-Bucket muss sich in derselben Region wie Ihr Sequence Store befinden.

Sie können eine beliebige Kombination aus ausgerichteten und nicht ausgerichteten Lesesätzen in Ihren Sequenzspeicher hochladen. Wenn jedoch einer der Lesesätze in Ihrem Import ausgerichtet ist, müssen Sie ein Referenzgenom angeben.

Sie können die IAM-Zugriffsrichtlinie, die Sie zur Erstellung des Referenzspeichers verwendet haben, wiederverwenden. 

In den folgenden Themen werden die wichtigsten Schritte beschrieben, die Sie ausführen, um ein Leseset in Ihren Sequenzspeicher zu importieren und anschließend Informationen zu den importierten Daten abzurufen. 

**Topics**
+ [Dateien auf Amazon S3 hochladen](#upload-files-to-s3)
+ [Erstellen einer Manifestdatei](#create-manifest-file)
+ [Der Importjob wird gestartet](#start-import-job)
+ [Überwachen Sie den Importauftrag](#monitor-import-job)
+ [Suchen Sie die importierten Sequenzdateien](#list-read-sets)
+ [Rufen Sie Details zu einem Lesesatz ab](#get-read-set-metadata)
+ [Laden Sie die Readset-Datendateien herunter](#get-read-set-data)

## Dateien auf Amazon S3 hochladen
<a name="upload-files-to-s3"></a>

Das folgende Beispiel zeigt, wie Sie Dateien in Ihren Amazon S3 S3-Bucket verschieben. 

```
aws s3 cp s3://1000genomes/phase1/data/HG00100/alignment/HG00100.chrom20.ILLUMINA.bwa.GBR.low_coverage.20101123.bam s3://your-bucket
aws s3 cp s3://1000genomes/phase3/data/HG00146/sequence_read/SRR233106_1.filt.fastq.gz s3://your-bucket
aws s3 cp s3://1000genomes/phase3/data/HG00146/sequence_read/SRR233106_2.filt.fastq.gz s3://your-bucket
aws s3 cp s3://1000genomes/data/HG00096/alignment/HG00096.alt_bwamem_GRCh38DH.20150718.GBR.low_coverage.cram s3://your-bucket 
aws s3 cp s3://gatk-test-data/wgs_ubam/NA12878_20k/NA12878_A.bam s3://your-bucket
```

Die in diesem Beispiel `CRAM` verwendete Probe `BAM` erfordert unterschiedliche Genomreferenzen, `Hg19` und`Hg38`. Weitere Informationen oder Zugriff auf diese Referenzen finden Sie unter [The Broad Genome References](https://registry.opendata.aws/broad-references/) in the Registry of Open Data unter AWS.

## Erstellen einer Manifestdatei
<a name="create-manifest-file"></a>

Sie müssen außerdem eine Manifestdatei in JSON erstellen, in der Sie den Importauftrag modellieren können `import.json` (siehe das folgende Beispiel). Wenn Sie in der Konsole einen Sequenzspeicher erstellen, müssen Sie das `sequenceStoreId` oder nicht angeben`roleARN`, sodass Ihre Manifestdatei mit der `sources` Eingabe beginnt.

------
#### [ API manifest ]

Im folgenden Beispiel werden drei Lesesätze mithilfe der API importiert: eins `FASTQ``BAM`, eins und eins`CRAM`.

```
{
  "sequenceStoreId": "3936421177",
  "roleArn": "arn:aws:iam::555555555555:role/OmicsImport",
  "sources":
  [
      {
          "sourceFiles":
          {
              "source1": "s3://amzn-s3-demo-bucket/HG00100.chrom20.ILLUMINA.bwa.GBR.low_coverage.20101123.bam"
          },
          "sourceFileType": "BAM",
          "subjectId": "mySubject",
          "sampleId": "mySample",
          "referenceArn": "arn:aws:omics:us-west-2:555555555555:referenceStore/0123456789/reference/0000000001",
          "name": "HG00100",
          "description": "BAM for HG00100",
          "generatedFrom": "1000 Genomes"
      },
      {
          "sourceFiles":
          {
              "source1": "s3://amzn-s3-demo-bucket/SRR233106_1.filt.fastq.gz",
              "source2": "s3://amzn-s3-demo-bucket/SRR233106_2.filt.fastq.gz"
          },
          "sourceFileType": "FASTQ",
          "subjectId": "mySubject",
          "sampleId": "mySample",
          // NOTE: there is no reference arn required here
          "name": "HG00146",
          "description": "FASTQ for HG00146",
          "generatedFrom": "1000 Genomes"
      },
      {
          "sourceFiles":
          {
              "source1": "s3://amzn-s3-demo-bucket/HG00096.alt_bwamem_GRCh38DH.20150718.GBR.low_coverage.cram"
          },
          "sourceFileType": "CRAM",
          "subjectId": "mySubject",
          "sampleId": "mySample",
          "referenceArn": "arn:aws:omics:us-west-2:555555555555:referenceStore/0123456789/reference/0000000001",
          "name": "HG00096",
          "description": "CRAM for HG00096",
          "generatedFrom": "1000 Genomes"
      },
      {
          "sourceFiles":
          {
              "source1": "s3://amzn-s3-demo-bucket/NA12878_A.bam"
          },
          "sourceFileType": "UBAM",
          "subjectId": "mySubject",
          "sampleId": "mySample",
          // NOTE: there is no reference arn required here
          "name": "NA12878_A",
          "description": "uBAM for NA12878",
          "generatedFrom": "GATK Test Data"
      }
  ]
}
```

------
#### [ Console manifest ]

Dieser Beispielcode wird verwendet, um einen einzelnen Lesesatz mithilfe der Konsole zu importieren.

```
[    
  {
      "sourceFiles":
      {
          "source1": "s3://amzn-s3-demo-bucket/HG00100.chrom20.ILLUMINA.bwa.GBR.low_coverage.20101123.bam"
      },
      "sourceFileType": "BAM",
      "subjectId": "mySubject",
      "sampleId": "mySample",
      "name": "HG00100",
      "description": "BAM for HG00100",
      "generatedFrom": "1000 Genomes"
  },
  {
      "sourceFiles":
      {
          "source1": "s3://amzn-s3-demo-bucket/SRR233106_1.filt.fastq.gz",
          "source2": "s3://amzn-s3-demo-bucket/SRR233106_2.filt.fastq.gz"
      },
      "sourceFileType": "FASTQ",
      "subjectId": "mySubject",
      "sampleId": "mySample",
      "name": "HG00146",
      "description": "FASTQ for HG00146",
      "generatedFrom": "1000 Genomes"
  },
  {
      "sourceFiles":
      {
          "source1": "s3://your-bucket/HG00096.alt_bwamem_GRCh38DH.20150718.GBR.low_coverage.cram"
      },
      "sourceFileType": "CRAM",
      "subjectId": "mySubject",
      "sampleId": "mySample",
      "name": "HG00096",
      "description": "CRAM for HG00096",
      "generatedFrom": "1000 Genomes"
  },
  {
      "sourceFiles":
      {
          "source1": "s3://amzn-s3-demo-bucket/NA12878_A.bam"
      },
      "sourceFileType": "UBAM",
      "subjectId": "mySubject",
      "sampleId": "mySample",
      "name": "NA12878_A",
      "description": "uBAM for NA12878",
      "generatedFrom": "GATK Test Data"
  }
]
```

------

Alternativ können Sie die Manifestdatei im YAML-Format hochladen.

## Der Importjob wird gestartet
<a name="start-import-job"></a>

Verwenden Sie den folgenden AWS CLI Befehl, um den Importjob zu starten.

```
aws omics start-read-set-import-job --cli-input-json file://import.json      
```

Sie erhalten die folgende Antwort, die darauf hinweist, dass der Job erfolgreich erstellt wurde.

```
{
  "id": "3660451514",
  "sequenceStoreId": "3936421177",
  "roleArn": "arn:aws:iam::111122223333:role/OmicsImport",
  "status": "CREATED",
  "creationTime": "2022-07-13T22:14:59.309Z"
}
```

## Überwachen Sie den Importauftrag
<a name="monitor-import-job"></a>

Nach dem Start des Importauftrags können Sie seinen Fortschritt mit dem folgenden Befehl überwachen. Ersetzen Sie im folgenden Beispiel `sequence store id` durch Ihre Sequenzspeicher-ID und dann `job import ID` durch die Import-ID.

```
aws omics get-read-set-import-job --sequence-store-id sequence store id --id job import ID 
```

Im Folgenden werden die Status aller Importaufträge angezeigt, die der angegebenen Sequenzspeicher-ID zugeordnet sind.

```
{
  "id": "1234567890",
  "sequenceStoreId": "1234567890",
  "roleArn": "arn:aws:iam::111122223333:role/OmicsImport",
  "status": "RUNNING",
  "statusMessage": "The job is currently in progress.",
  "creationTime": "2022-07-13T22:14:59.309Z",
  "sources": [    
      {
          "sourceFiles":
          {
              "source1": "s3://amzn-s3-demo-bucket/HG00100.chrom20.ILLUMINA.bwa.GBR.low_coverage.20101123.bam"
          },
          "sourceFileType": "BAM",
          "status": "IN_PROGRESS",
          "statusMessage": "The job is currently in progress."
          "subjectId": "mySubject",
          "sampleId": "mySample",
          "referenceArn": "arn:aws:omics:us-west-2:111122223333:referenceStore/3242349265/reference/8625408453",
          "name": "HG00100",
          "description": "BAM for HG00100",
          "generatedFrom": "1000 Genomes",
          "readSetID": "1234567890"
      },
      {
          "sourceFiles":
          {
              "source1": "s3://amzn-s3-demo-bucket/SRR233106_1.filt.fastq.gz",
              "source2": "s3://amzn-s3-demo-bucket/SRR233106_2.filt.fastq.gz"
          },
          "sourceFileType": "FASTQ",
          "status": "IN_PROGRESS",
          "statusMessage": "The job is currently in progress."
          "subjectId": "mySubject",
          "sampleId": "mySample",
          "name": "HG00146",
          "description": "FASTQ for HG00146",
          "generatedFrom": "1000 Genomes",
          "readSetID": "1234567890"
      },
      {
          "sourceFiles":
          {
              "source1": "s3://amzn-s3-demo-bucket/HG00096.alt_bwamem_GRCh38DH.20150718.GBR.low_coverage.cram"
          },
          "sourceFileType": "CRAM",
          "status": "IN_PROGRESS",
          "statusMessage": "The job is currently in progress."
          "subjectId": "mySubject",
          "sampleId": "mySample",
          "referenceArn": "arn:aws:omics:us-west-2:111122223333:referenceStore/3242349265/reference/1234568870",
          "name": "HG00096",
          "description": "CRAM for HG00096",
          "generatedFrom": "1000 Genomes",
          "readSetID": "1234567890"
      },
      {
          "sourceFiles":
          {
              "source1": "s3://amzn-s3-demo-bucket/NA12878_A.bam"
          },
          "sourceFileType": "UBAM",
          "status": "IN_PROGRESS",
          "statusMessage": "The job is currently in progress."
          "subjectId": "mySubject",
          "sampleId": "mySample",
          "name": "NA12878_A",
          "description": "uBAM for NA12878",
          "generatedFrom": "GATK Test Data",
          "readSetID": "1234567890"
      }
  ]
}
```

## Suchen Sie die importierten Sequenzdateien
<a name="list-read-sets"></a>

Nach Abschluss des Jobs können Sie den **list-read-sets**API-Vorgang verwenden, um die importierten Sequenzdateien zu finden. Im folgenden Beispiel ersetzen Sie es `sequence store id` durch Ihre Sequenzspeicher-ID.

```
aws omics list-read-sets --sequence-store-id sequence store id
```

Sie erhalten die folgende Antwort.

```
{
  "readSets": [
      {
          "id": "0000000001",
          "arn": "arn:aws:omics:us-west-2:111122223333:sequenceStore/01234567890/readSet/0000000001",
          "sequenceStoreId": "1234567890",
          "subjectId": "mySubject",
          "sampleId": "mySample",
          "status": "ACTIVE",
          "name": "HG00100",
          "description": "BAM for HG00100",
          "referenceArn": "arn:aws:omics:us-west-2:111122223333:referenceStore/01234567890/reference/0000000001",
          "fileType": "BAM",
          "sequenceInformation": {
              "totalReadCount": 9194,
              "totalBaseCount": 928594,
              "generatedFrom": "1000 Genomes",
              "alignment": "ALIGNED"
          },
          "creationTime": "2022-07-13T23:25:20Z"
          "creationType": "IMPORT", 
          "etag": {
              "algorithm": "BAM_MD5up",
              "source1": "d1d65429212d61d115bb19f510d4bd02"
          }
      },
      {
          "id": "0000000002",
          "arn": "arn:aws:omics:us-west-2:111122223333:sequenceStore/0123456789/readSet/0000000002",
          "sequenceStoreId": "0123456789",
          "subjectId": "mySubject",
          "sampleId": "mySample",
          "status": "ACTIVE",
          "name": "HG00146",
          "description": "FASTQ for HG00146",
          "fileType": "FASTQ",
          "sequenceInformation": {
              "totalReadCount": 8000000,
              "totalBaseCount": 1184000000,
              "generatedFrom": "1000 Genomes",
              "alignment": "UNALIGNED"
          },
          "creationTime": "2022-07-13T23:26:43Z"
          "creationType": "IMPORT",
          "etag": {
              "algorithm": "FASTQ_MD5up",
              "source1": "ca78f685c26e7cc2bf3e28e3ec4d49cd"
          }
      },
      {
          "id": "0000000003",
          "arn": "arn:aws:omics:us-west-2:111122223333:sequenceStore/0123456789/readSet/0000000003",
          "sequenceStoreId": "0123456789",
          "subjectId": "mySubject",
          "sampleId": "mySample",
          "status": "ACTIVE",
          "name": "HG00096",
          "description": "CRAM for HG00096",
          "referenceArn": "arn:aws:omics:us-west-2:111122223333:referenceStore/0123456789/reference/0000000001",
          "fileType": "CRAM",
          "sequenceInformation": {
              "totalReadCount": 85466534,
              "totalBaseCount": 24000004881,
              "generatedFrom": "1000 Genomes",
              "alignment": "ALIGNED"
          },
          "creationTime": "2022-07-13T23:30:41Z"
          "creationType": "IMPORT",
          "etag": {
              "algorithm": "CRAM_MD5up",
              "source1": "66817940f3025a760e6da4652f3e927e"
          }
      },
      {
          "id": "0000000004",
          "arn": "arn:aws:omics:us-west-2:111122223333:sequenceStore/0123456789/readSet/0000000004",
          "sequenceStoreId": "0123456789",
          "subjectId": "mySubject",
          "sampleId": "mySample",
          "status": "ACTIVE",
          "name": "NA12878_A",
          "description": "uBAM for NA12878",
          "fileType": "UBAM",
          "sequenceInformation": {
              "totalReadCount": 20000,
              "totalBaseCount": 5000000,
              "generatedFrom": "GATK Test Data",
              "alignment": "ALIGNED"
          },
          "creationTime": "2022-07-13T23:30:41Z"
          "creationType": "IMPORT",
          "etag": {
              "algorithm": "BAM_MD5up",
              "source1": "640eb686263e9f63bcda12c35b84f5c7"
          }
      }
  ]
}
```

## Rufen Sie Details zu einem Lesesatz ab
<a name="get-read-set-metadata"></a>

Verwenden Sie die **GetReadSetMetadata**API-Operation, um weitere Details zu einem Lesesatz anzuzeigen. Ersetzen Sie im folgenden Beispiel `sequence store id` durch Ihre Sequenzspeicher-ID und dann `read set id` durch Ihre Leseset-ID.

```
aws omics get-read-set-metadata --sequence-store-id sequence store id --id read set id     
```

Sie erhalten die folgende Antwort.

```
{
"arn": "arn:aws:omics:us-west-2:123456789012:sequenceStore/2015356892/readSet/9515444019",
"creationTime": "2024-01-12T04:50:33.548Z",
"creationType": "IMPORT",
"creationJobId": "33222111",
"description": null,
"etag": {
  "algorithm": "FASTQ_MD5up",
  "source1": "00d0885ba3eeb211c8c84520d3fa26ec",
  "source2": "00d0885ba3eeb211c8c84520d3fa26ec"
},
"fileType": "FASTQ",
"files": {
  "index": null,
  "source1": {
    "contentLength": 10818,
    "partSize": 104857600,
    "s3Access": {
      "s3Uri": "s3://accountID-sequence store ID-ajdpi90jdas90a79fh9a8ja98jdfa9jf98-s3alias/592761533288/sequenceStore/2015356892/readSet/9515444019/import_source1.fastq.gz"
},
    "totalParts": 1
  },
  "source2": {
    "contentLength": 10818,
    "partSize": 104857600,
    "s3Access": {        
      "s3Uri": "s3://accountID-sequence store ID-ajdpi90jdas90a79fh9a8ja98jdfa9jf98-s3alias/592761533288/sequenceStore/2015356892/readSet/9515444019/import_source1.fastq.gz"
    },
    "totalParts": 1
  }
},
"id": "9515444019",
"name": "paired-fastq-import",
"sampleId": "sampleId-paired-fastq-import",
"sequenceInformation": {
  "alignment": "UNALIGNED",
  "generatedFrom": null,
  "totalBaseCount": 30000,
  "totalReadCount": 200
},
"sequenceStoreId": "2015356892",
"status": "ACTIVE",
"statusMessage": null,
"subjectId": "subjectId-paired-fastq-import"
}
```

## Laden Sie die Readset-Datendateien herunter
<a name="get-read-set-data"></a>

Sie können mithilfe der Amazon S3 **GetObject** S3-API-Operation auf die Objekte für einen aktiven Lesesatz zugreifen. Die URI für das Objekt wird in der **GetReadSetMetadata**API-Antwort zurückgegeben. Weitere Informationen finden Sie unter [Zugreifen auf HealthOmics Lesesätze mit Amazon S3 URIs](s3-access.md).

Verwenden Sie alternativ den HealthOmics **GetReadSet** API-Vorgang. Sie können **GetReadSet** das parallel Herunterladen verwenden, indem Sie einzelne Teile herunterladen. Diese Teile ähneln Amazon S3 S3-Teilen. Im Folgenden finden Sie ein Beispiel dafür, wie Sie Teil 1 aus einem Lesesatz herunterladen können. Im folgenden Beispiel `sequence store id` ersetzen Sie es durch Ihre Sequenzspeicher-ID und `read set id` ersetzen Sie es durch Ihre Lesesatz-ID.

```
aws omics get-read-set --sequence-store-id sequence store id --id read set id  --part-number 1 outfile.bam  
```

Sie können den HealthOmics Transfer Manager auch verwenden, um Dateien als HealthOmics Referenz oder Lesesatz herunterzuladen. Sie können den HealthOmics Transfer Manager [hier](https://pypi.org/project/amazon-omics-tools/) herunterladen. Weitere Informationen zur Verwendung und Einrichtung des Transfer Managers finden Sie in diesem [GitHubRepository](https://github.com/awslabs/amazon-omics-tools/).

# Direkter Upload in einen HealthOmics Sequenzspeicher
<a name="synchronous-uploads"></a>

Wir empfehlen, dass Sie den HealthOmics Transfer Manager verwenden, um Dateien zu Ihrem Sequenzspeicher hinzuzufügen. Weitere Informationen zur Verwendung von Transfer Manager finden Sie in diesem [GitHubRepository](https://github.com/awslabs/amazon-omics-tools/). Sie können Ihre Lesesätze auch direkt über die API-Operationen für den direkten Upload in einen Sequenzspeicher hochladen. 

Direkte Upload-Lesätze existieren zuerst im `PROCESSING_UPLOAD` Status. Das bedeutet, dass die Teile der Datei gerade hochgeladen werden und Sie auf die Metadaten des Lesesatzes zugreifen können. Nachdem die Teile hochgeladen und die Prüfsummen validiert wurden, wird der Lesesatz zu einem importierten Lesesatz `ACTIVE` und verhält sich genauso wie ein importierter Lesesatz. 

Wenn der direkte Upload fehlschlägt, wird der Status des Lesesatzes als angezeigt. `UPLOAD_FAILED` Sie können einen Amazon S3 S3-Bucket als Fallback-Speicherort für Dateien konfigurieren, die nicht hochgeladen werden können. Ausweichspeicherorte sind für Sequenzspeicher verfügbar, die nach dem 15. Mai 2023 erstellt wurden.

**Topics**
+ [Direkter Upload in einen Sequenzspeicher mit dem AWS CLI](#synchronous-uploads-api)
+ [Konfigurieren Sie einen Fallback-Standort](#synchronous-uploads-fallback)

## Direkter Upload in einen Sequenzspeicher mit dem AWS CLI
<a name="synchronous-uploads-api"></a>

Starten Sie zunächst einen mehrteiligen Upload. Sie können dies tun, indem Sie die verwenden AWS CLI, wie im folgenden Beispiel gezeigt.

**Zum direkten Upload mithilfe von AWS CLI Befehlen**

1. Erstellen Sie die Teile, indem Sie Ihre Daten trennen, wie im folgenden Beispiel gezeigt.

   ```
    split -b 100MiB SRR233106_1.filt.fastq.gz source1_part_ 
   ```

1. Nachdem Ihre Quelldateien in Teilen vorliegen, erstellen Sie einen mehrteiligen Lesesatz-Upload, wie im folgenden Beispiel gezeigt. Ersetzen Sie `sequence store ID` und die anderen Parameter durch Ihre Sequenzspeicher-ID und andere Werte.

   ```
   aws omics create-multipart-read-set-upload \
   --sequence-store-id sequence store ID \
   --name upload name \
   --source-file-type FASTQ \
   --subject-id subject ID \
   --sample-id sample ID \
   --description "FASTQ for HG00146" "description of upload" \
   --generated-from "1000 Genomes""source of imported files"
   ```

   Sie erhalten die `uploadID` und andere Metadaten in der Antwort. Verwenden Sie die `uploadID` für den nächsten Schritt des Upload-Vorgangs.

   ```
   {
   "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"
   }
   ```

1. Fügen Sie Ihre Lesesätze zum Upload hinzu. Wenn Ihre Datei klein genug ist, müssen Sie diesen Schritt nur einmal ausführen. Bei größeren Dateien führen Sie diesen Schritt für jeden Teil Ihrer Datei aus. Wenn Sie ein neues Teil unter Verwendung einer zuvor verwendeten Artikelnummer hochladen, überschreibt es das zuvor hochgeladene Teil.

   Im folgenden Beispiel ersetzen Sie `sequence store ID``upload ID`, und die anderen Parameter durch Ihre Werte.

   ```
   aws omics upload-read-set-part \
   --sequence-store-id sequence store ID \
   --upload-id upload ID \
   --part-source SOURCE1 \
   --part-number part number \
   --payload  source1/source1_part_aa.fastq.gz
   ```

   Die Antwort ist eine ID, anhand derer Sie überprüfen können, ob die hochgeladene Datei mit der von Ihnen beabsichtigten Datei übereinstimmt.

   ```
   {
   "checksum": "984979b9928ae8d8622286c4a9cd8e99d964a22d59ed0f5722e1733eb280e635"
   }
   ```

1. Fahren Sie gegebenenfalls mit dem Hochladen der Teile Ihrer Datei fort. Um zu überprüfen, ob Ihre Lesesätze hochgeladen wurden, verwenden Sie den API-Vorgang **list-read-set-upload-parts**, wie im Folgenden gezeigt. Im folgenden Beispiel ersetzen Sie `sequence store ID ``upload ID`, und the `part source` durch Ihre eigene Eingabe.

   ```
   aws omics list-read-set-upload-parts \
    --sequence-store-id sequence store ID \
    --upload-id upload ID \
    --part-source SOURCE1
   ```

   Die Antwort gibt die Anzahl der Lesesätze, die Größe und den Zeitstempel der letzten Aktualisierung zurück.

   ```
   {
   "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"
       }
   ]
   }
   ```

1. Um alle aktiven Uploads von mehrteiligen Lesesätzen anzuzeigen, verwenden Sie **list-multipart-read-set-uploads,** wie im Folgenden gezeigt. Ersetzen Sie es `sequence store ID` durch die ID für Ihren eigenen Sequenzspeicher.

   ```
   aws omics list-multipart-read-set-uploads --sequence-store-id 
                sequence store ID
   ```

   Diese API gibt nur mehrteilige Read-Set-Uploads zurück, die gerade ausgeführt werden. **Sobald die aufgenommenen Lesesätze vorhanden sind `ACTIVE` oder wenn der Upload fehlgeschlagen ist, wird der Upload in der Antwort an die -uploads-API nicht zurückgegeben. list-multipart-read-set** Verwenden Sie die API, um aktive Lesesätze anzuzeigen. **list-read-sets** Im Folgenden wird ein Beispiel für eine Antwort für **list-multipart-read-set-uploads** gezeigt. 

   ```
   {
   "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"
       }
   ]
   }
   ```

1. Nachdem Sie alle Teile Ihrer Datei hochgeladen haben, verwenden Sie **complete-multipart-read-set-upload**, um den Upload-Vorgang abzuschließen, wie im folgenden Beispiel gezeigt. Ersetzen Sie `sequence store ID``upload ID`, und den Parameter für Teile durch Ihre eigenen Werte.

   ```
   aws omics complete-multipart-read-set-upload \
   --sequence-store-id sequence store ID \
   --upload-id upload ID \
   --parts '[{"checksum":"gaCBQMe+rpCFZxLpoP6gydBoXaKKDA/Vobh5zBDb4W4=","partNumber":1,"partSource":"SOURCE1"}]'
   ```

   Die Antwort für **complete-multipart-read-set-upload** ist der Lesesatz IDs für Ihre importierten Lesesätze. 

   ```
   {
   "readSetId": "0000000001"
   }
   ```

1. Um den Upload zu beenden, verwenden Sie **abort-multipart-read-set-upload** zusammen mit der Upload-ID, um den Upload-Vorgang zu beenden. Ersetzen Sie `sequence store ID` und `upload ID` durch Ihre eigenen Parameterwerte.

   ```
   aws omics abort-multipart-read-set-upload \
   --sequence-store-id sequence store ID \
   --upload-id upload ID
   ```

1. Nachdem der Upload abgeschlossen ist, rufen Sie Ihre Daten aus dem Lesesatz ab **get-read-set**, indem Sie, wie im Folgenden gezeigt, verwenden. Wenn der Upload noch in Bearbeitung ist, werden nur begrenzte Metadaten **get-read-set**zurückgegeben und die generierten Indexdateien sind nicht verfügbar. Ersetzen Sie `sequence store ID` und die anderen Parameter durch Ihre eigene Eingabe.

   ```
   aws omics get-read-set 
    --sequence-store-id sequence store ID \
    --id read set ID \
    --file SOURCE1 \
    --part-number 1 myfile.fastq.gz
   ```

1. Verwenden Sie die **get-read-set-metadata**API-Operation, um die Metadaten, einschließlich des Status Ihres Uploads, zu überprüfen.

   ```
   aws omics get-read-set-metadata --sequence-store-id sequence store ID --id read set ID    
   ```

   Die Antwort enthält Metadatendetails wie den Dateityp, den Referenz-ARN, die Anzahl der Dateien und die Länge der Sequenzen. Sie enthält auch den Status. Mögliche Status sind `PROCESSING_UPLOAD``ACTIVE`, und`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"
   }
   ```

## Konfigurieren Sie einen Fallback-Standort
<a name="synchronous-uploads-fallback"></a>

Wenn Sie einen Sequenzspeicher erstellen oder aktualisieren, können Sie einen Amazon S3 S3-Bucket als Ausweichort für Dateien konfigurieren, die nicht hochgeladen werden können. Die Dateiteile für diese Lesesätze werden an den Ersatzspeicherort übertragen. Ausweichspeicherorte sind für Sequenzspeicher verfügbar, die nach dem 15. Mai 2023 erstellt wurden. 

Erstellen Sie eine Amazon S3 S3-Bucket-Richtlinie, um HealthOmics Schreibzugriff auf den Amazon S3 S3-Fallback-Speicherort zu gewähren, wie im folgenden Beispiel gezeigt:

```
{
    "Effect": "Allow",
    "Principal": {
        "Service": "omics.amazonaws.com"
    },
    "Action": "s3:PutObject",
    "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
}
```

Wenn der Amazon S3 S3-Bucket für Fallback- oder Zugriffsprotokolle einen vom Kunden verwalteten Schlüssel verwendet, fügen Sie der Schlüsselrichtlinie die folgenden Berechtigungen hinzu:

```
 {
    "Sid": "Allow use of key",
    "Effect": "Allow",
    "Principal": {
        "Service": "omics.amazonaws.com"
    },
    "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey*"
    ],
    "Resource": "*"
}
```

# Exportieren von HealthOmics Lesesätzen in einen Amazon S3 S3-Bucket
<a name="read-set-exports"></a>

Sie können Lesesätze als Batch-Exportjob in einen Amazon S3 S3-Bucket exportieren. Erstellen Sie dazu zunächst eine IAM-Richtlinie, die Schreibzugriff auf den Bucket hat, ähnlich dem folgenden Beispiel für eine IAM-Richtlinie. 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetBucketLocation"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket1",
        "arn:aws:s3:::amzn-s3-demo-bucket1/*"
      ]
    }
  ]
}
```

------

------
#### [ JSON ]

****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
  {
      "Effect": "Allow",
      "Principal": {
          "Service": [
              "omics.amazonaws.com"
          ]
      },
      "Action": "sts:AssumeRole"
  }
]
}
```

------

Sobald die IAM-Richtlinie eingerichtet ist, beginnen Sie mit dem Exportauftrag für Lesesätze. Das folgende Beispiel zeigt Ihnen, wie Sie dies mithilfe der API-Operation **start-read-set-export-job** tun können. Ersetzen Sie im folgenden Beispiel alle Parameter wie`sequence store ID`, `destination` `role ARN``sources`, und durch Ihre Eingabe.

```
aws omics start-read-set-export-job 
--sequence-store-id sequence store id \
--destination valid s3 uri \
--role-arn role ARN \
--sources readSetId=read set id_1 readSetId=read set id_2
```

Sie erhalten die folgende Antwort mit Informationen zum Ursprungssequenzspeicher und zum Amazon S3-Ziel-Bucket. 

```
{
"id": <job-id>,
"sequenceStoreId": <sequence-store-id>,
"destination": <destination-s3-uri>,
"status": "SUBMITTED",
"creationTime": "2022-10-22T01:33:38.079000+00:00"
}
```

Nach dem Start des Jobs können Sie seinen Status mithilfe der API-Operation **get-read-set-export-job** ermitteln, wie im Folgenden dargestellt. Ersetzen Sie das `sequence store ID` und `job ID` durch Ihre Sequenzspeicher-ID bzw. Job-ID. 

```
aws omics get-read-set-export-job --id job-id --sequence-store-id sequence store ID
```

Sie können alle Exportaufträge anzeigen, die für einen Sequenzspeicher initialisiert wurden, indem Sie den API-Vorgang ** list-read-set-export-jobs** verwenden, wie im Folgenden gezeigt. Ersetzen Sie das `sequence store ID` durch Ihre Sequenzspeicher-ID.

```
aws omics list-read-set-export-jobs --sequence-store-id sequence store ID.
```

```
{
"exportJobs": [
  {
      "id": <job-id>,
      "sequenceStoreId": <sequence-store-id>,
      "destination": <destination-s3-uri>,
      "status": "COMPLETED",
      "creationTime": "2022-10-22T01:33:38.079000+00:00",
      "completionTime": "2022-10-22T01:34:28.941000+00:00"
  }
]
}
```

Sie können Ihre Lesesätze nicht nur exportieren, sondern sie auch über den Amazon S3 S3-Zugriff teilen URIs. Weitere Informationen hierzu finden Sie unter [Zugreifen auf HealthOmics Lesesätze mit Amazon S3 URIs](s3-access.md). 

# Zugreifen auf HealthOmics Lesesätze mit Amazon S3 URIs
<a name="s3-access"></a>

Sie können Amazon S3 S3-URI-Pfade verwenden, um auf Ihre Active Sequence Store-Lesesätze zuzugreifen. 

Mit dem Amazon S3 S3-URI-Pfad können Sie Amazon S3 S3-Operationen verwenden, um Ihre Lesesätze aufzulisten, zu teilen und herunterzuladen. Der Zugriff über S3 APIs beschleunigt die Zusammenarbeit und die Integration von Tools, da viele Industrietools bereits für das Lesen aus S3 entwickelt wurden. Darüber hinaus können Sie den Zugriff auf das S3 APIs mit anderen Konten teilen und regionsübergreifenden Lesezugriff auf Daten gewähren. 

HealthOmics unterstützt keinen Amazon S3 S3-URI-Zugriff auf archivierte Lesesätze. Wenn Sie einen Lesesatz aktivieren, wird er jedes Mal auf demselben URI-Pfad wiederhergestellt. 

Da die Amazon S3-URI auf Amazon S3 S3-Zugriffspunkten basiert, können Sie Daten direkt in branchenübliche Tools integrieren, die Amazon S3 lesen URIs, wie z. B. die folgenden: HealthOmics 
+ Visuelle Analyseanwendungen wie Integrative Genomics Viewer (IGV) oder UCSC Genome Browser.
+ Allgemeine Workflows mit Amazon S3 S3-Erweiterungen wie CWL, WDL und Nextflow.
+ Jedes Tool, das sich authentifizieren und vom Access Point Amazon S3 aus lesen URIs oder vorsigniertes Amazon S3 lesen kann. URIs
+ Amazon S3 S3-Dienstprogramme wie Mountpoint oder. CloudFront

Amazon S3 Mountpoint ermöglicht es Ihnen, einen Amazon S3 S3-Bucket als lokales Dateisystem zu verwenden. Weitere Informationen zu Mountpoint und zur Installation zur Verwendung finden Sie unter [Mountpoint](https://github.com/awslabs/mountpoint-s3) for Amazon S3.

Amazon CloudFront ist ein Content Delivery Network (CDN) -Service, der auf hohe Leistung, Sicherheit und Entwicklerkomfort ausgelegt ist. Weitere Informationen zur Verwendung von Amazon CloudFront finden Sie in [der CloudFront Amazon-Dokumentation](https://docs.aws.amazon.com/cloudfront/). Wenden Sie sich CloudFront an das AWS HealthOmics Team, um einen Sequenzspeicher einzurichten. 

Das Root-Konto des Datenbesitzers ist für die Aktionen S3:GetObject, S3: GetObjectTagging und S3:List Bucket für das Sequenzspeicherpräfix aktiviert. Damit ein Benutzer im Konto auf die Daten zugreifen kann, erstellen Sie eine IAM-Richtlinie und fügen sie dem Benutzer oder der Rolle hinzu. Eine Beispielrichtlinie finden Sie unter [Berechtigungen für den Datenzugriff mit Amazon S3 URIs](s3-sharing.md).

Sie können die folgenden Amazon S3 S3-API-Operationen für die aktiven Lesesätze verwenden, um Ihre Daten aufzulisten und abzurufen. Sie können über Amazon S3 auf archivierte Lesesätze zugreifen, URIs nachdem sie aktiviert wurden.
+ [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)— Ruft ein Objekt von Amazon S3 ab.
+ [HeadObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html.html)— Die HEAD-Operation ruft Metadaten von einem Objekt ab, ohne das Objekt selbst zurückzugeben. Diese Operation ist nützlich, wenn Sie nur die Metadaten eines Objekts benötigen.
+ [ListObjects und ListObject v2](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html) — Gibt einige oder alle (bis zu 1.000) Objekte in einem Bucket zurück.
+ [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)— Erstellt eine Kopie eines Objekts, das bereits in Amazon S3 gespeichert ist. HealthOmicsunterstützt das Kopieren auf einen Amazon S3 S3-Zugriffspunkt, aber nicht das Schreiben auf einen Zugriffspunkt.

HealthOmics Sequenzspeicher behalten die semantische Identität von Dateien ETags durchgehend bei. Während des Lebenszyklus einer Datei kann sich der Amazon S3 ETag, der auf einer bitweisen Identität basiert, ändern, die HealthOmics ETag bleibt jedoch gleich. Weitere Informationen hierzu finden Sie unter [HealthOmics ETags und Herkunft der Daten](etags-and-provenance.md).

**Topics**
+ [Amazon S3 S3-URI-Struktur im HealthOmics Speicher](#s3-uri-structure)
+ [Verwenden von gehostetem oder lokalem IGV für den Zugriff auf Lesesätze](#s3-access-igv)
+ [Mit Samtools oder in HTSlib HealthOmics](#s3-access-Samtools)
+ [Mit Mountpoint HealthOmics](#s3-access-Mountpoint)
+ [Verwenden CloudFront mit HealthOmics](#s3-access-CloudFront)

## Amazon S3 S3-URI-Struktur im HealthOmics Speicher
<a name="s3-uri-structure"></a>

Alle Dateien mit Amazon S3 URIs haben `omics:subjectId` `omics:sampleId` Ressourcen-Tags. Sie können diese Tags verwenden, um den Zugriff gemeinsam zu nutzen, indem Sie IAM-Richtlinien nach einem Muster wie `"s3:ExistingObjectTag/omics:subjectId": "pattern desired"` verwenden.

 Die Dateistruktur sieht wie folgt aus: 

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

Bei Dateien, die aus Amazon S3 in Sequenzspeicher importiert wurden, versucht der Sequenzspeicher, den ursprünglichen Quellnamen beizubehalten. Wenn die Namen miteinander in Konflikt geraten, hängt das System Lesesatzinformationen an, um sicherzustellen, dass die Dateinamen eindeutig sind. Wenn zum Beispiel bei Fastq-Lesets beide Dateinamen identisch sind, `sourceX` wird, um die Namen eindeutig zu machen, vor .fastq.gz oder .fq.gz eingefügt. Bei einem direkten Upload folgen die Dateinamen den folgenden Mustern:
+ Für FASTQ— *read\$1set\$1name* \$1 .fastq.gz *sourcex* 
+ uBAM/BAM/CRAMFür *read\$1set\$1name* —. *file extension*mit Erweiterungen von `.bam` oder`.cram`. Ein Beispiel ist `NA193948.bam`.

Bei Lesesätzen, bei denen es sich um BAM oder CRAM handelt, werden Indexdateien während des Aufnahmevorgangs automatisch generiert. Für die generierten Indexdateien wird die richtige Indexerweiterung am Ende des Dateinamens angewendet. Sie hat das Muster *<name of the Source the index is on>.<file index extension>.* Die Indexerweiterungen sind `.bai` oder`.crai`.

## Verwenden von gehostetem oder lokalem IGV für den Zugriff auf Lesesätze
<a name="s3-access-igv"></a>

IGV ist ein Genombrowser, der zur Analyse von BAM- und CRAM-Dateien verwendet wird. Er benötigt sowohl die Datei als auch den Index, da jeweils nur ein Teil des Genoms angezeigt wird. IGV kann heruntergeladen und lokal verwendet werden, und es gibt Anleitungen zur Erstellung eines von AWS gehosteten IGV. Die öffentliche Webversion wird nicht unterstützt, da sie CORS benötigt. 

Lokales IGV ist für den Zugriff auf Dateien auf die lokale AWS Konfiguration angewiesen. Stellen Sie sicher, dass der in dieser Konfiguration verwendeten Rolle eine Richtlinie zugewiesen ist, die kms: Decrypt- und s3: GetObject -Berechtigungen für die s3-URI der Lesesätze, auf die zugegriffen wird, aktiviert. Danach können Sie in IGV „Datei > Aus URL laden“ verwenden und den URI für die Quelle und den Index einfügen. Alternativ URLs kann Presigned auf dieselbe Weise generiert und verwendet werden, wodurch die AWS-Konfiguration umgangen wird. Beachten Sie, dass CORS beim Amazon S3 S3-URI-Zugriff nicht unterstützt wird, sodass Anfragen, die auf CORS basieren, nicht unterstützt werden.

Das Beispiel AWS Hosted IGV stützt sich auf AWS Cognito, um die richtigen Konfigurationen und Berechtigungen innerhalb der Umgebung zu erstellen. Stellen Sie sicher, dass eine Richtlinie erstellt wurde, die die GetObject Berechtigungen KMS:Decrypt und s3: für die Amazon S3 S3-URI der Lesesätze aktiviert, auf die zugegriffen wird, und fügen Sie diese Richtlinie der Rolle hinzu, die dem Cognito-Benutzerpool zugewiesen ist. Danach können Sie in IGV „Datei > Von URL laden“ verwenden und den URI für die Quelle und den Index eingeben. Alternativ URLs kann Presigned auf dieselbe Weise generiert und verwendet werden, wodurch die AWS-Konfiguration umgangen wird. 

Beachten Sie, dass der Sequenzspeicher nicht auf der Registerkarte „Amazon“ angezeigt wird, da dort nur Buckets angezeigt werden, die Ihnen in der Region gehören, in der das AWS Profil konfiguriert ist. 

## Mit Samtools oder in HTSlib HealthOmics
<a name="s3-access-Samtools"></a>

HTSlib ist die Kernbibliothek, die von mehreren Tools wie Samtools, RSAMTools und anderen gemeinsam genutzt wird. PySam Verwenden Sie HTSlib Version 1.20 oder höher, um nahtlose Unterstützung für Amazon S3 Access Points zu erhalten. Für ältere Versionen der HTSlib Bibliothek können Sie die folgenden Problemumgehungen verwenden:
+ Legen Sie die Umgebungsvariable für den HTS Amazon S3 S3-Host fest mit:`export HTS_S3_HOST="s3.region.amazonaws.com"`.
+ Generieren Sie eine vorsignierte URL für die Dateien, die Sie verwenden möchten. Wenn ein BAM oder CRAM verwendet wird, stellen Sie sicher, dass sowohl für die Datei als auch für den Index eine vorsignierte URL generiert wird. Danach können beide Dateien mit den Bibliotheken verwendet werden. 
+ Verwenden Sie Mountpoint, um das Sequenzspeicher- oder Lesesatzpräfix in derselben Umgebung zu mounten, in der Sie Bibliotheken verwenden HTSlib . Von hier aus kann über lokale Dateipfade auf die Dateien zugegriffen werden. 

## Mit Mountpoint HealthOmics
<a name="s3-access-Mountpoint"></a>

Mountpoint for Amazon S3 ist ein einfacher Dateiclient mit hohem Durchsatz zum Mounten [eines Amazon S3 S3-Buckets als lokales](https://aws.amazon.com/blogs/storage/the-inside-story-on-mountpoint-for-amazon-s3-a-high-performance-open-source-file-client/) Dateisystem. Mit Mountpoint für Amazon S3 können Ihre Anwendungen über Dateioperationen wie Öffnen und Lesen auf in Amazon S3 gespeicherte Objekte zugreifen. Mountpoint for Amazon S3 übersetzt diese Operationen automatisch in Amazon S3-Objekt-API-Aufrufe, sodass Ihre Anwendungen über eine Dateischnittstelle auf den elastischen Speicher und den Durchsatz von Amazon S3 zugreifen können.

 [Mountpoint kann mithilfe der Mountpoint-Installationsanweisungen installiert werden.](https://github.com/awslabs/mountpoint-s3/blob/main/doc/INSTALL.md) Mountpoint verwendet das AWS-Profil, das für die Installation lokal ist und auf einer Amazon S3 S3-Präfixebene funktioniert. Stellen Sie sicher, dass das verwendete Profil über eine Richtlinie verfügt, die die Berechtigungen s3:GetObject, s3: ListBucket und kms: Decrypt für das Amazon S3 S3-URI-Präfix der Lesesätze oder Sequenzspeicher, auf die zugegriffen wird, aktiviert. Danach kann der Bucket mithilfe des folgenden Pfads bereitgestellt werden: 

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

## Verwenden CloudFront mit HealthOmics
<a name="s3-access-CloudFront"></a>

Amazon CloudFront ist ein Content Delivery Network (CDN) -Service, der auf hohe Leistung, Sicherheit und Entwicklerkomfort ausgelegt ist. Kunden, die diesen Service nutzen möchten, CloudFront müssen mit dem Serviceteam zusammenarbeiten, um den CloudFront Vertrieb zu aktivieren. Arbeiten Sie mit Ihrem Account-Team zusammen, um das HealthOmics Serviceteam zu engagieren. 

# Aktivierung von Readsets in HealthOmics
<a name="activating-read-sets"></a>

Sie können Lesesätze aktivieren, die archiviert wurden, mit der API-Operation **start-read-set-activation-job** oder über AWS CLI, wie im folgenden Beispiel gezeigt. Ersetzen Sie das `sequence store ID` und `read set id` durch Ihre Sequenzspeicher-ID und Ihren Lesesatz IDs. 

```
aws omics start-read-set-activation-job 
     --sequence-store-id sequence store ID \
     --sources readSetId=read set ID readSetId=read set id_1 read set id_2
```

Sie erhalten eine Antwort, die die Informationen zum Aktivierungsauftrag enthält, wie im Folgenden dargestellt.

```
{
    "id": "12345678",
    "sequenceStoreId": "1234567890",
    "status": "SUBMITTED",
    "creationTime": "2022-10-22T00:50:54.670000+00:00"
}
```

Nach dem Start des Aktivierungsauftrags können Sie seinen Fortschritt mit dem API-Vorgang **get-read-set-activation-job** überwachen. Im Folgenden finden Sie ein Beispiel dafür, wie Sie den verwenden können, AWS CLI um den Status Ihres Aktivierungsauftrags zu überprüfen. Ersetzen Sie `job ID` und `sequence store ID` durch Ihre Sequenzspeicher-ID bzw. Ihren Job IDs. 

```
aws omics get-read-set-activation-job --id job ID --sequence-store-id sequence store ID                    
```

Die Antwort fasst den Aktivierungsjob zusammen, wie im Folgenden dargestellt.

```
{
    "id": 123567890,
    "sequenceStoreId": 123467890,
    "status": "SUBMITTED",
    "statusUpdateReason": "The job is submitted and will start soon.",
    "creationTime": "2022-10-22T00:50:54.670000+00:00",
    "sources": [
        {
            "readSetId": <reads set id_1>,
            "status": "NOT_STARTED",
            "statusUpdateReason": "The source is queued for the job."
        },
        {
            "readSetId": <read set id_2>,
            "status": "NOT_STARTED",
            "statusUpdateReason": "The source is queued for the job."
        }
    ]
}
```

Sie können den Status eines Aktivierungsauftrags mit dem **get-read-set-metadata**API-Vorgang überprüfen. Mögliche Status sind `ACTIVE``ACTIVATING`, und`ARCHIVED`. Im folgenden Beispiel `sequence store ID` ersetzen Sie es durch Ihre Sequenzspeicher-ID und `read set ID` ersetzen Sie es durch Ihre Lesesatz-ID.

```
aws omics get-read-set-metadata --sequence-store-id sequence store ID --id read set ID
```

Die folgende Antwort zeigt Ihnen, dass der Lesesatz aktiv ist.

```
{
    "id": "12345678",
    "arn": "arn:aws:omics:us-west-2:555555555555:sequenceStore/1234567890/readSet/12345678",
    "sequenceStoreId": "0123456789",
    "subjectId": "mySubject",
    "sampleId": "mySample",
    "status": "ACTIVE",
    "name": "HG00100",
    "description": "HG00100 aligned to HG38 BAM",
    "fileType": "BAM",
    "creationTime": "2022-07-13T23:25:20Z",
    "sequenceInformation": {
        "totalReadCount": 1513467,
        "totalBaseCount": 163454436,
        "generatedFrom": "Pulled from SRA",
        "alignment": "ALIGNED"
    },
    "referenceArn": "arn:aws:omics:us-west-2:555555555555:referenceStore/0123456789/reference/0000000001",
    "files": {
        "source1": {
            "totalParts": 2,
            "partSize":  10485760,
            "contentLength": 17112283,
            "s3Access": {
        "s3Uri": "s3://accountID-sequence store ID-ajdpi90jdas90a79fh9a8ja98jdfa9jf98-s3alias/592761533288/sequenceStore/2015356892/readSet/9515444019/import_source1.fastq.gz"
},
         },
        "index": {
            "totalParts": 1,
            "partSize": 53216,
            "contentLength": 10485760
            "s3Access": {
        "s3Uri": "s3://accountID-sequence store ID-ajdpi90jdas90a79fh9a8ja98jdfa9jf98-s3alias/592761533288/sequenceStore/2015356892/readSet/9515444019/import_source1.fastq.gz"
},
        }
    },
    "creationType": "IMPORT",
    "etag": {
        "algorithm": "BAM_MD5up",
        "source1": "d1d65429212d61d115bb19f510d4bd02"
    }
}
```

Sie können alle Aufträge zur Aktivierung von Lesesätzen mithilfe von **list-read-set-activation-jobs** anzeigen, wie im folgenden Beispiel gezeigt. Im folgenden Beispiel ersetzen Sie es `sequence store ID` durch Ihre Sequenzspeicher-ID.

```
aws omics list-read-set-activation-jobs --sequence-store-id sequence store ID                
```

Sie erhalten die folgende Antwort.

```
{
    "activationJobs": [
        {
            "id": 1234657890,
            "sequenceStoreId": "1234567890",
            "status": "COMPLETED",
            "creationTime": "2022-10-22T01:33:38.079000+00:00",
            "completionTime": "2022-10-22T01:34:28.941000+00:00"
        }
    ]
}
```