createSequenceStore method

Future<CreateSequenceStoreResponse> createSequenceStore({
  1. required String name,
  2. String? clientToken,
  3. String? description,
  4. ETagAlgorithmFamily? eTagAlgorithmFamily,
  5. String? fallbackLocation,
  6. List<String>? propagatedSetLevelTags,
  7. S3AccessConfig? s3AccessConfig,
  8. SseConfig? sseConfig,
  9. Map<String, String>? tags,
})

Creates a sequence store and returns its metadata. Sequence stores are used to store sequence data files called read sets that are saved in FASTQ, BAM, uBAM, or CRAM formats. For aligned formats (BAM and CRAM), a sequence store can only use one reference genome. For unaligned formats (FASTQ and uBAM), a reference genome is not required. You can create multiple sequence stores per region per account.

The following are optional parameters you can specify for your sequence store:

  • Use s3AccessConfig to configure your sequence store with S3 access logs (recommended).
  • Use sseConfig to define your own KMS key for encryption.
  • Use eTagAlgorithmFamily to define which algorithm to use for the HealthOmics eTag on objects.
  • Use fallbackLocation to define a backup location for storing files that have failed a direct upload.
  • Use propagatedSetLevelTags to configure tags that propagate to all objects in your store.
For more information, see Creating a HealthOmics sequence store in the Amazon Web Services HealthOmics User Guide.

May throw AccessDeniedException. May throw InternalServerException. May throw RequestTimeoutException. May throw ServiceQuotaExceededException. May throw ThrottlingException. May throw ValidationException.

Parameter name : A name for the store.

Parameter clientToken : An idempotency token used to dedupe retry requests so that duplicate runs are not created.

Parameter description : A description for the store.

Parameter eTagAlgorithmFamily : The ETag algorithm family to use for ingested read sets. The default value is MD5up. For more information on ETags, see ETags and data provenance in the Amazon Web Services HealthOmics User Guide.

Parameter fallbackLocation : An S3 location that is used to store files that have failed a direct upload. You can add or change the fallbackLocation after creating a sequence store. This is not required if you are uploading files from a different S3 bucket.

Parameter propagatedSetLevelTags : The tags keys to propagate to the S3 objects associated with read sets in the sequence store. These tags can be used as input to add metadata to your read sets.

Parameter s3AccessConfig : S3 access configuration parameters. This specifies the parameters needed to access logs stored in S3 buckets. The S3 bucket must be in the same region and account as the sequence store.

Parameter sseConfig : Server-side encryption (SSE) settings for the store.

Parameter tags : Tags for the store. You can configure up to 50 tags.

Implementation

Future<CreateSequenceStoreResponse> createSequenceStore({
  required String name,
  String? clientToken,
  String? description,
  ETagAlgorithmFamily? eTagAlgorithmFamily,
  String? fallbackLocation,
  List<String>? propagatedSetLevelTags,
  S3AccessConfig? s3AccessConfig,
  SseConfig? sseConfig,
  Map<String, String>? tags,
}) async {
  final $payload = <String, dynamic>{
    'name': name,
    'clientToken': clientToken ?? _s.generateIdempotencyToken(),
    if (description != null) 'description': description,
    if (eTagAlgorithmFamily != null)
      'eTagAlgorithmFamily': eTagAlgorithmFamily.value,
    if (fallbackLocation != null) 'fallbackLocation': fallbackLocation,
    if (propagatedSetLevelTags != null)
      'propagatedSetLevelTags': propagatedSetLevelTags,
    if (s3AccessConfig != null) 's3AccessConfig': s3AccessConfig,
    if (sseConfig != null) 'sseConfig': sseConfig,
    if (tags != null) 'tags': tags,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/sequencestore',
    exceptionFnMap: _exceptionFns,
  );
  return CreateSequenceStoreResponse.fromJson(response);
}